- For some users, both
/note/append
and/note/prepend
would create empty periodic notes when thecreate-if-not-found
parameter was used.
- Adjusted opening/focussing notes for API changes in Obsidian 1.7.
- Both
/note/append
and/note/prepend
now correctly work with headlines at the end of a note which don't have a trailing newline.
- When calling
/*-note/create
with atemplate-file
parameter, the template wouldn't be found unless the template path contained both folder and file extension. Fixed!
- When a note couldn't be found, the wrong error code would be returned (500 instead of 404).
- Appending/prepending below a headline could fail if either the input headline or the headline in the note contained trailing whitespace. This is now fixed by ignoring trailing whitespace when checking, appending, and prepending.
- Under some circumstances,
/note/create
withapply=content
would not create a note. Sorry about that!
- All
/note
routes gained support for working with periodic notes (daily, weekly, etc.). - All
/note
routes gained support for UID-based note references. Notes can now be referenced by their UID instead of their file path, so if you're storing a UID in your front matter, give it a go. Make sure to check that the correct frontmatter key is configured in the … - New settings UI. The plugin now has a settings page in Obsidian's settings.
/note/get-active-note
returns the current selection as part of its result. (Plain-text only for now.) Thanks to @FelipeRearden for the suggestion! [#90]/note-properties
now supports working with current periodic notes (daily, weekly, etc.)- When using
/note/append
or /note/prepend to insert text below a headline, the route no longer joyfully reports success even when the headline couldn't be found. Instead, the routes now support a conditionalif-headline-missing
parameter to specify what to do in that case: report an error (the new default), skip the operation (the old default behavior), or add the headline to the end of the note. Thanks to @vitaly-rudenko for the bug report! [#91]
All dedicated periodic note-related routes (/daily-note/*
, /weekly-note/*
, /monthly-note/*
, /quarterly-note/*
, /yearly-note/*
) are officially deprecated, and will be removed in early 2025. Please update your scripts accordingly.
There will be no further work on these routes going forward.
- Fixes search/replace in notes, which wouldn't work if the search term was a string but contained regex-like characters (
$
,^
, etc.) /note-properties/get
won't automatically open the note anymore.- Fixes template path handling in
/note/create
, which was very strict, and didn't allow for specifying a template file outside the configured template folder.
- Fixes the plugin not sending out return calls when the requested vault wasn't loaded yet, e.g. when Obsidian wasn't running or when another vault was active.
House keeping release, no new features.
- Replaces deprecated
global.app
references - Sets minimum Obsidian version to 1.5.0
/note/create/
,/periodic-note/create
: If the file name passed intemplate-file
can't be found, the plugin will now check the template folder set in Templates or Templater, respectively, before returning an error.- Console output will now print the paths contained in the incoming params, instead of their internal file references. This prevents circular references and "max call stack" errors related to files when using Logstravaganza.
- New route path:
/file
for working with files. The Obsidian API doesn't allow for uploading attachment files, but now you can at least handle them. (#85)/file/list
: Returns the paths of all files in the vault./file/get-active
: Return the path of the currently active/ focussed file./file/open
: Opens a file in Obsidian./file/delete
: Deletes a file./file/trash
: Moves a file to the trash./file/rename
: Renames a file.
- New route:
/note/get-active
returns the currently active/ focussed note. - New route:
/note/get-first-named
returns the first note found with a given name. - New route:
/note/touch
sets the modification date of a note to the current date and time (side effect: it makes Obsidian reload it in views/ embeddings).
- Appending below headline: Now inserts before any trailing new lines in a section instead of after them.
- Changed route:
/command/execute
no longer requires thex-success
andx-error
parameters to be present. If they are, they will be used, but they are optional now. (#84) - Removed route:
/vault/list-folders
was marked as deprecated in 0.16, and is now gone for good. Use/folder/list
instead.
- Resolves problems with applying templates of the core plugin Templates.
- Fixes broken handling of
silent
parameter innote/*
,daily-note/*
,weekly-note/*
,monthly-note/*
,quarterly-note/*
, andyearly-note/*
routes
Properties are a core feature of Obsidian: structured data containing information about a note. Actions URI now supports them in a variety of ways. Please see the new route docs for details:
Existing routes which return note content now also return note properties, if present. Their documentation has been updated accordingly. See Changes, below.
Actions URI now requires Obsidian 1.4+.
The following routes return an additional result-properties
parameter if the note contains properties:
/note/create
/note/get
/daily-note/create
/daily-note/get-current
/daily-note/get-most-recent
/weekly-note/create
/weekly-note/get-current
/weekly-note/get-most-recent
/monthly-note/create
/monthly-note/get-current
/monthly-note/get-most-recent
/quarterly-note/create
/quarterly-note/get-current
/quarterly-note/get-most-recent
/yearly-note/create
/yearly-note/get-current
/yearly-note/get-most-recent
- Append/prepend to a periodic note that had to be created first would create the note but fail to append/prepend the text. This is now fixed.
Please see the new route docs for details:
All of Action UR's existing /daily-note
functionality is now also available for anything supported by the Periodic Notes community plugin! Please see the new route docs for details:
[!IMPORTANT] > Known issue: At the time of writing, the Periodic Notes plugin seems to have a bug that (for some people) prevents creating a new weekly note on any day other than Sunday. liamcain/obsidian-periodic-notes · #185 · Open weekly note only works on Sunday. Since Actions URI uses the Periodic Notes plugin's API, this is not something I can fix. Please follow the issue for updates.
- Actions URI now requires Obsidian 1.3+ .
- Adds missing return calls to
/vault/open
and/vault/close
. (#76) - For some Dataview
TABLE
queries, the results would be wrapped in an extra array, this has been fixed. (#79)
- Updates esbuild and @typescript-eslint packages.
- Ensures Dataview
TABLE
results are correctly nested. (#79)
- Appending/prepending below headlines no longer fails if there is no empty line below the headline. (#73)
- When using a file path ending in
.canvas
, Actions URI will no longer add.md
to it. (#74)
- Attempting to use the Templates core plugin on iOS would result in an error. This is now fixed.
- Adjusts the behavior of
/note/get
so it no longer breaks Actions for Obsidian's "Check if note exists" action. 😬 - Fixes a bug in note creation where the default behavior regarding content insertion was not respected.
- Adds support for applying a Templates (core plugin) template or Templater (community plugin) template after note creation (#69)
- Adds an optional
create-if-not-found
parameter for avoiding errors if the note doesn't exist yet (#67) - Adds an optional
below-headline
parameter for appending text not to the end of a file but to a section below a heading (#68)
- Adds an optional
create-if-not-found
parameter for avoiding errors if the note doesn't exist yet (#67) - Adds an optional
below-headline
parameter for prepending text not to the beginning of a file but to a section below a heading (#68)
- Adds support for applying a Templates (core plugin) template or Templater (community plugin) template after note creation (#69)
- Adds an optional
create-if-not-found
parameter for avoiding errors if the note doesn't exist yet (#67) - Adds an optional
below-headline
parameter for appending text not to the end of a file but to a section below a heading (#68)
- Adds an optional
create-if-not-found
parameter for avoiding errors if the note doesn't exist yet (#67) - Adds an optional
below-headline
parameter for prepending text not to the beginning of a file but to a section below a heading (#68)
- Incoming, malformed calls are now answered if possible: if an
x-error
parameter was passed in, it will be used now, instead of Actions URI just doing nothing. (#72) file
&folder
parameter validation is now more strict where the parameter is supposed to reference an existing path, and will return a "bad request" error if the referenced file/folder couldn't be found. Examples for clarification:file
in/note/rename
,folder
in/folder/delete
; but notfile
in/note/create
(as here the parameter references a file yet to be created). (#72)
- The deprecations made in 0.18.0 are now feasting with the Gods.
This is a minor release aimed at fixing an issue with opening notes after creation that came up during the Actions for Obsidian iOS TestFlight.
- [FIX] Cleans up opening/focussing notes
- [DEL] Removes outdated API references
The plugin is stable enough and used in production as the companion plugin to my macOS/iOS app Actions for Obsidian. So the version number took a big leap to bring it mostly in line with the app. Nothing else will change, Actions URI will remain FOSS under a MIT License.
- If you're unhappy with the global search, and use Omnisearch, you'll be delighted about the new
/omnisearch
routes (#59) - Actions URI should now handle unexpected exceptions outside its control more graceful (#60)
- I've added table of contents to the route pages in the documentation.
- Adds code for preventing a race condition in vaults w/ Templater enabled (#61)
The /note/create
route
has a new optional if-exists
parameter to specify a strategy for dealing with an existing note. It
overrides the default behavior (creating a new note by appending a numeric suffix to the base name)
and can be set to skip
or overwrite
. if-exists=skip
will not create another note and instead
return the named note as-is. if-exists=overwrite
will replace the existing note with a new one.
The/daily-note/create
route has a new optional if-exists
parameter to specify a strategy for dealing with an existing
current daily note. It overrides the default behavior (returning an error) and can be set to skip
or overwrite
. if-exists=skip
will pretend the existing note was just created and return it.
if-exists=overwrite
will trash the existing note and create a new daily note from scratch.
/note/create
: theoverwrite
parameter is deprecated and will be removed in a future release. Useif-exists=overwrite
instead./daily-note/create
: theoverwrite
parameter is deprecated and will be removed in a future release. Useif-exists=overwrite
instead.
- [FIX] Normalizes leading/trailing whitespace in path segments (#54)
- [CHG] Moves route
/open/search
→/search/open
(#17) - [DOC] Marks route
/open/search
as deprecated (#17) - [DOC] Removes docs for previously removed
/open/*
routes (#17) - [DOC] Corrects docs to reflect reality (#55)
- [DOC] Corrects docs where callbacks are optional, not required (#55)
- [CHG] Increases time waiting for search results in
/search/all-notes
to 2s (#50)
- [FIX] Fixes handling of backslashes and colon characters in file names (#43)
- [CHG] Shortens
*/rename
error messages
- [FIX] Adds graceful handling of the default "Default location for new notes" configuration setting (#41)
- [NEW] Adds route
/note/delete
for deleting a note (#30) - [NEW] Adds route
/note/rename
for renaming or moving a note (#30) - [NEW] Adds route
/note/trash
for moving a note to the trash (#30) - [NEW] Adds route
/folder/list
for fetching the list of available folders (#30) - [NEW] Adds route
/folder/create
for creating a new folder or folder structure (#30) - [NEW] Adds route
/folder/delete
for deleting a folder and all its contents (#30) - [NEW] Adds route
/folder/rename
for renaming or moving a folder (#30) - [NEW] Adds route
/folder/trash
for moving a folder to the trash (#30) - [DEL] Deprecates route
/vault/list-folders
in favor of/folder/list
(#30)
- [NEW] Adds extra return params for use by Actions for Obsidian (#26)
- [CHG] Root routes (e.g.,
/
,/note
,/daily-note
) return a non-empty result message - [FIX] Addresses endless loop in string search/replace routes which would occur when the replacement included the search term (#28)
Have a wondrous 2023, people 🚀
- [NEW] Adds Dataview support for
TABLE
andLIST
queries (#4) - [NEW] Adds route
/tags/list
for fetching a list of all existing tags (#16) - [NEW] Adds route
/note/list
for fetching the list of available Markdown files (#24) - [NEW] Adds route
/vault/list-folders
for fetching the list of available folders (#24) - [NEW] Adds route
/vault/list-non-notes-files
for fetching list of non-Markdown files (#24) - [NEW] Adds route
/vault/list-all-files
for fetching all files present in a vault (#24) - [CHG] Adjusts route
/daily-note/list
to return the same structure as its/note/list
counterpart - [FIX] Notes returned will now always contain the four return parameters
result-content
,result-body
,result-front-matter
andresult-filepath
(#22) - [FIX] Adds missing links to route docs detail pages
- [NEW] Adds
tags/list
route (#16) - [NEW] Adds
vault/info
route (#20) - [CHG] Makes
vault/close
desktop-only (due to the different Obsidian foundations on mobile and desktop) - [CHG] Replaces Twitter links w/ Mastodon links in docs
- [NEW] Added
/vault/open
and/vault/close
routes (#18) - [CHG] Error callbacks now carry two parameters,
errorCode
anderrorMessage
, instead of justerror
. - [CHG] The routes
note/open
anddaily-note/open
supersedeopen/note
andopen/daily-note
respectively. The old routes have been removed. - [FIX] Creating a note would sometimes result in the creation of a folder and an error (#16)
- [FIX] Searching/replacing a string would result in an error if the search term looked like a regex (#15)
- [NEW] Refactors error callback parameters (#12)
- [CHG] Replaces all occurrences of
global.app
(#14) - [CHG] Changes spaces in callback URLs from plus-sign- to percent-encoding (#11)
- [DEL] Removes support for
call-id
parameter (#7) - [CHG] Drops support for Obsidian <v1.0
- Fixes outdated success checks in main file handling methods — due to the broken check successful file operations weren't recognized as such. Sorry!
- Initial pre-1.0 release. Let's get this show on the road! 🚀