Skip to content

v0.41.5

Choose a tag to compare

@zadam zadam released this 20 Apr 21:13

Trilium 0.41 contains massive frontend refactoring (in total over 300 commits) - previously mostly spaghetti frontend has been "componentized". This is internal refactoring and end-user experience is mostly the same as in 0.40.

Besides refactoring, a bunch of minor things have been improved, some of them are:

  • PDF notes now show preview of the PDF (#292)
  • history navigation has been improved and provides visual feedback for when back & forward actions are available, plus context menu with complete history
  • spellcheck now uses native electron spellchecking which brings the possibility of adding a word to the system dictionary (#923)
  • reference links are now implemented and used by default - such links differ from ordinary hyper links by the fact that their title/label always contains up-to-date name of the note (closes #905)
  • import / export now uses ZIP by default, TAR stays supported for import (for certain period of time). Problem with tar was unicode support in non-unix platforms (closes #918)
  • Trilium now parses pasted HTML content and images referenced by URL are downloaded locally so they are available also offline (closes #765)
  • integrated editing component (CKEditor) has some nice upgrades, especially regarding more advanced table support
  • display of link map is more robust (previously it sometimes randomly did not appear correctly)
  • it's now possible to see recent changes for a subtree (tree context menu -> advanced -> recent changes)
  • it is now possible to collapse also left side pane
  • significantly faster sync update
  • external link labels are not auto-generated anymore. Especially clipped content can have hundreds of them and their value is small
  • added read-only view - can be set either manually via readOnly label or is used automatically for long notes
  • note paths widget has been moved to the left side and now displays current path which should help orient yourself when navigating big note trees
  • "production" builds are now using webpack for frontend files
  • include note allow setting size

Breaking changes

Right pane widgets are not moveable

In 0.40 (and before) it was possible to configure the order of sidebar widgets. This configuration is not available anymore in 0.41 and later. Some other form of layout configuration might appear in future releases.

Widget API changed

Custom widgets will need to be modified to be compatible with changes in widget API. Here's an example of a minimal custom widget:

class CustomWidget extends api.CollapsibleWidget {
    get widgetTitle() { return "Custom"; }

    get position() { return 10; }

    get parentWidget() { return 'right-pane'; }

    async refreshWithNote(note) {
        this.$body.empty().text("Current note: " + note.title);
    }
}

module.exports = new CustomWidget();

Code note with custom widget must have label widget. Layout is set up once during frontend load so changes to widget code will be in effect after frontend reload (using e.g. CTRL-R).