v0.102.0
Important
LLM integration was removed due to the complexity of maintaining this feature. For more information, see #8797. This means that the database needs migration (downgrades will not be possible without restoring from backup), but it will not affect the sync with the server.
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.
- If you are interested in an official mobile application (#7447) or multi-user support (#4956), consider offering financial support via IssueHunt (see links).
💡 Key highlights
- Trilium now has support for custom icon packs that can be used for note icons. See Icon Packs - User Guide for more info and a list of official icon packs.
- New layout now provides a save indicator near the note title.
- Trilium now uses its own PDF renderer (based on PDF.js viewer from Mozilla). This allows for more features such as annotations, search (within the current file), filling forms as well as remembering last reading position. See documentation for more info.
- Some Collections will hide their children in the note tree by default. See the documentation for details.
- jQuery has been updated to v4.0.0 which introduces breaking changes that could potentially affect your scripts.
- Desktop app: background effects (Vibrancy) are now available for macOS.
📱 Mobile improvements
- Collections now show the “Collection properties” toolbar, allowing to switch views and configure the collection.
- The tab row was removed in favor of a more browser-like tab switcher, displayed as a modal with note preview.
- The title row was significantly changed:
- The note icon is now displayed with the possibility of changing the icon.
- Inherited from the new layout on desktop: the note badges (read-only, shared), save indicator.
- Icons should now be easier to press.
- The inline title for text and code notes from new layout is now available.
- The note actions menu (right of note title):
- All the features that are available on the desktop on the new layout are now available, allowing features such as search, toggling share/template/bookmark, changing note type/editability and even import/export/print.
- Some components from the status bar were also relocated here for mobile: backlinks, note paths, attachments, note info, similar notes and text/code language switchers.
- Custom note actions (note-specific) were also ported, with buttons such as “Run active note”, “Toggle read-only”, “Upload new revision”.
- Launch bar improvements
- New split (empty tab): added button to close the split.
- Promoted attributes are no longer fixed at the top and are part of the scrollable area, including a way to collapse it.
- Background effects are now enforced to be disabled, to avoid performance issues. This also fixes grayish menus due to the black backdrop.
- Virtual keyboard detection not working properly on iOS
- Search for notes is now available for mobile, either via the launch bar or the global menu. The layout was optimized slightly for mobile.
- Recent notes are also available, via the launch bar or a dedicated entry in the global menu.
- Editor format bar not visible after clicking button to edit 'readOnly' note in mobile view
- Support Saved Search Notes on Mobile UI
- Oversized note title and editor toolbar is cut off.
- Web clipper "save link with a note", cannot see the link in android mobile view
- Add note attachment functionality to mobile web UI
- Improved the layout of Shortcut options page.
- Added scroll padding to text and code notes (same as desktop).
- Improved the fit of empty tab.
- Fixed some usability issues with the side bar tree: too easy to close, tooltip remained stuck, sometimes cut at the bottom on some browsers.
- Search in full text in Jump to note is overlapped by text
- Keyboard shortcut plus symbol shown on some buttons
- Virtual keyboard detection not working on Android
- Toast not respecting safe area
- iOS viewport shifting in split notes
- Issues with formatting toolbar on iOS (Background, positioning, dragging)
🐞 Bugfixes
- Status bar: Attribute count counts internal links as well.
- Various UI fixes by @adoriandoran
- Boxicons:
border-righticon missing. - Share export:
- ZIP attachments having wrong extension.
- JS frontend files having the wrong extension by @kalbasit
- Prevent crashing if candidate note is null by @kalbasit
- PDF: clicking on the document doesn't focus the note in the note tree.
- Colors with upper case or invalid colors can cause a crash
- New Layout performance issue: excessive calls to custom widget refresh/reload API by @lzinga
- Exporting a note as a static website (format == share) should support ~shareJs by @kalbasit
- Toggling right pane visibility incorrectly affects all windows by @SiriusXT
- Revisions not displaying meta info (mime and file size) for
filetypes. - Solved some performance issues regarding the tree, especially if hoisted notes are involved:
- Tree is updated on content changes.
- Batch update causing a reduction in performance.
- Slow rendering of nodes.
- Keyboard combinations with Alt not working properly on macOS by @chloelee767
- Markdown export not preserving HTML entities correctly.
- Error when printing presentations.
- Syntax highlighting tooltip in Settings → Code Options not indicating correct information.
- Render notes not refreshing on attribute change
- Promoted attributes: check boxes not displaying initial value correctly
- Race condition in syntax highlight in the note list
- Mermaid graphs only render once unlocked and relocked
- Quick edit not working properly if “Keep content centered” is checked
- Canvas background color is not saved
- Calendar collection not respecting default formatting locale and casing
- Missing "Note Paths" in new layout if note is partially in hidden notes
- New layout: Note type switcher shown in non-standard view modes (e.g. view source)
- Keep content centered does not center "Notes edited on this day"
- Search error tooltips are not displayed in user interface
- RelationMap crashes when switching an empty note to Map view (TypeError: Cannot read properties of undefined (reading 'map'))
- Cannot select option in advanced sub-menu in some language
- web-clipper page 404 on triliumnotes.org
- web view note in second window does not load content by @contributor
- Wrong sync status tooltip
- Code notes:
- Clicking at the bottom of a note would change the view port and affect all splits.
- Missing Node globals in linter for backend notes.
- Breadcrumb would split on multiple lines when width is constrained.
- Clicking on a web view would not activate the split.
- When using the legacy theme, the window cannot be dragged in vertical layout
- Fixed some issues with promoted attributes:
- Typing sometimes misses characters.
- Duplicate auto-complete instances.
- Flicker when applying autocomplete suggestion.
- Potential refresh issue in inherited attribute list.
- Calendar: creating a note in an unhoisted
#workspaceCalendarRootwould create it in the#calendarRootinstead. - HTML static export: exporting root tree would show “Hidden Notes” in the tree.
- Breadcrumb not reacting to title updates by @vedanshbodkhe21
- Search:
- “No results” message not shown
- Double scroll bars
- Fix week note title error when cross year by @JYC333
- Text notes:
- Searching with orderby and parentheses by @misch334
- After a protected note automatically re-enters protection mode, its status does not refresh automatically
- Help notes are renamable.
- Canvas: not switching the dark mode at once with the system, remains in a messy state
- Mindmap: when app is dark mode and the mindmap is light, the input fields has no longer visible text
✨ Improvements
- Significant improvements to the icon selector.
- Uses a virtual list pattern, allowing for 20k+ icons with little impact.
- Placeholders and messages based on results.
- The icon categories feature was completely removed. This decision better aligns with support for multiple icon packs.
- Icons should now fit better (no unnecessary whitespace).
- Icons can be filtered by icon pack.
- “Reset to default” icon was converted to an icon near the filter button.
- Attachments list: MIME type is now displayed as well.
- Note tree: Tooltips for share & clone icons by @perfectra1n
- Improvements to Note Revisions:
- Previews now displayed for the following File types: audio, video, PDF.
- Reduced layout shrinking on desktop.
- Markdown:
- Preserve HTML and JSX language tags in code blocks when importing.
- Add
spellcheck=falseto inline code.
- Add right-click context menu to note list by @SiriusXT
- Visual math equation editor by @Meinzzzz
- Add logseq to supported protocols by @contributor
- Open notes in new window from tree by @SiriusXT
- Add "latex" alias for math command by @Atmois
- Show more helpful output when users encounter permissions issues within the data directory by @perfectra1n
- Ensure that "folders first" ordering mode doesn't place folder notes on top of notes flagged as #top by @rom1dep
- Minor change in behavior for PDFs file notes:
- Dedicated default icon for PDF files.
- Remove extension from title for single PDF imports and replace underlines with space.
- Major improvements to SQL console:
- Integrated a better table system for displaying results, with sorting, pagination and filtering.
- The query can be hidden by locking the note for editing, for saved SQL notes.
- See documentation for more info.
- Collections:
- Calendar: Slighter better performance and fewer glitches when adding, moving or deleting entries.
- The “Collection properties” toolbar is now displayed on both the new and old layouts.
- Collection-specific buttons such as the calendar or geomap buttons are now directly integrated into “Collection properties” to reduce vertical space usage.
- As such, some floating buttons were integrated into “Collection properties”.
- Geomap: Custom raster tiles are now supported by providing an URL, see documentation.
- ETAPI
- Report printing/export to PDF errors on desktop.
- Active content (widgets, scripts) now have a dedicated badge on new layout with options to configure and toggle them easily.
- Setup screen for newly created web views by @adoriandoran
- Setup screen for newly created render notes.
- Warning screen for disabled web views & render notes.
- Display errors when rendering notes.
- Improve card design by @adoriandoran
- Disable hover and nested background darkening in list view by @adoriandoran
- List collections & search results: overhaul the list UI by @adoriandoran
- Improve list pagination by @adoriandoran
- Always show Note Paths in Status Bar by @contributor
- Search: Improved the design of the “Search not yet executed” and “No results” messages
- Share:
- Add download icon to attachment links.
- Align mobile/desktop UI with unified header by @kalbasit
- Improve styling of grid and list view by @adoriandoran
- Adopt MD060 compact style for table cells by @yzx9
- PDF.js styling by @adoriandoran
- Desktop: Copy as Markdown by @yzx9
📖 Documentation
- Importing from Evernote by @miljed
- Add subtreeHidden and map:* attributes to labels documentation & other documentation improvements by @hulmgulm
- enhanced icon pack creation by @hulmgulm
🌍 Internationalization
- Added support for Polish.
- Added support for Irish.
- Added support for Hindi by @vedanshbodkhe21.
- Many translation improvements.
🛠️ Technical updates
- Change /calendar/weeks/{date} to use ISO week format by @openapphub
- Fix race condition in edit-docs Electron ready event by @kalbasit
- Allow other projects to use edit-docs for their own documentation by @kalbasit
- CKEditor was updated, which should fix some stability issues.
- The desktop client was upgraded to Electron v40.
- Update Nix flake by @kalbasit
- Similar Notes style is hardcoded by @adoriandoran
- Enhance build-docs utility with pnpm and Nix support by @kalbasit
- add generic debugging/dap launch.json for client, server and vitest by @misch334
- Theming: color scheme selectors by @adoriandoran
- Theming: include the current theme ID as an attribute for the body element by @adoriandoran