Original release notes
v0.106.0
[!NOTE] If you enjoyed this release, consider showing a token of appreciation by: * Pressing the "Star" button on GitHub (top-right). * Considering a one-time or recurrent donation to the lead developer via GitHub Sponsors or PayPal.
[!TIP] For Linux users: Trilium is now available on Flathub!
[!IMPORTANT] For Docker users: If the Docker container appears unhealthy after the upgrade, recreate the container if you are using an auto-updater and check you have no
healthcheckoverride in the Docker compose.
Key highlights
Kanban board overhaul by @adoriandoran
The board has been rebuilt to handle real projects. Give each column an icon, a color or a card limit, collapse the columns you're not working on, and archive them once they're done. New notes that don't belong to a column yet land in an optional Inbox column. Cards can be created from a template (e.g. a Bug template for a bug tracker), and Board properties controls which attributes the cards show and in what order. You can also switch the attribute the board is grouped by at any time, and each grouping keeps its own columns.
As a board grows, sort columns automatically by title, date or any attribute, and narrow the board with the filter box in the header, which accepts the full search syntax. Select several cards with <kbd>Ctrl</kbd>/<kbd>Shift</kbd>+click to move, edit or delete them together. Use Copy reference to link to a card or column from any note. The whole board works from the keyboard (<kbd>Alt</kbd>+<kbd>F1</kbd> lists the shortcuts) and by touch on mobile, and a column with thousands of cards now stays smooth.
This concludes the phase two of the board collection, more features to come.
Significant improvements to search
- Matching by @perfectra1n
- Punctuation-aware exact matching:
=syncfinds(sync),sync,,"sync"(#10616) - Fuzzy tolerance now scales with term length (0/1/2 edits); a substring is no longer treated as a typo
~*matches fragments again; fuzzy fallback extended to note body content- Link previews and reference-link target titles are indexed and searchable
- Diacritics normalized for highlighting too, not just matching
- Ranking: results ordered by match quality (exact phrase > proximity > word > prefix > substring > fuzzy), bounded so content never outranks a title match.
- Results view by @perfectra1n
- Google-style snippet cards with breadcrumb and matched-attribute badges (#5667, #6225)
- Always-visible result count + synced 10/20/50/100 page-size option
- Fuzzy matches highlighted distinctly (dotted orange) from exact ones;
%=regex terms highlight correctly (#5332) - Jump to match by @perfectra1n: clicking a result opens the note at the first match with the find bar pre-filled; collapsed sections expand automatically (#3098, #10616). Jump to Note stays a title-only navigator (no misleading content snippet).
- Improved the speed of the jump-to-note significantly by optimizing the search itself, but also by honoring the option to disable fuzzy search in autocompletion (which was disabled by default but not used at all).
Geomap now features a built-in location search, current position indicator and shapes
The geo map has a new search bar. As you type, it finds the markers, tracks and shapes already on your map. To search the rest of the world, pick the row that offers it and it asks Nominatim; nothing is sent while you're still typing. Results are sorted by distance and favor what's on screen, so a shop searched from your own town finds the one down the road. Towns and areas show their outline, and any result can be kept with Add as marker. You can also paste coordinates to jump straight to a spot.
You can also draw on the map now: paths, areas, rectangles and circles. Each shape is a note, so it takes the note's color and icon and opens in the same panel as a marker. Places shown on the map itself, like shops or beaches, can be clicked and added as markers too. On a phone or tablet, the new locate button shows where you are, so it's easy to see what's nearby.
Templates can now define a default parent for new notes
Add a ~template:newNoteDefaultParent relation to a template note, pointing it at the note where its instances should live (e.g. a Person template pointing at People). When you create a note from that template (via Choose note type, @\-completion, Create and link child note, or the attribute editor) and don't explicitly pick a location, the note lands under that default parent instead of your current note. Picking a path yourself always takes priority, and the tree's Insert child note / Insert note after remain unaffected.
And others...
- LLM: Added support for Google Antigravity, which can be used with a free plan as well.
- The application gains a proper loading screen instead of a plain white background until everything has loaded.
- OCR now properly supports image (scanned) and vector-based PDFs.
- Sorting now supports multiple criteria by @BeatLink & @eliandoran
- Search (full search, quick search) now have syntax highlighting, autocompletion, @-note insertion. In addition, the search is checked for errors which are displayed in-line. Full searches are now multiline.
- Icons (just like the note icons) can now be inserted in text notes.
Bugfixes
- Sidebar buttons overlap with the tab buttons at small sizes
- LLM
- Claude Code / Copilot integration would sometimes not be able to find the binary, if it was installed through
npmon macOS. - Error shown when interrupting a stream from Claude Code.
- Markdown import would not preserve checkboxes when split by line breaks
- Startup-metrics.log file appearing in Home directory
- macOS app icon renders as colored noise at small sizes
- Notion import: Creation date is not preserved for some notes despite being present in the HTML export
- Auto read-only mode renders note content with slightly different vertical spacing than edit mode
- Sync from desktop fixes by @emxv
- Don't show loopback in the list of networks
- Layout issues on mobile
- Automatic light/dark theme switching sometimes doesn't properly update on Linux
/assets/vXnot working.- Search: Tokenize ~= and ~\* as single fuzzy-match operators by @mrbeandev
- In-page search (Ctrl+F) does not find text inside inline, cards, and internal links by @maphew
- Formats and attributes disappear after switching note type to Markdown and back by @jmrplens
- Calendar is recreated when using "New note" launch bar item (and through other note-creation mechanisms)
- Search: commas in quoted text are improperly handled by @yzxcj797
- Base URL for custom LLM providers is incorrect
- Multiple icon picker windows appear by @maphew
- Child note preview readability degrades when the code note's theme (dark/light) differs from the global appearance theme
- Two collapserelated enterkey bugs for todo/unordered lists by @maphew
- Quick Search does not limit to hoisted hidden notes
- Search finds bookmarked notes in hidden tree
- Sidebar on mobile doesn't account for splits.
- OIDC logout fails when end\_session\_endpoint is cross-origin due to XHR/CORS by @dajiaohuang
- Markdown active block indicator doesn't work properly for all block types (e.g. admonitions).
- Pressing Ctrl+M when not editing a text note minimizes Trilium by @maphew
- Missing non-breaking space between reference link icon and text by @maphew
- Bookmarked note icons in the launch bar: "Open note in new tab" always adds a tab at the very end by @maphew
- Keyboard navigation in Promoted Attributes -- Relations are skipped by @maphew
- Typing quickly after Ctrl+L causes search text to be added to note by @maphew
- Table collection: Tab to next table view field in new record results in original field being focused
- Disappearing/reappearing checkboxes in collapsible block
- Multi-value label promoted attributes lack autocompletion
- Error with Mermaid ("The matrix is not invertible")
- Dropdowns not closed when they become disabled by @maphew
- noteId is not validated when forced, leading to broken note links by @maphew
- Some tooltip and context menu glitches (partial) by @maphew
- shareAlias links not clickable in shared notes by @maphew
- Attribute #shareExternalLink has no effect by @maphew
- "English RTL" language would show up in the initial setup.
- Table: # column doesn't auto-resize properly
- LLM: Keep the chat SSE stream alive across idle proxy timeouts by @ltomazetto
- \--start-hidden / "Start minimized to tray" does not hide window on startup (Linux, all configs) by @maphew
- Browser navigation not handling note navigation properly by @maphew
- Deleted notes would appear as empty notes (no content, no title) after a heavy sync
- Right clicking some links would open the link instead of just displaying the context menu.
- Windows reserved name handling didn't account for extensions by @sxh313
- Search doesn't support escaped characters such as & by @shx313
- Canvas: inserting images and exporting drawings failed on the desktop app by @adoriandoran
Improvements
- Markdown import/export: maintain collapsible attributes and preserve formatting as much as possible when converting to HTML and vice-versa.
- Geomap improvements:
- New markers now follow
#titleTemplate - GPX tracks have a dedicated icon and their name no longer carries the extension when imported.
- Automatic light/dark mode for vector themes
- Docker healthcheck script has been improved to be faster and with less CPU usage. The health-check now reports the right status, even for self-signed certificates.
- Presentation collection has a few new themes.
- Markdown: strip
<style>tags from previews. - Desktop: Extra windows (e.g. opening a note in a new window) now open much faster.
- Share: show the matched content when displaying search results.
- Note autocompletions (e.g. @-mentions) now also offer to create notes in the journal/inbox instead of as child notes.
- Highlight active title in the table of contents by @SiriusXT and @eliandoran
- Printing: use the note title instead of a generic "Trilium Notes" by @yzxcj797 and @eliandoran
- Scripts can now return multiple widgets by @BeatLink
- Keep the tree and the note in place when deleting a note by @perfectra1n
- Improved code notes scroll performance
- TOTP now enforces that a code can only be used once and it tolerates clock drift by @jmrplens
- The text note context menu is now available for the web version too.
- Show "Full search" at the bottom of quick search by @BeatLink
- API log is now available on mobile as well.
- Slash command for upload image.
- Quick search can now be navigated with the arrow keys by @BeatLink and @eliandoran
- Drag & drop imports in the note tree now recognize Obsidian vaults
- Promoted attributes: relation with multiple values now have links to quickly navigate to the note.

