Skip to content

Releases: NotePlan/plugins

🔬 Projects + Reviews

10 Feb 23:16

Choose a tag to compare

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.b9] - 2026-02-10

  • 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
  • New "Show paused?" toggle in the Filter… menu
  • Right-align the toggles in the Filter... menu, suppress re-load when clicking outside the menu when no settings have been changed.

[1.3.0.b8] - 2026-02-08

  • dev: refactor to move most HTML code into separate htmlGenerators.js file
  • stop the 'next action' check from running if the project note is marked as #ssequential
  • added new hidden weekly projects progress command for JGC
  • new 'Display Filter...' menu for the various checkboxes
  • improve dialog box title (now includes folder and clickable project note name)
  • added new 'Start' review button to the dialog box

[1.3.0.b7] - 2026-01-24

  • 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.
  • turned back on the automatic updates of Dashboard plugin (if open). [Requires Dashboard v2.4.0 beta 18 or later.]
  • remove writing to 'Project Generation Log' unless you have DEBUG level logging on (thanks, @timlockridge)

[1.3.0.b6] - 2026-01-23

  • improved messages to users under certain error conditions
  • dev: updated semver checking to hopefully remove unnecessary logged errors

[1.3.0.b5] - 2026-01-20

  • 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.)
  • fixed edge case when writing progress lines (thanks, @mourique)
  • fix writing updated metadata wrongly, when using metadata: key in frontmatter (thanks, @doug)

[1.3.0.b4] - 2026-01-16

  • highlight the project in the list that is currently being reviewed
  • smartly truncate long next action lines
  • use a note's icon in the project list, if set in the note's frontmatter
  • trying out some layout tweaks, for better display in narrower Editor windows
  • add new sidebarView keys to plugin.json
  • fix to 'Start Reviews' (thanks, @garba)

[1.3.0.b3] - 2026-01-11

  • can now display the first open task/checklist in a project note as the 'next action' by adding a new 'Sequential project marker' to its frontmatter (e.g. project: #sequential).
  • added new display toggle for "next actions"
  • tidied up the display of the top bar to more gracefully deal with likely narrow window widths

[1.3.0.b2] - 2026-01-10

  • now 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?".
  • when running in the main window, it will now open project notes in a split view to the side.

[1.3.0.b1] - 2025-12-09

  • now 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).

[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 @review or @reviewed mention, 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 determine which folders are included and excluded.
    • The Dashboard (from v2.1.8) now also tells the Project List window to update when you change Perspective (if you have the window open)
  • where you have more than one project tag, each tag is shown in a section that can be collapsed or expanded using the triangle icons ▼ or ▶

Changed

  • changed the top-middle box of controls to be a top bar, with only the controls that can't live in the popup 'edit dialog' boxes
  • top bar now shows the current Perspective name (if used)
  • other improvements of the 'rich' style Project List, to bring more in line with the Dashboard plugin. Including a simpler style of tooltips that aren't clipped
  • now supports multiple next action tags, and shows all of them in the Project List (requested by @christmetcalf; closes issue #613)
  • when you run '/cancel project' it now asks for a progress comment (like happens when you pause a project)
  • the heading of the edit dialog box now shows the note title (not filename), and the current review interval

[1.0.2] - 2024-12-28 (unreleased)

  • now uses the user's 'Editor Font Size' setting to determine the base font size for the rich view of the Project List -- and so can be changed up and down quite easily -- rather than using what the Theme defines.
  • small layout tweaks

[1.0.1] - 2024-12-13

Fixed

  • fix bug with 'next action' setting (thanks, Alexandre Jacques)

[1.0.0] - 2024-10-11

New

  • can now define an optional 'next action' tag, and the first of these for a given project note are shown in the Project List. (This can be turned off if desired.) (Requested by @matt.)
  • if a 'next action' tag is set, then warn user if they're finishing a Review, and no next action tag is found. (Unless there are no open items.)
  • added 'New Interval' buttons to the top bar and edit dialogs, to change the @review(...) interval.
  • added "Display only due?" and "Display finished?" toggles to window.
  • added ⌘D and ⌘F shortcuts for changing the "Display only due?" and "Display finished?" toggles.
  • added setting "Folder to Archive completed/cancelled project notes to". The default remains the built-in Archive location in the sidebar. (For @dvarlot.)

Changed

  • doubled speed of generating longer project lists
  • tweaked layout of item edit dialog to more closely match the Dashboard plugin
  • the Dashboard plugin (if open) will refresh its Project section when the a relevant change is made to a Project in this plugin.
  • simplified the "Display finished Projects?" setting to now be just off or on (which displays them after the open projects).
  • improved display of projects with literally no tasks
  • paused projects are now shown after active projects

Fixed

  • now won't open the Projects List window after a review is finished, if it wasn't already open.
Read more

📙 Note Helpers

10 Feb 23:16

Choose a tag to compare

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).
    Unlinked notes demo

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) to x-callback-url links that use the Noteplan URL-scheme to run the jumpToHeading function 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 split command 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 /index command 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...
Read more

📝 Template Forms

09 Feb 05:23

Choose a tag to compare

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 valueSeparator option: comma (value1,value2), commaSpace (value1, value2 — default for readability), or space (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 valueSeparator option: comma (value1,value2), commaSpace (value1, value2 — default for readability), or space (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: 0 so the dropdown shows the full list with scrolling.
  • SpaceChooser WebView error (isMounted): Fixed ReferenceError: Can't find variable: isMounted in SpaceChooser. The useEffect referenced isMounted which was only defined inside loadSpaces; added isMountedRef and 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 displayValue was falsy (empty string); now allows lookup when value is set (including '' for empty-id items).

Edited in this release

  • helpers/react/DynamicDialog/FolderChooser.jsx — Set maxResults: 0 in SearchableChooser config so all folders are shown (unlimited, scroll).
  • helpers/react/DynamicDialog/SpaceChooser.jsx — Added isMountedRef and mount-tracking effect; replaced isMounted references with isMountedRef.current in loadSpaces and load effect.
  • helpers/react/DynamicDialog/SearchableChooser.jsx — Allow display-value lookup when value is '' (not just truthy); condition changed from displayValue && ... to value !== undefined && value !== null && ....
  • helpers/react/DynamicDialog/ContainedMultiSelectChooser.jsx — Added valueSeparator prop ('comma' | 'commaSpace' | 'space') and join/parse logic for string output.
  • helpers/react/DynamicDialog/FrontmatterKeyChooser.jsx — Added valueSeparator prop, default 'commaSpace'; pass-through to ContainedMultiSelectChooser.
  • helpers/react/DynamicDialog/DynamicDialog.jsx — Added valueSeparator to TSettingItem.
  • helpers/react/DynamicDialog/dialogElementRenderer.js — Extract and pass valueSeparator for 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 startingSelectedDate is 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 to inputRef.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.

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: handleSubmitButtonClick and related functions now return only the necessary information (success, formSubmissionError, aiAnalysisResult) instead of the full reactWindowData object. 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 flushSync so 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 — Simplified handleSubmitButtonClick and processing functions to return { success: boolean, formSubmissionError?: string, aiAnalysisResult?: string } instead of full PassedData. Removed unnecessary withPluginDataUpdates usage.
  • dwertheimer.Forms/src/formSubmitHandlers.js — Updated to handle simplified return type from handleSubmitButtonClick.
  • dwertheimer.Forms/src/formBrowserHandlers.js — Updated to handle simplified return type from handleSubmitButtonClick.
  • dwertheimer.Forms/src/components/FormBrowserView.jsx — Submitting overlay: use flushSync to commit overlay before request; hideOverlay() with 400 ms minimum display time; overlayShownAtRef for 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, and FA_ICON_NAMES from @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. bgColor derived from a button-group) are no longer added to form state, autosave, or the submit payload until the backend runs resolveConditionalValuesFields in prepareFormValuesForRendering. 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-group and an option with isDefault: 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 formProcessorTitle in favor of receivingTemplateTitle as the single canonical field. The two were redundant and could get out of sync. Going forward only receivingTemplateTitle is used/written.
    • Backward compatible: Forms with only formProcessorTitle (legacy) are still read correctly everywhere. On save, the value is migrated to receivingTemplateTitle and formProcessorTitle is removed from the note.
    • TemplateRunner and form submission have always used receivingTemplateTitle; formProcessorTitle was only used in the Form Builder UI and could cause duplication.

Edited in this release

  • dwertheimer.Forms/src/formSubmission.jsensureAllFormFieldsExist and handleSubmitButtonClick skip conditional-values when adding missing fields.
  • dwertheimer.Forms/src/formBrowserHandlers.jshandleSubmitForm skips conditional-values when adding missing fields.
  • helpers/react/DynamicDialog/DynamicDialog.jsx — `getInitialIte...
Read more

📝 Template Forms

09 Feb 05:08

Choose a tag to compare

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 valueSeparator option: comma (value1,value2), commaSpace (value1, value2 — default for readability), or space (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: 0 so the dropdown shows the full list with scrolling.
  • SpaceChooser WebView error (isMounted): Fixed ReferenceError: Can't find variable: isMounted in SpaceChooser. The useEffect referenced isMounted which was only defined inside loadSpaces; added isMountedRef and 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 displayValue was falsy (empty string); now allows lookup when value is set (including '' for empty-id items).

Edited in this release

  • helpers/react/DynamicDialog/FolderChooser.jsx — Set maxResults: 0 in SearchableChooser config so all folders are shown (unlimited, scroll).
  • helpers/react/DynamicDialog/SpaceChooser.jsx — Added isMountedRef and mount-tracking effect; replaced isMounted references with isMountedRef.current in loadSpaces and load effect.
  • helpers/react/DynamicDialog/SearchableChooser.jsx — Allow display-value lookup when value is '' (not just truthy); condition changed from displayValue && ... to value !== undefined && value !== null && ....
  • helpers/react/DynamicDialog/ContainedMultiSelectChooser.jsx — Added valueSeparator prop ('comma' | 'commaSpace' | 'space') and join/parse logic for string output.
  • helpers/react/DynamicDialog/FrontmatterKeyChooser.jsx — Added valueSeparator prop, default 'commaSpace'; pass-through to ContainedMultiSelectChooser.
  • helpers/react/DynamicDialog/DynamicDialog.jsx — Added valueSeparator to TSettingItem.
  • helpers/react/DynamicDialog/dialogElementRenderer.js — Extract and pass valueSeparator for 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 startingSelectedDate is 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 to inputRef.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.

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: handleSubmitButtonClick and related functions now return only the necessary information (success, formSubmissionError, aiAnalysisResult) instead of the full reactWindowData object. 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 flushSync so 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 — Simplified handleSubmitButtonClick and processing functions to return { success: boolean, formSubmissionError?: string, aiAnalysisResult?: string } instead of full PassedData. Removed unnecessary withPluginDataUpdates usage.
  • dwertheimer.Forms/src/formSubmitHandlers.js — Updated to handle simplified return type from handleSubmitButtonClick.
  • dwertheimer.Forms/src/formBrowserHandlers.js — Updated to handle simplified return type from handleSubmitButtonClick.
  • dwertheimer.Forms/src/components/FormBrowserView.jsx — Submitting overlay: use flushSync to commit overlay before request; hideOverlay() with 400 ms minimum display time; overlayShownAtRef for 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, and FA_ICON_NAMES from @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. bgColor derived from a button-group) are no longer added to form state, autosave, or the submit payload until the backend runs resolveConditionalValuesFields in prepareFormValuesForRendering. 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-group and an option with isDefault: 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 formProcessorTitle in favor of receivingTemplateTitle as the single canonical field. The two were redundant and could get out of sync. Going forward only receivingTemplateTitle is used/written.
    • Backward compatible: Forms with only formProcessorTitle (legacy) are still read correctly everywhere. On save, the value is migrated to receivingTemplateTitle and formProcessorTitle is removed from the note.
    • TemplateRunner and form submission have always used receivingTemplateTitle; formProcessorTitle was only used in the Form Builder UI and could cause duplication.

Edited in this release

  • dwertheimer.Forms/src/formSubmission.jsensureAllFormFieldsExist and handleSubmitButtonClick skip conditional-values when adding missing fields.
  • dwertheimer.Forms/src/formBrowserHandlers.jshandleSubmitForm skips conditional-values when adding missing fields.
  • helpers/react/DynamicDialog/DynamicDialog.jsxgetInitialItemStateObject, "ensure all fields" effect, and handleSave skip conditional-values and apply button-group isDefault when 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...
Read more

🔬 Projects + Reviews

08 Feb 23:36

Choose a tag to compare

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.b8] - 2026-02-05

  • dev: refactor to move most HTML code into separate htmlGenerators.js file
  • stop the 'next action' check from running if the project note is marked as #ssequential
  • added new hidden weekly projects progress command for JGC
  • new 'Display Filter...' menu for the various checkboxes
  • improve dialog box title (now includes folder and clickable project note name)
  • added new 'Start' review button to the dialog box

[1.3.0.b7] - 2026-01-24

  • 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.
  • turned back on the automatic updates of Dashboard plugin (if open). [Requires Dashboard v2.4.0 beta 18 or later.]
  • remove writing to 'Project Generation Log' unless you have DEBUG level logging on (thanks, @timlockridge)

[1.3.0.b6] - 2026-01-23

  • improved messages to users under certain error conditions
  • dev: updated semver checking to hopefully remove unnecessary logged errors

[1.3.0.b5] - 2026-01-20

  • 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.)
  • fixed edge case when writing progress lines (thanks, @mourique)
  • fix writing updated metadata wrongly, when using metadata: key in frontmatter (thanks, @doug)

[1.3.0.b4] - 2026-01-16

  • highlight the project in the list that is currently being reviewed
  • smartly truncate long next action lines
  • use a note's icon in the project list, if set in the note's frontmatter
  • trying out some layout tweaks, for better display in narrower Editor windows
  • add new sidebarView keys to plugin.json
  • fix to 'Start Reviews' (thanks, @garba)

[1.3.0.b3] - 2026-01-11

  • can now display the first open task/checklist in a project note as the 'next action' by adding a new 'Sequential project marker' to its frontmatter (e.g. project: #sequential).
  • added new display toggle for "next actions"
  • tidied up the display of the top bar to more gracefully deal with likely narrow window widths

[1.3.0.b2] - 2026-01-10

  • now 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?".
  • when running in the main window, it will now open project notes in a split view to the side.

[1.3.0.b1] - 2025-12-09

  • now 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).

[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 @review or @reviewed mention, 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 determine which folders are included and excluded.
    • The Dashboard (from v2.1.8) now also tells the Project List window to update when you change Perspective (if you have the window open)
  • where you have more than one project tag, each tag is shown in a section that can be collapsed or expanded using the triangle icons ▼ or ▶

Changed

  • changed the top-middle box of controls to be a top bar, with only the controls that can't live in the popup 'edit dialog' boxes
  • top bar now shows the current Perspective name (if used)
  • other improvements of the 'rich' style Project List, to bring more in line with the Dashboard plugin. Including a simpler style of tooltips that aren't clipped
  • now supports multiple next action tags, and shows all of them in the Project List (requested by @christmetcalf; closes issue #613)
  • when you run '/cancel project' it now asks for a progress comment (like happens when you pause a project)
  • the heading of the edit dialog box now shows the note title (not filename), and the current review interval

[1.0.2] - 2024-12-28 (unreleased)

  • now uses the user's 'Editor Font Size' setting to determine the base font size for the rich view of the Project List -- and so can be changed up and down quite easily -- rather than using what the Theme defines.
  • small layout tweaks

[1.0.1] - 2024-12-13

Fixed

  • fix bug with 'next action' setting (thanks, Alexandre Jacques)

[1.0.0] - 2024-10-11

New

  • can now define an optional 'next action' tag, and the first of these for a given project note are shown in the Project List. (This can be turned off if desired.) (Requested by @matt.)
  • if a 'next action' tag is set, then warn user if they're finishing a Review, and no next action tag is found. (Unless there are no open items.)
  • added 'New Interval' buttons to the top bar and edit dialogs, to change the @review(...) interval.
  • added "Display only due?" and "Display finished?" toggles to window.
  • added ⌘D and ⌘F shortcuts for changing the "Display only due?" and "Display finished?" toggles.
  • added setting "Folder to Archive completed/cancelled project notes to". The default remains the built-in Archive location in the sidebar. (For @dvarlot.)

Changed

  • doubled speed of generating longer project lists
  • tweaked layout of item edit dialog to more closely match the Dashboard plugin
  • the Dashboard plugin (if open) will refresh its Project section when the a relevant change is made to a Project in this plugin.
  • simplified the "Display finished Projects?" setting to now be just off or on (which displays them after the open projects).
  • improved display of projects with literally no tasks
  • paused projects are now shown after active projects

Fixed

  • now won't open the Projects List window after a review is finished, if it wasn't already open.
Read more

📝 Template Forms

06 Feb 22:01

Choose a tag to compare

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 startingSelectedDate is 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 to inputRef.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.

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: handleSubmitButtonClick and related functions now return only the necessary information (success, formSubmissionError, aiAnalysisResult) instead of the full reactWindowData object. 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 flushSync so 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 — Simplified handleSubmitButtonClick and processing functions to return { success: boolean, formSubmissionError?: string, aiAnalysisResult?: string } instead of full PassedData. Removed unnecessary withPluginDataUpdates usage.
  • dwertheimer.Forms/src/formSubmitHandlers.js — Updated to handle simplified return type from handleSubmitButtonClick.
  • dwertheimer.Forms/src/formBrowserHandlers.js — Updated to handle simplified return type from handleSubmitButtonClick.
  • dwertheimer.Forms/src/components/FormBrowserView.jsx — Submitting overlay: use flushSync to commit overlay before request; hideOverlay() with 400 ms minimum display time; overlayShownAtRef for 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, and FA_ICON_NAMES from @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. bgColor derived from a button-group) are no longer added to form state, autosave, or the submit payload until the backend runs resolveConditionalValuesFields in prepareFormValuesForRendering. 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-group and an option with isDefault: 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 formProcessorTitle in favor of receivingTemplateTitle as the single canonical field. The two were redundant and could get out of sync. Going forward only receivingTemplateTitle is used/written.
    • Backward compatible: Forms with only formProcessorTitle (legacy) are still read correctly everywhere. On save, the value is migrated to receivingTemplateTitle and formProcessorTitle is removed from the note.
    • TemplateRunner and form submission have always used receivingTemplateTitle; formProcessorTitle was only used in the Form Builder UI and could cause duplication.

Edited in this release

  • dwertheimer.Forms/src/formSubmission.jsensureAllFormFieldsExist and handleSubmitButtonClick skip conditional-values when adding missing fields.
  • dwertheimer.Forms/src/formBrowserHandlers.jshandleSubmitForm skips conditional-values when adding missing fields.
  • helpers/react/DynamicDialog/DynamicDialog.jsxgetInitialItemStateObject, "ensure all fields" effect, and handleSave skip conditional-values and apply button-group isDefault when 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-compact wrapper; 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 folder now overrides any folder value from the form definition (newNoteFolder, template frontmatter, etc.) when passing data to templateRunner. Empty form folder is ignored; form definition is used as fallback.

Changed

  • ProcessingMethodSection: Folder field help text now states that a form field named folder is 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-color with a heavier 2px border stroke for better visibility:
    • Input boxes, dropdowns, textareas, date pickers, and all chooser components now show a prominent --tint-color border when focused
    • Added consistent box-shadow glow effect for all focused fields
    • Fixed SearchableChooser focus styles to properly override base border styles using !important flags
  • 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 isLoading prop support to DropdownSelectChooser and ContainedMultiSelectChooser to properly show loading state in all chooser variants.
  • FrontmatterKeyChooser Loading Initialization: Fixed loading state initialization to start as true when a frontmatterKey is provided, ensuring "Loading Values..." placeholder appears immediately instead of showing normal placeholder first.
  • **SearchableC...
Read more

📙 Note Helpers

05 Feb 16:19

Choose a tag to compare

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).
    Unlinked notes demo

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) to x-callback-url links that use the Noteplan URL-scheme to run the jumpToHeading function 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 split command 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 /index command 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...
Read more

📝 Template Forms

06 Feb 02:03

Choose a tag to compare

dwertheimer.Forms Changelog

About dwertheimer.Forms Plugin

See Plugin README for details on available commands and use case.

[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 startingSelectedDate is 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 to inputRef.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.

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.21] 2026-02-03 @dwertheimer

Changed

  • formProcessorTitle eliminated: Deprecated formProcessorTitle in favor of receivingTemplateTitle as the single canonical field. The two were redundant and could get out of sync. Going forward only receivingTemplateTitle is used/written.
    • Backward compatible: Forms with only formProcessorTitle (legacy) are still read correctly everywhere. On save, the value is migrated to receivingTemplateTitle and formProcessorTitle is removed from the note.
    • TemplateRunner and form submission have always used receivingTemplateTitle; formProcessorTitle was only used in the Form Builder UI and could cause duplication.

[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-compact wrapper; 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 folder now overrides any folder value from the form definition (newNoteFolder, template frontmatter, etc.) when passing data to templateRunner. Empty form folder is ignored; form definition is used as fallback.

Changed

  • ProcessingMethodSection: Folder field help text now states that a form field named folder is 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-color with a heavier 2px border stroke for better visibility:
    • Input boxes, dropdowns, textareas, date pickers, and all chooser components now show a prominent --tint-color border when focused
    • Added consistent box-shadow glow effect for all focused fields
    • Fixed SearchableChooser focus styles to properly override base border styles using !important flags
  • 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 isLoading prop support to DropdownSelectChooser and ContainedMultiSelectChooser to properly show loading state in all chooser variants.
  • FrontmatterKeyChooser Loading Initialization: Fixed loading state initialization to start as true when a frontmatterKey is provided, ensuring "Loading Values..." placeholder appears immediately instead of showing normal placeholder first.
  • SearchableChooser Color Override: Fixed issue where inline color styles were overriding the default CSS color (var(--fg-main-color, #4c4f69)) even when optionColor was null, undefined, or the default 'gray-500' value. Now only applies inline color styles when an explicit non-default color is provided, allowing the CSS default to be used otherwise.

Changed

  • SearchableChooser Loading UX: Improved loading experience by showing spinner icon and wait cursor, preventing dropdown from opening prematurely, and ensuring proper focus management when loading completes.
  • EventChooser Icon: Updated EventChooser dropdown icon from fa-calendar to fa-solid fa-calendar-alt for a more specific calendar-related icon that better represents event selection.
  • SearchableChooser CSS Improvements:
    • Fixed loading spinner vertical centering (changed from top: 56% to top: 50% with proper transform)
    • Improved spinner sizing to match arrow icon size (0.75rem) with proper line-height and height constraints
    • Fixed dropdown portal spacing issues by removing fixed min-height and ensuring no extra padding/margins
    • Fixed last option spacing to maintain consistent padding
  • SearchableChooser Filtering: Enhanced default filter to also exclude blank/whitespace-only options in addition to templating syntax, preventing empty options from appearing in dropdown lists.

[1.0.17] 2026-01-25 @dwertheimer

Fixed

  • SearchableChooser Templating Field Filter: Fixed SearchableChooser to automatically filter out options containing templating fields (e.g., containing "<%") by default. This prevents templating syntax from appearing in frontmatter key chooser and other dropdown option lists.
  • SearchableChooser Manual Entry Indicator: Fixed issue where the pencil icon (manual entry indicator) was incorrectly appearing in empty/blank fields. The indicator now only appears when a non-empty value has been entered that is not in the items list, and only after the items list has finished loading.
  • Frontmatter Key Values Filtering: Fixed getFrontmatterKeyValues to filter out templating syntax values (containing "<%") at the source, preventing templating errors when forms load. Templating syntax values are now excluded from frontmatter key chooser dropdowns.
  • ContainedMultiSelectChooser Create Mode: Fixed issue where ContainedMultiSelectChooser was not allowing creation of new items when the list was empty. Now allows creating new items even when items.length === 0, as long as allowCreate is true and there's a search term with no matches.

Changed

  • GenericDatePicker Calendar Auto-Close: Improved date picker UX by automatically closing the calendar picker immediately after selecting a date. Previously, users had to click the date and then click outside the picker to close it. Now a single click on a date both selects it and closes the calendar.
  • SearchableChooser Debug Logging: Added comprehensive debug logging to SearchableChooser to help diagnose manual entry indicator issues. Logs include value checks, placeholder matching, and manual entry determination logic.
  • FormBuilder Create-New Mode Fields: Split "Content to Insert" into two separate fields when processing method is "Create New Note":
    • New Note Frontmatter: Separate field for frontmatter content (saved to template:ignore newNoteFrontmatter codeblock)
    • New Note Body Content: Renamed from "Content to Insert" to clarify it's the body content (saved to template:ignore templateBody codeblock)
    • Frontmatter and body content are automatically combined with -- delimiters when sending to TemplateRunner
    • Fields are ordered with Frontmatter above Body Content for better workflow
  • TemplateTagEditor Raw Mode: All template tag editor fields (NewNoteTitle, Content to Insert, New Note Frontmatter, New Note Body Con...
Read more

⚡️ Quick Capture

31 Jan 22:33

Choose a tag to compare

What's changed in ⚡️ Quick Capture

See plugin documentation for more details, and how to configure.

[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 # Title is 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 quarter are 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.22 that changes every day, but still refer to it by the unchanging string Journal.

[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 today and 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 /int command'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 /int command." 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

  • /int now only looks for inboxTitle in 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 /qaj command: Quickly add text to the Journal section of today's daily note

Changed

  • smarter prepending for /qpt command
  • /int now uses the Templates/_configuration file (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 /qpt command: quickly prepend task
  • add /qat command: quickly append task
  • add inbox add task command
  • add quickly add a task to note section command
  • add quickly add a text line to note section command

Changed

  • change name of plugin to QuickCapture [EM suggestion]
  • change to using short command names [EM suggestions]

🔗 Link Creator

31 Jan 01:25

Choose a tag to compare

"🧩 Link Creator Change Log

About np.CallbackURLs Plugin

See Plugin README for details on available commands and use cases.

[1.11.0] - 2025-01-30 @dwertheimer

  • Fix addNote wizard: was returning addText URL; now correctly returns addNote URL
  • Open note wizard: add timeframe (week/month/quarter/year) for calendar notes; add optional highlightStart/highlightLength (cursor/selection after open)
  • Add text wizard: add openType (subWindow, splitView, reuseSplitView, useExistingSubWindow) when openNote=yes
  • Add note wizard: add optional highlightStart/highlightLength when openNote=yes
  • Add selectTag wizard: create x-callback URL to select a tag in the sidebar
  • Add installPlugin wizard: create x-callback URL to install a plugin by ID
  • Add toggleSidebar wizard: create x-callback URL to toggle/show/hide sidebar (forceCollapse, forceOpen, animated)
  • Helpers/general: createOpenOrDeleteNoteCallbackUrl now accepts timeframe, highlightStart, highlightLength; createAddTextCallbackUrl now accepts openType in options; useExistingSubWindow URLs now include subWindow=yes
  • Tests: add tests for timeframe, highlight, openType (addText), reuseSplitView, selectTag, installPlugin, toggleSidebar; add NPXCallbackWizard.test.js for selectTag, installPlugin, toggleSidebar wizard functions

[1.10.1] - 2025-01-30 @dwertheimer

  • Open note wizard: add openType options (subWindow, splitView, reuseSplitView, useExistingSubWindow) so generated openNote x-callback-urls can open in floating window, split view, reuse split view, or existing sub-window

[1.10.0] - 2025-09-23 @dwertheimer

  • Add lineLink command
  • Fix bug in line+headingLink where the URL was being written to clipboard even if u don't want it

[1.9.2] - 2025-08-29 @dwertheimer

  • Fix chooseNote bug in TemplateRunner

[1.9.1] - 2025-08-19 @dwertheimer

  • Fix bug in wizard when using showOptions()

[1.9.0] - 2025-08-18 @dwertheimer

  • Fix template runner wizard bug
  • Add link to run template to frontmatter of template note
  • Add open a named folder view to wizard

[1.8.0] - 2025-06-09 @dwertheimer

  • Added templating specific commands to wizard to reduce confusion

[1.7.0] - 2025-04-02 @dwertheimer

  • Added open a folder selection to wizard

[1.6.2] - 2024-05-28 @dwertheimer

  • Bump version to re-release it

[1.6.1] - 2023-09-12 @dwertheimer

  • Bug fix for calling np.Templating (can't pull plugin.json)

[1.6.0] - 2023-08-27 @dwertheimer

  • Adding passpack for /favorite commands (see Favorites Plugin)

[1.5.0] - 2023-06-10 (@dwertheimer)

  • Adding ability to open links in a note for open tasks (under the hood uses new helpers/urls functions for consistency)

[1.4.1] - 2022-01-19 (@dwertheimer)

  • Make default pretty link the title

[1.4.0] - 2022-01-19 (@dwertheimer)

  • Add dialog box on URL creation for creating pretty links (thx @stacey)

[1.3.0] - 2022-12-21 (@dwertheimer)

  • Fix bug when selecting self-running template
  • Include ability to create self-running template
  • Hide x-success behind a preference field

[1.2.1] - 2022-12-08 (@dwertheimer)

  • @jgclark changed self-running templates to use semicolons to separate variables. Updated the URL maker to match

[1.2.0] - 2022-12-04 (@dwertheimer)

  • Added links to lines
  • Updated the way hashtags in titles are encoded (which changed in NotePlan) -- strip out hashtags in headings

[1.1.2] - 2022-10-02 (@dwertheimer)

  • Renamed plugin to Link Creator

[1.1.1] - 2022-09-20 (@dwertheimer)

  • Fix bug with parentheses in URL which were not urlencoded

[1.1.0] - 2022-07-16 (@dwertheimer)

  • Added TemplateRunner code to run templates from links

[1.0.0] - 2022-07-11 (@dwertheimer)

  • Changed plugin Name to: "🧩 External Links, X-Callback-URLs, RunPlugin Creator"
  • Added command "Create Link to Current Note+Heading" with direct access from command bar

[0.6.0] = 2022-07-02 (@dwertheimer)

  • Added noteInfo command
  • Added deleteNote command
  • Addex x-success return capability on all commands
  • Added DataStore.installOrUpdatePluginsByID to init

[0.5.0] - 2022-07-01 (@dwertheimer)

  • Added addNote command

  • [0.4.0] - 2022-06-28 (@dwertheimer)

  • Added callback URLs for Shortcuts

[0.3.0] - 2022-06-25 (@dwertheimer)

  • Add callbacks for FILTER and SEARCH

[0.2.0] - 2022-06-22 (@dwertheimer)

  • Add Templating invokePlugin output type

[0.1.2] - 2022-06-05 (@dwertheimer)

Added

  • Open documentation URL

[0.1.1] - 2022-06-05 (@dwertheimer)

Fixed

  • Endless loop on cancel
  • Cancel stops flow
  • Improved messaging on arguments dialog

[0.1.0] - 2022-06-05 (@dwertheimer)

  • Initial release, includes openNote, addText and runPlugin