← Back to all sparks
T

Trilium Notes

COLLAB
Velocity6.3

Open-source hierarchical note-taking application for building knowledge bases.

Trilium spent a year adding what notes can hold; now it is fixing what happens to them.

self-hostednote-takingknowledge-basemcplocal-llmdata-durability
Current state
Trilium Notes is a self-hosted hierarchical note application with an unusually broad content model — text, code, canvases, mind maps, and since 0.103.0 spreadsheets with formulas and OCR-extracted text from images, PDFs and Office files. Releases are large, quarterly, and explicit about breakage. The current release turns that attention inward: the database itself becomes something you can measure, clean, repair, and restore.
Where it's heading
Two arcs run in parallel. One expands what a note can be, peaking with the spreadsheet note type and OCR that feeds extracted text into search. The other is about trust in the thing holding your knowledge base — a coordinated security release in April, then 0.105.0 shipping backup restore, a cleanup tool that honours versioning limits, compaction, integrity repair, and a space-usage treemap. The AI layer is being made self-hostable in the same spirit, moving from a fixed vendor model list to dynamic retrieval plus Ollama, LM Studio and any OpenAI-compatible provider. Breaking changes are frequent and documented up front rather than smuggled in.
Prediction
The two features the maintainer explicitly links to funding — an official mobile application and multi-user support — are the stated backlog; nearer term, expect the spreadsheet note type to leave beta and the newly networked MCP interface to gain more surface.

Recent moves

  1. 19d ago

    Backups become restorable and the database becomes manageable

    ⚡ SPARK

    After a year of expanding what notes can contain, this release addresses what happens to them. Backups become restorable, the database gains cleanup, compaction, integrity repair and a visual space breakdown, and MCP moves behind authentication while gaining optional network access. The breaking changes are listed before the features, which is the house style.

    View source ↗
  2. 1mo ago

    LLM providers become dynamic and self-hostable; OneNote import hardened

    The LLM layer stops depending on a hardcoded model list — models are retrieved from the provider and can be customised, DeepSeek is supported, and Ollama, LM Studio and any OpenAI-compatible endpoint become first-class, which matters for an app whose users self-host on principle. The OneNote importer is hardened for multi-hour runs against Graph throttling, 504s and token expiry.

    View source ↗
  3. 1mo ago

    Release-preparation tag for v0.104.0

    A release-preparation commit tagged as a version, carrying no notes of its own. The substance of this version cycle sits in the point release that follows it.

    View source ↗
  4. 3mo ago

    Spreadsheet notes and OCR-backed search arrive

    ⚡ SPARK

    The release that widened what a Trilium note can be. A spreadsheet note type brings formulas into the hierarchy, and OCR pulls text out of images, PDFs and Office files into the search index — two additions that change what content the application can hold and find, rather than how it handles content it already had.

    View source ↗
  5. 5mo ago

    Coordinated security release across content handling and the desktop app

    A coordinated security release the maintainer urges users to take immediately, spanning SVG handling in share routes and the main API, Mermaid rendering, toast escaping, Electron fuses and integrity checks, MIME validation on ETAPI uploads, and a more secure random number generator for OpenID Connect. The SECURITY.md was rewritten alongside it.

    View source ↗
  6. 6mo ago

    Hotfix for mind map rendering and PDF viewer regressions

    A hotfix for blocking regressions in the previous release — mind map rendering broken, the PDF viewer returning 403 behind Nginx Proxy Manager, and stale caches across versions. Restorative work rather than new capability.

    View source ↗