Skip to content

v0.107.0

Latest

Choose a tag to compare

@eliandoran eliandoran released this 08 Nov 22:06
· 5 commits to main since this release
d83d715

v0.107.0

Note

If you enjoyed this release, consider showing a token of appreciation by:

Tip

For Linux users: Trilium is now available on Flathub!

This is the release where a text note stops being a single document. Notes can be embedded, quoted and referenced inside other notes and edited where they appear, laid out in columns and tabs, and mixed with drawings, attached files and video. Tables in text notes get the tools they had been missing, from merged cells to sorting, and the old layout is gone, a year after the new one replaced it.

Around the editor, the parts of the app that everyone touches were rebuilt: the context menus and the note autocomplete, the full search and the jump dialog, the launch bar and the tree. Shared pages look like the app again and render collections with their own views, and the calendar and geo map collections get the properties dialogs the board already had.

The AI integration becomes something to trust with a real database: every tool call asks before it reads or changes a note, a ChatGPT Codex subscription can stand in for an API key, and local models get web search through a search engine of your choice. On phones, iOS has a new layout and both apps navigate without a sidebar.

💡 Key highlights

The text editor became a block editor

A text note used to be a document: one body of rich text, with other notes reachable only through links. It is now a composition. A note can embed another note and let you edit it where it sits, quote a few of its blocks and keep the quote current, or point at one paragraph of it instead of at the whole note.

  • Editable transclusion: an included text or code note is edited inside the host note with the full editor, and one undo history covers both.
  • Live excerpts quote blocks of another note. They stay in sync, and an edit made in the excerpt is saved back to the source.
  • Block references link to a paragraph, heading, table or range of blocks. The target opens scrolled to the block and highlighted, and on a shared page every block has a public link of its own.

Layout caught up with content. Multicolumn layouts put two to four columns side by side and stack them on narrow screens. Drawing canvases are sketched in place with Excalidraw and saved with the note. Files are attached in one step, as inline embeds for PDFs and spreadsheets or as links, and YouTube videos and web audio or video play inside the note. A block handle moves blocks, images and tables, a "+" on an empty line opens the slash commands, and one link dialog serves web links, note links and anchors from a popover at the cursor.

The include box itself was reworked: a compact title row with a caption, fullscreen, a link from the embed to its note and back, Markdown included as source, split or preview, code with folding and line numbers, and resizing by dragging a corner or an edge.

Contributed by @adoriandoran.

Tables in text notes

Tables were the editor's weak spot: no merged cells, no sorting, and anything past a few rows meant switching to a spreadsheet note. The table context menu now merges and unmerges cells, distributes columns, and inserts or deletes many rows and columns at once. A column sorts by its values, with dates, times, numbers and text detected and ordered per the note's language, and Alt+arrows move rows and columns while keeping merged cells and header rows intact.

Wide tables scroll sideways under a sticky header, and on touch screens a column bar resizes and selects columns while corner handles select cell ranges. The insert form takes any size up to 1000 × 100, with header rows and columns.

Contributed by @adoriandoran.

AI that asks before it acts

Two things kept many users away from the AI integration: paying per token, and handing a model write access to their notes. Both change in this release.

ChatGPT Codex subscriptions, including the free plan, and OpenRouter join Claude Code, GitHub Copilot and Antigravity as providers, so an existing subscription can drive Trilium's chat. Custom search engines (Brave Search, Tavily, Exa, Serper, Perplexity, or a self-hosted SearXNG) give web search to local models and to providers that have none of their own, such as DeepSeek.

Before a tool runs, the chat shows what the AI is about to read or change and waits for you to allow or deny it, for that call or for the rest of the conversation. The Tools menu sets the default: always ask, ask only before changes, or never ask. It works the same with API keys and with subscription providers.

Shared pages look like the app

A note shared to the web rendered in a theme of its own, and a shared collection appeared as a plain list of its children. Shared pages now use a theme built from the app's own look, in light and dark, and a shared board, table, calendar or other collection renders with the same view it has inside Trilium.

Drawings appear as theme-aware SVG pictures instead of a download link, and every block of a shared note has a public link, copied from its block handle, that opens the page scrolled to that block.

Mobile without the sidebar

On a phone, the sidebar was both the note tree and the only way around the app, and it covered the note every time it opened. The iOS and Android apps get a navigation system that does without it, and iOS gets a layout redesigned in the style of iOS 26.

While editing, the formatting toolbar floats over the note as a compact island, shown only while you type, and brings the widget, link and list toolbars along.

🔄 Compatibility

🚨 Breaking changes

  • The old layout has been removed. It's been almost a year since the new layout was introduced and we believe it has been polished enough to see day-to-day use. For more information, see the corresponding GitHub Discussions post.
  • Multi-level #sorted values introduced in v0.106.0 must now write labels with #, as search's orderBy does: #sorted="priority desc, dueDate" becomes #sorted="#priority desc, #dueDate". Values without # fall back to sorting by title. A single name (#sorted=myOrder) and property-only values (dateModified desc, title) are unaffected. See Sorting Notes.
  • POST /etapi/auth/login now requires a code if TOTP is enabled. Check the API documentation for more information.

📱 Mobile improvements

  1. Android Tablet: Note menu not scrollable
  2. The text formatting toolbar on phones floats over the note as a compact island, shows only while editing, and brings the widget, link and list toolbars along. (#12184, #12187)
  3. The sidebar toggle does nothing on tablets by @6801318d8d
  4. Android Back button exits the app instead of closing open menus
  5. Mobile UI: Add a way to return to the currently open note
  6. Table of Content visibility toggle for smartphone/mobile screens

🐞 Bugfixes

  1. Searching protected notes failed on synced instances.
  2. Interface: Keyboard shortcuts did not work on non-Latin layouts (Russian, Greek).
  3. Sync could lose note modifications.
  4. Interface: Opening Settings froze the app for about six seconds on Windows.
  5. Authentication: Logging in through OIDC failed since v0.105.0 behind Nginx Proxy Manager ("auth_verification cookie not found") and with Pocket ID. (#11234, #12301)
  6. LLM: Chrome and Edge crashed (STATUS_BREAKPOINT) when opening notes with the AI integration enabled.
  7. Markdown: Importing Markdown turned any text containing $ into a math equation. by @SulimanAbdulrazzaq
Tree (6)
  1. Left sidebar spacing is too large compared with the previous version at larger font sizes
  2. Editing reopens collapsed ancestors with “Follow active note” disabled
  3. Ghost note remains when moving multiple notes into a newly created note (not yet a folder)
  4. Expand/collapse subtree didn't work correctly in some circumstances
  5. Adding sub-children to a note would not re-sort when #sortFoldersFirst was set.
  6. Deleting the last item of the root would reveal the hidden notes.
Printing (3)
  1. Print preview gets stuck and leaves an unresponsive dot/element
  2. Some issues with printing: wide images would make scale the text too small, keyboard shortcuts lacked styling and Gantt Mermaid charts would not render when printing on the browser.
  3. Print/PDF ignores ~printCss when Trilium is served from a subpath (absolute /api URL 404s) by @pcbeingused333
Markdown (3)
  1. Any markdown text containing $ gets converted into math equations during import by @SulimanAbdulrazzaq
  2. Content not reloaded when switching between markdown notes with preview mode enabled by @drakeo338
  3. Markdown Preview Mode: Table of Contents links do not navigate to headings
Board (6)
  1. Kanban inherited attribute no longer showing
  2. Kanban board doesn't display attributes with colon in name, possibly similar issues in more places by @hippi345
  3. Collapsed Kanban board title renders CJK characters upside-down
  4. App slows down while a search is active in the board
  5. Board timing issue when removing items by @irontaek & @eliandoran
  6. Deleted the 'Status' Attribute from Kanban keeps coming back by @Rowee13
Text editor (9)
  1. Several reference links in the same paragraph would display strangely in the backlinks view
  2. Dragging an admonition as a block leaves an empty admonition in its place.
  3. Copy Formatting causes editor restart when applying formatting to an entire list item by @SwastikTripathi
  4. Deleting an included note glitches out text selection by @scottcampbelldata
  5. CKEditorError: marker-destroyed when editing during search
  6. Under HTTP protocol, clicking the "Copy Code" fails to copy by @SwastikTripathi
  7. Math mode sticks with the same LaTeX code by @adoriandoran
  8. Spellcheck marks formatted words as incorrect on Chromium
  9. Cannot select text in pasted excerpt while editing a Text note
General (2)
  1. The standalone (in-browser) version could hang on the splash screen after a reload.
  2. A background tab throttled by the browser could warn of a lost websocket connection that was not lost. by @silverwzw
LLM (5)
  1. Deleting a chat and starting a new conversation would replace the last one.
  2. AI Chat / LLM Notes Drop Output from Claude API by @yzxcj797
  3. safe_fetch.ts blocks Tailscale IPs
  4. set_attribute silently replaces same-name labels (by @eliandoran) and there is no way to create inheritable labels (by @pcbeingused333)
  5. Links in content written by the note tools were not recorded as links of the note. by @Marceltov
Interface (8)
  1. Some toast and error messages would display with HTML-escaped text
  2. Note paths status bar would overflow on very large paths
  3. Setup can get cutoff on smaller screens with large DPIs
  4. Attachment list context menu tooltip cut off.
  5. Open sidebar would leave a gap in zen mode.
  6. RTL fixes: title bar buttons not correctly aligned on Windows and the arrow pointing in the wrong direction in the breadcrumb.
  7. Legacy theme doesn't render the note badges
  8. "..." menu state remains stale (shows attachment menu) after returning from attachment view to note by @akasakariko
Code (2)
  1. Code note suggestions cut off on Safari for small notes
  2. Find and replace does not work in Code notes
Share (5)
  1. Clicking a ToC item on mobile would not dismiss the sidebar by @perfectra1n
  2. Keep notes hidden from the tree out of subpage lists
  3. Close mobile panels when going back with the browser
  4. Shared note links do not contain full server URL when generated on desktop (#8791) by @jayhormes
  5. Share would display the text content of a collection by @StephenArg
Search (10)
  1. A few full search quirks , such as search not accounting for accents when scoring results or the table view freezing when there was a large number of results.
  2. Searching for a word containing # drops everything after the #.
  3. Saved search: the "Search now" button does not run the saved search, it creates a new empty search note and shows every note in the instance by @dajiaohuang
  4. Tree Quick Search fails when / is in the middle of the query on some reverse proxies by @maphew & @eliandoran
  5. A query whose text starts with "#" never loads note sizes, so the same query answers differently depending on what was searched before it in that process by @yzxcj797
  6. Many unnecessary requests made when referencing a non-existent note in the search query.
  7. Sometimes show the wrong result if typing too fast.
  8. Open in all tabs doesn't automatically search for the text
  9. AND operator highlighted and searched for in an expression.
  10. Auto-completion disappears on space
Spreadsheet (2)
  1. Paste from Excel brings in a custom font
  2. Sorting criteria is unclickable
Calendar (2)
  1. Calendar and geomap can crash when deleting a note that is highlighted.
  2. Calendar hours would shift for a recurring event with an end date
Attributes (3)
  1. Aliases for Label/Relation definitions are not escaped by @maphew
  2. Promoted multi URL attribute values not clickable in interface by @kleutzinger
  3. RunOnAttributeChange OriginEntity is incorrect when attribute contains multiple values
Import and export (1)
  1. Importing a ZIP archive containing notes without a title would give them an auto-generated title.
Web clipper (1)
  1. Clipping a page again would clone its note back into the clipper inbox, even after it had been moved elsewhere by @contributor
Sync (1)
  1. Always error connecting to sync server after wrong DNS configuration once
Mermaid (1)
  1. Issue with previews of Mermaid child notes
Drawing canvases (2)
  1. Referenced canvas note does not update after change
  2. Canvas flashes when drawing a shape by @6801318d8d
Desktop (2)
  1. ENOENT: no such file or directory on macOS
  2. Unable to extract text from scanned PDFs on the desktop app.
Mind map (1)
  1. Mind map didn't always render the node connections in quick edit and it could crash in some circumstances when switching between notes.
Tabs (3)
  1. Scroll position in text note tabs is not preserved when switching away from the tab and back in specific conditions by @scottcampbelldata
  2. Tab bar gets clipped on browser PWAs
  3. Temporary edit mode behaves inconsistently across tabs after refreshing
Render notes (2)
  1. Modal triggered from render note appearing behind title and backdrop by @tollenceld
  2. A JSX render note's own styles were not applied. by @s31teg
Quick edit (1)
  1. Quick edit would not always display the promoted attributes.
Table collection (3)
  1. Whole table row sometimes becomes draggable
  2. Table not visible on viewType=Table note
  3. The New row and New column buttons of an embedded table did nothing. by @DrakenKor
ETAPI (1)
  1. Note search ignored orderDirection. by @pcbeingused333

✨ Improvements

  1. Interface: Context menus and note autocomplete were rewritten from scratch. Menus gain keyboard navigation and better accessibility, no longer clip, and the note tree menu is more compact. Autocomplete has a modern design, the command palette, link and relation pickers, @-mentions in text and Markdown notes and attribute value suggestions. (#5493, #11896, #11833)
  2. Text editor: Theme-adaptive colors: text, highlight and table colors stay legible when switching light and dark themes by @adoriandoran
  3. Text editor: Smarter paste: text copied from Chrome and Chromium-based applications (e.g. VS Code) is stripped of colors, backgrounds and table styling.
  4. Desktop: Meetings can be transcribed locally (experimental), with an on-device speech model downloaded on demand, live audio levels, a transcript card that can be copied and a consent reminder. (#12079, #12083, #12101)
  5. Collections: Geo map properties dialog, with image maps set up graphically: pick an image note as the map (a fantasy world, a floor plan, a campus), choose between the image's own pixels and custom corner coordinates, toggle a dark style, and set the map style, scale, labels, clustering and nesting depth, all of which were hand-written #map:* attributes before.
  6. Calendar: The calendar collection catches up with the board: a properties dialog, attributes on events, and recurring events that know their age.
    • The Calendar properties dialog lists the calendar's settings (hidden weekends, week numbers, time slots, archived notes) and its event templates in one place, and an Event attributes card chooses which attributes the events show and in what order. Attributes nobody has arranged stay off the events, so existing calendars keep their current chips.
    • The event context menu sets an event's attributes in place, as a board card's does, so a flag, state or date changes without opening the note.
    • A yearly event can show how many years it has recurred: with Yearly selected, the Repeats dropdown offers "Show the number of years in the title", which writes #calendar:titleTemplate="${title} (${years})" on the event. A birthday entered once in 1990 reads "Ana's birthday (36)" in 2026 and counts up every year.
    • Routine events (a daily stand-up, lunch) can be hidden from the month, year and list views through the properties dialog.
  7. Performance: Faster everywhere: background and restored tabs load on first view and a tab switches on mouse press, Chromium and the desktop app no longer restyle the whole page on every change (about 30 ms each), scrolling is smoother, and handwriting on canvases has 97% fewer slow frames and uploads 80% less. (#12189, #12327, #12283, #12334, #12324) by @adoriandoran
  8. Interface: Renamed: "Clone" is now "Copy" in the tree menu, with a tooltip explaining that it pastes as a clone (#12230, by @adoriandoran); the "Boolean" promoted attribute type is now "Checkbox" (#11738); "Open note custom" is now "Open with", with a portal-based app picker on Linux, macOS support and a clearer notification when the note changed (#7258, #12418).
LLM (14)
  1. Thought process now renders with Markdown formatting and in the right order.
  2. Clicking an image in the conversation now displays a modal with the full image
  3. Deepseek now displays the thinking process, better title generation and an effort selector. Refresh your models to apply the changes.
    In addition, Deepseek added built-in search which is now integrated in Trilium.
  4. Tool calls not properly displayed for subscription-based providers.
  5. LLM can now change the note type and MIME.
  6. Improved the display of tool calls and their results.
  7. The LLM can now create render notes and other scripts more easily, with attributes disabled just like a safe import.
  8. Improved title management for Claude Code, and process management of Antigravity & other ACP-based providers.
  9. Title generation would use the first configured provider instead of the selected one.
  10. Use adaptive thinking for the Claude 5 models & set Gemini chat defaults (#12168, #12176) by @pcbeingused333
  11. Keep the Claude Code model list current and dim the Options dialog under its confirmation by @s31teg
  12. Add a label to avoid exposing certain notes by @BeatLink
  13. Better understanding of the front-end and back-end APIs.
  14. OpenRouter can now be used as a provider.
Text editor (39)
  1. Math equations in text note: add a toggle to enable/disable the visual editor by @Meinzzzz
  2. Insert button opens a labeled menu with submenus for Mermaid diagrams, date/time and layouts by @adoriandoran
  3. Color palette reorganized into four greys and the 11 note hues, with "Ab" sample tiles (#11788, #12516) by @adoriandoran
  4. Attachment links get preview tooltips, the full attachment actions menu and a Download button (#11795, #12467) by @adoriandoran
  5. Include boxes reworked: Compact row, captions, hidden title, fullscreen, link to embed and back, no scroll capture (#11798, #12085) by @adoriandoran
  6. Resize includes, attachments and drawings to any width and height by dragging their corner or edges (#11829, #12435) by @adoriandoran
  7. Block drag handle in the fixed toolbar layout moves blocks, selections, images, tables and includes by @adoriandoran
  8. Broken reference link are now shown with a distinct red color and icon and their original title instead of a generic [missing text]. Clicking on a broken reference links allows to easily fix it by replacing it with a fresh reference link.
  9. Preserve indentation copying rich text to plain-text
  10. Content tabs: one scrolling title row, titles above or below, a More actions menu, delete all tabs (#12063, #12085, #12120, #12488, #11941) by @adoriandoran
  11. Long tab and include titles stay on one line and scroll sideways by @adoriandoran
  12. Arrow keys move the caret into an editable include and back out into the note by @adoriandoran
  13. Keyboard editing of columns and tabs: move content between them, add and reorder them with Ctrl shortcuts by @adoriandoran
  14. Search in note also finds and replaces text inside included notes, and finds text on drawing canvases (#12120, #12488) by @adoriandoran
  15. Markdown in includes: source, split or preview mode, editable in place with a live preview by @adoriandoran
  16. Mermaid diagrams can be embedded in text notes.
  17. Mermaid diagrams render in the preview of included Markdown notes by @adoriandoran
  18. One undo history for the note and everything edited in its embeds: code, Markdown, Mermaid, drawings by @adoriandoran
  19. Table borders in text notes are too bright on the dark theme
  20. Align list bullets with content
  21. Text editor popups restyled to match the app: forms, color grids, emoji and special characters by @adoriandoran
  22. Math dialog restyled, with resizable fields and tooltips that are no longer cut off by @adoriandoran
  23. Extended code blocks (experimental): code-note editor inside text, 156 languages, folding, fast on long code. Enable it in Options → Advanced → Experimental Options. by @adoriandoran
  24. Sort selection (experimental): sort list items, paragraphs, blocks or table rows by value. Enable it in Options → Advanced → Experimental Options. by @adoriandoran
  25. Clear error boxes for deleted includes and for embeds from newer versions, which survive a save by @adoriandoran
  26. New child note button: creates a note, links it at the cursor and opens it in quick edit by @adoriandoran
  27. YouTube videos as embeds: insert button, resizable, aligned, captioned, true aspect ratio, HD thumbnails (#12358, #12420, #12435) by @adoriandoran
  28. Block handle menu: insert above or below, cut, copy or delete whole blocks; "+" on empty lines opens slash commands (#12399, #12516) by @adoriandoran
  29. Link to a heading from the link dialog; the link follows the heading's text and jumps within the note by @adoriandoran
  30. Position embeds like images: align left, center or right, or wrap text around drawings, includes and videos (#12420, #12435) by @adoriandoran
  31. Paste button on the address fields of the link and video prompts by @adoriandoran
  32. Resize handle hints and restyled selection chrome on embeds and widgets by @adoriandoran
  33. Include note dialog opens next to the cursor; note fields stop popping suggestions on focus by @adoriandoran
  34. Link toolbar with a More actions menu, a right-click link menu, auto-filled page titles, unsafe URLs refused (#12467, #12516) by @adoriandoran
  35. Audio and video files from a web address play inside notes, loading nothing from the host until play by @adoriandoran
  36. Link gets its own toolbar button; Footnote moves into the Insert menu by @adoriandoran
  37. Ctrl+click or double-click follows a link in the current tab; clearer cursors over links by @adoriandoran
  38. Simplify the sizes of embedded content to Compact, Resizable, Full and Expandable, and add a Default option that restores the original size by @adoriandoran
  39. Make the math dialog resizable, and keep it open after a stray click while you edit a formula by @adoriandoran
Search (12)
  1. Slight improvements to the quick search.
  2. Tolerate parenthesized expressions that don't start with a # by @PloneMraz & @eliandoran
  3. Rank the two-pass cut by depth, not by scan order by @eliandoran & @sxh313
  4. Opening a saved search runs it, so one kept open as a dashboard no longer needs Search now after every start.
  5. Search now supports looking for links (reference links or relations) and backlinks
  6. Improved note.mime auto-completion.
  7. The jump to note has been modernized with a fresh footer and a content preview.
  8. Refreshed the design of the bulk actions with more a compact layout and auto-completion for label & relation names, label values and suggestions for the execute script rule. (#12086, #12104)
  9. Improvement in performance when searching in a subset of note (ancestor)
  10. Search parameters and bulk actions laid out as cards instead of tables by @adoriandoran
  11. Full search has been reworked: improved layout, improved preview with expandable items. The original list view is also brought back.
  12. Add an option to hide search actions from the text-selection context menu
Scripting (3)
  1. Improved the display of script errors
  2. Render notes can now be printed.
  3. Improved the user experience and performance of script auto-complete.
Tables in text notes (8)
  1. Insert table form: type any size (up to 1000 × 100) and set header rows and columns (#11774, #12318, #12399) by @adoriandoran
  2. Move table rows and columns with Alt+arrow keys, keeping merged cells and header rows intact by @adoriandoran
  3. Table clipboard: paste as new rows above or below, copy only the selected cells, Copy and Paste submenus (#11774, #11786) by @adoriandoran
  4. Table sorting by column, with dates, times, numbers and text detected and ordered per the note's language by @adoriandoran
  5. Touch table editing: a column bar to resize and select columns, corner handles to select cell ranges (#12077, #12085) by @adoriandoran
  6. Wide tables scroll sideways, header rows stay sticky, tables on phones keep their desktop width (#12077, #12085) by @adoriandoran
  7. Middle mouse button no longer selects table cells or starts a column resize by @adoriandoran
  8. Table look: header shade per theme, selection in the note's hue, gutter-style column resizer by @adoriandoran
Markdown (2)
  1. Reference links can now easily be created via [[ or @-mentions like on text notes, and they display as a chip with title and icon.
  2. Preserve more code languages in Markdown import/export.
Tree (7)
  1. Moving multiple items are now batched, making it a more efficient operation.
  2. Duplicate now features a submenu to duplicate only the note without its children
  3. Sort Archived Notes Last
  4. Peek the note tree as a floating panel in both layouts (Alt+[), with tree settings that apply instantly (#12189, #12217) by @adoriandoran
  5. Show all notes button above a hoisted tree by @adoriandoran
  6. Locked protected notes read "Protected" in the tree, tabs and breadcrumb instead of [protected] (#12230, #12260) by @adoriandoran
  7. Display density option for the note tree by @adoriandoran
Relation map (2)
  1. Copy notes from tree and paste into relation map
  2. The relation map was redesigned: cards show icons and note colors, clicking a note opens a side panel instead of leaving the map, and creating notes and relations is simpler.
Interface (11)
  1. Avoid the Dark Reader browser extension from affecting Trilium's dark themes.
  2. Improved the design of the icon picker.
  3. Aligned menu items that require user feedback to end in “…”.
  4. The plus button on the tab bar now has a context menu to quickly enter workspaces.
  5. Menu polish: pinned filter with a clear button, menus opening upward, steadier submenus, heading buttons (#12189, #12260, #12288) by @adoriandoran
  6. Leave full screen button in the tab bar; full screen also detected in the browser by @adoriandoran
  7. Theme submenu in the global menu switches color scheme or theme without opening Options by @adoriandoran
  8. Improved the layout of some dialogs such as the add link, include note and choose note type.
  9. Back and forward history menu on right-click or hold; going forward after going back works again (#12230, #12260) by @adoriandoran
  10. Drop files from the computer onto a note's attachment list to upload them by @adoriandoran
  11. Filterable child note menus in the breadcrumb by @adoriandoran
PDF (1)
  1. PDF: copy a reference link that brings you to a page or an annotation.
Quick edit (2)
  1. The quick edit now has access to note badges, backlinks and a subset of the note actions. Scripts can also be run directly from the quick edit, including the possibility of accessing the API log.
  2. Quick editor: improve the formatting toolbar on mobile and add a find in text function.
Drawing canvases (5)
  1. Convert an image into a drawing canvas to annotate it, with the image locked as the background by @adoriandoran
  2. A drawing shown in several places updates in place and never overwrites unsaved strokes by @adoriandoran
  3. Thin pen stroke option for handwriting on canvases by @adoriandoran
  4. Drawing canvases on phones: the note scrolls over them until a tool is picked, edge rail, bottom properties sheet by @adoriandoran
  5. Zoom to fit and Reset zoom menu for drawings by @adoriandoran
Collections (3)
  1. Hide "Add column" button on Kanban board
  2. Table, geomap & board now have a maximum nesting depth to limit the items displayed to only children or any custom level of depth.
  3. Presentation collection
    • Slides keep a 16:9 shape and fit their content as the pane changes.
    • Web view notes can show their pages as presentation slides.
    • Board and table collections can fill a slide with their cards or rows.
    • Text and canvas slides can be edited directly in the presentation.
    • A slide sidebar lets presenters navigate and change the deck.
    • Canvas and code previews follow the page's color scheme and saved content.
    • Shared overlay controls can show menus and shortcuts in a consistent style.
Share (3)
  1. Copy a public link to blocks of a shared note from the block handle by @adoriandoran
  2. Drawings appear on shared pages as theme-aware SVG pictures instead of a download link by @adoriandoran
  3. Shared pages scroll to and highlight linked blocks and anchors without reloading (#12069, #12399) by @adoriandoran
Attributes (4)
  1. Allow multi-value attributes to have duplicate values
  2. Templates can now have a custom title template for their newly created instance notes and they have a dedicated badge near the note actions with a configuration screen.
  3. Attributes in the right panel can now be selected and copied and pasted or deleted in bulk.
  4. Improved the design of some promoted attributes such as the URL.
Settings (2)
  1. Stop reloading the frontend after erases and consistency repairs.
  2. Content languages managed as a list with a searchable picker by @adoriandoran
General (2)
  1. The in-app help has been rewritten to make use of “virtual notes”, meaning that they are no longer saved in the database, making sync and history cleaner. As a result, search can also be used.
  2. PWA: Support sharing to the app via the Web Share Target API by @bdolgov & @eliandoran
Code (7)
  1. Included code shows in a read-only code editor with folding; language, word wrap and line numbers per include (#12126, #12142) by @adoriandoran
  2. Improved the design of code notes, Markdown and Mermaid notes.
  3. Code previews and shared code notes use the code editor's highlighter, theme and line numbers by @adoriandoran
  4. Code editor Transform menu: sort, shuffle, dedupe lines, trim whitespace, change case, remove accents by @adoriandoran
  5. Code status bar shows line, column and selection size; global line numbers toggle by @adoriandoran
  6. Code languages in Options: add, remove and reorder them; new Trilium Search Query language by @adoriandoran
  7. Mermaid gains a few more samples (event modeling, use case & agent flow), as well as full syntax highlighting for all the 32 diagram types (from 7 diagram types previously supported).
Server (3)
  1. The server now displays the network addresses it is listening on (except for Docker and not stored in the logs).
  2. The server-side logs are colored.
  3. Backend log highlights slow SQL queries and logs searches with their result counts by @adoriandoran
Table collection (6)
  1. Support built‑in note fields (createDate, modifiedDate)
  2. Faster loading for large tables.
  3. Tabular alignment for dates and numbers.
  4. A better way to open note titles
  5. Small refresh of the design to make it more modern.
  6. Checkboxes are now aligned with promoted attributes and are now easier to edit.
Launch bar (4)
  1. Drag notes from the tree onto the launch bar to add buttons for them by @adoriandoran
  2. Bookmark folders become nested, filterable menus; any note on the launch bar can be shown as a folder by @adoriandoran
  3. Recently changed notes listed in the menus of the new tab button and the Recent Changes launcher by @adoriandoran
  4. Launch bar open mode: bookmarks open in a new tab, split, window or quick edit (#12327, #11769) by @adoriandoran
Flatpak (6)
  1. Tray icon image not shown
  2. Hide unsupported current location button for the Geomap
  3. Encrypted backups are now supported.
  4. Launcher now has an action to open in a new window.
  5. Auto-launch should be functional.
  6. AI: Subscription-based providers not working, now there is a way to get it to work via an optional permission override.
Import and export (2)
  1. Export a single mind map note as .json instead of .dat by @SwastikTripathi
  2. ETAPI imports accept application/zip by @junkerderprovinz

📖 Documentation

🌍 Internationalization

  1. Vietnamese by @PhucDuong12345
  2. Persian (Farsi) by @F50Ci37Y
  3. Danish by @badstue

🛠️ Technical updates

  1. Reduced the bundle size by a few megabytes. (#12335, #12352)
  2. Removed deprecated libraries such as the jQuery autocompleted.
  3. POST /login without password field hangs the request forever.
  4. FormTextArea doesn't update when currentValue prop changes by @hippi345

🔒️ Security improvements

  1. Synchronizing with a new device now requires TOTP if one is set. Existing synchronization is not affected. The secret length has also been increased but this affects new users only. (#8209, #8272, #5650)
  2. Update Node.js to v24.22.1 (CVE-2026-111497) (#12223, #12213) by @UnknownObject000
  3. Fixed a few low and medium-priority security reports regarding ETAPI.
  4. Prevent large entries during ZIP import from crashing the app.