v0.107.0 #12537
Replies: 8 comments 4 replies
|
you mentioned some mobile improvements, when would we see an official release for the mobile app? |
|
Amazing work as always guys. |
|
The release is mind-blowing, thank you! |
|
Nice update ! |
|
Love Trilium Notes. Completed this week moving over 1000 notes from OneNote & another manager into Trilium. So far Tabs, Column, Block move = super useful! |
|
do we get an overhaul of the tablet interface as well? |
|
You noted that Trilium is available on Flathub, but it appears to be stuck and isn't receiving updates. It is still on version 0.106 and hasn't picked up v0.106.1 or this (v0.107) release. |
|
Seeing what the AI is about to change before I approve it makes a lot more sense than a blanket permission. |
Uh oh!
There was an error while loading. Please reload this page.
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.
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
#sortedvalues introduced in v0.106.0 must now write labels with#, as search'sorderBydoes:#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/loginnow requires a code if TOTP is enabled. Check the API documentation for more information.📱 Mobile improvements
🐞 Bugfixes
$into a math equation. by @SulimanAbdulrazzaqTree (6)
#sortFoldersFirstwas set.Printing (3)
Markdown (3)
Board (6)
Text editor (9)
General (2)
LLM (5)
set_attributesilently replaces same-name labels (by @eliandoran) and there is no way to create inheritable labels (by @pcbeingused333)Interface (8)
Code (2)
Share (5)
Search (10)
#drops everything after the#.ANDoperator highlighted and searched for in an expression.Spreadsheet (2)
Calendar (2)
Attributes (3)
Import and export (1)
Web clipper (1)
Sync (1)
Mermaid (1)
Drawing canvases (2)
Desktop (2)
Mind map (1)
Tabs (3)
Render notes (2)
Quick edit (1)
Table collection (3)
ETAPI (1)
orderDirection. by @pcbeingused333✨ Improvements
@-mentions in text and Markdown notes and attribute value suggestions. (#5493, #11896, #11833)#map:*attributes before.#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.LLM (14)
In addition, Deepseek added built-in search which is now integrated in Trilium.
Text editor (39)
[missing text]. Clicking on a broken reference links allows to easily fix it by replacing it with a fresh reference link.Search (12)
#by @PloneMraz & @eliandorannote.mimeauto-completion.Scripting (3)
Tables in text notes (8)
Markdown (2)
[[or@-mentions like on text notes, and they display as a chip with title and icon.Tree (7)
Relation map (2)
Interface (11)
PDF (1)
Quick edit (2)
Drawing canvases (5)
Collections (3)
Share (3)
Attributes (4)
Settings (2)
General (2)
Code (7)
Server (3)
Table collection (6)
Launch bar (4)
Flatpak (6)
Import and export (2)
application/zipby @junkerderprovinz📖 Documentation
🌍 Internationalization
🛠️ Technical updates
FormTextAreadoesn't update whencurrentValueprop changes by @hippi345🔒️ Security improvements
This discussion was created from the release v0.107.0.
All reactions