Releases: NotePlan/plugins
🔬 Projects + Reviews
What's changed in 🔬 Projects + Reviews plugin?
See website README for more details, and how to configure.under-the-hood fixes for integration with Dashboard plugin
[1.3.0] - 2026-02-20
Display Improvements
- Supports opening the Project Lists window in NotePlan's main window on macOS. See Display setting "Open Project Lists in what sort of macOS window?".
- Adds the plugin to the NP Sidebar list of plugins
- Now highlights the project in the list that is currently being reviewed
- Moved the display toggles to a new "Filter…" menu in the top bar, and added "Show next actions?" and "Show paused?" toggles. Other changes to layout at narrower window widths.
- When running in the main window, clicking on a project note now opens it in a split view to the side.
- Added 'Next' review button to top bar.
- Added 'Start' review button to the edit dialogs
- Added an 'Add Task' button to the edit dialog, which asks user for task details, and which heading to add it under.
- Added a count badge to project list rows: shows count of open (non-future) items in a small grey square. Badges only appear for active projects and when counts are greater than zero.
- Smartly truncates long 'next action' lines
- Uses a note's icon in the project list, if set in the note's frontmatter
- Turned back on the automatic updates of Dashboard plugin (if open). [Requires Dashboard v2.4.0 beta 18 or later.]
- Improved the dialog box title (now includes folder and clickable project note name)
- Progress line format now changed to remove colon after date by default (i.e.
Progress: <num>@YYYY-MM-DD <description>), but existing lines will still be parsed correctly. - If "display dates?" setting is off, then any progress or next actions lines are shown under the project title, rather than to the side.
Processing Improvements
- Supports projects in (Team)Space notes, using the settings in the Perspective from Dashboard v2.4 which allows you to specify which (Team)Spaces you wish to include, plus whether or not to include the Private "Space" (all notes not in a Space).
- New 'Sequential' project marker that automatically makes the first open task/checklist in a project note the 'next action'. To set this add the frontmatter
project: #sequential. - Improved next action processing: now only the first tagged item is shown; if there are no tagged items and a sequential tag is present in the frontmatter, the first open item is displayed instead.
- New setting "Progress Heading" allows to put a heading wherever you want in a project note for the
Progress: ...lines to live. If a note has existing progress lines when this is first set, it will first find them and insert the heading above the lines. (Requested by @harold.) - New setting "Also write most recent Progress line to frontmatter?". When turned on this allows the current progress information to be used in Folder Views. (default: off) (for @oak86)
- Pausing or un-pausing on a Project now also updates the
@reviewed()date - Stops the 'next action' check from running if the project note is marked as
#sequential
Fixed
- Re-wrote finding open project note now there can be multiple Editors open.
- Folder name (including Space name) not being included in project completion list in yearly note
- Progress lines with 100% were parsed as 10%
- Other smaller improvements and fixes (including those reported by @garba, @mourique and @doug)
[1.2.4] - not released
- improve inter-plugin communication with the Dashboard.
[1.2.3] - 2025-04-28
- Fixed race condition stopping 'Finish + Next' review from working (thanks, @gdrn).
- Fixed problem in 'Pause Project'
[1.2.2] - 2025-04-03
- Added workaround for failing API call when using 'Finish + Next' (thanks, Alexandre Jacques)
[1.2.1] - 2025-04-01
- Under-the-hood changes to suit shared settings with Dashboard plugin.
- Fix % completion not being generated if using progress comments with no estimated %.
- Code refactoring.
[1.2.0] - 2025-03-19
There are 2 new settings that affect which open tasks/checklists are included in the '% completion' statistic for each project:
- Ignore tasks set more than these days in the future: If set more than 0, then when the progress percentage is calculated it will ignore items scheduled more than this number of days in the future. (Default is 0 days -- i.e. no future items are ignored).
- Ignore checklists in progress? If set, then checklists in progress will not be counted as part of the project's completion percentage.
[1.1.2] - 2025-03-17
- Fix to Next Actions not being detected in '/finish review' (thanks, @Wook5000)
- DEV: update to use CoreNoteFields, not TNote, where possible
[1.1.1] - 2025-02-14
Changes
- Turns off the background refresh of Dashboard plugin after every change to Project List, as it was interfering with changing Perspectives. The Dashboard will still update on its usual 'automatically update' interval without problems.
- If a project note is being processed but doesn't yet have any relevant metadata (specifically at least
@reviewor@reviewedmention, or at least one project/metadata/review/reviewed frontmatter field), then a very basic metadata line will be added after the note title.
[1.1.0] - 2025-02-03
New
- Supports 'Perspectives' from Dashboard plugin. If you turn the feature on in settings, the Project List will automatically use the current 'Perspective' definition from the Dashboard plugin to determi...
🔎 Search Extensions
What's Changed in 🔎 Search Extensions plugin?
(And see the full README.)
[2.0.3] - 2026-02-18
Fixed
- search terms with underscore(s) were being tokenized into two words, rather than being treated as a single word.
- /replace command wasn't honouring the "Are you sure you want to continue?" dialog check.
[2.0.2] - 2026-01-30
- align 'searchInPeriod' command x-callback parameters to what the documentation actually says ;-)
- fixes to 'searchInPeriod' run interactively
[2.0.1] - 2026-01-24
- bug fixes for 'replace' commands
[2.0.0] - 2025-03-21
New
- Adds a number of replace commands, that first search and then offer to replace with some new text. It always shows the number of occurrences found, and checks that you wish to proceed. Note: Please use this carefully, as there is no way (with the current API) to easily undo a replace operation. You would have to use the Versions menu item in each note to roll it back.
Changed
- tidy up some output
- if an existing saved search is repeated and produces no results, the existing note is now updated
- improved output when lines are trimmed
- if called from a callback, and there are no results found, the dialog box with a message to the user about this is suppressed.
- some optimisations
Fixed
- allow hashtags and mentions to work in 'full-word' matching mode
- fix some 'refresh' anomalies
[1.4.0] - 2025-01-18
New
- Adds ability to search matching the case of words ("case sensitively"). This is different to NotePlan which only allows case-insensitive searching. There is a new setting to turn this on or off. There is a new control for this on the flexiSearch dialog.
- By default search terms in NotePlan matches on parts of longer words. There is now a setting to restrict searches to matching full words only. There is a new control for this on the flexiSearch dialog.
Changed
- some flexi search dialog tweaks
Fixed
- Refresh button not working in QuickSearch results note
Dev Note
- includes most of the work on new Replace commands as well, but wanted to get some fixes and tweaks out first
[1.3.1] - 2023-12-30
Changed
- Updated x-callback handling as a result of changes in NotePlan 3.9.11 (build 1142)
Fixed
- Fixed display of items with a match on just part of a word in Simplified mode
- Fixed display of open checklist items in Simplified mode
- Fixed display of items that are entirely a URL
- Searches using "open checklist" type in flexiSearch (thanks to report by @clayrussell )
[1.3.0] - 2023-12-26
- Adds ability to automatically refresh a saved search when opening its note. To enable this, run "/add trigger" on the saved search note, and select "🔎 Search Extensions: 'refreshSavedSearch'" from the list. To turn this off again, just remove the line starting
triggers: onOpenfrom the frontmatter. - Adds wildcard operators
*and?in search terms. These match any number of characters (including none) and just 1 character respectively within a word. For example,pos*ematches "possible", "posie" and "pose";poli?ematches "polite" and "police". - Speeded up searches that have multiple terms (particularly 'must-find' terms)
- Now places the date and time of the search, and the Refresh 'button' under the section heading, not above it. This makes better sense for the auto-refresh (above).
- Now clarified that searches do include the special Archive and Templates folders, unless you exclude them using the 'Folders to exclude' setting.
[1.2.4] - 2023-10-04
Changes
- the /flexiSearch dialog box simplified with a new tooltip help, and better validation checks
- the /flexiSearch dialog box now renders OK on iOS
- removed the 'Cancel' button as it doesn't work on iOS/iPadOS, and on macOS you can use the standard red 'traffic-light' button instead.
[1.2.3] - 2023-10-02
- change to allow /quickSearch to be started from x-callback but still ask user for search terms (for @dwertheimer)
[1.2.2] - 2023-09-01
- ability to run FlexiSearch without closing the Dashboard and Project list windows from other plugins (requires NP v3.9.6.)
[1.2.1] - 2023-07-14
- add 'Click to refresh' button when appending to current note (for @dvcrn)
- fix bug in /searchInPeriod when run from x-callback with date parameters
[1.2.0] - 2023-07-01
Added
- searching for exact multi-word phrases such as
"Bob Smith"is now possible, and much quicker than the previous approximately-multi-word searching - new iOS Settings editor command "/Search: update plugin settings"
Changed
- clarified that '/searchResultsInPeriod' only returns results from calendar notes in the right time period
[1.1.1] - 2023-06-30
- (really this is the 1.1.0 release, but I'm forced to call it 1.1.1)
[1.1.0-beta10] - 2023-06-02
- added /flexiSearch command, with automatic saving of options between subsequent searches.
- allows an empty search term, which might be useful in flexiSearch to find all open tasks. It asks for confirmation first, as this might be a lengthy operation.
- if the search has no results, it now just brings up a dialog and doesn't write to a note
- should now only open a new split view for results when the results aren't already open in a split view
[1.1.0-beta9] - 2023-05-17
- fix to allow searching with Unicode characters (thanks to the report by @haris_sav and initial diagnosis by @dwertheimer)
[1.1.0-beta8] - 2023-02-17
- fix to scheduled items getting synced in /searchOpenTasks results, released again to go with NP v3.8.1 build 973.
[1.1.0-beta7] - 2023-01-25
- where there are multiple copies of a line because they have been sync'd together, only one will now be shown. This will be the one in the most recently-edited note. (for @stacey with help by @dwertheimer)
- fix to scheduled items getting synced in /searchOpenTasks results (thanks for tip by @jaredos); but this will need a new build of NP as well.
[1.1.0-beta6] - 2023-01-18
- fix to typo stopping refresh on /search results (thanks for tip by @dwrek)
- include new checklist open and scheduled types in /searchOpen results (thanks for tip by @Kevinobrien)
[1.1.0-beta5] - 2022-12-23
Changed
- the
!character is now allowed as a search term, or in a search term, to allow for searching for!,!!,!!!as priority indicators. - now allows highlighting results in 'NotePlan' style, where the line isn't a "Synced Line".
Fixed
- in /searchOpenTasks sometimes "Synced Line" markers weren't carried into the results
- in /searchInPeriod the results limit was being applied too early, dropping possible results before the date check
[1.1.0-beta3] - 2022-12-13
New
- where there's an existing search results note, and the search is re-run, other text that you add before or after the results section is retained. (For @JPR1972)
Changed
- will now give a warning to the user if more than 20 open tasks in results would result in Synced Lines being created. (This only applies if you're using the 'NotePlan' output style.)
- removed the restriction that stopped you using 1- or 2-character search terms, now that you can opt to limit the number of search results returned
- is smarter about when a new split window to show the results is needed (but it's still limited by the API)
[1.1.0-beta2] - 2022-12-12 (unreleased)
Changed
- search prompt box now shows more of the syntax options you can use
Fixed
- error when refreshing results for /searchOverCalendar
[1.1.0-beta1] - 2022-11-24
Added
- Adds a new 'Result set size limit' setting that limits very large search results, to prevent overwhelming the app, particularly on mobile devices.
Changed
- The /searchOpenTasks command can now take search terms that are purely negative (e.g. "-@personX") (for @JPR1972)
- Search terms like 'twitter.com' (that contain a
.character) are now treated as one term not two.
[1.0.0] - 2022-11-17
Changed
- This is a major re-write, so read carefully!
- simplified most command names from
saveSearch...to justsearch...
Added
- supports
+and-search operators for terms that must appear, and must not appear, respectively. For example+must may could -cannothas 4 search terms, the first must be present, the last mustn't be present, and the middle two (may, could) can be. The test for + and - is done per line in notes. If you wish to ignore the whole note that has a term, you can use the ! operator, e.g.+must !not-me. (thanks @dwertheimer for this suggestion) - when returning an open task in a result (when using the 'Noteplan' style of output) the task line will be a sync'd copy of the original...
⚡️ Quick Capture
What's changed in ⚡️ Quick Capture
See plugin documentation for more details, and how to configure.
[1.0.4] - 2026-02-14
Fixed
- Setting 'Text to append to new inbox tasks' was not applied when adding tasks to the inbox; only the jot append setting was being used (thanks, @lt0807)
[1.0.3] - 2026-01-31
- Bug fix for '/quick add line under heading' command writing tasks not text (thanks, @lt0807)
[1.0.2] - 2025-11-08
Chore
- Rebuild to pick up improvements in updated note + folder pickers and week handling libraries
[1.0.1] - 2025-11-07
- Improved display of icons and calendar notes in note picker.
- Fix typos in prompts in some commands (thanks for report, @dwertheimer)
[1.0.0] - 2025-08-25
(Somewhat arbitrarily promoting this to be v1 after more than 4 years!)
New
- support for adding text to Teamspace notes
- the commands where you can select a calendar note to use from the command bar, now
- show and allow you to pick future calendar notes, even that haven't already been created.
- annotate more calendar dates with their relative date (e.g. "in 3 days time")
- new setting 'Inbox Heading'. If the Inbox location is set to 'Daily' or 'Weekly' note, this is the Heading that inbox items are added under. If not set, then it will append or prepend to the note (as set below).
Changed
- improved display of list of headings (when running NP 3.18+)
- improved text of some placeholders
Fixed
- fix commands that deal with the edge case where a note has frontmatter but the
# Titleis not in it - fix edge case with '/qpc' command
- appending text in commands other than the "/quick add ... to inbox" ones
- when writing new Journal headings, it was ignoring the 'heading level' setting (thanks, @stacey)
- fix to some x-callback calls (thanks, @dutchnesss)
[0.16.1] - 2025-02-15
Changed
- improved handle what happens when a callback runs /qath, /qalh or /qach and asks for a future calendar note that hasn't yet been created. (But note: API doesn't allow calendar notes to be created.)
- improved display of relative dates in commmand bar.
[0.16.0] - 2024-02-13
Added
- new /quick add checklist under heading command
- new /jot command (full name /quick add text to inbox) to quickly 'jot' (add some text) to your chosen Inbox note
Fixed
- notes with pairs of
***separators aren't now sometimes confused with frontmatter sections (thanks to report by @haris-sav) - where a new heading needed to be added first, it wasn't always created as a heading (thanks to report by @colin)
[0.15.2] - 2023-12-07
Fixed
- '/quick add task under heading' using wrong paragraph type when inserting at top of note (thanks to tip by @laestrella26)
[0.15.1] - 2023-11-30
Added
- new x-callback argument to set heading level (1-5) on commands "/quick add task under heading" and "/quick add line under heading"
Fixed
- wrong display of number of '#' headings in the 'Choose Heading' dialog
[0.15.0] - 2023-09-01
Added
- new "/quick add to this month's journal and /quick add to this year's journal commands
Improved
- speeded up the slower /quick... commands
Fixed
- fixed bug using relative dates with x-callbacks (reported by @phenix)
[0.14.1] - 2023-08-27
Fixed
- /quick add line under heading: first note in list wouldn't work (thanks to report by @phenix)
- some relative dates not annotated in command bar lists
[0.14.0] - 2023-08-19
Added
- relative dates
today,yesterday,tomorrow,this week,last week,next week,this month,last month,next month,this quarter,last quarter,next quarterare available when using x-callback-url mechanism to invoke the "/quick add to calendar note", "/quick prepend task to calendar note", "/quick add task under heading" and "/quick add line under heading" commands. Pass in in place of the 'note title' or 'note date' argument (suitably URL encoded, of course). - the same commands, when run interactively from the command bar, now annotate these same dates, so you can find them more easily in the long list. The list remains sorted with most-recently updated first.
- the "quick add task to inbox" command can now take a second parameter for the note title (or even a relative date) when run from template or x-callback. See README for details.
[0.13.0] - 2023-03-24
Added
- command to edit settings, even on iOS
Breaking Changes
- command '/quick prepend task to daily note' is renamed to '/quick prepend task to calendar note' as it now covers any period of calendar note. The previous alias 'qpd' still works. Note: this also changes the x-callback-url parameter accordingly.
- same for '/quick prepend task to daily note' which is renamed to '/quick prepend task to calendar note'.
- therefore command '/quickly add to weekly note' is removed.
Changed
- 'append' commands now add before any archive section in the note, and 'prepend' commands now add after any frontmatter in the note.
Known bug
- there's a known bug in commands that add text under a heading, if there's an earlier non-heading line with same text as the heading line. I'm waiting on a fix to the API. (Thanks to @colin for the report.)
[0.12.1] - 2022-08-21
Added
- new /quick add to journal this week command, for those using weekly journals (for @John1)
[0.12.0] - 2022-08-01
Added
- greater flexibility when running these functions from x-callback calls. It's possible to send one or more empty arguments, and that will cause the missing argument(s) be requested from the user, as it it were run interactively. Note: this only works from NotePlan v3.6.1. (Requested by @John1)
- the matching of section headings in /qalh and /qath from x-callback calls is done as an exact match, or (from 0.12) just the first part of it. This means it's possible to have a section such as
## Journal for 3.4.22that changes every day, but still refer to it by the unchanging stringJournal.
[0.11.0] - 2022-07-15
Added
- the /addToInboxNote command can now send to the current Weekly as well as Daily or other fixed note. Note: please review your settings, as they have changed to accommodate this.
[0.10.1..0.10.0] - 2022-06-27
Added
- new command /quick add to Weekly note command
Fixed
- issue with passing YYYY-MM-DD dates as part of an x-callback invocation
[0.9.1..0.9.0] - 2022-05-12
Added
- /quick add task under heading and /quick add line under heading now can add to existing daily (calendar) notes, not just regular notes. This also works for x-callback calls to these plugin commands.
- ability to use these commands from x-callback-url calls. For example, calling the following (e.g. from the Shortcuts app, or even within NP itself) will do the equivalent of running the command
/quick add to journal todayand supplying with input 'something interesting':noteplan://x-callback-url/runPlugin?pluginID=jgclark.QuickCapture&command=quick%20add%20to%20journal%20today&arg0=something%20interesting
[0.8.0..0.8.6] - 2022-04-18
Changed
- code clean-up, removing references to old _configuration note, and moved to newer logging system
- now using new Configuration UI system instead of _configuration.
- Tweaks the
/intcommand's prompt text to remind user the title of the designated Inbox note (or today's daily note). (Thanks to @dwertheimer for the suggestion.) - changed back to using long command names
- (under the hood) updated settings ready for new settings UI
Fixed
- Flow Error in the last part of `quickCapture.js
- For some date locales, /int and /qaj were adding to tomorrow's note, not today's (thanks to @colingold for the report)
[0.7.0..0.7.2] - 2021-10-05
Added
- this feature requested by @bcohen44: "with a new _configuration setting
textToAppendToTasks, you can specify text (including hashtags or mentions) that will be appended to all new tasks created using the/intcommand." I've extended this to cover the other relevant commands provided by this plugin.
Fixed
- finally tracked down configuration bug (thanks to tip from @dwertheimer)
- broke ability to write to daily note in trying to fix the configuration bug (thanks to tip from @bcohen44 and @Elessar)
[0.6.0] - 2021-08-29
Added
- this feature requested by @Duclearc: "I want to be able to call the global NotePlan shortcut, and from it (using /qath) add a task to it on the fly to a heading. And if that heading doesn't exist, the plugin should create it." It allows creation of the new header both at the top and bottom of the note.
[0.5.0] - 2021-08-14
Changed
/intnow only looks forinboxTitlein the _configuration settings note. If the setting is missing, or doesn't match a note, then the plugin will try to create it, from default settings if necessary. If the empty string (inboxTitle: "") is given, then use the daily note instead- some code refactoring
[0.4.0..0.4.5] - 2021-07-09
Added
- add
/qajcommand: Quickly add text to the Journal section of today's daily note
Changed
- smarter prepending for
/qptcommand /intnow uses theTemplates/_configurationfile (described above) to get settings for this command, rather than have to change the plugin script file directly
Fixed
- bug fix with empty configurations (thanks to @renehuber)
[0.3.0..0.3.2] - 2021-05-16
Added
- add
/qptcommand: quickly prepend task - add
/qatcommand: quickly append task - add
inbox add taskcommand - add
quickly add a task to note sectioncommand - add
quickly add a text line to note sectioncommand
Changed
- change name of plugin to QuickCapture [EM suggestion]
- change to using short command names [EM suggestions]
📦 Filer
What's changed in 📦 Filer plugin?
Please see the Readme for this plugin for more details, including the available settings.
[1.5.2] - 2025-02-18
- Improvements to the /move completed items to done section command:
- allow customising the "Done" section heading name. This defaults to
Donebut can be set to something else (for exampleCompleted). (for @jose) - add option to skip done subtasks that are indented under open parent tasks, so that these subtasks remain visually grouped with their parent until the parent is complete. (for @jose)
- if there are no lines/blocks to move, then a message is shown to the user, confirming what settings it has used.
- allow customising the "Done" section heading name. This defaults to
- Reorganised the plugin's settings screen.
[1.5.1] - 2025-02-18
- fix "Add date reference?" option so that when moving from a non-today daily (calendar) note the added date now correctly points to the source note's date, not always to today. (Thanks for the report, @vlow)
- added
linkas an option for the "Date reference style" setting.
[1.5.0] - 2025-12-26
- new /move completed items to done section command that extends NP's built-in 'Move Completed to Bottom' menu action. This is a more powerful version of NotePlan's built-in 'Move Completed to Bottom' menu action. It has two settings, which reveal its additional powers:
- Recreate existing section structure in Done section? (default: true)
- Only move completed items when whole section is complete? (default: false)
[1.4.1] - 2025-12-15
- fix /move paragraph... commands when moving to a heading with trailing spaces (thanks, @stacey)
[1.4.0] - 2025-11-25
New
- /add sync'd copy to note now can work on a block of lines. They will go to consecutive lines in the same destination note and section.
Fixed
- trying a different way to fix recent NP API change when using "/move..." and "/add sync..." commands on notes with frontmatter. (Addresses #704)
- "/quick move to today's note" not honouring "Where to add in the note" setting as 'start' (thanks, @anom)
[1.3.3] - 2025-11-07
- fix duplication in /move block (thanks for the tip, @bido_1977)
- improved the heading picker used in some of these commands
[1.3.2] - 2025-09-06
- suppress notes in the special Archive and Template folders from the note chooser in /add sync'd copy to note and /move ... commands (for @chrismetcalf)
- fix for /archive note keeping folder structure command
- fix for /add sync'd copy to note command
[1.3.1] - 2025-08-23
- further fix when trying to work around NP bug when using /move paragraph block on notes with frontmatter.
[1.3.0] - 2025-08-15
Added
- can now access notes from Teamspaces
- improved display of note picker (when running NP 3.18+)
- note picker now includes '+ new note' option for /move paragraphs (for @oldielajolla)
- improved display of heading picker (when running NP 3.18+)
Fixed
- worked around NP bug when using /move paragraph block on notes with frontmatter. (Thanks for report by @Bono2007.)
[1.2.0] - 2025-01-07
- the /add sync'd copy to note command will now work on multiple lines -- and there's a new setting that allows you to set a default heading to sync all lines under. (for @chrismetcalf, closes #610). And fixed regression with it.
- New /quick move ... commands for monthly and quarterly notes, not just daily and weekly notes.
[1.1.6] - 2024-12-31
- the new note from clipboard and new note from selection commands have moved to the NoteHelpers plugin.
- workaround for move ... commands not working properly, which stem from trailing whitespace on Headings in the destination notes. (Thanks to @trmax + @magicnemo for help diagnosing the problem and suggesting a workaround.)
[1.1.5] - 2023-10-20
Changed
- hopefully a fix for "/move paras" sometimes not removing the lines from the original note
[1.1.4] - 2023-09-01
Changed
- hopefully a fix for "/add sync'd copy to note" sometimes failing to add the sync in one of the two notes, because of a race condition. Please give feedback if you still find this happens.
[1.1.3] - 2023-08-29
- fix bug that prevented moving/filing items to a note in the root folder
[1.1.2] - 2023-08-15
Changed
- improved the Heading selector to allow to add at the top of the note (under the title but before the first heading)
- under-the-hood changes to use newer library versions
[1.1.1] - 2023-06-10
Added
- now /new note from clipboard and /new note from selection commands offer option to create a new folder when selecting a folder (suggested by @dwertheimer)
[1.1.0-beta5] - 2023-04-18
Added
- new /archive note keeping folder structure command (suggested by @antony-sklyar)
[1.1.0-beta4] - 2023-04-10
Added
- can now run the copy/move recent notelink commands via x-callback or as template functions
Changed
- turned off feedback dialogs for each note, instead having a single feedback dialog at the end
[1.1.0-beta3] - 2023-04-09
Added
- command to edit settings, even on iOS
- setting "Allow preamble before first heading?" If set, some 'preamble' lines are allowed directly after the title. When filing/moving/inserting items with these commands, this preamble will be left in place, up to and including the first blank line, heading or separator. Otherwise the first heading will be directly after the note's title line (or frontmatter if used).
[1.1.0-beta2] - 2023-03-19
Added
- new setting "Types of lines to file" for the /...note link... commands to choose what sorts of lines to move/copy:
- all lines
- all but incomplete task/checklist items
- only completed task/checklist items
- only non-task/checklist items
- new setting "Where to add in the note" for the /...note link... commands. If the [[note link]] doesn't include a heading, then this controls whether filed lines get inserted at the start or end of the note.
[1.1.0-beta1] - 2023-03-19
Added
- 4 new related commands that move or copy lines in calendar notes that include a
[[note link]]to the project note with that title:- /move note links
- /move note links (recently changed)
- /copy note links
- /copy note links (recently changed)
- There are a number of settings to make it useful for a variety of ways of organising your notes -- please see the README.
- new /filer:update plugin settings command, that allows settings to be changed on iOS/iPadOS (thanks to @dwertheimer for this feature).
[1.0.0-beta3] - 2022-11-28
Changed
- polished the heading picker, particularly for Calendar notes
[1.0.0-beta2] - 2022-10-28
Fixed
- fix where trailing spaces on headings could cause data loss when using /move commands
[1.0.0-beta1] - 2022-08-18
Changed
- existing command /move paragraphs renamed to /move paragraph or selection. This moves this paragraph (or selected paragraphs) to a different note
- added command /move paragraph block moves all paragraphs in the current block to a different note. Use the settings to determine how far before and after the current paragraph the block will extend.
- retired the command alias /file paragraphs, as /move paragraphs is clearer
[0.9.2] - 2022-08-16
Fixed
- was failing to offer the last heading in a note to move/copy lines to
[0.9.1] - 2022-08-15
Added
- where the command is working out which lines to include in the block, it will now show them highlighted while it's asking which note to move them to. This provides a useful way of checking it's going to do what you intend. (Though it's unlikely to be very visible on small screen devices.) (This won't work on versions of NotePlan before v3.6.2.)
- more logging available when needed
[0.9.0] - 2022-08-05
Changed
- Split a setting into two: 'Include lines from start of Section in the Block?' and 'Use a tighter definition of when a Block finishes?' This gives more control over the number of lines that are automatically selected to move. You can still manually select a specific range of lines to move.
- Updated logging framework
[0.8.1] - 2022-06-27
Added
- new /new note from clipboard command (alias nnc) added back in from 0.7.0 beta
- now formats date links using your system's default date formatter
[0.8.0] - 2022-06-25
Added
- 4 new commands, particularly to help keyboard warriors quickly move items to the most frequently-used Daily and Weekly notes. Each moves lines to the current weekly note, using the same selection strategy as /mp. The move happens in the background, leaving you in the flow in your current note.
- /quick move to Today's note (alias /qmtd) -- Note: this is different from the existing 'Move Task To Today ⌘0' shortcut, which actually schedules not moves.
- /quick move to Tomorrow's note (alias /qmtm) -- Note: this is different from the existing 'Move Task To Tomorrow ⌘1' shortcut, which actually schedules not moves.
- /quick move to Weekly note (alias /qmw) -- Note: weekly notes available from NotePlan v3.6
- /quick move to Next Weekly note (alias /qmnw) -- Note: weekly notes available from NotePlan v3.6
- They could be mapped to shortcut keys to make using them even faster.
Changed
- /nns is now an alias to the longer name /new note from selection
[0.7.0] - 2022-06-24
Added
- new /add sync'd copy to note command (alias /asc) that adds a 'line ID' to current line and copy it to a section in the specified other note. (Note: this requires the new "Synced Lines" Lab feature in v3.5.2 to be turned on.)
- new command /move blocks. This uses the new 'Extended Block` definition (from 0.6.0) to move a contiguous 'block' of lines. The existing /move paragraphs command remains, but now doesn't use the extended definition. (I've sp...
📝 Template Forms
dwertheimer.Forms Changelog
About dwertheimer.Forms Plugin
See Plugin README for details on available commands and use case.
[1.0.28] 2026-02-08 @dwertheimer
Fixed
- Infinite loop on load with preloaded content: Forms with
preloadChooserData: truecould cause an infinite render loop. FormView was passing new object/array references every render fordefaultValuesand preloaded* props (preloadedTeamspaces,preloadedMentions,preloadedHashtags,preloadedEvents,preloadedFrontmatterValues), which retriggered DynamicDialog's "add missing keys" useEffect repeatedly. These props are now memoized with content-based dependencies so references only change when the actual data changes.
Edited in this release
dwertheimer.Forms/src/components/FormView.jsx— Added useMemo for defaultValuesStable and preloaded*Stable props passed to DynamicDialog.
[1.0.27] 2026-02-08 @dwertheimer
Added
- tagChooser and mentionChooser now support a
valueSeparatoroption:comma(value1,value2),commaSpace(value1, value2 — default for readability), orspace(value1 value2). Form Builder includes a Value Separator dropdown; type definitions, renderer, test examples, and docs updated.
[1.0.26] 2026-02-08 @dwertheimer
Added
- Frontmatter Key Chooser value separator: When not returning as array, the Frontmatter Key Chooser supports a
valueSeparatoroption:comma(value1,value2),commaSpace(value1, value2 — default for readability), orspace(value1 value2). Form Builder includes a Value Separator dropdown; type definitions, renderer, test examples, and docs updated.
Fixed
- FolderChooser displays all folders: Folder chooser (e.g. in form fields) now shows all folders instead of the default 25. Uses
maxResults: 0so the dropdown shows the full list with scrolling. - SpaceChooser WebView error (isMounted): Fixed
ReferenceError: Can't find variable: isMountedin SpaceChooser. TheuseEffectreferencedisMountedwhich was only defined insideloadSpaces; addedisMountedRefand proper mount tracking (matches FolderChooser, TagChooser, MentionChooser pattern). - SpaceChooser Private option displays blank: Selecting "Private" (id: empty string) in the space chooser now correctly shows "Private" in the text field instead of blank. SearchableChooser previously skipped the display lookup when
displayValuewas falsy (empty string); now allows lookup whenvalueis set (including''for empty-id items).
Edited in this release
helpers/react/DynamicDialog/FolderChooser.jsx— SetmaxResults: 0in SearchableChooser config so all folders are shown (unlimited, scroll).helpers/react/DynamicDialog/SpaceChooser.jsx— AddedisMountedRefand mount-tracking effect; replacedisMountedreferences withisMountedRef.currentinloadSpacesand load effect.helpers/react/DynamicDialog/SearchableChooser.jsx— Allow display-value lookup whenvalueis''(not just truthy); condition changed fromdisplayValue && ...tovalue !== undefined && value !== null && ....helpers/react/DynamicDialog/ContainedMultiSelectChooser.jsx— AddedvalueSeparatorprop ('comma'|'commaSpace'|'space') and join/parse logic for string output.helpers/react/DynamicDialog/FrontmatterKeyChooser.jsx— AddedvalueSeparatorprop, default'commaSpace'; pass-through to ContainedMultiSelectChooser.helpers/react/DynamicDialog/DynamicDialog.jsx— AddedvalueSeparatorto TSettingItem.helpers/react/DynamicDialog/dialogElementRenderer.js— Extract and passvalueSeparatorfor frontmatter-key-chooser.dwertheimer.Forms/src/components/FieldEditor.jsx— Value Separator dropdown for frontmatter-key-chooser (comma / comma+space / space).dwertheimer.Forms/src/FormFieldRenderTest.js— valueSeparator examples (commaSpace, space, comma).helpers/react/DynamicDialog/CREATING_NEW_DYNAMICDIALOG_FIELD_TYPES.md— Documented valueSeparator; Form Item Editor and test examples.dwertheimer.Forms/README.md— frontmatter-key-chooser JSON example with valueSeparator.
[1.0.25] 2026-02-06 @dwertheimer
Merged
- Merge of fix/conditional-values-bgcolor-and-button-group-default into main. This release combines all changes from the fix branch (conditional-values, button-group default, Form Browser overlay, simplified submit response, frontmatter allowlist) with main's 1.0.24 fixes (Processing Template dropdown, GenericDatePicker Safari, formProcessorTitle eliminated). See 1.0.21–1.0.24 below for details.
[1.0.24] 2026-02-05 @dwertheimer
Fixed
- Processing Template dropdown selection: Selecting a new Processing Template from the dropdown now correctly shows the newly selected item instead of the previous value. Root cause: SearchableChooser only matched note objects by filename; NoteChooser passes the note title as value, so the match failed and the display reverted to the old value.
- GenericDatePicker (Safari/WebKit):
- Uncontrolled input: Switched to uncontrolled
<input type="date">(defaultValue only, no value=) so the native control owns segment state; prevents React from overwriting with empty and fixes month/day resetting and year showing 0001/0002 while typing. - No clear on empty onChange: Safari often fires change with an empty value when focusing the year segment or mid-typing; we no longer clear or call onSelectDate(cleared) in onChange. Clearing only happens on blur (field left empty) or Clear button.
- Partial-year guard: Only accept dates with year 1000–9999 in change/blur; ignore placeholder years (0002, 0020, 0202) so we don’t overwrite the field or steal focus when typing the year digit-by-digit.
- Sync effect: When
startingSelectedDateis falsy or invalid, the effect no longer clears the input (user may be mid-typing). We only push from parent when the prop has a valid date; sync is done by writing toinputRef.current.value. - Clear button: When clearing, we set
inputRef.current.value = ''so the DOM stays in sync. - Blur: On blur with empty value we clear and notify parent; on blur with valid full date (year 1000–9999) we commit and call onSelectDate.
- Uncontrolled input: Switched to uncontrolled
Documentation
- GenericDatePicker Safari limitation: Documented that in Safari/WebKit, typing in the native date input with a pause in a segment (e.g. year) can cause the next keystroke to replace rather than append (e.g. "0" then "2" may show "2" instead of "02"). This is browser behavior. Workaround: type the segment without pausing, or use the calendar picker. A text-field alternative (parse on blur) is noted as a possible future improvement in the component header.
[1.0.23] 2026-01-27 @dwertheimer
Changed
- Simplified form submission response handling:
handleSubmitButtonClickand related functions now return only the necessary information (success,formSubmissionError,aiAnalysisResult) instead of the fullreactWindowDataobject. This simplifies the code and avoids unnecessary data passing. The window only needs to know what happened, not all the window data.
Fixed
- Form Browser "Submitting..." overlay: The overlay now appears reliably when submitting a form from the Form Browser. Uses
flushSyncso React commits the overlay to the DOM before the async request runs (avoids WebView/rAF timing issues). Added a minimum display time of 400 ms so the overlay is always visible even when the request completes quickly.
Edited in this release
dwertheimer.Forms/src/formSubmission.js— SimplifiedhandleSubmitButtonClickand processing functions to return{ success: boolean, formSubmissionError?: string, aiAnalysisResult?: string }instead of fullPassedData. Removed unnecessarywithPluginDataUpdatesusage.dwertheimer.Forms/src/formSubmitHandlers.js— Updated to handle simplified return type fromhandleSubmitButtonClick.dwertheimer.Forms/src/formBrowserHandlers.js— Updated to handle simplified return type fromhandleSubmitButtonClick.dwertheimer.Forms/src/components/FormBrowserView.jsx— Submitting overlay: useflushSyncto commit overlay before request;hideOverlay()with 400 ms minimum display time;overlayShownAtReffor timing.
[1.0.22] 2026-01-27 @dwertheimer
Changed
- ValueInsertButtons use shared constants: The +Color, +Icon, +Pattern, and +IconStyle insert buttons (ValueInsertButtons) now import
PATTERNS,ICON_STYLES, andFA_ICON_NAMESfrom@helpers/react/DynamicDialog/valueInsertData, so they use the same options as the color/icon/pattern/icon-style choosers in the Form Builder.
Edited in this release
dwertheimer.Forms/src/components/ValueInsertButtons.jsx— Replaced inline PATTERNS, ICON_STYLES, FA_ICON_NAMES with imports from valueInsertData.
[1.0.21] 2026-01-27 / 2026-02-03 @dwertheimer
Fixed (from fix branch)
- Conditional-values excluded from form until submit: Fields with type
conditional-values(e.g.bgColorderived from a button-group) are no longer added to form state, autosave, or the submit payload until the backend runsresolveConditionalValuesFieldsinprepareFormValuesForRendering. Previously they appeared with empty values in the form and autosave. - Button-group default applied on open and submit: When a form field has type
button-groupand an option withisDefault: true, that option's value is now used as the initial value when the form opens and when building the submit payload, so the source field (e.g.theType) is set correctly and conditional-values (e.g.bgColor) resolve as intended.
Changed (from main)
- formProcessorTitle eliminated: Deprecated
formProcessorTitlein favor ofreceivingTemplateTitleas the single canonical field. The two were redundant and could get out of sync. Going forward onlyreceivingTemplateTitleis used/written.- **B...
📙 Note Helpers
What's changed in 📙 Note Helpers plugin?
For more details see the plugin's README.
[1.3.2] - 2026-02-05
- add more detail to /log Editor Note, to help flush out a long-standing API bug
[1.3.1] - 2026-01-25
- fix to list inconsistent note filenames command. (Thanks, @Heathy65.) Closes #732
- improved display of inconsistent note names, and added button to kick off the renaming.
[1.3.0] - 2025-12-20
- new duplicate note command: duplicates the currently-open note, and unlike the built-in command, it allows the user to specify a new title and folder for it.
[1.2.5] - 2025-11-10
- fix regression in folder chooser (thanks, @aleemshaun)
[1.2.4] - 2025-11-08
- Improvements in heading picker in jump to heading and jump to note's heading commands
[1.2.3] - 2025-10-31
- Fix to moveNote command for iOS/iPadOS
[1.2.2] - 2025-09-22
- Fix regression in folder picker
[1.2.1] - 2025-09-19
- improve and fix folder picker in various commands (including updating the sort order to match the app -- thanks for pointing this out, @tastapod)
- allow delete note command to run on Teamspace notes (if running v3.18.2 or above).
- stop inconsistent file name commands from running on Teamspace notes, which are stored in a SQL DB instead of having filenames
[1.2.0] - 2025-08-23
- improved display of lists of notes and headings in jump to heading and jump to note's heading, and include Teamspace notes
- various improvements/fixes to the inconsistent file name commands. Resolves issues #640, #642, #643 raised by @tastapod.
- added notes to indicate where commands can't work on Teamspace notes, because of the different way they're architected.
[1.1.1] - 2025-04-22
- the log Editor Note commands now handle Teamspace notes correctly.
- fix to opening new notes in new note commands.
[1.1.0] - 2025-02-19
- new list published notes command, that generates a list in the new 'Publlished Notes' note of all notes that have been published to published to the internet through NotePlan.
[1.0.0] - 2024-12-31
New
- the new note command has been revived (alias nn). It creates a new (regular, not calendar) note with a title you give, and in a folder you can select. If the "Default Text to add to frontmatter" setting isn't blank, then the note will be created using that frontmatter.
Note: this version was promoted to be a Core Plugin from NotePlan 3.16.1.
Important Changes
- when move note shows the list of folders, the special Templates and Archive folders are moved to the end of the list. (Plus any other special ones that start with '@').
- the new note from clipboard and new note from selection commands have moved from Filer plugin to NoteHelpers.
[0.20.3] - 2024-12-25 (unpublished)
- new logEditorNoteDetailed command (which can easily triggered from a callback) that also logs line type and rawContents
[0.20.2] - 2024-12-15
- the log note details command now includes backlink-ed notes and paragraphs
[0.20.1] - 2024-10-22
- new log note details command which prints note details to the log (for debugging purposes)
[0.20.0] - 2024-08-16
Added
- new delete note command, that makes easier what the current NotePlan UI makes difficult.
- new find unlinked notes command which finds and creates links to existing notes in the current note (by @aaronpoweruser).

Fixed
- fixed rename note filename when note has frontmatter (thanks for the report, @ariccb)
[0.19.2] - 2024-04-27
- add trigger to note command is now more resilient to unusual frontmatter, and shouldn't duplicate an existing trigger when run from template
[0.19.1] - 2024-02-23
- add trigger to note command can now be run from x-callback with parameter of the trigger string to add. This means it can be run from Templates with a command tag.
- Added a migration message about 'open note' commands.
[0.19.0] - 2024-01-09
- moved the "open note in ..." commands to the new "Window Tools" plugin
- updated the display of the "index folders" command to use heading levels H2 to H4 depending on how deep the sub-folder is. The placeholder in the title
{{folder}}now just uses the last part of the folder name, or new placeholder{{full_folder_path}}which will use the folder's full path. (Requested by @dutchnesss). - removed 'Show month/quarter/year' commands as they are now in the main NP menus.
- fix to '/rename inconsistent filename' command (reported by @Anton-Sklyar)
- fix to '/make index' command ignoring parameter 'displayOrder' if given.
[0.18.2] - 2023-09-18
- fix edge case with /add trigger command.
[0.18.1] - 2023-08-15
- New commands by @leo:
- list inconsistent note filenames lists the names of notes whose filenames are inconsistent with their titles
- rename filename to title renames the current filename to the title of the note
- when the command bar shows list of notes to choose, it now includes Template files again.
[0.18.0] - 2023-08-13
- new command Show This Month (alias /stm)
- new command Show This Quarter (alias /stq)
- new command Show This Year (alias /sty) (requested by @danieldanilov)
- new command update all indexes that updates all the existing folder index notes
- added more decoration to most-used calendar dates, when showing them in lists of notes (e.g. in "jump to note's heading" and "open note new window").
[0.17.3] - 2023-07-01
- added new setting 'Title to use for index notes' for "/index folders" command (requested by @dwertheimer)
- layout improvements and further bug fix in "/index folders" (spotted by @dwertheimer)
[0.17.2] - 2023-06-30
Fixed
- fix bug in index folders command (spotted by @dwertheimer)
[0.17.0] - 2023-06-12
Added
- new open url from a note command that asks user for a note, and then presents a list of URLs. The selected one is then opened in your default browser. (for @John1 with help from @dwertheimer)
- now move note and index folders commands offer option to create a new folder when selecting a folder (suggested by @dwertheimer)
- new reset caches command that just runs the command of that name in the NotePlan Help menu (for @clayrussell)
[0.16.1] - 2023-03-22
Added
- added NoteHelpers: update settings command for iOS users
- added setting for logging level
Changed
- '/add trigger to note' command now is smarter in the way it works
- restores "Default Text to add to frontmatter" setting for '/convert note to frontmatter' command
[0.16.0] - 2023-03-07
Added
- new add trigger to note command that makes it easy to add a trigger to a particular note. It lists the functions from all plugins that it can work out are written for triggers, but also allows any function to be picked.
- index folders command now:
- has an option to sort output by title (alphabetical), last update date, or date the note was created (though note that I think that the underlying created date data is very unreliable).
- has an option to add one of several date display settings on the end of every note that's listed
- has a Refresh button at the top of each results set
- can be run from x-callback-url calls (see README).
Fixed
- convert to frontmatter command wasn't always working for calendar notes
[0.15.0] - 2022-07-30
Added
- new command rename note filename renames the currently open note. Note: this changes the underlying filename not the visible title. (It only works with NotePlan v3.6.1 and later.)
- new command enable heading links converts local links to headings (they start with the
#character) tox-callback-urllinks that use the Noteplan URL-scheme to run thejumpToHeadingfunction mentioned below. So while Noteplan doesn't support the standard way of linking to headings within notes, this plugin command now enables that feature if you're willing to change the destination of your links. (by @nmn)
Updated
- The jump to heading command (which is used for jumping to headings within the same note) can now be used via
x-callback-urls by passing the text of the heading in as an arg0.
[0.14.1] - 2022-06-12 (by @nmn)
Added
- new command add number of days to dates that looks for bullets in your current open note that end with
[[YYYY-MM-DD]]:and adds the number of days to or since that date.
[0.13.0] - 2022-06-02
Added
- new command /open current note new split opens the current note in a new split window to the side in the main window
[0.12.0..0.12.1] - 2022-06-02
Added
- command /convert to frontmatter which convert the current note to use frontmatter syntax, including optional default text that can be added in the Plugin's settings.
Changed
- when using /open note new window or /open note new split it now places the cursor at what it judges to be the start of the main content of the note (i.e. after title or frontmatter) or project-related metadata.
[0.11.0..0.11.1] - 2022-05-10
Added
- added
/open note splitcommand to open a user-selected note in a new split window (available from NotePlan 3.4)
Changed
- updated logging to newer framework
- switched to using longer descriptive command names. The older short names will still work as aliases
- the
/indexcommand now adds time since note was last updated in the output - when jumping to a heading, those in the archive part of the note (Done... or Cancelled...) now aren't offered
[0.10.0..0.10.6] - 2021-11-17
Added
- added /onw command to open a user-selected note in a new window.
- added /index command to make/u...
📝 Template Forms
dwertheimer.Forms Changelog
About dwertheimer.Forms Plugin
See Plugin README for details on available commands and use case.
[1.0.27] 2026-02-08 @dwertheimer
Added
- tagChooser and mentionChooser now support a
valueSeparatoroption:comma(value1,value2),commaSpace(value1, value2 — default for readability), orspace(value1 value2). Form Builder includes a Value Separator dropdown; type definitions, renderer, test examples, and docs updated.
[1.0.26] 2026-02-08 @dwertheimer
Added
- Frontmatter Key Chooser value separator: When not returning as array, the Frontmatter Key Chooser supports a
valueSeparatoroption:comma(value1,value2),commaSpace(value1, value2 — default for readability), orspace(value1 value2). Form Builder includes a Value Separator dropdown; type definitions, renderer, test examples, and docs updated.
Fixed
- FolderChooser displays all folders: Folder chooser (e.g. in form fields) now shows all folders instead of the default 25. Uses
maxResults: 0so the dropdown shows the full list with scrolling. - SpaceChooser WebView error (isMounted): Fixed
ReferenceError: Can't find variable: isMountedin SpaceChooser. TheuseEffectreferencedisMountedwhich was only defined insideloadSpaces; addedisMountedRefand proper mount tracking (matches FolderChooser, TagChooser, MentionChooser pattern). - SpaceChooser Private option displays blank: Selecting "Private" (id: empty string) in the space chooser now correctly shows "Private" in the text field instead of blank. SearchableChooser previously skipped the display lookup when
displayValuewas falsy (empty string); now allows lookup whenvalueis set (including''for empty-id items).
Edited in this release
helpers/react/DynamicDialog/FolderChooser.jsx— SetmaxResults: 0in SearchableChooser config so all folders are shown (unlimited, scroll).helpers/react/DynamicDialog/SpaceChooser.jsx— AddedisMountedRefand mount-tracking effect; replacedisMountedreferences withisMountedRef.currentinloadSpacesand load effect.helpers/react/DynamicDialog/SearchableChooser.jsx— Allow display-value lookup whenvalueis''(not just truthy); condition changed fromdisplayValue && ...tovalue !== undefined && value !== null && ....helpers/react/DynamicDialog/ContainedMultiSelectChooser.jsx— AddedvalueSeparatorprop ('comma'|'commaSpace'|'space') and join/parse logic for string output.helpers/react/DynamicDialog/FrontmatterKeyChooser.jsx— AddedvalueSeparatorprop, default'commaSpace'; pass-through to ContainedMultiSelectChooser.helpers/react/DynamicDialog/DynamicDialog.jsx— AddedvalueSeparatorto TSettingItem.helpers/react/DynamicDialog/dialogElementRenderer.js— Extract and passvalueSeparatorfor frontmatter-key-chooser.dwertheimer.Forms/src/components/FieldEditor.jsx— Value Separator dropdown for frontmatter-key-chooser (comma / comma+space / space).dwertheimer.Forms/src/FormFieldRenderTest.js— valueSeparator examples (commaSpace, space, comma).helpers/react/DynamicDialog/CREATING_NEW_DYNAMICDIALOG_FIELD_TYPES.md— Documented valueSeparator; Form Item Editor and test examples.dwertheimer.Forms/README.md— frontmatter-key-chooser JSON example with valueSeparator.
[1.0.25] 2026-02-06 @dwertheimer
Merged
- Merge of fix/conditional-values-bgcolor-and-button-group-default into main. This release combines all changes from the fix branch (conditional-values, button-group default, Form Browser overlay, simplified submit response, frontmatter allowlist) with main's 1.0.24 fixes (Processing Template dropdown, GenericDatePicker Safari, formProcessorTitle eliminated). See 1.0.21–1.0.24 below for details.
[1.0.24] 2026-02-05 @dwertheimer
Fixed
- Processing Template dropdown selection: Selecting a new Processing Template from the dropdown now correctly shows the newly selected item instead of the previous value. Root cause: SearchableChooser only matched note objects by filename; NoteChooser passes the note title as value, so the match failed and the display reverted to the old value.
- GenericDatePicker (Safari/WebKit):
- Uncontrolled input: Switched to uncontrolled
<input type="date">(defaultValue only, no value=) so the native control owns segment state; prevents React from overwriting with empty and fixes month/day resetting and year showing 0001/0002 while typing. - No clear on empty onChange: Safari often fires change with an empty value when focusing the year segment or mid-typing; we no longer clear or call onSelectDate(cleared) in onChange. Clearing only happens on blur (field left empty) or Clear button.
- Partial-year guard: Only accept dates with year 1000–9999 in change/blur; ignore placeholder years (0002, 0020, 0202) so we don’t overwrite the field or steal focus when typing the year digit-by-digit.
- Sync effect: When
startingSelectedDateis falsy or invalid, the effect no longer clears the input (user may be mid-typing). We only push from parent when the prop has a valid date; sync is done by writing toinputRef.current.value. - Clear button: When clearing, we set
inputRef.current.value = ''so the DOM stays in sync. - Blur: On blur with empty value we clear and notify parent; on blur with valid full date (year 1000–9999) we commit and call onSelectDate.
- Uncontrolled input: Switched to uncontrolled
Documentation
- GenericDatePicker Safari limitation: Documented that in Safari/WebKit, typing in the native date input with a pause in a segment (e.g. year) can cause the next keystroke to replace rather than append (e.g. "0" then "2" may show "2" instead of "02"). This is browser behavior. Workaround: type the segment without pausing, or use the calendar picker. A text-field alternative (parse on blur) is noted as a possible future improvement in the component header.
[1.0.23] 2026-01-27 @dwertheimer
Changed
- Simplified form submission response handling:
handleSubmitButtonClickand related functions now return only the necessary information (success,formSubmissionError,aiAnalysisResult) instead of the fullreactWindowDataobject. This simplifies the code and avoids unnecessary data passing. The window only needs to know what happened, not all the window data.
Fixed
- Form Browser "Submitting..." overlay: The overlay now appears reliably when submitting a form from the Form Browser. Uses
flushSyncso React commits the overlay to the DOM before the async request runs (avoids WebView/rAF timing issues). Added a minimum display time of 400 ms so the overlay is always visible even when the request completes quickly.
Edited in this release
dwertheimer.Forms/src/formSubmission.js— SimplifiedhandleSubmitButtonClickand processing functions to return{ success: boolean, formSubmissionError?: string, aiAnalysisResult?: string }instead of fullPassedData. Removed unnecessarywithPluginDataUpdatesusage.dwertheimer.Forms/src/formSubmitHandlers.js— Updated to handle simplified return type fromhandleSubmitButtonClick.dwertheimer.Forms/src/formBrowserHandlers.js— Updated to handle simplified return type fromhandleSubmitButtonClick.dwertheimer.Forms/src/components/FormBrowserView.jsx— Submitting overlay: useflushSyncto commit overlay before request;hideOverlay()with 400 ms minimum display time;overlayShownAtReffor timing.
[1.0.22] 2026-01-27 @dwertheimer
Changed
- ValueInsertButtons use shared constants: The +Color, +Icon, +Pattern, and +IconStyle insert buttons (ValueInsertButtons) now import
PATTERNS,ICON_STYLES, andFA_ICON_NAMESfrom@helpers/react/DynamicDialog/valueInsertData, so they use the same options as the color/icon/pattern/icon-style choosers in the Form Builder.
Edited in this release
dwertheimer.Forms/src/components/ValueInsertButtons.jsx— Replaced inline PATTERNS, ICON_STYLES, FA_ICON_NAMES with imports from valueInsertData.
[1.0.21] 2026-01-27 / 2026-02-03 @dwertheimer
Fixed (from fix branch)
- Conditional-values excluded from form until submit: Fields with type
conditional-values(e.g.bgColorderived from a button-group) are no longer added to form state, autosave, or the submit payload until the backend runsresolveConditionalValuesFieldsinprepareFormValuesForRendering. Previously they appeared with empty values in the form and autosave. - Button-group default applied on open and submit: When a form field has type
button-groupand an option withisDefault: true, that option's value is now used as the initial value when the form opens and when building the submit payload, so the source field (e.g.theType) is set correctly and conditional-values (e.g.bgColor) resolve as intended.
Changed (from main)
- formProcessorTitle eliminated: Deprecated
formProcessorTitlein favor ofreceivingTemplateTitleas the single canonical field. The two were redundant and could get out of sync. Going forward onlyreceivingTemplateTitleis used/written.- Backward compatible: Forms with only
formProcessorTitle(legacy) are still read correctly everywhere. On save, the value is migrated toreceivingTemplateTitleandformProcessorTitleis removed from the note. - TemplateRunner and form submission have always used
receivingTemplateTitle;formProcessorTitlewas only used in the Form Builder UI and could cause duplication.
- Backward compatible: Forms with only
Edited in this release
dwertheimer.Forms/src/formSubmission.js—ensureAllFormFieldsExistandhandleSubmitButtonClickskip conditional-values when adding missing fields.dwertheimer.Forms/src/formBrowserHandlers.js—handleSubmitFormskips conditional-values when adding missing fields.helpers/react/DynamicDialog/DynamicDialog.jsx— `getInitialIte...
📝 Template Forms
dwertheimer.Forms Changelog
About dwertheimer.Forms Plugin
See Plugin README for details on available commands and use case.
[1.0.26] 2026-02-08 @dwertheimer
Added
- Frontmatter Key Chooser value separator: When not returning as array, the Frontmatter Key Chooser supports a
valueSeparatoroption:comma(value1,value2),commaSpace(value1, value2 — default for readability), orspace(value1 value2). Form Builder includes a Value Separator dropdown; type definitions, renderer, test examples, and docs updated.
Fixed
- FolderChooser displays all folders: Folder chooser (e.g. in form fields) now shows all folders instead of the default 25. Uses
maxResults: 0so the dropdown shows the full list with scrolling. - SpaceChooser WebView error (isMounted): Fixed
ReferenceError: Can't find variable: isMountedin SpaceChooser. TheuseEffectreferencedisMountedwhich was only defined insideloadSpaces; addedisMountedRefand proper mount tracking (matches FolderChooser, TagChooser, MentionChooser pattern). - SpaceChooser Private option displays blank: Selecting "Private" (id: empty string) in the space chooser now correctly shows "Private" in the text field instead of blank. SearchableChooser previously skipped the display lookup when
displayValuewas falsy (empty string); now allows lookup whenvalueis set (including''for empty-id items).
Edited in this release
helpers/react/DynamicDialog/FolderChooser.jsx— SetmaxResults: 0in SearchableChooser config so all folders are shown (unlimited, scroll).helpers/react/DynamicDialog/SpaceChooser.jsx— AddedisMountedRefand mount-tracking effect; replacedisMountedreferences withisMountedRef.currentinloadSpacesand load effect.helpers/react/DynamicDialog/SearchableChooser.jsx— Allow display-value lookup whenvalueis''(not just truthy); condition changed fromdisplayValue && ...tovalue !== undefined && value !== null && ....helpers/react/DynamicDialog/ContainedMultiSelectChooser.jsx— AddedvalueSeparatorprop ('comma'|'commaSpace'|'space') and join/parse logic for string output.helpers/react/DynamicDialog/FrontmatterKeyChooser.jsx— AddedvalueSeparatorprop, default'commaSpace'; pass-through to ContainedMultiSelectChooser.helpers/react/DynamicDialog/DynamicDialog.jsx— AddedvalueSeparatorto TSettingItem.helpers/react/DynamicDialog/dialogElementRenderer.js— Extract and passvalueSeparatorfor frontmatter-key-chooser.dwertheimer.Forms/src/components/FieldEditor.jsx— Value Separator dropdown for frontmatter-key-chooser (comma / comma+space / space).dwertheimer.Forms/src/FormFieldRenderTest.js— valueSeparator examples (commaSpace, space, comma).helpers/react/DynamicDialog/CREATING_NEW_DYNAMICDIALOG_FIELD_TYPES.md— Documented valueSeparator; Form Item Editor and test examples.dwertheimer.Forms/README.md— frontmatter-key-chooser JSON example with valueSeparator.
[1.0.25] 2026-02-06 @dwertheimer
Merged
- Merge of fix/conditional-values-bgcolor-and-button-group-default into main. This release combines all changes from the fix branch (conditional-values, button-group default, Form Browser overlay, simplified submit response, frontmatter allowlist) with main's 1.0.24 fixes (Processing Template dropdown, GenericDatePicker Safari, formProcessorTitle eliminated). See 1.0.21–1.0.24 below for details.
[1.0.24] 2026-02-05 @dwertheimer
Fixed
- Processing Template dropdown selection: Selecting a new Processing Template from the dropdown now correctly shows the newly selected item instead of the previous value. Root cause: SearchableChooser only matched note objects by filename; NoteChooser passes the note title as value, so the match failed and the display reverted to the old value.
- GenericDatePicker (Safari/WebKit):
- Uncontrolled input: Switched to uncontrolled
<input type="date">(defaultValue only, no value=) so the native control owns segment state; prevents React from overwriting with empty and fixes month/day resetting and year showing 0001/0002 while typing. - No clear on empty onChange: Safari often fires change with an empty value when focusing the year segment or mid-typing; we no longer clear or call onSelectDate(cleared) in onChange. Clearing only happens on blur (field left empty) or Clear button.
- Partial-year guard: Only accept dates with year 1000–9999 in change/blur; ignore placeholder years (0002, 0020, 0202) so we don’t overwrite the field or steal focus when typing the year digit-by-digit.
- Sync effect: When
startingSelectedDateis falsy or invalid, the effect no longer clears the input (user may be mid-typing). We only push from parent when the prop has a valid date; sync is done by writing toinputRef.current.value. - Clear button: When clearing, we set
inputRef.current.value = ''so the DOM stays in sync. - Blur: On blur with empty value we clear and notify parent; on blur with valid full date (year 1000–9999) we commit and call onSelectDate.
- Uncontrolled input: Switched to uncontrolled
Documentation
- GenericDatePicker Safari limitation: Documented that in Safari/WebKit, typing in the native date input with a pause in a segment (e.g. year) can cause the next keystroke to replace rather than append (e.g. "0" then "2" may show "2" instead of "02"). This is browser behavior. Workaround: type the segment without pausing, or use the calendar picker. A text-field alternative (parse on blur) is noted as a possible future improvement in the component header.
[1.0.23] 2026-01-27 @dwertheimer
Changed
- Simplified form submission response handling:
handleSubmitButtonClickand related functions now return only the necessary information (success,formSubmissionError,aiAnalysisResult) instead of the fullreactWindowDataobject. This simplifies the code and avoids unnecessary data passing. The window only needs to know what happened, not all the window data.
Fixed
- Form Browser "Submitting..." overlay: The overlay now appears reliably when submitting a form from the Form Browser. Uses
flushSyncso React commits the overlay to the DOM before the async request runs (avoids WebView/rAF timing issues). Added a minimum display time of 400 ms so the overlay is always visible even when the request completes quickly.
Edited in this release
dwertheimer.Forms/src/formSubmission.js— SimplifiedhandleSubmitButtonClickand processing functions to return{ success: boolean, formSubmissionError?: string, aiAnalysisResult?: string }instead of fullPassedData. Removed unnecessarywithPluginDataUpdatesusage.dwertheimer.Forms/src/formSubmitHandlers.js— Updated to handle simplified return type fromhandleSubmitButtonClick.dwertheimer.Forms/src/formBrowserHandlers.js— Updated to handle simplified return type fromhandleSubmitButtonClick.dwertheimer.Forms/src/components/FormBrowserView.jsx— Submitting overlay: useflushSyncto commit overlay before request;hideOverlay()with 400 ms minimum display time;overlayShownAtReffor timing.
[1.0.22] 2026-01-27 @dwertheimer
Changed
- ValueInsertButtons use shared constants: The +Color, +Icon, +Pattern, and +IconStyle insert buttons (ValueInsertButtons) now import
PATTERNS,ICON_STYLES, andFA_ICON_NAMESfrom@helpers/react/DynamicDialog/valueInsertData, so they use the same options as the color/icon/pattern/icon-style choosers in the Form Builder.
Edited in this release
dwertheimer.Forms/src/components/ValueInsertButtons.jsx— Replaced inline PATTERNS, ICON_STYLES, FA_ICON_NAMES with imports from valueInsertData.
[1.0.21] 2026-01-27 / 2026-02-03 @dwertheimer
Fixed (from fix branch)
- Conditional-values excluded from form until submit: Fields with type
conditional-values(e.g.bgColorderived from a button-group) are no longer added to form state, autosave, or the submit payload until the backend runsresolveConditionalValuesFieldsinprepareFormValuesForRendering. Previously they appeared with empty values in the form and autosave. - Button-group default applied on open and submit: When a form field has type
button-groupand an option withisDefault: true, that option's value is now used as the initial value when the form opens and when building the submit payload, so the source field (e.g.theType) is set correctly and conditional-values (e.g.bgColor) resolve as intended.
Changed (from main)
- formProcessorTitle eliminated: Deprecated
formProcessorTitlein favor ofreceivingTemplateTitleas the single canonical field. The two were redundant and could get out of sync. Going forward onlyreceivingTemplateTitleis used/written.- Backward compatible: Forms with only
formProcessorTitle(legacy) are still read correctly everywhere. On save, the value is migrated toreceivingTemplateTitleandformProcessorTitleis removed from the note. - TemplateRunner and form submission have always used
receivingTemplateTitle;formProcessorTitlewas only used in the Form Builder UI and could cause duplication.
- Backward compatible: Forms with only
Edited in this release
dwertheimer.Forms/src/formSubmission.js—ensureAllFormFieldsExistandhandleSubmitButtonClickskip conditional-values when adding missing fields.dwertheimer.Forms/src/formBrowserHandlers.js—handleSubmitFormskips conditional-values when adding missing fields.helpers/react/DynamicDialog/DynamicDialog.jsx—getInitialItemStateObject, "ensure all fields" effect, andhandleSaveskip conditional-values and apply button-groupisDefaultwhen initializing or filling missing keys.
[1.0.20] 2026-01-26 @dwertheimer
Fixed
- DynamicDialog Switch compact mode: Switch type now renders correctly in compact mode. Label is on the left and the switch on...
📝 Template Forms
dwertheimer.Forms Changelog
About dwertheimer.Forms Plugin
See Plugin README for details on available commands and use case.
[1.0.25] 2026-02-06 @dwertheimer
Merged
- Merge of fix/conditional-values-bgcolor-and-button-group-default into main. This release combines all changes from the fix branch (conditional-values, button-group default, Form Browser overlay, simplified submit response, frontmatter allowlist) with main's 1.0.24 fixes (Processing Template dropdown, GenericDatePicker Safari, formProcessorTitle eliminated). See 1.0.21–1.0.24 below for details.
[1.0.24] 2026-02-05 @dwertheimer
Fixed
- Processing Template dropdown selection: Selecting a new Processing Template from the dropdown now correctly shows the newly selected item instead of the previous value. Root cause: SearchableChooser only matched note objects by filename; NoteChooser passes the note title as value, so the match failed and the display reverted to the old value.
- GenericDatePicker (Safari/WebKit):
- Uncontrolled input: Switched to uncontrolled
<input type="date">(defaultValue only, no value=) so the native control owns segment state; prevents React from overwriting with empty and fixes month/day resetting and year showing 0001/0002 while typing. - No clear on empty onChange: Safari often fires change with an empty value when focusing the year segment or mid-typing; we no longer clear or call onSelectDate(cleared) in onChange. Clearing only happens on blur (field left empty) or Clear button.
- Partial-year guard: Only accept dates with year 1000–9999 in change/blur; ignore placeholder years (0002, 0020, 0202) so we don’t overwrite the field or steal focus when typing the year digit-by-digit.
- Sync effect: When
startingSelectedDateis falsy or invalid, the effect no longer clears the input (user may be mid-typing). We only push from parent when the prop has a valid date; sync is done by writing toinputRef.current.value. - Clear button: When clearing, we set
inputRef.current.value = ''so the DOM stays in sync. - Blur: On blur with empty value we clear and notify parent; on blur with valid full date (year 1000–9999) we commit and call onSelectDate.
- Uncontrolled input: Switched to uncontrolled
Documentation
- GenericDatePicker Safari limitation: Documented that in Safari/WebKit, typing in the native date input with a pause in a segment (e.g. year) can cause the next keystroke to replace rather than append (e.g. "0" then "2" may show "2" instead of "02"). This is browser behavior. Workaround: type the segment without pausing, or use the calendar picker. A text-field alternative (parse on blur) is noted as a possible future improvement in the component header.
[1.0.23] 2026-01-27 @dwertheimer
Changed
- Simplified form submission response handling:
handleSubmitButtonClickand related functions now return only the necessary information (success,formSubmissionError,aiAnalysisResult) instead of the fullreactWindowDataobject. This simplifies the code and avoids unnecessary data passing. The window only needs to know what happened, not all the window data.
Fixed
- Form Browser "Submitting..." overlay: The overlay now appears reliably when submitting a form from the Form Browser. Uses
flushSyncso React commits the overlay to the DOM before the async request runs (avoids WebView/rAF timing issues). Added a minimum display time of 400 ms so the overlay is always visible even when the request completes quickly.
Edited in this release
dwertheimer.Forms/src/formSubmission.js— SimplifiedhandleSubmitButtonClickand processing functions to return{ success: boolean, formSubmissionError?: string, aiAnalysisResult?: string }instead of fullPassedData. Removed unnecessarywithPluginDataUpdatesusage.dwertheimer.Forms/src/formSubmitHandlers.js— Updated to handle simplified return type fromhandleSubmitButtonClick.dwertheimer.Forms/src/formBrowserHandlers.js— Updated to handle simplified return type fromhandleSubmitButtonClick.dwertheimer.Forms/src/components/FormBrowserView.jsx— Submitting overlay: useflushSyncto commit overlay before request;hideOverlay()with 400 ms minimum display time;overlayShownAtReffor timing.
[1.0.22] 2026-01-27 @dwertheimer
Changed
- ValueInsertButtons use shared constants: The +Color, +Icon, +Pattern, and +IconStyle insert buttons (ValueInsertButtons) now import
PATTERNS,ICON_STYLES, andFA_ICON_NAMESfrom@helpers/react/DynamicDialog/valueInsertData, so they use the same options as the color/icon/pattern/icon-style choosers in the Form Builder.
Edited in this release
dwertheimer.Forms/src/components/ValueInsertButtons.jsx— Replaced inline PATTERNS, ICON_STYLES, FA_ICON_NAMES with imports from valueInsertData.
[1.0.21] 2026-01-27 / 2026-02-03 @dwertheimer
Fixed (from fix branch)
- Conditional-values excluded from form until submit: Fields with type
conditional-values(e.g.bgColorderived from a button-group) are no longer added to form state, autosave, or the submit payload until the backend runsresolveConditionalValuesFieldsinprepareFormValuesForRendering. Previously they appeared with empty values in the form and autosave. - Button-group default applied on open and submit: When a form field has type
button-groupand an option withisDefault: true, that option's value is now used as the initial value when the form opens and when building the submit payload, so the source field (e.g.theType) is set correctly and conditional-values (e.g.bgColor) resolve as intended.
Changed (from main)
- formProcessorTitle eliminated: Deprecated
formProcessorTitlein favor ofreceivingTemplateTitleas the single canonical field. The two were redundant and could get out of sync. Going forward onlyreceivingTemplateTitleis used/written.- Backward compatible: Forms with only
formProcessorTitle(legacy) are still read correctly everywhere. On save, the value is migrated toreceivingTemplateTitleandformProcessorTitleis removed from the note. - TemplateRunner and form submission have always used
receivingTemplateTitle;formProcessorTitlewas only used in the Form Builder UI and could cause duplication.
- Backward compatible: Forms with only
Edited in this release
dwertheimer.Forms/src/formSubmission.js—ensureAllFormFieldsExistandhandleSubmitButtonClickskip conditional-values when adding missing fields.dwertheimer.Forms/src/formBrowserHandlers.js—handleSubmitFormskips conditional-values when adding missing fields.helpers/react/DynamicDialog/DynamicDialog.jsx—getInitialItemStateObject, "ensure all fields" effect, andhandleSaveskip conditional-values and apply button-groupisDefaultwhen initializing or filling missing keys.
[1.0.20] 2026-01-26 @dwertheimer
Fixed
- DynamicDialog Switch compact mode: Switch type now renders correctly in compact mode. Label is on the left and the switch on the right, matching other compactDisplay elements (InputBox, button-group, calendarpicker). Uses
input-box-container-compactwrapper; Switch’s internal label is hidden via CSS when compact.
[1.0.19] 2026-01-26 @dwertheimer
Fixed
- Create-new folder override: When creating a new note, a form field named
foldernow overrides any folder value from the form definition (newNoteFolder, template frontmatter, etc.) when passing data to templateRunner. Empty formfolderis ignored; form definition is used as fallback.
Changed
- ProcessingMethodSection: Folder field help text now states that a form field named
folderis used to set the folder for the new note.
[1.0.18] 2026-01-25 @dwertheimer
Fixed
- Form Field Focus Styles: Updated all form field focus styles to use
--tint-colorwith a heavier 2px border stroke for better visibility:- Input boxes, dropdowns, textareas, date pickers, and all chooser components now show a prominent
--tint-colorborder when focused - Added consistent box-shadow glow effect for all focused fields
- Fixed SearchableChooser focus styles to properly override base border styles using
!importantflags
- Input boxes, dropdowns, textareas, date pickers, and all chooser components now show a prominent
- SearchableChooser Loading State: Fixed multiple issues with SearchableChooser when fields are loading data:
- Loading Spinner: Added FontAwesome spinner icon (
fa-spinner fa-spin) that appears in the input field when loading. Spinner is properly centered vertically and positioned on the right side of the input. - Auto-Open Prevention: Fixed issue where dropdown would auto-open when field received focus but items were still loading, showing "No Options Available" instead of loading state. Dropdown now only opens automatically when items have finished loading.
- Placeholder Management: Fixed placeholder to show "Loading Values..." from initial render when loading is needed, preventing visual flip from "Type to search values..." to "Loading Values...".
- Focus Management: Fixed focus behavior so that when the first field finishes loading, focus automatically moves back to it if focus was previously set on a later field (e.g., 3rd field) while the first field was loading.
- Empty State Blank Line: Fixed issue where a blank, clickable line appeared in the dropdown when showing "No Options Available". Removed validation-message-placeholder div from dropdown options and made empty state non-clickable.
- Loading State Propagation: Added
isLoadingprop support toDropdownSelectChooserandContainedMultiSelectChooserto properly show loading state in all chooser variants.
- Loading Spinner: Added FontAwesome spinner icon (
- FrontmatterKeyChooser Loading Initialization: Fixed loading state initialization to start as
truewhen a frontmatterKey is provided, ensuring "Loading Values..." placeholder appears immediately instead of showing normal placeholder first. - **SearchableC...
📙 Note Helpers
What's changed in 📙 Note Helpers plugin?
For more details see the plugin's README.
[1.3.2] - 2026-02-05
- add more detail to /log Editor Note, to help flush out a long-standing API bug
[1.3.1] - 2026-01-25
- fix to list inconsistent note filenames command. (Thanks, @Heathy65.) Closes #732
- improved display of inconsistent note names, and added button to kick off the renaming.
[1.3.0] - 2025-12-20
- new duplicate note command: duplicates the currently-open note, and unlike the built-in command, it allows the user to specify a new title and folder for it.
[1.2.5] - 2025-11-10
- fix regression in folder chooser (thanks, @aleemshaun)
[1.2.4] - 2025-11-08
- Improvements in heading picker in jump to heading and jump to note's heading commands
[1.2.3] - 2025-10-31
- Fix to moveNote command for iOS/iPadOS
[1.2.2] - 2025-09-22
- Fix regression in folder picker
[1.2.1] - 2025-09-19
- improve and fix folder picker in various commands (including updating the sort order to match the app -- thanks for pointing this out, @tastapod)
- allow delete note command to run on Teamspace notes (if running v3.18.2 or above).
- stop inconsistent file name commands from running on Teamspace notes, which are stored in a SQL DB instead of having filenames
[1.2.0] - 2025-08-23
- improved display of lists of notes and headings in jump to heading and jump to note's heading, and include Teamspace notes
- various improvements/fixes to the inconsistent file name commands. Resolves issues #640, #642, #643 raised by @tastapod.
- added notes to indicate where commands can't work on Teamspace notes, because of the different way they're architected.
[1.1.1] - 2025-04-22
- the log Editor Note commands now handle Teamspace notes correctly.
- fix to opening new notes in new note commands.
[1.1.0] - 2025-02-19
- new list published notes command, that generates a list in the new 'Publlished Notes' note of all notes that have been published to published to the internet through NotePlan.
[1.0.0] - 2024-12-31
New
- the new note command has been revived (alias nn). It creates a new (regular, not calendar) note with a title you give, and in a folder you can select. If the "Default Text to add to frontmatter" setting isn't blank, then the note will be created using that frontmatter.
Note: this version was promoted to be a Core Plugin from NotePlan 3.16.1.
Important Changes
- when move note shows the list of folders, the special Templates and Archive folders are moved to the end of the list. (Plus any other special ones that start with '@').
- the new note from clipboard and new note from selection commands have moved from Filer plugin to NoteHelpers.
[0.20.3] - 2024-12-25 (unpublished)
- new logEditorNoteDetailed command (which can easily triggered from a callback) that also logs line type and rawContents
[0.20.2] - 2024-12-15
- the log note details command now includes backlink-ed notes and paragraphs
[0.20.1] - 2024-10-22
- new log note details command which prints note details to the log (for debugging purposes)
[0.20.0] - 2024-08-16
Added
- new delete note command, that makes easier what the current NotePlan UI makes difficult.
- new find unlinked notes command which finds and creates links to existing notes in the current note (by @aaronpoweruser).

Fixed
- fixed rename note filename when note has frontmatter (thanks for the report, @ariccb)
[0.19.2] - 2024-04-27
- add trigger to note command is now more resilient to unusual frontmatter, and shouldn't duplicate an existing trigger when run from template
[0.19.1] - 2024-02-23
- add trigger to note command can now be run from x-callback with parameter of the trigger string to add. This means it can be run from Templates with a command tag.
- Added a migration message about 'open note' commands.
[0.19.0] - 2024-01-09
- moved the "open note in ..." commands to the new "Window Tools" plugin
- updated the display of the "index folders" command to use heading levels H2 to H4 depending on how deep the sub-folder is. The placeholder in the title
{{folder}}now just uses the last part of the folder name, or new placeholder{{full_folder_path}}which will use the folder's full path. (Requested by @dutchnesss). - removed 'Show month/quarter/year' commands as they are now in the main NP menus.
- fix to '/rename inconsistent filename' command (reported by @Anton-Sklyar)
- fix to '/make index' command ignoring parameter 'displayOrder' if given.
[0.18.2] - 2023-09-18
- fix edge case with /add trigger command.
[0.18.1] - 2023-08-15
- New commands by @leo:
- list inconsistent note filenames lists the names of notes whose filenames are inconsistent with their titles
- rename filename to title renames the current filename to the title of the note
- when the command bar shows list of notes to choose, it now includes Template files again.
[0.18.0] - 2023-08-13
- new command Show This Month (alias /stm)
- new command Show This Quarter (alias /stq)
- new command Show This Year (alias /sty) (requested by @danieldanilov)
- new command update all indexes that updates all the existing folder index notes
- added more decoration to most-used calendar dates, when showing them in lists of notes (e.g. in "jump to note's heading" and "open note new window").
[0.17.3] - 2023-07-01
- added new setting 'Title to use for index notes' for "/index folders" command (requested by @dwertheimer)
- layout improvements and further bug fix in "/index folders" (spotted by @dwertheimer)
[0.17.2] - 2023-06-30
Fixed
- fix bug in index folders command (spotted by @dwertheimer)
[0.17.0] - 2023-06-12
Added
- new open url from a note command that asks user for a note, and then presents a list of URLs. The selected one is then opened in your default browser. (for @John1 with help from @dwertheimer)
- now move note and index folders commands offer option to create a new folder when selecting a folder (suggested by @dwertheimer)
- new reset caches command that just runs the command of that name in the NotePlan Help menu (for @clayrussell)
[0.16.1] - 2023-03-22
Added
- added NoteHelpers: update settings command for iOS users
- added setting for logging level
Changed
- '/add trigger to note' command now is smarter in the way it works
- restores "Default Text to add to frontmatter" setting for '/convert note to frontmatter' command
[0.16.0] - 2023-03-07
Added
- new add trigger to note command that makes it easy to add a trigger to a particular note. It lists the functions from all plugins that it can work out are written for triggers, but also allows any function to be picked.
- index folders command now:
- has an option to sort output by title (alphabetical), last update date, or date the note was created (though note that I think that the underlying created date data is very unreliable).
- has an option to add one of several date display settings on the end of every note that's listed
- has a Refresh button at the top of each results set
- can be run from x-callback-url calls (see README).
Fixed
- convert to frontmatter command wasn't always working for calendar notes
[0.15.0] - 2022-07-30
Added
- new command rename note filename renames the currently open note. Note: this changes the underlying filename not the visible title. (It only works with NotePlan v3.6.1 and later.)
- new command enable heading links converts local links to headings (they start with the
#character) tox-callback-urllinks that use the Noteplan URL-scheme to run thejumpToHeadingfunction mentioned below. So while Noteplan doesn't support the standard way of linking to headings within notes, this plugin command now enables that feature if you're willing to change the destination of your links. (by @nmn)
Updated
- The jump to heading command (which is used for jumping to headings within the same note) can now be used via
x-callback-urls by passing the text of the heading in as an arg0.
[0.14.1] - 2022-06-12 (by @nmn)
Added
- new command add number of days to dates that looks for bullets in your current open note that end with
[[YYYY-MM-DD]]:and adds the number of days to or since that date.
[0.13.0] - 2022-06-02
Added
- new command /open current note new split opens the current note in a new split window to the side in the main window
[0.12.0..0.12.1] - 2022-06-02
Added
- command /convert to frontmatter which convert the current note to use frontmatter syntax, including optional default text that can be added in the Plugin's settings.
Changed
- when using /open note new window or /open note new split it now places the cursor at what it judges to be the start of the main content of the note (i.e. after title or frontmatter) or project-related metadata.
[0.11.0..0.11.1] - 2022-05-10
Added
- added
/open note splitcommand to open a user-selected note in a new split window (available from NotePlan 3.4)
Changed
- updated logging to newer framework
- switched to using longer descriptive command names. The older short names will still work as aliases
- the
/indexcommand now adds time since note was last updated in the output - when jumping to a heading, those in the archive part of the note (Done... or Cancelled...) now aren't offered
[0.10.0..0.10.6] - 2021-11-17
Added
- added /onw command to open a user-selected note in a new window.
- added /index command to make/update note link Indexes for one or more folders
Changed
- updated the 'jumping' commands /jh and /jd work better with API change
- now 'move' or 'jump' to d...