Releases: NotePlan/plugins
🧩 Multiple Release Test
np.MultipleReleases Changelog
About np.MultipleReleases Plugin
See Plugin README for details on available commands and use case.
[x.x.x] - yyyy-mm-dd (githubUserName)
Added
List what has been added. If nothing has been changed, this section can be removed.
Changed
List what has changed. If nothing has been changed, this section can be removed.
Removed
List what has removed. If nothing has been removed, this section can be removed.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Plugin Versioning Uses Semver
All NotePlan plugins follow semver versioning. For details, please refer to semver website
🧩 Multiple Release Test
np.MultipleReleases Changelog
About np.MultipleReleases Plugin
See Plugin README for details on available commands and use case.
[x.x.x] - yyyy-mm-dd (githubUserName)
Added
List what has been added. If nothing has been changed, this section can be removed.
Changed
List what has changed. If nothing has been changed, this section can be removed.
Removed
List what has removed. If nothing has been removed, this section can be removed.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Plugin Versioning Uses Semver
All NotePlan plugins follow semver versioning. For details, please refer to semver website
🧩 Multiple Release Test
np.MultipleReleases Changelog
About np.MultipleReleases Plugin
See Plugin README for details on available commands and use case.
[x.x.x] - yyyy-mm-dd (githubUserName)
Added
List what has been added. If nothing has been changed, this section can be removed.
Changed
List what has changed. If nothing has been changed, this section can be removed.
Removed
List what has removed. If nothing has been removed, this section can be removed.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Plugin Versioning Uses Semver
All NotePlan plugins follow semver versioning. For details, please refer to semver website
📒 Templating
Templating Changelog
About Templating Plugin
See Plugin Documentation for details on available commands and use case.
DBW: REMEMBER THAT IF YOU ADDED ANY HELPERS IMPORTS, ADD THEM TO THE HELPER MODULE TO GIVE SCRIPTS ACCESS TO THEM ALSO
[2.2.4] 2025-12-03 @dwertheimer
- fix templateLocale setting to allow for locale-specific date/time formatting
[2.2.3] 2025-11-11 @dwertheimer
- add new weather formatting fields (location.*, :formatted: etc.)
[2.2.2] 2025-11-09 @dwertheimer
- Fix default weather formatting so calling
<%- weather() %>uses the new NotePlan format string
[2.2.1] 2025-11-09 @dwertheimer
- Work around NotePlan weather API bug by sending null coordinates instead of
0,0so auto-location lookup succeeds - Mapped legacy weather placeholders (e.g.
:FeelsLikeF:,:winddir16Point:,:region:) to fields from NotePlan's OpenWeatherMap response
[2.2.0] 2025-10-28 @dwertheimer
- switch weather service to use NotePlan's new weather API (
<%- NotePlan.getWeather(units, latitude, longitude) %>) - templateInsert and templateAppend now add a reload of the Editor in case any templating code changed the note underneath and we are reloading the note to get the new content before inserting the rendered template. to solve a but where plugin was writing to note but Editor was overwriting
- includes fix for iPad/iOS folder selection
- allow images in templates -- absolute paths get copied
- add debugging to template rendering to show session data and user options to try to find issues with template rendering
- fix edge case where template frontmatter was not working with trailing space behind "-- " for @thatdwayne
- Use DataStore.defaultNewNoteName instead of "New Note" in tests for brandNewNote creation (allows for translations to work)
[2.1.3] 2025-10-15 @dwertheimer
- Add debugging to chooseFolder() to show the actual index in the folders array that was chosen to try to find the ipad bug for clay russell
- fix clay russell's edge case of inline title not being detected when you have multiple sections that look like frontmatter but some aren't
[2.1.2] 2025-10-07 @dwertheimer (was never released, just included in 2.1.3)
- allow passing of templateRunner body content via xcallback with blank template title
[2.1.1] 2025-09-08 @dwertheimer
- fix using button on empty template, especially with teamspace notes
- use chooseFolder() to include teamspaces in folder selection of templateNew command
- add chooseNoteV2() to helpers module
- fix edge case in date.format() where it was not preserving timezone information in some cases
- fix other issues with DateModule and TimeModule where it was not preserving timezone information in some cases (using Date objects instead of moment objects -- now using moment objects exclusively)
- Add smart quotes replacement in import/include files
- Fix edge case where inline title was not being rendered if it contained EJS tags
b3
- fix chooseFolder() that was forcing new folder creation when it was not needed
[2.1.0] 2025-08-?? @dwertheimer
New Features
- Add helpers module to provide access to commonly used helper functions in templates. See Helpers for details
- Add
tp:helpcommand to open templating help page in browser - Add ability to skip AI error analysis by adding
disableAIErrorAnalysis: trueto the frontmatter of the template
TemplateRunner Improvements Docs
- Update templateRunner to allow for passing an object as args (e.g.
templateRunnerExecute('templateName', true, { getNoteTitled: 'myNoteTitle' })) - Add
headingLevelandaddHeadingLocationto templateRunner to allow for control over where the heading is added and what level it is - Add
replaceHeadingto templateRunner to allow for replacing the heading and all content under it - Add
createMissingHeading(default true) to templateRunner to allow for overriding and disabling the creation of missing headings (text will be lost if you do this)
Bug Fixes/Stability Improvements
- Automatically close code/comment tags with -%> so that people don't get extra newlines in the output if they forget to add the closing tag with the newline slurping (-%>)
- Add
autoSlurpingCodeTagssetting to allow for turning off the automatic closing of code/comment tags with -%> - Fix YAML validation to allow hyphens and spaces in frontmatter key names (e.g.,
note-tag: #CTI,my key: value) - Fix edge case where new template note was getting template tags in the filename (thx @clayrussell)
- Fix bug where folder in a meeting note button press was not prompting if you had content in the note
- Fix bug where CommandBar.prompt was being caught by the prompt handler regex and showing a listOptions with the code
- Add validation to ensure meeting note templates are run on calendar events and stop if not
- Add validation for meeting note templates to prevent execution without proper event data
Other
- Improve debugging output for frontmatter validation to show exactly why content is considered valid or invalid
- Add some JS error logging at end of console messages to make error finding easier
- Change log level of some log messages to info (variable passing)
- remove evaluation of code in standard prompt handler
[2.0.20] 2025-08-07 @dwertheimer
- Fix folder selection in new note command (adds folder path to chooser)
[2.0.19] 2025-08-06 @dwertheimer
- Fix calendar notes not working right after title searching changes
- Fix edge case where a template had -- frontmatter but no tags and was taking the fast path wrongly
[2.0.18] 2025-08-06 @dwertheimer
- add pluginID for iphone settings editing
[2.0.17] 2025-08-06 @dwertheimer
- Fix bug where non-fm-body templates which started with -- were being treated as frontmatter
[2.0.16] 2025-08-06 @dwertheimer
- Add pivot offset to date.now() method
[2.0.15] 2025-08-06 @dwertheimer
- Fix date module edge cases with timezones
[2.0.14] 2025-08-06 @dwertheimer
- Make it possible for a template to have any level of heading for the title (was previously H1 only)
[2.0.13] 2025-08-05 @dwertheimer
- Fix bug where inline H1 title was not being used in templateNew (thx @crussell)
- Ensure that inline H1 title is not created in frontmatter even if there is other frontmatter being created
- if there is newNoteTitle and also an inline H1 title, the newNoteTitle will take precedence and will be created in frontmatter
[2.0.12] 2025-08-02 @dwertheimer
- Fix templateNew to handle blank meeting note edge case
[2.0.11] 2025-07-31 @dwertheimer
- Fix getFolder to handle and to honor folder attribute in quick-note templates [2.0.10] 2025-07-30 @dwertheimer Fix quick-note with frontmatter [2.0.9] 2025-07-27 @dwertheimer Fix xcallback bug in append and insert [2.0.8] 2025-07-19 @dwertheimer Insert/AppendTemplate on a blank notewith folder will create a new note in the folder and move the current note to the trash Insert/AppendTemplate on a non-blank note with folder will prompt the user whether to move the current note to the folder Fix edge case where getValuesForKey was not working correctly Fix bug with scriptlet slurping tags <%_ and _%> Add web.services to globals to get automatic await stmt Change timeout message for web services to be more helpful (esp for advice, verse, quote, and weather) Fix TemplateRunner bug where it was not finding notes by title [2.0.7] 2025-07-15 @dwertheimer Fix renderTemplate() bug that was showing frontmatter in result [2.0.6] 2025-07-11 @dwertheimer Replace all smart quotes with straight quotes (works around auto-inserted smart quotes in Mac, iOS, and iPadOS) [2.0.5] 2025-07-08 @dwertheimer You can now add properties to a generated note by adding it using three dashes "---" Fix bug where new note frontmatter was not being processed correctly if there were no templating tags [2.0.4] 2025-07-03 @dwertheimer Fix limitation where template strings were not being evaluated in include/import tags [2.0.3] 2025-06-28 @dwertheimer Improve AI error handling analysis to include more context vars/functions in the prompt [2.0.2] 2025-06-26 @dwertheimer Add stoicQuote to globals and web module Add verse to globals and web module Add note.getRandomLine to NoteModule [2.0.1] 2025-06-25 @dwertheimer Fix bug @jgclark found where multi-line JS inside a single tag was not working [2.0.0] 2025-XX-XX @dwertheimer Update Add Frontmatter/Properties to Template command name add tag function getValuesForKey to get all values for a given frontmatter tag add tag function promptKey to prompt user for a value with a lot of flexibility on which folders to search for the value etc. add tag function getNote to get a note by title, filename, or by id add <select XXX> to allow for selecting a folder from a reduced list of folders starting with XXX update date module to use NotePlan's week numbering compatibility with NotePlan's user-configurable week start day preferences fix promises and lack of await keyword in template tags add openTasks, completedTasks, openChecklists, completedChecklists to NoteModule Change documentation links to point to new documentation site Fix the long-standing bug where template errors did not show proper line number, esp. when longer code blocks Improve templating error handling/making suggestions for how to fix on JS code execution errors Add detection/messaging of template function calls called without parentheses Add ability to pass newNoteTitle argument to templateNew command and JSON vars for Shortcuts support Added incrementalRender setting to allow for turning off incremental render debugging of templates when they fail to render ...
🎛 Dashboard
What's changed in 🎛 Dashboard plugin?
For more details see the plugin's documentation.
[2.3.2] 2025-12-02
- fix display when there are no priority items shown.
[2.3.1] 2025-12-01
- fix for possible loss of settings error seen by @jim when upgrading
- dev: updated default handling for dashboardSettings and perspectiveSettings
[2.3.0] 2025-11-30
New
- support for (Team)Space notes in all Dashboard operations
- new % complete pie charts in Section areas for Calendar notes
- you can now change the displayed order of Sections, using a new panel in the Settings window. This is set per Perspective (if used). It can be reset to the default sort order.
- new setting "Do 'Move all items' buttons only move shown items when filtering?"
- new setting 'Include #tag/@mention(s) scheduled to future dates?' (default: false)
- new setting 'How to show progress in Calendar sections?'. If set to 'number closed', then the number of tasks completed in that note will be shown in the section heading area. If set to 'number open', then the number of tasks still open will be shown instead. Or can be set to 'none'. (Default: 'number closed'.)
- new /backupSettings command
- added little circles for task completion in section headings, and tweaked the text after it
Changes
- big speed up of #tag and @mention sections (at least after the first call; it creates a cache in the background for new tags and mentions)
- when the "filter out lower-priority items" is on, this now calculated across all sections, not just each one independently.
- show Tag/Mention sections that have no items
- hide Referenced calendar sections (e.g. ">Today") that have no items to show
- the label that says there are hidden items now includes "(click to show all)" text to make it clearer how to turn off the filter for that section.
- the Overdue section now shows the number of overdue beyond the 'lookback N days' setting limit, if that's applied (requested by @tastapod)
- a backup of Dashboard settings is created whenever installing a new version
- when using "Move to Note" task action, if the note starts in a Calendar note, and is moved to a Regular note, then that >date is added.
- completing, cancelling or updating an item will also now immediately update the same item if it is shown in a different section (e.g. Yesterday and Overdue).
- change de-duplication of sync'd lines to now favour showing the one in the Regular, not Calendar, note
- the Priority and Overdue sections now apply the 'Apply to sections under Calendar note headings' sub-setting of 'Ignore items in notes with phrase(s)' where set
- lots of visual polish
Fixed
- fix incorrect display after Unscheduling a task
- fix to Refresh button continually showing 'Generating' long after it should.
- fix to display of hashtags and mentions with included hyphens or underscores
- several fixes to display of URLs
- lots of other small fixes
🎛 Dashboard
What's changed in 🎛 Dashboard plugin?
For more details see the plugin's documentation.
[2.3.1] 2025-12-01
- fix for possible loss of settings error seen by @jim when upgrading
- dev: updated default handling for dashboardSettings and perspectiveSettings
[2.3.0] 2025-11-30
New
- support for (Team)Space notes in all Dashboard operations
- new % complete pie charts in Section areas for Calendar notes
- you can now change the displayed order of Sections, using a new panel in the Settings window. This is set per Perspective (if used). It can be reset to the default sort order.
- new setting "Do 'Move all items' buttons only move shown items when filtering?"
- new setting 'Include #tag/@mention(s) scheduled to future dates?' (default: false)
- new setting 'How to show progress in Calendar sections?'. If set to 'number closed', then the number of tasks completed in that note will be shown in the section heading area. If set to 'number open', then the number of tasks still open will be shown instead. Or can be set to 'none'. (Default: 'number closed'.)
- new /backupSettings command
- added little circles for task completion in section headings, and tweaked the text after it
Changes
- big speed up of #tag and @mention sections (at least after the first call; it creates a cache in the background for new tags and mentions)
- when the "filter out lower-priority items" is on, this now calculated across all sections, not just each one independently.
- show Tag/Mention sections that have no items
- hide Referenced calendar sections (e.g. ">Today") that have no items to show
- the label that says there are hidden items now includes "(click to show all)" text to make it clearer how to turn off the filter for that section.
- the Overdue section now shows the number of overdue beyond the 'lookback N days' setting limit, if that's applied (requested by @tastapod)
- a backup of Dashboard settings is created whenever installing a new version
- when using "Move to Note" task action, if the note starts in a Calendar note, and is moved to a Regular note, then that >date is added.
- completing, cancelling or updating an item will also now immediately update the same item if it is shown in a different section (e.g. Yesterday and Overdue).
- change de-duplication of sync'd lines to now favour showing the one in the Regular, not Calendar, note
- the Priority and Overdue sections now apply the 'Apply to sections under Calendar note headings' sub-setting of 'Ignore items in notes with phrase(s)' where set
- lots of visual polish
Fixed
- fix incorrect display after Unscheduling a task
- fix to Refresh button continually showing 'Generating' long after it should.
- fix to display of hashtags and mentions with included hyphens or underscores
- several fixes to display of URLs
- lots of other small fixes
🗓 AutoTimeBlocking / Events
AutoTimeBlocking Change Log
README: How to use AutoTimeBlocking
What's New in AutoTimeBlocking
[1.22.0] 2025-11-29 @dwertheimer
- Add setting to leave completed timeblocks in the note for posterity (thx @drawingthesun https://discord.com/channels/763107030223290449/1111377061148368968/1443638522954383402)
[1.21.2] 2025-08-08 @dwertheimer
- Fix with changes in trigger logic
- Minor change to heading logic
- Don't quote triggers in frontmatter
- Fixed bug where adding trigger adds extra lines to top of note (using Editor.frontmatterAttributes setter)
- Fixed bug in helpers/NPnote.js getReferencedParagraphs where it was not including tasks with headings
- Fixed bug where timeblockTextMustContainString was being doubled up in the TB line, keeping the checkboxes from working properly
[1.21.0] 2024-05-26 @dwertheimer
- added MANUAL_ORDERING mode (for @thor)
[1.20.0] 2024-02-23 @dwertheimer - thx @Werwowolf
- Feature: add named timeframes in settings (e.g. "morning", "early", "afternoon") and a task tagged with #afternoon will get placed there
- Sort todos by priority then date (oldest to newest), then duration
- Do not include backlinks which are not todos as todos
[1.19.1] 2024-02-14 @dwertheimer
- Remove calendar writing in /atb (now that it is included in NP)
- Allow any character (e.g. emoji) to be your TB char (used to be #hashtag something only)
- Fix: Remove synced blockId from "No time available" line
[1.18.3] 2024-02-02 @dwertheimer
- Added ability for BY_TIMEBLOCK_TAG to work for multiple sessions in a day of the same name, e.g. HighEnergy. Thx @Crambeary
- Fix /atb to work with NP's new auto-writing Timeblocks to Calendar
[1.18.2] 2024-02-01 @dwertheimer
- Added more logging to help find a bug
[1.18.1] 2024-01-04 @dwertheimer
- Update language around Synced Copies preference (thanks @dutcheness)
- Fix bug where synced copies didn't write if the Editor was not saved yet
[1.18.0] 2023-10-16 @dwertheimer
- Add Named Timeblocks Mode (BY_TIMEBLOCK_TAG mode)
- Minor calendar event improvement to deal with "today" and "tomorrow" text better in event creation
[1.17.3] 2023-10-11 @dwertheimer
- EventBlocks: minor change to xcallback support]
[1.17.2] 2023-09-16 @dwertheimer
- EventBlocks - work around NP limitation that doesn't process "today at 5pm" correctly
[1.17.1] 2023-09-06 @dwertheimer 2023-09-06
- Add argument for heading to put it under
[1.17.0] 2023-09-06 @dwertheimer 2023-09-06
- Add interactive plugin settings for iOS
- Added /pevt command for creating a single task using natural language
[1.16.3] 2023-08-24
- Fix bug where synced lines in today's note were not being timeblocked. Thx @tiffsunbacon
[1.16.2] 2023-07-13
- Fix bug in non-ATB timeblocks getting deleted
- Allow time to be '1hr or '5min instead of just "h" and "m"
[1.16.1] 2023-07-05 @dwertheimer
- bump to chase onSettingsUpdated NP bug
[1.16.0] 2023-07-05 @dwertheimer
- Create Tasks within named Timeblocks (e.g. #home) - aka BY_TIMEBLOCK_TAG mode (see the README ^^^)
- Change Plugin Name to AutoTimeBlocking/Events
- Add output/notification for tasks that were unable to fit
[1.15.1] 2023-04-20
- Fix bug in tasks open in today's note.
[1.15.0] 2023-01-18 @dwertheimer
- Added new preference: when using checklist (+) for your timeblocks, checking the timeblock will find and check the original item
[1.14.0] 2023-01-17 @dwertheimer
- Checklist support for todo char
[1.13.5] 2022-12-13 @dwertheimer
- Suppress dialog when no synced tasks to output
[1.13.4] - 2022-12-08 @dwertheimer
- Fix nasty bug when prefs fields were empty (was deleting all lines in a note). Thx @akra5ia
[1.13.1] - 2022-11-26 @dwertheimer
- Fix bug when timeblock character is a todo (duplicating time blocks)
- Change default synced copies title to be the link to run it again
[1.13.0] - 2022-11-11 @dwertheimer
- Added undocumented feature for a template to remove previous days paragraphs under any heading (dbw using to remove "Daily Recurring Tasks" after the day has passed)
[1.12.0] - TBD @dwertheimer
- Added /mdatb - Mark Done and run ATB command
[1.11.0] - 2022-10-28 @dwertheimer
- Added setting to create timeblocks for undated tasks in today's note
- Added line-level links to tasks from timeblocks
[1.10.4] - 2022-10-19 @dwertheimer
- Minor fix to ignore calendar items which are marked as "free" time in Google calendar
[1.10.3] - 2022-09-29 @dwertheimer
- Bug fix to keep today todos from becoming synced copies
[1.10.2] - 2022-09-07 @dwertheimer
- Name change (back to EventAutomations) and code clean up
[1.10.1] - 2022-09-07 @dwertheimer
- Fixed minor bug: datePlusOpenOnly setting missing
[1.10.0] - 2022-09-02 @dwertheimer
- Moved >date+ functionality to TaskAutomations plugin (and expanded it)
[1.9.0] - 2022-09-01 @dwertheimer
- Added ability to convert all overdue tasks to >today tasks (when preference setting is off)
[1.8.0] - 2022-08-22 @dwertheimer
- Ask for calendar selection in Event Blocks Creation
- Work around all-day event bug in CalendarItem API
[1.7.0] 2022-08-04 @dwertheimer
- Event Blocks: Added temporary display of start time for event
- Fix bug where last event wasn't picked up
[1.6.0] 2022-07-21 @dwertheimer
- Added Create Events from Text Block capability (/cevt - Create Events from Text)
- Added Log Level Settings in Preferences
- Renamed plugin to AutoTimeBlocking & Event Automations
[1.5.0] 2022-07-21 @dwertheimer
- Added Log Level Settings in Preferences
[1.4.0] 2022-07-03 @dwertheimer
- added command "/Update >date+ tags in Notes" (including foldersToIgnore config setting)
- added autoupdater code
- change default TimeBlocks heading to the "button" Time Blocks
[1.3.4] 2022-06-24 @dwertheimer
- Fix race condition calling DataStore.preference too many times quickly on "Remove All Previous..." commands
[1.3.3] 2022-06-23 @dwertheimer
- Add check for pre-existing timeblocks including the "mustInclude" string (thx @jgclark)
[1.3.2] 2022-06-21 @dwertheimer
- Fix calendar changeover (00:00) bug
[1.3.0] 2022-06-21 @dwertheimer
- Added cleanup commands:
- Remove Synced Todos for Open Calendar Note
- Remove Time Blocks for Open Calendar Note
- Remove All Previous Synced Copies Written by this Plugin
[1.2.1] 2022-07-10 @dwertheimer
-
Remove the requirement for Synced lines to run only on today's note (@stacey's suggestion)
-
added: added command "/Insert Synced Today Todos at Cursor" to add synced lines without timeblocks
[1.2.0] 2022-07-10 @dwertheimer
- added: added command "/Insert Synced Today Todos at Cursor" to add synced lines without timeblocks
- changed plugin name to "AutoTimeBlocking & Synced Today Todos"
[1.1.6] 2022-07-10 @dwertheimer
- fix: added loading screen during delete/add events to calendar
[1.1.5] 2022-07-10 @dwertheimer
- fix: made TB tag addition more robust
[1.1.4] 2022-07-10 @dwertheimer
- fix: pull timeblock string from prefs (DataStore.preference("timeblockTextMustContainString")) and append it
[1.1.3] 2022-07-10 @dwertheimer
- fix: read calendar name after it gets changed by user
[1.1.2] 2022-07-09 @dwertheimer
- fix: crasher bug in removing items from calendar
[1.1.1] 2022-07-09 @dwertheimer
- fixed bug found by @atlgc where same text in diff files wouldn't create synced line
[1.1.0] 2022-05-26 @dwertheimer
- added duplicate removal to eliminate multiple copies of synced lines + tests
- added folding using API
- improved messaging for when /ATB encounters nothing
[1.0.0] 2022-05-18 @dwertheimer
- added config setting for write synced copy
- moving to 1.0.0 release because /atb has been stable
[0.6.0] 2022-05-06
- remove event note creation functions (they have been superseded by NotePlan Event Templates)
- fix bug that is finding embedded event links and treating them like timeblocks
[0.5.3] 2022-04-02
- fix bug in task exclusion patterns (thx @lt#0807)
[0.5.2] 2022-03-17
- fix done task still showing up (thx @pan)
[0.5.1] 2022-03-15
- add support for items in today's note which are not tasks
- remove a slew of console.logs
[0.5.0] 2022-03-12
- add setting for appending link to task note
[0.4.7] 2022-02-18
- changed default timeblock line to "-" from "*"
[0.4.6] 2022-02-18
- fixing editor open bug
[0.4.5] 2022-02-04
- refactor calendar code under the hood + Eduard fixed some underlying migration code
[0.4.4] 2022-02-04
- add configuration migration
[0.4.3]
- change config to make includeTasksWithText etc. not required
[0.4.2] 2022-01-02 @dwertheimer (in response to great feedback from @stacey)
- change default config to allow for timeblocks all day long (no workDay[Start/End]) sections]
- change preset to do the opposite (allow for workday)
[0.4.0] 2021-12-25 @dwertheimer
- Search today's note for items tagged as >today or >dated
[0.3.4] 2021-12-25 @dwertheimer
[0.3.3] 2021-12-24 @dwertheimer
- Added tons of console.logging to help with debugging in NP
[0.3.0] 2021-12-24 @dwertheimer
- Fixed Catalina (and previous OS) date math inconsistency
[0.1.0] 2021-11-04 @dwertheimer
- Initial release
- "Create Note From Calendar Item" command (asks you for a template)
- "Create Note From Calendar Item w/QuickTemplate" command (uses a preset template you established in the _configuration file / quickNotes field)
🕓 Event Helpers
What's changed in 🕓 Event Helpers?
See website README for more details, and how to configure.
[0.23.2] - 2025-11-22 @jgclark
- add some missing PLACEHOLDERS in the setting descriptions
- dev: refactor code for improved maintainability
[0.23.1] - 2025-10-20 @jgclark
- fix regression in '/shift dates' command on tasks scheduled to weeks
[0.23.0] - 2025-08-22 @jgclark
New
- new command /insert week's events as list, which inserts this week's calendar events in the current note (for @scottc)
- new equivalent
insertWeeksEventsandlistWeeksEventsfunctions for use in automation (templating or x-callbacks)
Changed
- changed setting 'Processed tag name' to 'Processed indicator string' to clarify that you can use any string, not just hashtags. And added a note that if this string contains an emoji then it sometimes triggers a bug in NotePlan where you get some repeated characters at the end of the line.
Fixed
- regression on "/time blocks to calendar" (thanks, @WalterMusings)
- stopped timeblocks being falsely generated from
@done(...)strings under some settings
[0.22.2] - 2025-08-19 @jgclark
- add 'add computed final date' setting for '/process date offsets' command. (Previously it always added a final computed date to the relevant section heading. Now this can be turned off.)
[0.22.1] - 2025-01-03
- improve setting defaults and documentation.
[0.22.0] - 2024-09-06 @jgclark
- can now use
events()andmatchingEvents()calls from Templates running on Weekly notes and other non-daily Calendar notes (for @gdrn). - refactored documentation.
[0.21.3] - 2024-06-04 @jgclark
- fix bug when adding time blocks to calendar
- better handle template
<%- events() %>, which has no formatter string
[0.21.2] - 2024-02-13 @jgclark
- /shiftDates now shifts dates in brackets and multiples dates on a single line (to suit Project metadata).
[0.21.1] - 2024-02-06 @jgclark
New
- added 'Yes to all' as an option to the dialog when creating time blocks in "time blocks to calendar" and "process date offsets" commands
- extended 'shift dates' command to work on week dates (
>YYYY-Wnn) as well as day dates - extended 'process date offsets' and 'shift dates' commands to remove any blockIDs from lines before they change
[0.21.0] - 2023-09-29 @jgclark
New
- "/shift dates" and "/process date offsets" now unhook sync'd lines (blockIDs) from others before changing them, to preserve the other copies
- "/shift dates" now deals with checklists as well as tasks, and cancelled items too.
- "/shift dates" can now remove any 'processed tag name' (as set in the "/time blocks to calendar" command) from tasks or checklists. This is controlled by new setting "Remove any 'processed tag name' on tasks or checklists?"
- new "/Events: update plugin settings" command to allow updating settings on iOS/iPadOS devices
Changed
- "/time blocks to calendar" now more sensibly handles time blocks that contain a week reference (
>YYYY-Wnn) as well as day references - "/process date offsets" now will only offer to run "/time blocks to calendar" if there are any time blocks in the note
[0.20.3] - 2023-06-12 @jgclark
Changed
- added 'STOPMATCHING' as a possible placeholder for "/insert matching events". If present it will not process a given event further, so only the first match in the "Events match list" list will be used. (This does not stop remaining events in the day being matched.)
[0.20.2] - 2023-02-13 @jgclark
Added
- the date offset intervals (e.g.
{3d}can now use upper-case letters B,D,W,M,Q,Y as well as the existing lower-case letters - more helpful text in a dialog box
[0.20.1] - 2022-12-30 @jgclark
Added
- added support for time blocks in Checklists (available from NotePlan 3.8)
[0.20.0] - 2022-12-08 @dwertheimer, @jgclark
Added
- added 'MEETINGNOTE' link as a format option, which adds a button to create a meeting note to events in event listings. There's also a new setting 'Meeting Note Template title' which you can use to set which template to pick if you have several; if it isn't set then a list will be presented. (Note: this requires at least v1.1.2 of the separate Meeting Notes plugin.)
[0.19.4] - 2022-12-04
Added
- can now send
calendarsparameter to the commands via Templates. E.g.calendars:"list,of,calendar,names"(for @joepindell)
[0.19.3] - 2022-11-30
Changed
- "/insert events" commands now de-duplicates 'ATTENDEES' and 'ATTENDEENAMES' before writing to notes (for @CDP54321)
- "/process date offsets" command now ignores tasks which have been completed.
[0.19.2] - 2022-10-21
Added
- new setting "Include time blocks from completed tasks?" for the "/time blocks to calendar" command.
[0.19.1] - 2022-10-05
Added
- new setting "Set any completed tasks to not complete?" for the "/shift dates" command.
[0.19.0] - 2022-09-27
Added
- new setting "Remove @done dates?" for the "/shift dates" command.
- "/shift dates" command now also works for weekly dates (e.g.
2022-W34), leaving the date written as a weekly date.
[0.18.0] - 2022-08-31
Added
- new
includeAllDayEventsparameter for theevents()andmatchingEvents()template functions.
[0.17.1] - 2022-08-31
Changed
- the format of
*|DATE|*can now be overridden with the 'Shared Settings > Locale' setting.
[0.17.0] - 2022-08-10
Added
- the location of an event is now available in the output of "/insert day's event as list" and "/insert matching events" commands. It's formatting code is
*|LOCATION|*.
Changed
- the 'Add event ID?' option for "/time blocks to calendar" command now inserts one of the nicely-formatted event links rather than the underlying eventID. The setting has been renamed 'Add event link?' to reflect this.
[0.16.6] - 2022-07-22
Changed
- updated to newer logging framework. No functional changes.
[0.16.5] - 2022-06-17
Fixed
- work around a bug in NP's 'Timeblock text must contain string' setting (tracked down with help by @Stuw)
- code tidy up
[0.16.4] - 2022-06-12
Changed
- now uses NP's 'Timeblock text must contain string' setting (if set) when detecting whether a line has a valid Time block in it.
- improved user messaging when running '/shift dates'
[0.16.3] - 2022-05-26
New
- in /process date offsets, if a controlling date can't be found, then it will now ask the user for one instead
Changed
- removed some whitespace stripping which was useful to me, but not to others.
[0.16.2] - 2022-05-25
Added
*|ATTENDEENAMES|*placeholder, which gives either name or email address of event attendees, but no other details
Fixed
- issue with
*|URL|*placeholder
[0.16.1] - 2022-05-20
Fixed
- bug in calculation of offsets with 'b'usiness days
[0.16.0] - 2022-05-13
Added
- new /shift dates command that takes dates in the selected lines and shifts them forwards or backwards by a given date interval. (It doesn't change dates in `@done(...) mentions, or that are in brackets.)
[0.15.1] - 2022-05-06
Fixed
- typo in default configuration of '' setting
- restored 'template' parameter option
[0.15.0] - 2022-05-03
Added
- Added new 'Events List display format' and 'Events List display format for all-day events' settings to allow user to customise the event lists when run as /commands. This uses the same format as can already be passed as a parameter in the
events()template functions. Defaults are given. - Added support for including the date of an event in the output for calendar events. You can include it in format strings as placeholder
*|DATE|*. - Added more flexibility in the formatting of event lists. So now instead of including (for example)
*|ATTENDEES|*you can now include other text (including line breaks) within the placeholder, for example*|\nwith ATTENDEES|*. If the ATTENDEES is not empty, then it will output the list after a newline and the text 'with '. Here is a fuller example to use in a Template.
<%- events( {format:"### (*|CAL, |**|START|*) *|EVENTLINK|**|\nwith ATTENDEES|**|\nNOTES|**|\nURL|*", allday_format:"- (*|CAL|*) *|EVENTLINK|**|\nNOTES|**|\nURL|*", includeHeadings:true} ) %>- In date offsets, added ability to specify offset dates that work relative to each subsequent line [requested by @george65]
Changed
- Under-the-hood change to register its functions ready for NP 3.5.2. (Means minimum version that it will run with is v3.5.2.)
[0.14.1] - 2022-04-26
Changed
- Improved messaging if a Templating user tries to use this Plugin's functions, without the plugin being installed.
- Removed the version of /insert day's events that simply wrote to the Plugin Console for testing
Fixed
- Fixed events() in a template returning events for the previous day (thanks @dwertheimer for PR)
[0.14.0] - 2022-04-23
Added
- Added support for including list of Attendees in output for calendar events. You can include it in format strings as
*|ATTENDEES|*. This produces a comma-separated list of names or emails (where name isn't given). - Added new
daysToCoverparameter that allows multiple days to be output for the/insert day's events as listand/insert matching eventscommands (request #251 by @Stuw). For example: includedaysToCover: 3to the parameter string to see events for the selected day, plus the following 2. - Added new optional setting 'Matching Events heading', which sets the heading to put before list of matching events when using the
/insert matching eventscommand orlistMatchingEvents()template call
[0.13.0] - 2022-04-20
Added
- Added a new 'Sort order' setting for event lists. It now defaults to 'time' ordering (by start time), unless the 'calendar' option is chosen (which then orders by calendar name then start time). (for @bartmroz)
- ...
🧹 Tidy Up
🧹 Tidy Up Changelog
See Plugin README for full details on the available commands and use from callbacks and templates.
[1.17.0] - 2025-11-22 @jgclark
New
- new /Remove empty lines command, that removes all empty lines from the open note. This is useful when trying to tidy up content copied into NP from other sources.
Changes
- /Remove empty elements will now work again on a regular (non-calendar) note.
- /Remove section from all notes now uses the 'Ignore future calendar notes?' setting, and now logs the notes that will be changed before running.
[1.16.0] - 2025-11-17 @jgclark
New
- new /Remove empty elements from recent notes command, that uses the same settings as the existing '/Remove empty elements' command, but applies over all recent Calendar notes. (Optionally you can include regular notes as well, if you turn on the new setting.) (For @dwertheimer)
Changes
- The name of the existing /Remove empty blocks command has been changed to /Remove empty elements to better reflect what it does.
- This now also removes empty tasks and checklists.
[1.15.2] - 2025-11-01 @jgclark
- updates /List duplicated content command to refer to the related (but simpler) new feature added to NotePlan in v3.19.2.
- to align with that, the name of the command here is changed to /List duplicated content. (Note: this remains different to /List duplicate notes.)
- the command is now less sensitive, and includes a note if the content duplication is >80% (was 90% before).
- add note icons for notes generated by the /List conflicted notes, /List duplicated content and /List duplicate notes commands.
[1.15.1] - 2025-10-14 @jgclark
- update /File root notes to improve menu display, particularly for Teamspace folders
- remove '/Remove section from recent notes' command from being available in the general "/Tidy Up" command, as it requires user input, and so can't run silently.
[1.15.0] - 2025-10-12 @jgclark + @dwertheimer
- rather arbitrarily promoting this to v1.x, after 2.5 years :-)
- New command /Remove empty blocks which in the open note removes empty list items, quotations and headings, and reduces multiple empty lines to a single empty line.
- New command /List missing daily notes in last year
- new setting 'Ignore future calendar notes?' for /Remove section from all notes command
- improvements to /List Doubled Notes command
[0.14.12] - 2025-10-12 @jgclark (unreleased)
- '/List duplicates' command now has better display of Teamspace notes, and checks against the special Archive and Template folders.
- '/List stubs' now doesn't check the special Archive and Template folders.
[0.14.11] - 2025-09-09 @jgclark
- '/List stubs' command now has better display of Teamspace notes.
[0.14.10] - 2025-09-03 @jgclark
- fix regression in '/Generate @repeats from recent notes' command.
[0.14.9] - 2025-08-30 @jgclark
- rebuild to use updated code from Repeat Extensions plugin in /Generate @repeats in recent notes command
- update /Remove blank notes to gracefully handle Teamspace notes, which can't be removed (at this time).
[0.14.8] - 2025-06-24 @jgclark
- updated /Remove section from all notes command to show how many sections it will remove, and also to use the 'Type of match for section headings' (
Exact,Starts with, orContains) and 'Folders to exclude' settings - code refactoring
[0.14.7] - 2025-02-18 @jgclark
- Stop lots of popups appearing when running /Generate @repeats in recent notes command (thanks, @KanerA).
- The /List stubs command now understands line links (and so ignores the part of the link after the
^character) (thanks, @chrismetcalf). - Improved descriptions of some settings.
🧹 Tidy Up
🧹 Tidy Up Changelog
See Plugin README for full details on the available commands and use from callbacks and templates.
[1.16.0] - 2025-11-17 @jgclark
New
- new /Remove empty elements from recent notes command, that uses the same settings as the existing '/Remove empty elements' command, but applies over all recent Calendar notes. (Optionally you can include regular notes as well, if you turn on the new setting.) (For @dwertheimer)
Changes
- The name of the existing /Remove empty blocks command has been changed to /Remove empty elements to better reflect what it does.
- This now also removes empty tasks and checklists.
[1.15.2] - 2025-11-01 @jgclark
- updates /List duplicated content command to refer to the related (but simpler) new feature added to NotePlan in v3.19.2.
- to align with that, the name of the command here is changed to /List duplicated content. (Note: this remains different to /List duplicate notes.)
- the command is now less sensitive, and includes a note if the content duplication is >80% (was 90% before).
- add note icons for notes generated by the /List conflicted notes, /List duplicated content and /List duplicate notes commands.
[1.15.1] - 2025-10-14 @jgclark
- update /File root notes to improve menu display, particularly for Teamspace folders
- remove '/Remove section from recent notes' command from being available in the general "/Tidy Up" command, as it requires user input, and so can't run silently.
[1.15.0] - 2025-10-12 @jgclark + @dwertheimer
- rather arbitrarily promoting this to v1.x, after 2.5 years :-)
- New command /Remove empty blocks which in the open note removes empty list items, quotations and headings, and reduces multiple empty lines to a single empty line.
- New command /List missing daily notes in last year
- new setting 'Ignore future calendar notes?' for /Remove section from all notes command
- improvements to /List Doubled Notes command
[0.14.12] - 2025-10-12 @jgclark (unreleased)
- '/List duplicates' command now has better display of Teamspace notes, and checks against the special Archive and Template folders.
- '/List stubs' now doesn't check the special Archive and Template folders.
[0.14.11] - 2025-09-09 @jgclark
- '/List stubs' command now has better display of Teamspace notes.
[0.14.10] - 2025-09-03 @jgclark
- fix regression in '/Generate @repeats from recent notes' command.
[0.14.9] - 2025-08-30 @jgclark
- rebuild to use updated code from Repeat Extensions plugin in /Generate @repeats in recent notes command
- update /Remove blank notes to gracefully handle Teamspace notes, which can't be removed (at this time).
[0.14.8] - 2025-06-24 @jgclark
- updated /Remove section from all notes command to show how many sections it will remove, and also to use the 'Type of match for section headings' (
Exact,Starts with, orContains) and 'Folders to exclude' settings - code refactoring
[0.14.7] - 2025-02-18 @jgclark
- Stop lots of popups appearing when running /Generate @repeats in recent notes command (thanks, @KanerA).
- The /List stubs command now understands line links (and so ignores the part of the link after the
^character) (thanks, @chrismetcalf). - Improved descriptions of some settings.