Minor Changes
-
Daily notes go where the daily note template's
filepathputs them, and otherwise tojournal/YYYY-MM-DD.md, in VS Code andfoam dailyalike (#1759):- The deprecated
foam.openDailyNote.directory,filenameFormat,fileExtensionandtitleFormatsettings are no longer used. If yours would place or title a note differently, VS Code asks before creating it and offers to write a template that does what they did;foam dailystops with the same advice.foam.openDailyNote.onStartupis unchanged. - Without a template or those settings, VS Code now creates daily notes in
journal/instead of the workspace root, andfoam dailyinjournal/instead ofjournals/. Existing notes stay where they are, but$FOAM_PREVIOUS_DAILY_NOTEonly looks injournal/. - Date snippets link to the file name the template gives the note, and a template using
${FOAM_DATE_FORMAT:...}more than once gets each format. foam dailynow fills in$FOAM_TITLEand$FOAM_PREVIOUS_DAILY_NOTE, honoursfoam.dateLocale, and needs--trustto run a JavaScript template (daily-note.js).
In
@foam/core,prepareDailyNoteanddailyNoteRuleare exported.getLegacyDailyNoteSettingsreplacespartsFromDailyNoteSettingsand thegetDailyNote*config getters, andresolveDailyNotetakes those settings as an argument. - The deprecated
-
Notes open in the editor you associated with Markdown in
workbench.editorAssociations, such as VS Code's Markdown Editor (#1742). Open Daily Note, Open Random Note and Show Similar Notes used to open the text editor regardless.Foam now requires VS Code 1.136 or later.
Patch Changes
-
Link, section and tag completion follow the rules Foam uses to read notes (#1757):
- No link suggestions in frontmatter, after the
|of a wikilink, or after an escaped\[[ [[note #tacompletes a section, not a tag- Emoji tags such as
#❤️complete - Frontmatter tags complete on any line of the
tagsvalue, not only within the first 50 lines - Picking a suggestion after
[[a [[breplaces the right text
In
@foam/core,completionAtis exported. - No link suggestions in frontmatter, after the
-
"Convert Wikilink to Markdown Link" handles links to a folder's index note, relative wikilinks and
[[#Section]]links. Withfoam.completion.linkFormatset tolink, picking a folder from completion no longer ends in a "Resource not found" error (#1744 - thanks @Morikko) -
A note deleted or moved while Foam was reading it no longer comes back under its old path, along with backlinks from a file that is gone (#1758).
-
foam.files.excludeleaves out installed packages by default:**/site-packages/**/*,**/.direnv/**/*,**/vendor/bundle/**/*and**/.yarn/**/*(#1689). Python environments and similar folders were being indexed as thousands of notes since Foam stopped readingfiles.watcherExclude. -
Adding a missing heading, adding tags through the MCP server and reading template metadata now find frontmatter that follows blank lines, and no longer take a
---that is never closed for frontmatter. -
The workspace load timings in Foam's log add up to the load time: reads running in parallel were counted many times over (#1689)
-
Updating links on rename no longer corrupts notes that mix Windows and Unix line endings (#1733)
-
The Orphans and Placeholders panels no longer freeze VS Code on every save in workspaces with many notes sharing a file name, such as
README.md(#1689).foam list orphansandfoam list placeholdersare faster for the same reason.In
@foam/core,getOrphansis exported andFoamWorkspacegainsgetIdentifiers. -
Markdown links that start with
/and contain percent-encoded characters, such as[Plan](/Planning%20System.md), resolve to the note instead of a placeholder (#1752 - thanks @tompscanlan) -
[[folder]]wikilinks in the Markdown preview link to the folder's index note, as Ctrl/Cmd+Click already did, instead of showing as a placeholder (#1749) -
Finding templates and saved queries searches only
.foam/templatesand.foam/queries, not the whole workspace (#1748) -
A long
[[with no closing]]no longer stalls Foam for seconds while it reads the note (#1736) -
Foam no longer writes outside the workspace through symlinks or
..(#1739). The CLI and MCP server refuse to create, overwrite, move or delete a file that lies outside the workspace once symlinks are resolved, with "Cannot write outside the workspace";foam dailyandfoam lint --fixincluded. A note that is itself a symlink can still be moved or deleted. In VS Code, new notes follow the same rule in Restricted Mode.Moving or renaming a note now moves the file before updating the links to it, so a refused move leaves every note untouched.