# v0.103.0
> [!NOTE]
> If you enjoyed this release, consider showing a token of appreciation by:
> 
> *   Pressing the “Star” button on [GitHub](https://github.com/TriliumNext/Trilium) (top-right).
> *   Considering a one-time or recurrent donation to the [lead developer](https://github.com/eliandoran) via [GitHub Sponsors](https://github.com/sponsors/eliandoran) or [PayPal](https://paypal.me/eliandoran).

> [!IMPORTANT]
> Due to the introduction of new note types (spreadsheet) and the OCR feature, the database and sync versions have been increased. This means that both the desktop and the server need an upgrade in order to continue syncing.

> [!WARNING]
> The Windows binary has received a certificate upgrade which means that you might get SmartScreen warnings depending on how you install the application. This is already a [known issue](https://github.com/TriliumNext/Trilium/issues/9548), the workaround is to right click the installer → Properties and check the security box at the bottom of the window.

## 💡 Key highlights

1.  A long-awaited note type is now supported: Spreadsheets, allowing for a familiar (Excel-like) editing experience with formulas, powered by Univer Sheets.
    *   Support for it is considered beta and it might face some changes along the way.
    *   See [the documentation](https://docs.triliumnotes.org/user-guide/note-types/Spreadsheets) for important aspects to consider when using spreadsheets.
2.  [Basic Markdown support with preview and sync scrolling.](https://docs.triliumnotes.org/user-guide/note-types/markdown)
3.  Built-in OCR support for images, but also PDF and Office (Word, PowerPoint, Spreadsheet) text extraction which integrates with the search function. See the _Media_ page in Options for configuration.
4.  [Custom dictionary is now synchronized across instances](https://github.com/TriliumNext/Trilium/issues/1801)
5.  [New deployment for Linux under test: AppImage](https://github.com/TriliumNext/Trilium/issues/409)
6.  Bookmarks in text notes were overhauled
    *   _Bookmarks_ were renamed to _Anchors_ in order not to overlap with the concept of bookmarked notes in Trilium.
    *   Anchors can now be used across notes as they are integrated into the _Add link_ feature. See documentation for more information.
    *   Added a corresponding slash command to make it easy to introduce new anchors.
7.  We are [reintroducing an LLM chat functionality](https://docs.triliumnotes.org/user-guide/llm#reintroduction-in-v0-103-0) with full-size chats as well as a sidebar with tools that allow it to alter your notes or even create scripts.

## 🚨 Breaking changes

*   Back-end scripting:
    *   [`api.axios` has been removed](https://docs.triliumnotes.org/user-guide/scripts/breaking-changes/axios-removal). It has already been marked as deprecated for more than two years now and given the recent security compromise and the fact that it's not actually used in the Trilium code base we took the decision to remove it completely. Please update your scripts to use the built-in `fetch()` instead.
    *   [`api.cheerio` has been marked as deprecated](https://docs.triliumnotes.org/user-guide/scripts/breaking-changes/cheerio-deprecated), but not removed. As an alternative we provide `node-html-parser` which has a more DOM-oriented syntax.

## 🐞 Bugfixes

1.  Save indicator not showing in quick edit popup.
2.  [Grid of child notes does not clear floats](https://github.com/TriliumNext/Trilium/issues/8899).
3.  Open tabs would load in the background, causing a slight performance impact.
4.  New layout:
    *   Save indicator would not disappear if reduced motion was activated.
    *   [Table of contents would not refresh on formatting changes and sometimes it missed some updates.](https://github.com/TriliumNext/Trilium/issues/9174)
5.  Missing empty icon from the default icon pack.
6.  Board collection:
    *   Scrolling horizontally was clipped.
    *   Add button not snappable to on mobile.
7.  [Invalid canvas note crashes full-text search](https://github.com/TriliumNext/Trilium/issues/9004)
8.  Protecting or un-protecting notes does not refresh the state of the tree.
9.  Collections will show the note list even if a protected session is not available.
10.  Notes created from within a collection don't respect the protected state.
11.  Long-standing issue with CSRF errors on mobile, which required a refresh.
12.  [Setup text in DarkMode is hardly legible](https://github.com/TriliumNext/Trilium/issues/8915)
13.  [Share: Browsing to "/share" on uninitialized setup causes crash](https://github.com/TriliumNext/Trilium/pull/9088)
14.  [Large Equations Render over editor using Latex align environment in Display Mode](https://github.com/TriliumNext/Trilium/issues/9117)
15.  [New layout: attribute detail modal not visible](https://github.com/TriliumNext/Trilium/issues/9005)
16.  [The first attribute value fails to pop up the label details window correctly](https://github.com/TriliumNext/Trilium/issues/6948)
17.  [Thumbnail images in version v0.102.1 are too small](https://github.com/TriliumNext/Trilium/issues/9116)
18.  [PDF previews can fail between software updates due to caching issues](https://github.com/TriliumNext/Trilium/issues/9176)
19.  [Can't print or export to PDF on Linux Wayland](https://github.com/TriliumNext/Trilium/issues/7967)
20.  [Browsing to "/share" on uninitialized setup causes crash](https://github.com/TriliumNext/Trilium/issues/5677) by @argusagent
21.  [Refresh content for SPAs with "query string" in hash](https://github.com/TriliumNext/Trilium/pull/8883) by @contributor
22.  [Import file with Chinese char in file name cause random char in file name after import](https://github.com/TriliumNext/Trilium/issues/3013)
23.  [Share: Webviews occupy too little height, making them hard to see](https://github.com/TriliumNext/Trilium/issues/9215)
24.  [Events in calendar show as light even when dark theme is selected](https://github.com/TriliumNext/Trilium/issues/8989)
25.  [Scripting: Preact's useContext is exported, but createContext isn't](https://github.com/TriliumNext/Trilium/issues/9152)
26.  [Share Function - Translation not being used](https://github.com/TriliumNext/Trilium/issues/8722)
27.  [Changing the note icon does not change the icon in the tab](https://github.com/TriliumNext/Trilium/issues/8994)
28.  [Cannot open quick search results in new tab](https://github.com/TriliumNext/Trilium/issues/9220)
29.  [Server & desktop not running properly if placed in a hidden directory](https://github.com/TriliumNext/Trilium/issues/8882) (e.g. `~/.local/share`).
30.  Collections: \* Not reacting to changes in note reordering. \* Clicking on a URL promoted attribute in board will also open quick edit.
31.  Performance issues when typing caused by saving the document too many times (addresses [Significant input lag and UI freezing during continuous drawing/writing (Mouse & Pen)](https://github.com/TriliumNext/Trilium/issues/9345) but also other note types as well)
32.  Unnecessary attribute setting when editing a note in a calendar's quick edit.
33.  [Title is no longer auto-selected when creating a new note](https://github.com/TriliumNext/Trilium/issues/8407)
34.  [Note Map view of Hidden Notes freezes Trilium](https://github.com/TriliumNext/Trilium/issues/8916)
35.  Search: Some user-facing error messages were not translated.
36.  [Uncaught TypeError shown in logs when switching notes with bottom-right attribute window open](https://github.com/TriliumNext/Trilium/issues/8900)
37.  Demo spacing and formatting issues
38.  [Setup doesn't support trailing slash for sync](https://github.com/TriliumNext/Trilium/issues/8045)
39.  ["Open Command Palette" shortcut opens with the '>' symbol highlighted](https://github.com/TriliumNext/Trilium/issues/7942)
40.  [Unable to set column value to zero in table view](https://github.com/TriliumNext/Trilium/issues/6555)
41.  [Displaying deep child notes in the Journal calendar view](https://github.com/TriliumNext/Trilium/issues/7944)
42.  [Titles of Options are renamable](https://github.com/TriliumNext/Trilium/issues/5371)
43.  New layout sidebar \* Table of contents sometimes renders math equations multiple times \* Highlights list does not show equations.
44.  [Deleting a not displayed note will change the displayed note](https://github.com/TriliumNext/Trilium/issues/9380)
45.  [Demo notes: statistics not working due to missing Chart.js](https://github.com/TriliumNext/Trilium/issues/4178)
46.  [Disable "Internal trilium link (Ctrl+L)" on code-block text selection](https://github.com/TriliumNext/Trilium/issues/1712)
47.  [Orphaned keyboardShortcuts\* options after upgrade](https://github.com/TriliumNext/Trilium/issues/4543)
48.  [Scripting: Logging complex entities such as `api.startNote` would show `[object Object]`](https://github.com/TriliumNext/Trilium/issues/3751)
49.  [Import from HTML does not restore indentation](https://github.com/TriliumNext/Trilium/issues/3151)
50.  Mermaid: \* [Mermaid diagram copy reference to clipboard button is broken](https://github.com/TriliumNext/Trilium/issues/9406) \* [Issue with Chinese Paths on Windows](https://github.com/TriliumNext/Trilium/issues/8973)
51.  Add an error when link couldn't be opened
52.  [UI overlap in attribute editing](https://github.com/TriliumNext/Trilium/issues/9407) by @ZAKIURREHMAN
53.  Some launch bar context menus were intercepted by the browser.
54.  [ENEX import: Attachments should not be converted into separate pages](https://github.com/TriliumNext/Trilium/issues/9473)
55.  Exporting code of type Markdown resulted in a `.mkd` or `.code` (for GFM).
56.  Importing a Markdown file with “Import as text note” disabled would import as the wrong format (File) instead of Code.
57.  [Text notes would print with a different font than the one in `body`.](https://github.com/TriliumNext/Trilium/issues/8097)
58.  [The hidden notes hiearchy becomes apparent after importing a note into root](https://github.com/TriliumNext/Trilium/issues/5520)
59.  [No focus in “Choose note type” dialog](https://github.com/TriliumNext/Trilium/issues/9433)
60.  Markdown import: Wrong management of backtick-escaped triple backtips
61.  Safe import strips out bookmarks from note
62.  [Printing: Reference links not shown](https://github.com/TriliumNext/Trilium/pull/9489) by @contributor
63.  [For publicly shared pages, the checkbox does not display on dark theme](https://github.com/TriliumNext/Trilium/issues/8944)
64.  PDF: [Not reacting to deleting highlights or moving them around](https://github.com/TriliumNext/Trilium/issues/9069)
65.  The help button in a dialog now opens in a separate dialog instead of closing that dialog.
66.  Clicking on “Full search syntax help” doesn't work.
67.  Breadcrumb: Children hidden from tree are still listed
68.  Settings: Slashes not displayed well in the backup toast
69.  Code notes: Line numbers are lacking a background.
70.  Renaming an attachment won't update its name from the list.
71.  [Tooltips in left Sidebar after unlocking db still showing \[protected\]](https://github.com/TriliumNext/Trilium/issues/9701)
72.  [Dropdown menu transparency causes readability issue](https://github.com/TriliumNext/Trilium/issues/9534) by @adoriandoran
73.  Switching from “View source” to another note would not show the inline actions.
74.  [Trilium not recovering after system suspension on Ubuntu Snap](https://github.com/TriliumNext/Trilium/issues/9647)

## ✨ Improvements

1.  Videos & audio files imported in Trilium now have a new default icon and the extension will be trimmed.
2.  [Improved the design of the video and audio player](https://github.com/TriliumNext/Trilium/issues/8895) and added additional functionality such as easy seeking, rotation, picture-in-picture.
3.  Mermaid:
    *   Added a list of example diagrams that are shown when Mermaid notes are empty, for getting started quickly. All the supported diagrams types were added.
    *   As a result of the previous change, new Mermaid diagrams start out as empty instead of a generic flowchart diagram.
    *   Updated the version of Mermaid which brings in two new diagram types: [Venn](https://github.com/mermaid-js/mermaid/pull/5932) and [Ishikawa](https://github.com/mermaid-js/mermaid/pull/7387).
4.  [Space mobile launcher container evenly](https://github.com/TriliumNext/Trilium/pull/9031) by @Mystler
5.  PDF: [Inline toolbar with highlight and comment](https://github.com/TriliumNext/Trilium/pull/9048) by @contributor
6.  Add Catppuccin theme to both [code notes](https://github.com/TriliumNext/Trilium/pull/9060) and [code blocks](https://github.com/TriliumNext/Trilium/pull/9075) by @giuxtaposition
7.  Added four more themes to code notes: High Contrast Dark, High Contrast Light, Material Ocean, and Synthwave '84
8.  Relation map: Add more options to open notes in the context menu
9.  [Improve database performance by adding new indices](https://github.com/TriliumNext/Trilium/pull/9141) (by @perfectra1n).
10.  CKEditor was updated to v48 with the most notable change of being able to change the alignment of tables with or without text wrapping (see [#5791](https://github.com/TriliumNext/Trilium/issues/5791)).
11.  Mermaid diagrams were updated which brings in two new diagram types: TreeView and Wardley Maps.
12.  Inline mermaid diagrams use a more modern approach to rendering, which should reduce flicker.
13.  [Relation map: rename relations through context menu](https://github.com/TriliumNext/Trilium/issues/442)
14.  Share: Render dates on the client to match their locale.
15.  Backend script: add an API to execute other backend scripts.
16.  [Download button for backups](https://github.com/TriliumNext/Trilium/pull/9190) by @Lorinc936
17.  Search: \* [Improve the error messages to be more user-friendly when searching for keywords without quotes or entering text after expressions](https://github.com/TriliumNext/Trilium/issues/8850) \* [Add a way to open all the results in a new tab](https://github.com/TriliumNext/Trilium/issues/5376) \* [Improve search performance by using caches and optimizing algorithms](https://github.com/TriliumNext/Trilium/pull/9034) by @perfectra1n \* [Option to easily toggle the fuzzy search on/off](https://github.com/TriliumNext/Trilium/issues/9009) by @perfectra1n \* [Option to disable fuzzy search in copy/clone](https://github.com/TriliumNext/Trilium/issues/8360)
18.  [Displaying note icon when creating an inline note link, using @](https://github.com/TriliumNext/Trilium/issues/8188)
19.  [Friendly numbers in settings: Sync timeout](https://github.com/TriliumNext/Trilium/issues/5513) and Zoom factor (percent better than decimal factor)
20.  [Copy button for inline code (via toolbar for editable notes and clicking for read-only notes)](https://github.com/TriliumNext/Trilium/issues/8720)
21.  Admonitions now have a floating toolbar to quickly change their type.
22.  [Warn if user is trying to run the script in a wrong environment](https://github.com/TriliumNext/Trilium/issues/342)
23.  [Open internal link (`bookends:`, `highlights:`) in OSX apps](https://github.com/TriliumNext/Trilium/issues/2817)
24.  [Script execution should error out on usage of protected notes outside of protected session](https://github.com/TriliumNext/Trilium/issues/21)
25.  ["Delete all clones" checkbox should have a different message if there are no clones](https://github.com/TriliumNext/Trilium/issues/2362)
26.  [Improve note path display to use chevrons instead of slashes to separate notes](https://github.com/TriliumNext/Trilium/issues/762)
27.  [Changing the size of include notes after they were created](https://github.com/TriliumNext/Trilium/issues/3705)
28.  [Add 'Expandable' option to Include Note feature](https://github.com/TriliumNext/Trilium/issues/4134)
29.  [Remember default box size for included notes](https://github.com/TriliumNext/Trilium/issues/1623)
30.  [Hide hidden notes from similar notes view](https://github.com/TriliumNext/Trilium/issues/4584)
31.  Modernized a bit the delete preview.
32.  Improved all the settings pages by using a unified layout, more interactive widgets for layout, theme selection and making use of modals. Some cards were combined together.
33.  “View source” is now searchable.
34.  Every item on the launch bar now has a contextual menu which allows easily removing the item from the bar.
35.  Attachments: preview text in files, provided the MIME type is correct.
36.  [Syntax highlighting for code blocks inside Markdown notes](https://github.com/TriliumNext/Trilium/issues/9150)
37.  [Provide a way to customize Electron data directory](https://github.com/TriliumNext/Trilium/issues/4192)
38.  Printing text notes now respects the font selection in settings.
39.  Revisions: \* Basic rich diff when comparing text note \* Allow adding a description to manually created revisions \* Automatically tag revisions based on their source. \* Improve diff for code notes, by preserving monospace. \* Indicate the source of a revision: manual save, automatic snapshot, ETAPI, LLM change \* Keyboard shortcut and option in note menu to save a named action.
40.  [Redesign of the about dialog](https://github.com/TriliumNext/Trilium/pull/9151) by @adoriandoran
41.  Note attributes pane: add a help button
42.  Tree: do not allow to hide the children of the root element
43.  Improved keyboard markers in Text notes \* Improved style \* Can now be exited out of by moving the cursor, just like inline code.
44.  PDF \* Added read-only support to disable editing features. \* Shared notes now render using the browser's internal PDF viewer which allows downloading and bypasses some potential issues with reverse proxies. \* UI language was not always set correctly. \* Can now be printed or searched through from the note actions menu.
45.  Sidebar (new layout): \* Improved the layout slightly. \* PDF page preview: use virtualization for better performance in large documents. \* PDF highlights and annotations are now listed in the sidebar in a separate section
46.  [Import: Support ZIPs with GBK encoding](https://github.com/TriliumNext/Trilium/issues/9678)
47.  Attachments list: improve the display when there are no attachments.
48.  Syntax highlighting for Markdown now follows the GitHub flavor.
49.  [Reintroduced the sync indicator for mobile (useful when using the third-party Pocket Trilium app).](https://github.com/TriliumNext/Trilium/issues/9663)
50.  API logging: \* `api.log` now supports multiple arguments, similar to the syntax of `console.log`. \* API log text not selectable.
51.  [Various UI improvements](https://github.com/TriliumNext/Trilium/pull/9662) by @adoriandoran
52.  LLM: [Stop generation button](https://github.com/TriliumNext/Trilium/pull/9341) by @Kureii

## 📖 Documentation

1.  [How spell check works, including custom dictionary.](https://docs.triliumnotes.org/user-guide/note-types/text/spellcheck)
2.  Word count widget doesn't mention the use of attribute
3.  Dedicate page for the license
4.  Improved resetting password
5.  Documented the concept of content width.
6.  [Broken image for linux distribution in README](https://github.com/TriliumNext/Trilium/issues/9608) by @vayungodara

## 🌍 Internationalization

1.  Czech support by @Kureii
2.  Wrong password message not translated.
3.  Added Uyghur as [content language](https://docs.triliumnotes.org/user-guide/note-types/text/content-language)

## 🛠️ Technical updates

1.  [Remove Knockout from setup page](https://github.com/TriliumNext/Trilium/pull/9102) by @JYC333
2.  Many dependency updates.

## 🔒️ Security improvements

1.  Low: [SQL Injection via Unsanitized URL Parameter in \`getDayNotesForMonth\`](https://github.com/TriliumNext/Trilium/security/advisories/GHSA-64fm-4j23-99j2)
2.  Low: [Stored XSS via unescaped shareExternalLink label in share index page](https://github.com/TriliumNext/Trilium/security/advisories/GHSA-97mx-2qjm-qhfx)