Zettlr

Your One-Stop Publication Workbench

GPL-3.0 License

Stars
9.7K
Committers
114

Bot releases are visible (Hide)

Zettlr - Release v3.0.0-beta.1

Published by github-actions[bot] over 1 year ago

LanguageTool integration | Status bar | Bug Fixes

This new beta includes a many bug fixes and a few new highlights, such as a new integration with LanguageTool! Here's what has changed since the last beta in all brevity:

  • LanguageTool integration: Now you can have your texts checked against LT's official API, or a custom server that you operate. See all settings in the Spellchecking tab of the preferences window.
  • New Status bar: In the editor tab, you can now activate a status bar that offers you some more info on your current document for each editor pane (including a way to see all spelling mistakes and grammatical info at a glance)
  • Fixed a bug that would ship the ARM releases (incl. Apple Silicon) with wrong hunspell binaries
  • Removed a ton of bloat from the build pipeline

And here's the changelog as it stands thus far:

Changelog

READ THIS FIRST!

This update brings a host of changes and new features. If you're upgrading from
an older version of Zettlr, you will have to re-do a few things because due to
the extensive changes, we had to adapt how your data is persisted. Here's the
quick list:

  1. Your open documents will have to be re-opened once. Regardless of which files
    were open previously, they will all be closed after the update.
  2. There are no more unsaved in-memory files.
  3. Two default settings have changed in order to maximize benefits from the new
    features: Avoid new tabs is now set to false (since split-panes also allows
    you to spread out your open documents across several panes and windows), and
    Always reload remote changes is now set to true by default.
  4. The defaults system has changed. You will see new export options that weren't
    there before, and you will see some weird export.format.yaml and
    import.format.yaml export options. These are the "old" profiles we have
    kept in case you made modifications. We suggest you copy over all changes to
    the new profiles and then delete them, or rename those old ones to more
    memorable names. Read more below.
  5. The TableEditor has received a better save strategy to prevent data loss. As
    it is impossible to fully control the data flow from the visual table element
    into the underlying Markdown document, this data flow is now explicit: Tables
    now feature a save button (with a disk icon) at the top of the table. Its
    background will be green as long as the table has not been modified. Once it
    it modified, the background will turn red. Click the button to apply all
    changes to the document.
  6. Quicklook windows are completely gone now.
  7. Footnote editing has changed: Instead of editing the footnote in-place by
    Cmd/Ctrl-clicking it, there is now an "Edit" button inside the footnote
    preview which, upon clicking, will bring you to the footnote context. This
    has the benefit that you will have full syntax highlighting support as well
    as any shortcuts and commands you may need.
  8. We have deprecated the Zettelkasten link start and end configuration
    settings. Both are now fixed to [[ and ]] respectively. We have figured
    that nobody needs to configure this, and it makes many parts of our code
    easier.

Split-Panes and Multiple Windows

A long awaited feature has made it into this version: Now you can open multiple
windows and you can split the editor area in every window into multiple parts,
so-called editor panes (sometimes we may call them "leafs" since internally
they are represented as a tree structure. Feel free to remind us in that case
that we're talking to humans, not our code). This means you can now open as many
files as you wish at the same time, and you can spread them out across multiple
windows. This will especially benefit workflows that rely on having open
multiple files side by side to copy information or to read them. However, if you
are happy with the old ways, you can of course opt not to use them. Here's how
it works:

  • You can open a new window by choosing the corresponding menu item in the
    Windows submenu, or by pressing Cmd/Ctrl+Shift+N.
  • You can now drag document tabs not just within the tab bar, but also onto the
    editor area. If you move a document tab to the borders of the editor, a
    shimmer will appear that indicates that you can split the editor to that side.
    If you drop the file on one of the four borders of the editor, this will split
    the corresponding editor in two along the specified direction (left, right,
    top, bottom) and also move the file into that new pane.
  • You can also move document tabs between multiple panes by simply dropping them
    in the center of an editor pane. As long as there's no shimmer, the file will
    be moved instead. You can also drop a file onto a tabbar of one of the
    editors, which will have the same effect (but it will be indicated with the
    same blue shimmer as when you are splitting an editor).
  • After you have closed the last file inside such a pane, it will automatically
    close itself. If the pane was part of a split, the other pane will then occupy
    the place of the now closed editor pane. To create the pane again, simply drag
    another file to the correct border of an existing editor pane.
  • You can resize the panes at will. Unlike the sidebar and file manager, we have
    not implemented any size limits, so with a little bit of care, you can create
    your unique mosaic of files.
  • Since we are now not limited to one active file and one set of open files per
    window, these notions have changed their meaning. Now, every editor pane has
    one set of open files and one active file. Each window also remembers which
    pane was last active so that global features (such as the sidebar) can show
    you information based on the most recently focused editor pane's active file.
  • Most contextual information (table of contents, list of references, etc.) will
    now update based on the most recently focused editor. In order to make those
    places show information relating to one of the open editors, simply click with
    your mouse inside to focus them.

New Defaults/Profile File System

This update introduces a new way to work with defaults files. At a glance,
here's what has changed:

  • Zettlr now understands the reader and writer properties of defaults files
  • It uses those properties to determine if a file can be used for importing or
    exporting, and displays the appropriate files in the relevant places for you
    to choose
  • You can now create new defaults files, rename existing ones, or remove them
  • When changing the writer or reader for such a file, this change will be
    recognized by Zettlr and be treated accordingly
  • This also means that Zettlr will from now on only ship with a minimum set of
    profiles; but any additional import/export formats can be created by you with
    just one click
  • Additionally, because of this, you are now able to export LaTeX files directly
    without running them through a Markdown interpreter first, allowing you to,
    e.g., create beamer slides or write plain TeX files within Zettlr
  • Furthermore, we have dropped our internal reveal.js exporter, since Pandoc
    supports everything we did out of the box (and better) than our exporter

Tag Manager Update

The tag manager has received a necessary face lift. Now, the tag manager shows
all your tags and allows you to assign/un-assign colors and descriptions. This
makes it easier to assign colors to certain tags without having to remember the
tag first. Additionally, it gives you a better overview over your tags. The info
is now being propagated better across the app, with more places showing the
assigned colors for tags.

Additionally, you now have a better way to consolidate your tags: Within the
tag manager, you can now rename tags in order to clean up your tagging system.

Migration Guide

There are two instances where you will want to migrate something.

Old defaults files

Since Zettlr will never remove any data without asking, it will keep the
previous files in your defaults directory. Now that their filename is also
meaningful, you can see them by their naming structure: import.format.yaml and
export.format.yaml. You are free to remove them or rename and keep them.

Zettlr ships with a set of new files that are now additionally appropriately
named. Those files are "protected". Protected files have a small lock icon next
to their name. Protected means that if you delete or rename them, they will
automatically be recreated. You can use this to your advantage: By deleting such
a file, you are effectively resetting it to factory default (good if you forgot
what you changed). By renaming such a file, you can effectively make a copy to
have several versions of the same settings depending on your needs.

Reveal.js Presentations

Since we have now dropped our internal reveal.js exporter, there are a few
changes you have to make to your existing reveal.js presentations. First, the
theme must now be defined in a YAML frontmatter instead of via the dropdown. A
minimal working YAML frontmatter will look like this:

---
theme: league
---

... the rest of the file

Supported theme values are:

  • beige
  • black (the default, in this case you can omit the theme variable)
  • blood
  • league
  • moon
  • night
  • serif
  • simple
  • sky
  • solarized
  • white

Then, in order to get a working reveal.js presentation, you have to make sure
that the property standalone: true is inside the profile (this is the
default). In order to additionally copy everything into the HTML file to create
a truly self-contained presentation, set the property self-contained: true.

All other things should work as before, but may require a small tweak here or
there.

GUI and Functionality

  • New Feature: You can now open multiple main windows, each with their own
    files loaded
  • New Feature: You can now arbitrarily split the editor area into multiple
    editor panes to keep open as many files at the same time as you wish
  • New Feature: After a long time, you can now again drag and drop entries in
    the table of contents in the sidebar to rearrange sections of your file
  • New Feature: Overhauled, improved, and streamlined the defaults file
    system used by the importer and exporter
  • New Feature: You can now pin tabs, which prevents them from being closed
  • New Feature: The editor will now check your Markdown for potential style
    issues (can be disabled in the preferences)
  • New Feature: In the combined filemanager mode, you can now see writing
    targets as a ring progress bar in the position of the file icon
  • New Feature: Zettlr can now automatically update internal links (Wiki/
    Zettelkasten style) if you rename a file
  • New Feature: When you hover over a link, you can now get a link preview
  • New Feature: Zettlr now features a LanguageTool integration. You can turn
    it on in the Spellchecker settings and even provide your LanguageTool username
    and an API key to unlock premium features
  • New Feature: You can now activate a statusbar that shows some context-
    specific information for each editor pane you have open
  • The TableEditor now has a clear data saving strategy: Whenever you change a
    table, you need to manually click the disk icon at the top of the table to
    apply all your changes to the document so that it can then be saved
  • Quicklook windows are gone completely now, since they can be more than
    replaced by the new split views and multiple windows
  • The windows now finally correctly remember their positions, fixing an old bug
  • Improved the link tooltip inside the editor; it will show faster now and is
    easier to access
  • Zettlr now recognizes Quarto Markdown files (*.qmd)
  • Code files (e.g. *.tex or *.json) now have line numbers enabled and the
    margins of the main editor removed by default
  • The sidebar tabs are now static at the top, meaning you don't have to scroll
    up within a long list just to see the tabbar
  • Lists (especially in the assets manager) now also allow you to remove entries
    with a right click
  • Added new variables for snippets:
    • CURRENT_ID: Holds the currently assigned Zettelkasten ID to the file
    • FILENAME: Holds the filename of the current file
    • DIRECTORY: Holds the directory path for the current file
    • EXTENSION: Holds the file extension for the current file
  • Fixed inability to move the text cursor while renaming files in the file tree
  • Fixed an incredibly dangerous bug that would lead to data loss if the app was
    being shut down before the statistics provider has been booted up; in which
    case the provider would overwrite sometimes several years worth of statistics
    with empty data
  • Added the ability to use mouse buttons 4 and 5 for forward/backward navigation
  • Fixed a visual glitch on Linux where in dark mode the active tab would have no
    colored bottom border
  • Added a third exporter option: You can now have Zettlr ask you everytime where
    it should store an exported file
  • In case of an error, the error dialog will now also present the Pandoc error
    code
  • Fixed a minor bug in toolbar toggle controls that necessitated clicking them
    twice to bring them into the "active" state (holds especially true for the
    sidebar toggle)
  • Fixed faulty updates on Windows: Now the downloaded file should be opened
    without any errors
  • Middle-mouse clicks on the collapse/uncollapse indicators in the file tree
    should no longer trigger scrolling behavior on Windows
  • File tree items now show their absolute path on mouse hover
  • Clicking a directory will now also uncollapse it without having to click on
    the arrow
  • The graph view now uses as labels YAML frontmatter titles, first headings
    level 1, or a filename without extension based on the preferences
  • Fixed a usability issue on macOS where if you wanted to select a BibTeX file
    for your citations you had to click through intransparent buttons before being
    able to; now you can immediately select both CSL JSON and BibTeX files
  • Parsed links will now show the correctly resolved link as titles
  • The file tree now properly cuts too long file and directory names, indicating
    these with an ellipsis, rather than simply cutting off the text mid-letter
  • Pressing Cmd/Ctrl+S while a TableEditor is focused, this will now trigger an
    update that applies the changes to the underlying document. In other words,
    when editing a table, you can press Cmd/Ctrl+S twice to first apply any
    changes from the table to the document and second save the document itself.
  • The editor now recognizes Pandoc attribute syntax (e.g., {.unnumbered})
  • Added lua syntax highlighting support
  • Improved the tutorial to make use of the new split views
  • Citation keys in the autocomplete dropdown are now sorted by number of
    occurrences in the text
  • Fixed the readability mode color gradient (red -> purple -> blue -> green)
  • The "Save changes" dialog is now simpler and easier to understand
  • The main editor is finally properly styled and looks more natural to work with
  • Pre-rendered citations within Zettlr now respect the composite flag, meaning
    that Some sentence by @Author2015 renders as
    Some sentence by Author (2015) instead of Some sentence by (Author 2015)
  • Tags now include a measure of informativeness or uniqueness, called Inverse
    Document Frequency (IDF); the higher this value the more informative a tag is.
    This number is shown in the tag manager, and tags are ordered by this in some
    places

Under the Hood

  • Refactored the main editor component further
  • Refactored the Sidebar panels into their own respective components
  • Upgrade Electron to 22.x.x
  • Upgrade Pandoc to 2.19.2
  • Upgrade Chart.js to 4.x.x
  • Upgrade CodeMirror to version 6
  • Upgrade to Yarn v2
  • Switch from deprecated @clr/icons to @cds/core
  • Pandoc logs are now logged in every case
  • Improve the display and functionality of log messages
  • Switched the configuration file management for the different service providers
    from the previously very bodged methods to the unified and new
    PersistentDataContainer
  • Changed the default ports for the logging server to 9001 to avoid collisions
    with PHP fpm installations on development systems
  • The yaml frontmatter title property is now its own property on file
    descriptors to centralize the extraction logic and save some code on the
    renderer's side
  • Extracted the ID extraction functionality to its own utility function
  • Fixed a bug that would incorrectly detect Python comments or C++ pragmas as
    tags
  • Removed all Meta descriptors; now all descriptors are unified across main
    and renderer processes
  • Documents are now no longer managed by the editor leafs. Instead, they are
    managed by the document provider
  • Completely removed all instances of hash; the FSAL cache now is being called
    with absolute file paths. Hashed paths are only used to determine the shard.
  • Exchanged nspell with nodehun so that we can load any Hunspell-compatible
    dictionary file in Zettlr, including the previously too-complex ones such as
    the Italian or Portuguese dictionaries
  • Fixed the build pipeline so that native Node modules are now code-signed and
    work on macOS and Windows, meaning that chokidar should not need to fall
    back to CPU intensive polling anymore
  • Sandbox print preview window iframe elements
  • The update check will no longer block the boot cycle, making start up times
    fast even in degraded Wifi contexts where there is a connection, but extremely
    slow
  • Zettlr now attempts to extract the version strings for supported external
    programs (such as Pandoc, Git, and Quarto) and displays them in the About panel
  • Exchanged Zettlr Translate system with gettext
  • Removed the translation provider, since its remaining functionality to list
    available dictionary files and translations has now been moved to the main
    command hub
  • Removed the Zettlr class; the last remnant of the old, class-based system
  • Remove deprecated modules svg-inline-loader, raw-loader, and file-loader
Zettlr - Release v3.0.0-beta

Published by github-actions[bot] almost 2 years ago

Multiple windows & panes | Update Internal Links | New Profile System

Happy New Year everyone. We start 2023 with a bang: Zettlr 3.0 goes public beta! Tons of improvements have made it into the app, so brace yourself. As always, we've accompanied the start of the beta with a blog post which you can find by following this link.

Attention: Many things have changed, so please read this Changelog carefully before upgrading!

Changelog

READ THIS FIRST!

This update brings a host of changes and new features. If you're upgrading from
an older version of Zettlr, you will have to re-do a few things because due to
the extensive changes, we had to adapt how your data is persisted. Here's the
quick list:

  1. Your open documents will have to be re-opened once. Regardless of which files
    were open previously, they will all be closed after the update.
  2. There are no more unsaved in-memory files.
  3. Two default settings have changed in order to maximize benefits from the new
    features: Avoid new tabs is now set to false (since split-panes also allows
    you to spread out your open documents across several panes and windows), and
    Always reload remote changes is now set to true by default.
  4. The defaults system has changed. You will see new export options that weren't
    there before, and you will see some weird export.format.yaml and
    import.format.yaml export options. These are the "old" profiles we have
    kept in case you made modifications. We suggest you copy over all changes to
    the new profiles and then delete them, or rename those old ones to more
    memorable names. Read more below.
  5. The TableEditor has received a better save strategy to prevent data loss. As
    it is impossible to fully control the data flow from the visual table element
    into the underlying Markdown document, this data flow is now explicit: Tables
    now feature a save button (with a disk icon) at the top of the table. Its
    background will be green as long as the table has not been modified. Once it
    it modified, the background will turn red. Click the button to apply all
    changes to the document.
  6. Quicklook windows are completely gone now.
  7. Footnote editing has changed: Instead of editing the footnote in-place by
    Cmd/Ctrl-clicking it, there is now an "Edit" button inside the footnote
    preview which, upon clicking, will bring you to the footnote context. This
    has the benefit that you will have full syntax highlighting support as well
    as any shortcuts and commands you may need.
  8. We have deprecated the Zettelkasten link start and end configuration
    settings. Both are now fixed to [[ and ]] respectively. We have figured
    that nobody needs to configure this, and it makes many parts of our code
    easier.

Split-Panes and Multiple Windows

A long awaited feature has made it into this version: Now you can open multiple
windows and you can split the editor area in every window into multiple parts,
so-called editor panes (sometimes we may call them "leafs" since internally
they are represented as a tree structure. Feel free to remind us in that case
that we're talking to humans, not our code). This means you can now open as many
files as you wish at the same time, and you can spread them out across multiple
windows. This will especially benefit workflows that rely on having open
multiple files side by side to copy information or to read them. However, if you
are happy with the old ways, you can of course opt not to use them. Here's how
it works:

  • You can open a new window by choosing the corresponding menu item in the
    Windows submenu, or by pressing Cmd/Ctrl+Shift+N.
  • You can now drag document tabs not just within the tab bar, but also onto the
    editor area. If you move a document tab to the borders of the editor, a
    shimmer will appear that indicates that you can split the editor to that side.
    If you drop the file on one of the four borders of the editor, this will split
    the corresponding editor in two along the specified direction (left, right,
    top, bottom) and also move the file into that new pane.
  • You can also move document tabs between multiple panes by simply dropping them
    in the center of an editor pane. As long as there's no shimmer, the file will
    be moved instead. You can also drop a file onto a tabbar of one of the
    editors, which will have the same effect (but it will be indicated with the
    same blue shimmer as when you are splitting an editor).
  • After you have closed the last file inside such a pane, it will automatically
    close itself. If the pane was part of a split, the other pane will then occupy
    the place of the now closed editor pane. To create the pane again, simply drag
    another file to the correct border of an existing editor pane.
  • You can resize the panes at will. Unlike the sidebar and file manager, we have
    not implemented any size limits, so with a little bit of care, you can create
    your unique mosaic of files.
  • Since we are now not limited to one active file and one set of open files per
    window, these notions have changed their meaning. Now, every editor pane has
    one set of open files and one active file. Each window also remembers which
    pane was last active so that global features (such as the sidebar) can show
    you information based on the most recently focused editor pane's active file.
  • Most contextual information (table of contents, list of references, etc.) will
    now update based on the most recently focused editor. In order to make those
    places show information relating to one of the open editors, simply click with
    your mouse inside to focus them.

New Defaults/Profile File System

This update introduces a new way to work with defaults files. At a glance,
here's what has changed:

  • Zettlr now understands the reader and writer properties of defaults files
  • It uses those properties to determine if a file can be used for importing or
    exporting, and displays the appropriate files in the relevant places for you
    to choose
  • You can now create new defaults files, rename existing ones, or remove them
  • When changing the writer or reader for such a file, this change will be
    recognized by Zettlr and be treated accordingly
  • This also means that Zettlr will from now on only ship with a minimum set of
    profiles; but any additional import/export formats can be created by you with
    just one click
  • Additionally, because of this, you are now able to export LaTeX files directly
    without running them through a Markdown interpreter first, allowing you to,
    e.g., create beamer slides or write plain TeX files within Zettlr
  • Furthermore, we have dropped our internal reveal.js exporter, since Pandoc
    supports everything we did out of the box (and better) than our exporter

Tag Manager Update

The tag manager has received a necessary face lift. Now, the tag manager shows
all your tags and allows you to assign/un-assign colors and descriptions. This
makes it easier to assign colors to certain tags without having to remember the
tag first. Additionally, it gives you a better overview over your tags. The info
is now being propagated better across the app, with more places showing the
assigned colors for tags.

Additionally, you now have a better way to consolidate your tags: Within the
tag manager, you can now rename tags in order to clean up your tagging system.

Migration Guide

There are two instances where you will want to migrate something.

Old defaults files

Since Zettlr will never remove any data without asking, it will keep the
previous files in your defaults directory. Now that their filename is also
meaningful, you can see them by their naming structure: import.format.yaml and
export.format.yaml. You are free to remove them or rename and keep them.

Zettlr ships with a set of new files that are now additionally appropriately
named. Those files are "protected". Protected files have a small lock icon next
to their name. Protected means that if you delete or rename them, they will
automatically be recreated. You can use this to your advantage: By deleting such
a file, you are effectively resetting it to factory default (good if you forgot
what you changed). By renaming such a file, you can effectively make a copy to
have several versions of the same settings depending on your needs.

Reveal.js Presentations

Since we have now dropped our internal reveal.js exporter, there are a few
changes you have to make to your existing reveal.js presentations. First, the
theme must now be defined in a YAML frontmatter instead of via the dropdown. A
minimal working YAML frontmatter will look like this:

---
theme: league
---

... the rest of the file

Supported theme values are:

  • beige
  • black (the default, in this case you can omit the theme variable)
  • blood
  • league
  • moon
  • night
  • serif
  • simple
  • sky
  • solarized
  • white

Then, in order to get a working reveal.js presentation, you have to make sure
that the property standalone: true is inside the profile (this is the
default). In order to additionally copy everything into the HTML file to create
a truly self-contained presentation, set the property self-contained: true.

All other things should work as before, but may require a small tweak here or
there.

GUI and Functionality

  • New Feature: You can now open multiple main windows, each with their own
    files loaded
  • New Feature: You can now arbitrarily split the editor area into multiple
    editor panes to keep open as many files at the same time as you wish
  • New Feature: After a long time, you can now again drag and drop entries in
    the table of contents in the sidebar to rearrange sections of your file
  • New Feature: Overhauled, improved, and streamlined the defaults file
    system used by the importer and exporter
  • New Feature: You can now pin tabs, which prevents them from being closed
  • New Feature: The editor will now check your Markdown for potential style
    issues (can be disabled in the preferences)
  • New Feature: In the combined filemanager mode, you can now see writing
    targets as a ring progress bar in the position of the file icon
  • New Feature: Zettlr can now automatically update internal links (Wiki/
    Zettelkasten style) if you rename a file
  • The TableEditor now has a clear data saving strategy: Whenever you change a
    table, you need to manually click the disk icon at the top of the table to
    apply all your changes to the document so that it can then be saved
  • Quicklook windows are gone completely now, since they can be more than
    replaced by the new split views and multiple windows
  • The windows now finally correctly remember their positions, fixing an old bug
  • Improved the link tooltip inside the editor; it will show faster now and is
    easier to access
  • Zettlr now recognizes Quarto Markdown files (*.qmd)
  • Code files (e.g. *.tex or *.json) now have line numbers enabled and the
    margins of the main editor removed by default
  • The sidebar tabs are now static at the top, meaning you don't have to scroll
    up within a long list just to see the tabbar
  • Lists (especially in the assets manager) now also allow you to remove entries
    with a right click
  • Added new variables for snippets:
    • CURRENT_ID: Holds the currently assigned Zettelkasten ID to the file
    • FILENAME: Holds the filename of the current file
    • DIRECTORY: Holds the directory path for the current file
    • EXTENSION: Holds the file extension for the current file
  • Fixed inability to move the text cursor while renaming files in the file tree
  • Fixed an incredibly dangerous bug that would lead to data loss if the app was
    being shut down before the statistics provider has been booted up; in which
    case the provider would overwrite sometimes several years worth of statistics
    with empty data
  • Added the ability to use mouse buttons 4 and 5 for forward/backward navigation
  • Fixed a visual glitch on Linux where in dark mode the active tab would have no
    colored bottom border
  • Added a third exporter option: You can now have Zettlr ask you everytime where
    it should store an exported file
  • In case of an error, the error dialog will now also present the Pandoc error
    code
  • Fixed a minor bug in toolbar toggle controls that necessitated clicking them
    twice to bring them into the "active" state (holds especially true for the
    sidebar toggle)
  • Fixed faulty updates on Windows: Now the downloaded file should be opened
    without any errors
  • Middle-mouse clicks on the collapse/uncollapse indicators in the file tree
    should no longer trigger scrolling behavior on Windows
  • File tree items now show their absolute path on mouse hover
  • Clicking a directory will now also uncollapse it without having to click on
    the arrow
  • The graph view now uses as labels YAML frontmatter titles, first headings
    level 1, or a filename without extension based on the preferences
  • Fixed a usability issue on macOS where if you wanted to select a BibTeX file
    for your citations you had to click through intransparent buttons before being
    able to; now you can immediately select both CSL JSON and BibTeX files
  • Parsed links will now show the correctly resolved link as titles
  • The file tree now properly cuts too long file and directory names, indicating
    these with an ellipsis, rather than simply cutting off the text mid-letter
  • Pressing Cmd/Ctrl+S while a TableEditor is focused, this will now trigger an
    update that applies the changes to the underlying document. In other words,
    when editing a table, you can press Cmd/Ctrl+S twice to first apply any
    changes from the table to the document and second save the document itself.
  • The editor now recognizes Pandoc attribute syntax (e.g., {.unnumbered})
  • Added lua syntax highlighting support
  • Improved the tutorial to make use of the new split views
  • Citation keys in the autocomplete dropdown are now sorted by number of
    occurrences in the text
  • Fixed the readability mode color gradient (red -> purple -> blue -> green)
  • The "Save changes" dialog is now simpler and easier to understand
  • The main editor is finally properly styled and looks more natural to work with
  • Pre-rendered citations within Zettlr now respect the composite flag, meaning
    that Some sentence by @Author2015 renders as
    Some sentence by Author (2015) instead of Some sentence by (Author 2015)
  • Tags now include a measure of informativeness or uniqueness, called Inverse
    Document Frequency (IDF); the higher this value the more informative a tag is.
    This number is shown in the tag manager, and tags are ordered by this in some
    places

Under the Hood

  • Refactored the main editor component further
  • Refactored the Sidebar panels into their own respective components
  • Upgrade Electron to 22.x.x
  • Upgrade Pandoc to 2.19.2
  • Upgrade Chart.js to 4.x.x
  • Upgrade CodeMirror to version 6
  • Pandoc logs are now logged in every case
  • Improve the display and functionality of log messages
  • Switched the configuration file management for the different service providers
    from the previously very bodged methods to the unified and new
    PersistentDataContainer
  • Changed the default ports for the logging server to 9001 to avoid collisions
    with PHP fpm installations on development systems
  • The yaml frontmatter title property is now its own property on file
    descriptors to centralize the extraction logic and save some code on the
    renderer's side
  • Extracted the ID extraction functionality to its own utility function
  • Fixed a bug that would incorrectly detect Python comments or C++ pragmas as
    tags
  • Removed all Meta descriptors; now all descriptors are unified across main
    and renderer processes
  • Documents are now no longer managed by the editor leafs. Instead, they are
    managed by the document provider
  • Completely removed all instances of hash; the FSAL cache now is being called
    with absolute file paths. Hashed paths are only used to determine the shard.
  • Exchanged nspell with nodehun so that we can load any Hunspell-compatible
    dictionary file in Zettlr, including the previously too-complex ones such as
    the Italian or Portuguese dictionaries
  • Fixed the build pipeline so that native Node modules are now code-signed and
    work on macOS and Windows, meaning that chokidar should not need to fall
    back to CPU intensive polling anymore
  • Sandbox print preview window iframe elements
  • The update check will no longer block the boot cycle, making start up times
    fast even in degraded Wifi contexts where there is a connection, but extremely
    slow
  • Zettlr now attempts to extract the version strings for supported external
    programs (such as Pandoc, Git, and Quarto) and displays them in the About panel
  • Exchanged Zettlr Translate system with gettext
  • Removed the translation provider, since its remaining functionality to list
    available dictionary files and translations has now been moved to the main
    command hub
  • Removed the Zettlr class; the last remnant of the old, class-based system
  • Remove deprecated modules svg-inline-loader, raw-loader, and file-loader

New Contributors

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v2.3.0...v3.0.0-beta

Zettlr - Release v2.3.0

Published by github-actions[bot] over 2 years ago

Customizable Toolbar | Filetree Navigation | Quality of Life

This update introduces a few new features that had been long in demand. Firstly, now you can customize the toolbar and display or hide most elements depending on your preferences. To do so, head over into the new tab in the preferences window. Secondly, you can now navigate the file tree as well with your arrow keys. To collapse or uncollapse directories, you can use the left and right arrow keys. Thirdly, we have added scroll buttons which will come in handy for those of you who cannot or do not want to scroll through the tabbar horizontally.

Besides these new features, we have again fixed a bunch of bugs and improved working with the app considerably. As always, make sure to read the changelog so you're up to speed!

Changelog

GUI and Functionality

  • New Feature: You can now customize the toolbar and add or remove buttons
    as you see fit
  • New Feature: You can now navigate the file tree with the arrow buttons
    after activating the quick filter; use up and down to visually move through
    the visible items and left/right to collapse/uncollapse a directory; use Enter
    to "click" that item
  • New Feature: The document tabbar now features buttons so you can easily
    scroll horizontally through many tabs
  • Added "Copy filename", "Copy path", and "Copy ID" items to document tabs
    context menus (thanks to @kyaso)
  • Added "New File", "Next File", and "Previous File" buttons to the toolbar
  • The query input now gets blurred when starting a global search in order to
    prevent the dropdown from showing up, especially during auto-searches
  • Added keyword/tag CSS class names to YAML frontmatter tags
  • Added the last modification date to the file list, even if the additional info
    setting is turned off
  • The "restrict to directory" field will now be empty by default
  • Pressing Tab while the query input is focused will now directly focus the
    restrict-to-dir input
  • The table of contents in the sidebar now shows the title of the currently
    active file, if applicable
  • Removed the less-than-helpful file and folder removal shortcuts
  • Fixed the recent documents menu on Windows
  • Fixed wrong character count if counting without spaces
  • Fixed wrong word count for indented lists
  • Fixed wrong keyword/tag CSS class names
  • Fixed jumping of the code editor in the assets manager
  • Fixed wrongly positioned tabstops during snippets autocomplete
  • Fixed an error that would erroneously render citations in footnote previews or
    copied text with styling

Under the Hood

  • Ignore IDEA-related files
  • Update Pandoc to 2.18
  • Refactored the main window's store to be more modular for the upcoming
    additional changes
  • Added an additional check for frontmatter values in code files
Zettlr - Release v2.2.6

Published by github-actions[bot] over 2 years ago

Quality of Life Update | Improved Performance

This is a small update that fixes two problems that have been causing us headaches for the past weeks. First, it significantly improves writing speeds after some mistakes on our side have introduced considerable lag in typing. And second, it fixes a bug that could prevent Zettlr from loading some of your directories at all if the directory settings had been corrupted.

Changelog

GUI and Functionality

  • A malformed directory settings file now does not prevent loading the
    directory; instead the malformed file is now removed
  • Fixed a small visual glitch on Linux where the selected file was not
    highlighted in the file list in the thin or expanded file manager modes
  • Fixed heading ID links not working with, e.g., accents
  • Fixed heavy latency when working on a file with many related files

Under the Hood

  • Simplify the codeblock class hook again to significantly improve typing speed
  • Updated all dependency packages to the respective latest versions
Zettlr - Release v2.2.5

Published by github-actions[bot] over 2 years ago

This new update again fixes bugs and smaller nuisances. Of special interest this time are two areas: The VIM editing mode, and the search functionality. The VIM mode now has a visible command bar at the bottom of the editor once you start typing a command. The search has been improved mainly in respects to usability.

Please note that this is the first version that utilizes the new Windows code signing certificate. If you use Windows, it may under some circumstances happen that you see a warning that the update could not be trusted. This can happen if your Windows installation misses the latest SmartScreen definitions.

As always, please see the full changelog below to know what exactly has changed.

Changelog

GUI and Functionality

  • Localized Previous/next file menu items
  • Fixed selection of words on right-click in the editor
  • Editor word selection on right-click now accepts both ' and
  • Add Fortran syntax highlighting (keyword fortran)
  • Fix a bug that could lead to data loss when changing documents while a table
    has focus
  • Added an extra check so that unexpected values of openDirectory would not
    prevent Zettlr from starting
  • Make the vim command line visible and style it according to the Zettlr themes
  • Clicking on the toolbar now doesn't steal the focus from other elements,
    making it more comfortable to drag the window and immediately continue writing
  • Added slight transparency to the inline code background color so that block
    cursors are visible inside that code
  • Resizing an image upon pasting from clipboard now works better, since the
    aspect ratio will only be recalculated once you leave the input field (i.e. by
    tabbing into another input); this way you can just type in a specific number
  • Disabling "render task lists" will now also disable the application of task
    lists; this helps speed up editing long documents with many tasks
  • The main editor search now no longer automatically searches
  • When opening the main editor search, anything in the search input will now be
    selected
  • Fix unintended global search start
  • Highlight results from global search in the main editor text
  • The code editor in the assets manager now scales with the size of the window
  • Added an option to prevent Zettlr from checking for updated translations

Under the Hood

  • Switched to the new code signing certificate for the windows installers
  • Write errors which are logged properly to disk
  • Display errors in the log viewer
  • Added the default Homebrew installation directory for Apple Silicon Macs in
    order for Zettlr to find Pandoc installed via brew.
  • Improve global search typings
Zettlr - Release v2.2.4

Published by github-actions[bot] over 2 years ago

New Zoom Behavior | Better Link Display | FSEvents on macOS

This is again a smaller patch that improves many aspects of the app. As the last times, we have focused on improving very small but noticeable nuisances in Zettlr's behavior. One improvement we are very proud of is that after many years we have finally managed to get fsevents running. fsevents is a small library that enables us to watch your loaded directories for changes (so that if you add, remove, or modify a file externally, Zettlr can reflect that) without being too costly on your computer's processor. This change only affects macOS since the file-watching works already quick on Windows and Linux. You will be noticing this because changes to your files will be reflected (almost) immediately instead of with a delay of up to five seconds.

Changelog

This update changes the scroll effect on the document tab bar to be smooth
instead of snappy. To revert to the old behavior, you can use the following
Custom CSS:

body div#tab-container {
  scroll-behavior: auto;
}

GUI and Functionality

  • New Feature: You can now switch between zooming the whole GUI or just the
    editor font size when using the zoom menu items/shortcuts
  • Restores the display of links in the related files section of the sidebar
  • Differentiate between inbound, outbound, and bidirectional links in the
    related files section
  • Fix related files display and link reporting
  • Added a smooth scrolling effect for the tab bar
  • Added classes in order to conditionally style the related files section based
    on the type of relation, the classes are tags if the relation is based on
    keywords, inbound for incoming links, outbound for outgoing links, and
    bidirectional for links from and to the said file
  • Clicking on math now places the cursor correctly, reducing friction
  • Select the image markup when clearing a rendered image by clicking on it
  • Image captions do not disappear anymore while you are editing it, even if you
    move the mouse out of the image area
  • Improve icon alignment in the related files section
  • Relaxed conditions for emphasis rendering by just excluding word-characters
  • Tab characters are no longer detected as spelling errors
  • You can now choose to indent using tab characters instead of spaces
  • Do not close the file left to a new usaved file upon saving the file
  • Fixed a weird race condition in which the file manager would remain ignorant
    of an in-memory file after it has been saved to disk
  • Changes to your files should now be detected immediately also on macOS
  • Fixed a bug that would disable both types of magic quotes (single + double)
    if you disabled only one type
  • Improve styling of progress bars on all platforms

Under the Hood

  • Resolve links on-demand in the link provider
  • Factor out the clickAndClear functionality to its own helper
  • Improve editor image CSS
  • Factor out the checks to see if we can render some element to unify behavior
    across rendering plugins
  • Update most pure Node scripts from CommonJS to ESM in order to support the new
    versions of csso, chalk, and got
  • FINALLY managed to get fsevents to run! After about three years or so.
  • Add support for JabRef fileDirectory-style comments
Zettlr - Release v2.2.3

Published by github-actions[bot] over 2 years ago

Bug Fixes and Improvements

Today comes a smaller update that fixes a few annoying bugs that came up after the last release, and it contains improvements to the graph view. Most notably, it should rebuild less frequently and much faster. Also, we finally fixed a bug that was around for a little bit longer and that prevented exports of reveal.js presentations in stylesheets other than black.

Changelog

GUI and Functionality

  • The graph view now only updates when the underlying link structure has in fact
    changed
  • Fixed an issue that would break project exports since we accidentally passed
    not just Markdown and code files, but also everything else in that directory
    to pandoc (including, but not limited to, PDFs, HTMLs, images, etc.)
  • The graph view now supports displaying labels permanently; useful for smaller
    graphs
  • Better graph sizing
  • You can now highlight specific vertices based on text matching on its path
  • The graph view scrolling has now been replaced by moving zoom, i.e. wherever
    your mouse cursor is when you zoom, the graph will zoom in ever so slightly
    onto that position
  • Tags/keywords in a YAML frontmatter are now properly lowercased
  • Massively improve the speed of graph building
  • Fixed an error that would prevent the creation of new directories
  • Fixed a bug that would always export a revealJS presentation using the black
    stylesheet
  • Fixed commented entries in the YAML frontmatter being detected as headings
  • The file tree now remembers which directories are opened for longer
  • Make the emphasis rendering plugin less aggressive

Under the Hood

  • Remove the dependency on the LinkProvider within the FSAL
  • The LinkProvider now only updates when necessary; easing the load on the graph
Zettlr - Release v2.2.2

Published by github-actions[bot] over 2 years ago

Graph View

With this patch, we bring you a new, long awaited feature: A graph view! Read more about it below and in the newly created documentation.

Changelog

This update includes a long-awaited feature: Graph views. This brings Zettlr on
par with other apps such as logseq or Obsidian. You will find the graph view in
the stats window, which you can open as usual by clicking the statistics button
on the toolbar. The graph will re-render as soon as something in the link
structure of your notes changes. Rendering may take some time, however -- not
because constructing or displaying the actual graph takes so much time, but
rather, because resolving internal links (which can be either IDs or filenames)
takes a long time.

Within the graph view, you can interact with it in a few ways:

  • You can tick the checkbox to exclude isolates from rendering, that is: files
    which are not linked to any other note
  • With the + and --buttons, you can zoom in and out of the graph
  • Using the dropdown menu, you can restrict rendering to a single component.
    These clusters of files are ordered by size, so the first components in the
    list are the biggest in your network of files. Note that isolates are excluded
    from this list
  • By utilizing the trackpad or scrollwheel of your mouse, you can scroll both
    vertically and horizontally; dragging does not work yet
  • Clicking the target button resets the view on the graph to its origin if you
    have scrolled someplace else
  • Clicking on a note will open it in the main window just as if you had clicked
    on the note in the file manager

Note that the graph view is still in its early stages. It works as advertised,
but since networks can be very tricky, there is a lot of room for improvement.
You will notice that we publish this new feature using a patch release (2.2.2
instead of 2.3.0). The reason is that we cannot finalize this feature in any way
without the feedback from the community. So for this feature, we would like to
invite you to provide feedback -- not just about potential bugs, but about
things we should improve in the visual feedback the graph view gives you.

See this as an opportunity: Whereas the graph views of Roam, logseq or Obsidian
are pretty much in a final stage, Zettlr's graph view is still a blank canvas
upon which you can project your ideas that help us all make sense of the chaos
that is the network of our files!

GUI and Functionality

  • New Feature: Zettlr now finally offers a graph view of all notes in the
    statistics window; clicking on a vertex opens the file in the main editor, and
    you can choose to hide isolates
  • The full-text search doesn't skip files whose title and/or tags match the
    search terms anymore
  • Hovering the mouse over a document tab now shows the full path of the file
  • Ensure that in-memory files which are saved outside the workspaces are still
    added as root files
  • Use a more appropriate cursor for resizing the split views

Under the Hood

  • Add d3 as a fixed dependency in package.json; lock to the version from
    mermaid
  • Fix a dependency race condition in the service container
  • Make error messages more meaningful
  • Enable renderers to search for files using an internal link
Zettlr - Release v2.2.1

Published by github-actions[bot] over 2 years ago

Hotfix for a Startup Crash

Quite a few of you, excited to see the launch of 2.2.0, saw the app crash instead of displaying to you all the neat improvements we have stacked into the update. The cause* was luckily quickly found and, with this update, we fix it. Additionally, there are a few minor additional changes, as usual, because the train of progress never stops 🚂🚃🚃🚃.

* For those interested: Somehow we managed to sneak an infinite loop into the app, one of the most rookie mistakes one can possibly make.

Changelog

GUI and Functionality

  • Fixed an error that would under certain circumstances crash the application on
    start
  • Fix an error that would make some actions unusable if a faulty translation was
    provided
  • Fixed an issue where sometimes moving the cursor to the beginning of a list
    item would misbehave
  • Zettlr now detects if a directory is a git repository and displays this
    information in the directory properties
  • Zettlr can now also preview emphasis such as italic or bold text
  • Using an absolute path as the default image location will ensure that pasted
    images will be inserted using absolute paths as well.
  • Sometimes, something goes wrong when you start the application; now you will
    receive an informative message box if that happens, so that reporting problems
    will be easier

Under the Hood

  • Other files are now stored in the children array; the attachments array is
    now gone for good
  • Removed old remnants of the experimental WYSIWYG mode, since Zettlr now offers
    this via the ensemble of all rendering plugins in the main editor
  • Incorporate the logic to disambiguate ID and filename links into
    FSAL::findExact()
  • Improve findObject utility function
  • Resolve outbound links directly in the link provider
Zettlr - Release v2.2.0

Published by github-actions[bot] over 2 years ago

Support for Large Citation Libraries | Bug Fixes | Major Refactor

This release contains two improvements. On the one hand, we spent a lot of time mingling with the internals of the app again in order to prepare the app for the future plans we have. That is something you won't notice too much since it does not affect the functionality of the app. But this is the reason why this version is called 2.2.0, and not 2.1.4.

On the other hand, we've spent the past weeks fixing bugs that unfortunately made it into Zettlr 2.1.3. A few of you reported that you couldn't even run that version. We would like to apologize for this, and at the same time announce that this annoying error has been fixed, along various other issues which you can read en detail in below's changelog.

Lastly, something that a few people have consistently complained about over the past years was that Zettlr sometimes doesn't like too large citation databases. We are happy to announce that we have again improved the citation handling of the app so that it now shouldn't buckle in the face of large citation databases.

Changelog

Attention: This update switches one preference in the exporters' defaults:
file-scope is now removed. Remove this line from your defaults files, or reset
them to the (new) default, if you'd like to use this in your exports as well.
See this issue for more info and an explanation what this option does.

GUI and Functionality

  • Tags and keywords within a YAML frontmatter are now clickable
  • AutoCorrect values are no longer detected as spelling mistakes
  • Fix an issue with false detection of footnote reference texts
  • Fix link resolving: Now files dropped onto the editor will be easier to detect
    as files (rather than weblinks)
  • Fixed reloading issues with very large citation databases
  • Fixed a visual glitch when choosing to "Open in a new tab" in a note preview
  • Fix a regression that inserting pasted image paths into the editor didn't work
  • Fix wrong display of citations if there was an error rendering the citation
  • The tutorial is now also available after the first start; you can reopen it
    any time from the Help menu
  • The autocompletion popup doesn't disappear anymore if you completely remove
    anything already written to begin anew
  • Fix a bug that would with some installations result in a blank main window.
  • Fixed a bug that would sometimes not update the tag autocompletion
  • Ensure documents are saved when renaming a directory
  • Do not show "Open Image Externally" if loading a data URL
  • Improve styling for the "No results" message on file tree filtering
  • Newly created files now always open in a new tab
  • Fixed a bug where you would receive two "paste image" dialogs if you had text
    selected when pasting an image onto the editor
  • Fixed conflicting text decorations between strikethrough and spellchecking
  • Fixed a bug where a YAML frontmatter beginning and end would also be
    recognized even if it was not valid. A valid YAML frontmatter must be
    delimited by exactly three dashes/dots on their own line, and not more

Under the Hood

  • Update Pandoc to 2.17.1.1
  • Activate watchdog polling for the citeproc provider. This should reduce issues
    with very large citation databases.
  • If the error message upon a failed database reload indicates that the file was
    simply incomplete, the citeproc provider now attempts a second reload after a
    delay of 5 seconds
  • Moved the workspace and root file opening logic into their own command
  • Make the ZettlrCommand base class abstract and require constraints on derived
  • Remove all calls to global in the renderer processes; instead properly type
    the API provided via the window object
  • Refactor the main process:
    • Move the FSAL, the WindowManager, and the DocumentManager into the service
      provider realm
    • Factor out all commands into a new CommandProvider
    • Use singleton dependency injection to provide services to each other,
      utilizing an AppServiceContainer
    • Remove (almost) every dependency on the global object
    • Move the littered code from the Zettlr main class into their corresponding
      service providers
    • Fixed the dependency hell within the FSAL
  • The app doesn't attempt to download the Vue3 devtools in production anymore
  • The date formatter now takes everything as parameters and has unit tests
Zettlr - Release v2.1.3

Published by github-actions[bot] over 2 years ago

Quality of Life Update

This update focuses on many minor improvements so that working with Zettlr becomes much more pleasant. While the previous two updates focused on fixing bugs that unfortunately made it into the app, this update can solely focus on improving your interaction with the app. We heavily improved the readability mode, the global search, and the TableEditor. But also outside of these three larger modules we have improved the app's behavior a lot. For example, the app now remembers if you had the sidebar open, and even on which tab you were so you don't have to open the sidebar again and again when launching Zettlr.

As always, we encourage you to read the full changelog below to see for which things you can finally forget your clumsy workaround and just enjoy writing productively!

Changelog

GUI and Functionality

  • Display inline math using monospaced font
  • Right-clicking citations doesn't select parts of it anymore
  • Inline-equations are now properly syntax highlighted
  • Fixed a bug that caused unintentional pastes when closing a tab using the
    middle mouse button on Linux
  • Heavily improved the full text search: Previously, certain files that should
    have been returned for specific search terms were not considered a match, and
    multiple results per line were mostly not reported; additionally, search
    results are now ordered by relevancy and the search results are marked more
    visibly
  • Heavily improved the table editor user interface: Now the table editor will on
    certain actions write all changes back to the document so that the possibility
    of data loss involves a single table cell at most in case the user forgets to
    un-focus the table. Furthermore, the table editor will now not be removed from
    the document when it loses focus, and instead the table will be updated
    silently
  • The log viewer now only displays errors and warnings initially
  • Fix a small visual glitch on macOS for toolbar searches
  • Added "Open in new Tab" button to link preview tooltip, when user has
    preference "Avoid Opening Files in New Tabs" set to true
  • Fix Use the CodeMirror default actions for Home and End preference not
    working on MacOS
  • Fix task item strikethrough appearing laggy
  • Fix task item strikethrough covering the preceding whitespace
  • On macOS, file tree icons are now displayed using the theme/system color. On
    all platforms, you can customize the appearance using the selector
    body .tree-item clr-icon.special (including platform/mode selectors)
  • Improve the readability mode: Now it will not render a YAML frontmatter and it
    will additionally treat sentences smarter than before
  • Fixed an issue that would sometimes break images when you edited the caption
    in the rendered image caption.
  • Enable resetting of the custom Zettelkasten directory
  • The default value for "Use system accent color" is now off for all platforms
    except macOS
  • The app now remembers if you had the sidebar open, and which tab you selected
  • The app now remembers your recent global searches
  • The file tree now expands when you are filtering for files/directories
  • Translate the auto dark mode start/end setting strings
  • The ToC now displays the currently active section
  • Fix file manager always showing word count, even if user selected character
    count in preferences
  • When clicking on a heading in the ToC, the cursor is now set to that heading
    and the editor is focused immediately
  • Fix recent documents items not being clickable in Linux
  • Fix drag & drop of files onto the editor
  • Fix some bugs in the link opener

Under the Hood

  • Update Pandoc to 2.17
  • Removed the unused PDF settings from the config
  • Removed the unused pandoc and xelatex config options
  • Convert all MarkdownEditor hooks and plugins to TypeScript
  • Tests now simply transpile without type checking
  • Move service provider types to the new types directory
  • Provide @dts as an alias to retrieve typings
  • Move FSAL types to the new types directory
  • Convert the remaining utility functions to TypeScript
  • Polyfill the path module in renderer processes
  • Convert the MainSidebar component to TypeScript
  • Move out the statistics calculation from the FSAL
  • The yarn package and yarn test-gui commands now skip typechecking,
    reducing build time by a large margin
Zettlr - Release v2.1.2

Published by github-actions[bot] almost 3 years ago

Display Improvements | Zettelkasten improvements | VIM Mode

While the last release mainly fixed things, this release puts a little bit more focus on new functionality. Mainly, we have worked on improving the overall usability of Zettlr's file management system and the Zettelkasten functionality. This means that you can now tell Zettlr to only use filenames to display for you (instead of YAML frontmatter titles overriding them). Furthermore, you can also display Markdown file extensions for a more file-browser-ish appearance.

Additionally, you can now explicitly link using filenames and disregard any IDs, which can be useful for certain Zettelkasten approaches.

Lastly, something that will bring joy to all those of you who enjoy writing in the style of vim: We accidentally discovered that the vim mode started working again. We had to disable the vim mode with version 1.8.1 because it stopped working. That being said, the option is now available again in your editor preferences!

Changelog

GUI and Functionality

  • New Feature: You now have more fine-grained control over how your files
    are displayed: You can now select if the filename is always used or a title
    or first heading level 1 is used (if applicable)
  • New Feature: You can now also fold nested lists
  • New Feature: You can now choose to display the file extensions of Markdown
  • New Feature: You can now choose to always only link using filenames
  • The Vim input mode of the editor started working again, so we are re-enabling
    it with this update
  • Fixed an error that would cause the global search to malfunction if you
    followed a link which then started a global search while the file manager was
    hidden
  • Removed an unused preference
  • Rearranged some preferences
  • On Windows, tabbed windows will automatically hide their labels if the window
    becomes too narrow
  • Reinstated the info on what variables you could use in the Zettelkasten
    generator
  • Zettlr displays info text below some preferences again
  • Citations are now first-class citizens and got their own preferences tab
  • Fixed a small error that would close additional files when you renamed a file
    that was also currently open
  • Fixed the context menu not showing during a full text search on macOS
  • When something goes wrong during opening of a new workspace or root file, the
    error messages will now be more meaningful
  • Small improvement that will not detect Setext headings level 2 without a
    following empty line. This prevents some instances of data loss where users
    forget this empty line and thus accidentally create a valid simple table
  • Fixed an issue where the indentation of wrapped lines would look off after
    changing the theme or modifying the editor font via custom CSS
  • Fixed the vim mode cursor being barely visible in dark mode
  • Done task list items will now be stroked out faster

Under the Hood

  • Convert the MarkdownEditor to ES modules and TypeScript
  • Make the dot-notation rule optional
Zettlr - Release v2.1.1

Published by github-actions[bot] almost 3 years ago

Between Zettlr 2.0.0 and 2.1.0 we upgraded an internal dependency, which caused a few things to accidentally break. We would like to apologize for these problems. With 2.1.1 we hope to have fixed those issues. Additionally, we also have implemented a display of backlinks. Whenever you visit the sidebar tab "Related Files", you will now see any files linking to the file you are currently viewing. Additionally, we have fixed a few other things.

Happy New Year 2022 to you!

Changelog

GUI and Functionality

  • New Feature: Zettlr now accounts for backlinks to the currently active
    file, which means it now displays files which link to the current file in the
    sidebar
  • New setting: You can now choose to hide the toolbar while in distraction-free
    mode
  • Improved placement of the popup displayed by the Input Method Editor (IME) for
    writing non-alphabetic characters (e.g. Chinese, Japanese, or Korean)
  • During drag&drop, you can now rest over a collapsed directory for longer than
    two seconds to have it automatically uncollapse -- this way you can reach
    deeper nested directories without having to stop the operation
  • Clicking a search result in the global search sidebar will now highlight it
    in the sidebar
  • The search now also starts when you press Enter while the restriction input is
    focused
  • If you abort moving a file by dropping it onto its source directory, Zettlr
    will silently abort the move without nagging you about the fact that the
    target directory obviously already contains a file of the same name
  • Renaming root-directories will now ensure the new path of the directory is
    persisted to the configuration
  • Fix a rare error that would incapacitate the Math equation renderer
  • Fixed an error that would sometimes prevent the autocomplete popup to close
    until the main window was closed and reopened (or the app is restarted)
  • Fixed an error that would prevent a global search if no directory is selected
  • Fixed a bug that disabled the table insertion toolbar button in the previous
    version
  • Fixed an issue preventing updates of lists in the preferences
  • Fixed an issue not displaying the currently selected theme in the preferences

Under the Hood

  • Update to Electron 16
  • Make sure to de-proxy the tag database before sending it to the MdEditor
  • Remove the openDocuments array from the Vue component data
  • Convert the MainEditor component to TypeScript
  • Added a @providers alias for easy referencing of service providers
Zettlr - Release v2.1.0

Published by github-actions[bot] almost 3 years ago

We are very happy to be able to make you a Christmas-gift, as the beta phase of Zettlr 2.1 was going extremely smooth! With this update, we are making the app future-proof. We did not add all that many graphical improvements or big changes, but you will notice that the app runs even more performant.

Even though the major changes have happened under the hood, we have managed to fix quite a few visual problems, bugs, and improved the overall experience. This will be the last update for this year, while we’re taking a deserved break over Christmas.

We wish you a few days of rest and a smooth transition to 2022!

Changelog

GUI and Functionality

  • New Feature: Implemented "forward" and "back" actions, which are
    especially useful for people managing a Zettelkasten and frequently follow
    links: Now you can go back and forth between opened files (shortcuts:
    Cmd/Ctrl+[ and Cmd/Ctrl+]) so you can more quickly navigate your files
  • Fixed an error in the link filtering process that would throw an error when
    you attempted to remove internal links completely upon export
  • Fixed Cmd/Ctrl-Click-behavior on footnotes
  • Dragging and dropping files (both from the desktop and the sidebar) now always
    inserts relative paths
  • More reactive updating of the related files section
  • Improvements during insertion of snippets
  • The footnote editor now has a consistent background color in dark mode
  • You can now open linked files from within the preview tooltips
  • Removed the shortcut to rename directories since that was rarely used and
    could confuse users since it was not obvious where the directory is in the
    file manager
  • Moved the file renaming process via shortcut to the document tabs since it's
    much more visible there
  • Fix a very rare bug in which selections inside headings would look off
  • Fixed an error that would fail the print preview if you had images with
    relative paths in your document
  • Internal links to files that contain a period should work now (except what
    follows exactly matches an allowed Markdown file extension)
  • Scrollbars on Windows and Linux should now switch colors according to the
    app's dark mode setting
  • Zettlr doesn't detect links to other headings in the form of [link](#target)
    as tags anymore
  • Reinstated the ability to use pure number tags or hexadecimal numbers as tags
  • Using the shortcut Ctrl-Shift-V to paste something as plain text will no
    longer paste it twice on Windows and Linux
  • Zettlr can now be started minimized (in the tray/notification area) by passing
    the CLI flag --launch-minimized, which means the main window will not be
    shown after launching the app
  • On single-file export, unsaved changes are now also exported
  • MagicQuotes can now surround selections
  • File duplication will now make sure to always create new files instead of
    overwriting existing ones
  • Attempt to scroll back to the correct position after applying remote changes
  • Adapt styles on Windows
  • You can now specify a TeX template and an HTML template for projects
  • Fix double titlebars on Windows and Linux when displaying modals
  • Following internal links now also works for systems in which the ID is part of
    the file name
  • Updated the display name in the Add/Remove Programs entry for Windows
  • Task list items in the editor are now correctly spaced again
  • Fixed a bug that would render it impossible to open images and files with non-
    ASCII characters within their path
  • You can now copy the underlying equation code for LaTeX equations

Under the Hood

  • Added a further check to the filter copying. Since the filters that ship with
    Zettlr are bound to the inner workings of the app, we should always overwrite
    them if applicable (to ensure they are updated with the app), unlike the
    defaults which people should be able to modify without us messing with them
  • Sanitized and standardized all Vue component names and app entry points
  • Fix a whole bunch of linter warnings
  • Remove the custom event system ($on, $off, and $once) in preparation for
    Vue 3
  • Switched to Vue 3 (incl. Vuex 4, vue-loader 16, vue-virtual-scroller 2)
  • The state is now being instantiated using a function which adds reactivity
  • The modified documents are now updated in such a way that attached watchers
    are notified
  • The snippet insertion process is now much more precise and allows snippets to
    be inserted at any point within non-empty lines without any quirks
  • Update Pandoc to 2.16.2
  • The VS Code debugger now uses the test-gui configuration and not the regular
    (potentially critical) main configuration; NOTE that this means you must run
    the test-gui command first to generate that data-dir in the first place
    before starting the debugger
  • Cleaned up the handler for rendering task-list items
  • Switched the windows update, tag-manager, stats, quicklook, project-properties,
    print, paste-image, log-viewer, error, assets, preferences, and about to
    TypeScript
  • extractYamlFrontmatter does not require the linefeed anymore
  • Remove the openFile method from the main Zettlr object. Use
    getDocumentManager().openFile instead to open a file
  • Add an automatic updater for CITATION.cff
  • Zettlr now extracts outlinks from a file and adds them to descriptors
  • Added @common as a shorthand alias for importing files within the common-
    directory
  • The file autocompletion database now uses the full paths to index files
Zettlr - Release v2.1.0-beta

Published by github-actions[bot] almost 3 years ago

This is the first (and, hopefully, only) beta release for the upcoming 2.1 release. We are confident that this release is fairly stable, but in case you find any bugs that are new, please as always report them so we can make sure that this release is again stable and helps all of us to become even more productive.

Changelog

GUI and Functionality

  • New Feature: Implemented "forward" and "back" actions, which are
    especially useful for people managing a Zettelkasten and frequently follow
    links: Now you can go back and forth between opened files (shortcuts:
    Cmd/Ctrl+[ and Cmd/Ctrl+]) so you can more quickly navigate your files
  • Fixed an error in the link filtering process that would throw an error when
    you attempted to remove internal links completely upon export
  • Fixed Cmd/Ctrl-Click-behavior on footnotes
  • Dragging and dropping files (both from the desktop and the sidebar) now always
    inserts relative paths.
  • More reactive updating of the related files section
  • Improvements during insertion of snippets
  • The footnote editor now has a consistent background color in dark mode
  • You can now open linked files from within the preview tooltips
  • Removed the shortcut to rename directories since that was rarely used and
    could confuse users since it was not obvious where the directory is in the
    file manager
  • Moved the file renaming process via shortcut to the document tabs since it's
    much more visible there
  • Fix a very rare bug in which selections inside headings would look off
  • Fixed an error that would fail the print preview if you had images with
    relative paths in your document
  • Internal links to files that contain a period should work now (except what
    follows exactly matches an allowed Markdown file extension)
  • Scrollbars on Windows and Linux should now switch colors according to the
    app's dark mode setting
  • Zettlr doesn't detect links to other headings in the form of [link](#target)
    as tags anymore
  • Reinstated the ability to use pure number tags or hexadecimal numbers as tags
  • Using the shortcut Ctrl-Shift-V to paste something as plain text will no
    longer paste it twice on Windows and Linux
  • Zettlr can now be started minimized (in the tray/notification area) by passing
    the CLI flag --launch-minimized, which means the main window will not be
    shown after launching the app
  • On single-file export, unsaved changes are now also exported
  • MagicQuotes can now surround selections
  • File duplication will now make sure to always create new files instead of
    overwriting existing ones
  • Attempt to scroll back to the correct position after applying remote changes
  • Adapt styles on Windows
  • You can now specify a TeX template and an HTML template for projects
  • Fix double titlebars on Windows and Linux when displaying modals
  • Following internal links now also works for systems in which the ID is part of
    the file name
  • Updated the display name in the Add/Remove Programs entry for Windows

Under the Hood

  • Added a further check to the filter copying. Since the filters that ship with
    Zettlr are bound to the inner workings of the app, we should always overwrite
    them if applicable (to ensure they are updated with the app), unlike the
    defaults which people should be able to modify with us messing with them
  • Sanitized and standardized all Vue component names and application entry points
  • Fix a whole bunch of linter warnings
  • Remove the custom event system ($on, $off, and $once) in preparation for
    Vue 3
  • Switched to Vue 3 (incl. Vuex 4, vue-loader 16, vue-virtual-scroller 2)
  • The state is now being instantiated using a function which adds reactivity
  • The modified documents are now updated in such a way that attached watchers
    are notified
  • The snippet insertion process is now much more precise and allows snippets to
    be inserted at any point within non-empty lines without any quirks
  • Update Pandoc to 2.16.2
  • The VS Code debugger now uses the test-gui configuration and not the regular
    (potentially critical) main configuration; NOTE that this means you must run
    the test-gui command first to generate that data-dir in the first place
    before starting the debugger
  • Cleaned up the handler for rendering task-list items
  • Switched the windows update, tag-manager, stats, quicklook, project-properties,
    print, paste-image, log-viewer, error, assets, preferences, and about to
    TypeScript
  • extractYamlFrontmatter does not require the linefeed anymore
  • Remove the openFile method from the main Zettlr object. Use
    getDocumentManager().openFile instead to open a file
  • Add an automatic updater for CITATION.cff
  • Zettlr now extracts outlinks from a file and adds them to descriptors
  • Added @common as a shorthand for accessing files within the common-
    directory
  • The file autocompletion database now uses the full paths to index files
  • You can now copy the underlying equation code for LaTeX equations
Zettlr - Release v2.0.3

Published by github-actions[bot] almost 3 years ago

Attention: This patch changes a default. In order to ensure that both HTML exports and "PDF Document" exports continue to function as expected, please set the value self-contained: false to self-contained: true in the HTML export settings within the assets manager.

Changelog

GUI and Functionality

  • Default changed: The exporter's HTML defaults have now self-contained: true
    instead of previously self-contained: false -- make sure to update your
    settings accordingly!
  • The editor dropdown list now won't be wider than the window, even if you have
    very long citations or keywords
  • Removed the leading # in the tag cloud
  • Allow tags to be sorted by name or count
  • Re-introduce the project properties window, since the place within the popover
    was very limited and people have begun calling for more features, so we need
    the space of a dedicated window
  • Image caption changes are now also saved when the text field loses focus
  • Reworded "night mode" to "dark mode" consistently
  • Fix a minor design glitch
  • Removed the previous HTML template; now Zettlr uses Pandoc's default
  • Fix a small visual glitch that would show link tooltips in unexpected
    locations
  • Fixed a small bug that would make Zettlr treat numbers at the beginning of a
    line as a list too often. Now typing, e.g., "21.12.2021" will not yield a
    "22." on the next line
  • Changing heading levels using the context menu on heading markers will no
    longer insert the new heading level at arbitrary positions in the document
  • Fixed the accessibility to screen readers of toolbar search controls

Under the Hood

  • Update Pandoc to 2.16.1
  • Improve sorting behavior of directories on creation and renaming of files
  • Removed custom middle-click paste code for Linux, cf. #2321
  • Fixed a floating-point to integer conversion failure error
  • Fix potential errors in the updater window with additional sanity checks
  • Project properties are now persisted to disk only if they actually changed
Zettlr - Release v2.0.2

Published by github-actions[bot] almost 3 years ago

This update fixes a second set of issues that were reported to us after the release of Zettlr 2. It mainly contains visual fixes and a few very minor things. The one bigger improvement this update provides is that the updater is now much more responsive and more stable.

GUI and Functionality

  • Linking files by dragging them onto the editor from the file manager works
    again.
  • Text input is automatically focused on global search (Ctrl+Shift+F).
  • Previously, when you saved an in-memory file to disk, the dialog would begin
    in some random directory, but never the currently selected directory. This is
    now fixed.
  • Added syntax highlighting for Octave (Matlab), keyword: octave
  • The sidebar now refreshes also whenever it is shown, preventing wrong messages
    such as "No citations in document" when a document with citations is open.
  • Modal windows now have a title bar
  • Slightly increased the status bar height
  • Fixed the image size calculator during image pastes
  • Fixed a bug that sometimes caused the editor to randomly jump when entering a
    newline
  • The updater has received a face lift: It should now be more responsive and
    easier to handle. We now filter out files which wouldn't work on the given
    platform either way, making it harder to accidentally download the Intel-
    packages when you're on ARM (or vice versa).

Under the Hood

  • Switched the Linux middle-mouse-paste code to listen to mouseup events instead
    of mousedown events in response to issue #2321
  • Update Pandoc to 2.15
  • Refactor the UpdateProvider so that it now has a unified state and a better
    error reporting. It should work much better without unrecoverable states and
    is more responsive. Additionally, removed a lot of old and dead code from it.
Zettlr - Release v2.0.1

Published by github-actions[bot] almost 3 years ago

No stable release works without bugs, and thanks to our community, we found them
quickly! This patch fixes those initial bugs.

GUI and Functionality

  • Previously, list items were rendered as if they were code blocks if they were
    indented by at least four spaces, which was not supposed to happen. Thanks to
    @Redsandro for fixing this!
  • The autocomplete dropdowns in the editor now only show the top 50 matches. Any
    more wouldn't be visible either way, and additionally, we have had reports
    that databases with more than 10,000 items made those lists somewhat slow.

Under the Hood

  • Switched to providing necessary information to BrowserWindow instances via
    URLSearchParams instead of utilizing the additionalArguments property on
    the window constructor, since on Windows, Electron injects an additional
    property prefetch:1 afterwards, rendering it pure luck to retrieve the
    correct information across all Platforms.
  • Switched the Sidebar and the SplitView components from v-show-directives
    to v-if directives to prevent rendering while they are not in view.
Zettlr - Release v2.0.0

Published by github-actions[bot] about 3 years ago

Zettlr 2.0 is finally a reality! This release is quite big, so I won't go into too much detail here, but direct you to the resources where I have collected the necessary info for you to look the new stuff up. First, as always, I have written an extensive blog post outlining the major changes and what will be happening going forward. Furthermore, please feel free to join our Subreddit or Discord to ask questions regarding this new release. You can also start a discussion on GitHub.

Below follows the full changelog, which doesn't contain everything but only the major points. Please make sure to read through it before updating, since it also contains some advice on how to update!

Please note that we are, as of now, still migrating the documentation to 2.0, so some things are not yet properly documented. Please ask on Reddit or Discord if something seems not documented and refrain from opening issues, except we concur that you have found a bug!

Changelog

Since the last release, 1.8.9, there have been 1,921 commits and 823 files
inside the codebase have changed (plus one or two commits after editing this
changelog and bumping the version string). Thus, the changelog this time does
not contain a meticulous list of every change. Rather, we focus on notable
changes here. If you would like to see the full list of every change, please
follow this link.

32bit Builds Are Discontinued

We do not ship any more 32bit builds. From 2.0.0 onwards, only 64bit builds
(both Intel and ARM) are supported. For Windows ARM builds, Pandoc is not
available, so to export and import files on Windows ARM you must install Pandoc
manually, if possible.

New Configuration Options

Several existing configuration options have changed their format. This means
that changes to these won't be recognised and they will reset to their default.
In this case, you may have to re-adapt your preferences in several places.
Please have a look at your settings after updating and see if they still are set
the way you like.

Writing Targets Must Be Re-Applied

Due to a change in the underlying data structure, this version of Zettlr will
not recognise any writing target set by a Zettlr version 1.x. This means: Please
note down the important writing targets you have set before updating and then
once re-apply them. We would like to apologise for this inconvenience, but
believe its benefits by far outweigh the single additional migration effort on
your side.

No More Transitive Files / New Browser-Like Behavior

The idea of "transitive files" we implemented in previous iterations of Zettlr
proved to be counter-intuitive to many people. We now removed that feature
in favor of a much better tab-management. By default, Zettlr will now try to
avoid opening new tabs and instead attempt to replace existing tabs whenever you
open any new file. You can force Zettlr to open a file in a new tab instead by
either middle-clicking, or right-clicking the file and choosing "Open in a new
tab." If you generally do not want tabs to be closed in favor of other files,
you can uncheck the option "Avoid opening new tabs." Files with unsaved changes
will never be replaced. This behavior is very closely aligned with how modern
browsers handle links.

Autosave Is Now A Setting

A few years ago we implemented auto-saving after a delay of five seconds with no
change to the current file. However, some people mentioned that they'd like to
choose what to do. Now you can switch between three modes of autosaving. "Off"
disables autosave and you have to manually save using Cmd/Ctrl+S.
"Immediately" saves files after a very short delay of 250ms, that is basically
whenever you stop typing. "After a delay" (default) will save files after the 5s
delay you know from previous versions of Zettlr.

PDF-Preferences Are Discontinued

The PDF-Preferences window has been removed in favor of the new "assets
manager." While it did prove to be a nice reminiscence of how LibreOffice or
Word handled layout, it was not a scalable solution. Instead, we have now
switched to defaults files, which are a little more complex than this dialog,
but provide much more functionality and flexibility.

New Dialog: Assets Manager

Instead of the old PDF-Preferences window, Zettlr now contains a so-called
"assets manager." This is a new preferences window that allows you to customize
settings which are stored in individual files. The first two tabs feature
exporting and importing settings using so-called defaults files. Defaults files
are written using YAML and provide Pandoc with sensible defaults for every
export. We will shortly after the release of 2.0 include extensive documentation
for how these work. The defaults we provide should work well for most users.

The third tab contains the custom CSS, and the fourth tab contains the new
snippets feature.

Custom CSS Has Moved

The Custom CSS can now be edited directly in the assets manager instead of in
its own dialog.

Zoom Functionality Has Changed

Previously, you could increase and decrease the editor's font size using the
zoom shortcuts. Now, the zoom shortcuts will zoom the complete user interface.
This is an accessibility feature, since several people with visual impairments
as well as people with large external displays have mentioned they would like
the user interface itself to be scalable.

The editor's font size can now directly be edited with a new setting in the
editor settings tab.

Scroll-to-zoom has been removed, because too many people have accidentally held
down Cmd/Ctrl while using the scrollwheel, causing many accidental zoom
operations.

The Pandoc Command Has Been Removed

In the past, you had the ability to modify the command that Zettlr would run to
export your files. However, several times we had to adapt the command, which
lead to frustration among users because we had to manually inform everyone of
these changes and they had to manually "reset" the command. Now that we have
switched to defaults files, the command that will be run in every case is
pandoc --defaults "/path/to/defaults.yaml". Instead of modifying the CLI
arguments, you can now adapt the defaults Pandoc will be run with, which is
possible because every CLI argument has a corresponding setting in defaults
files, which can be edited in the assets manager.

Native User Interface

Another notable change is that now we have switched to a native user interface.
This means that Zettlr does not have a completely custom design anymore, but
rather orients itself at the various interface guidelines published by Apple,
Microsoft, and the GNOME team. Thus, on macOS and Windows Zettlr now follows the
Big Sur style and the Metro style respectively. On Linux, we have attempted to
model the GNOME interface but had to make a few changes due to the fact that
there are numerous different window managers with different aesthetics.

Two PDF Export Options

You will notice that there are now two different PDF exporting options, one is
called "PDF Document", the other "PDF (LaTeX)". The first option enables you to
export a document to PDF without the help of a LaTeX distribution. This way you
can have PDF exports without installing such a distribution. The second option
allows you to export to PDF as you know it from previous versions of Zettlr.

Project Settings Have Moved

With the introduction of defaults files, there is less necessity to ship a full
dialog just to edit a project's settings. Instead, the project settings have
been moved to the novel "Properties" dialog of directories, which you can access
via the context menu.

GUI and Functionality

  • Feature: Switched to using defaults files in the exporter. Additionally,
    the exporter is now modular, allowing for more extensions in the future.
  • Feature: You can now define snippets, reusable pieces of text that allow
    you to save some time when writing
  • Feature: The "global search" has been renamed "full text search" and has
    moved to its own sidebar panel -- you can switch between the file manager and
    the full text search using the three-way toggle in the toolbar
  • Feature: A new sidebar tab shows you related files
  • Feature: Added a calendar view to the stats dialog, showing you what
    you've written over the year
  • Feature: The macOS version of Zettlr now boasts a new application icon,
    adapted to fit the style of the Big Sur operating system. It was provided by
    Marc Oliver Orth (@marc2o) – thank you!
  • Feature: Zettlr now supports bibliography files on a per-file basis. Just
    set the wanted bibliography in your YAML frontmatter, within the
    bibliography-property.
  • Feature: The tag cloud now offers you "suggested tags" for the current
    file. Tag suggestions are words equalling tags found inside your file which
    are not yet prepended with a hash-character. You can modify the list of
    suggestions and insert them at once. Zettlr will insert them into the
    frontmatter so that the actual text will remain untouched. If there are any
    tag suggestions, the tag cloud icon will feature a small red dot.
  • Feature: Now Zettlr can export to PDF even without any LaTeX-distribution
    installed on the system.
  • Feature: The footnote editing logic has been improved. Now, multiline
    footnotes are handled appropriately, and you can safely use multi-line
    footnotes alongside the in-place editing feature.
  • Feature: You can now customize the data directory using the
    --data-dir="/path/to/directory" switch. This allows portable installations.
  • Feature: In addition to the "Glass" sound you can now also have the
    Pomodoro timer play a "Chime" or a "Digital Alarm" after each step
  • Feature: The filter now not only filters the file list but also the file
    tree
  • Feature: New "Properties" popouts give you access to information about
    your files and folders via the context menu
  • Feature: Projects can now be exported into multiple formats at once,
    allowing you to choose from every available format
  • Feature: You can now further filter which files will be exported using
    glob patterns
  • Feature: A new update dialog improves the updating experience
  • 32bit AppImages and Windows builds are no longer supported.
  • Double-dollar equations are now rendered in display mode.
  • Removed the Pandoc installation item from the help menu.
  • Moved the Pandoc and XeLaTeX settings to the export tab in preferences.
  • Updated the tutorial instructions to install Pandoc
  • Fixed a bug that would delete file if it got renamed as itself.
  • All languages will now be downloaded by the CI workflow. Updates will still be
    pulled via the application on boot.
  • Removed the ability for the translation provider to arbitrarily request
    languages that have not been installed in order to remove that fragile
    feature. All languages will now be provided from the application immediately.
  • All windows will now remember their last position.
  • Some components of the renderer elements will now respect a given accent
    color set by your operating system (only available for macOS and Windows).
    You can choose between a theme's accent color and the operating system's in
    the display settings.
  • You can now close files by middle-clicking their tabs
  • MDX supported as a type of markdown file
  • New File and Edit File can now fast rename without selecting the extension
  • Add a tray to the system notification area, off by default. To activate, see
    Preferences → Advanced → "Leave app running in the notification area" (or
    "Show app in the notification area" when using MacOS).
  • Fixed a bug that would mark some quotation marks as misspelled
  • Fix the visibility problems under night mode mentioned in issue #1845
  • Enabled syntax higlighting for fenced code blocks that use attribute lists as
    per issue #2259
  • Added the SIL Open Font License to the About dialog

Under the Hood

  • Removed support for 32 bit AppImages on the CI.
  • Migrated the exporter to TypeScript.
  • Completely rewritten the exporter in order to be able to use defaults files
    and enable much more flexibility.
  • Removed the Pandoc command.
  • Add typings for external modules, remove the internal custom ones for bcp-47
    and nspell.
  • Reenabled the Pandoc and XeLaTeX options in preferences.
  • Removed the generic IPC call from the config provider and replaced it with
    consistent checks as to which options have actually changed. This increases
    the performance after configuration saves.
  • Migrated the config provider to TypeScript.
  • Migrated the Citeproc Provider to TypeScript, and cleaned the provider up:
    • The provider has now the capability to load multiple databases at once and
      switch between them.
    • Furthermore, the provider now needs much less variables, the logic is much
      simpler, and many unnecessary ipc calls have been removed.
  • Migrated many utility functions and other scripts to TypeScript.
  • The translations are now loaded by the trans helper to make sure it will
    always work.
  • Migrated the complete GUI to Vue.js, using a reusable component system.
  • The window chrome is no longer controlled by the window registration handler.
  • Now tests can be run as JavaScript or as TypeScript files (use .js or
    .spec.ts files respectively).
  • Generalised the window state management so that all windows are now able to
    remember their positions easily.
  • Zettlr is now completely jQuery-free.
  • Migrated the FSAL cache from unstable Objects to Maps and Sets.
  • Migrated the TagProvider to a Map as well.
  • Added an assets provider responsible for maintaining the various files Zettlr
    now uses
  • Completely sandboxed the renderer processes. Now, even if an attacker gains
    access to a browser window, the chances of them causing any damage is greatly
    reduced
  • Moved all static assets to their own directory
  • Fixed font, image, and resource loading in general via webpack
  • Fixed the debug capabilities; now everyone should be able to debug both the
    main process as well as the renderer processes using VS Code
  • Added "recommended extensions" to the VS Code setup, allowing for easier
    interoperability across code contributors
  • Switched to the native "recent documents" functionality on macOS and Windows
  • Switched to a new, completely GDPR compliant API for updates. No piece of data
    will be transferred anymore (except the update information from our server to
    the apps)
Zettlr - Release v2.0.0-beta.5

Published by github-actions[bot] about 3 years ago

This is the (hopefully) final beta release before Zettlr 2.0 becomes stable! The highlights of this release are:

  • This release fixes the certificate error as reported on Twitter and the blog
  • Much better citation support
  • Fixed the final visual oddities on Windows and Linux platforms
  • Fonts and Images are rendered correctly (again). Especially Inconsolata on the Bordeaux-theme will work for the first time.

Again: If you spot bugs, this is the last chance to report them to us before we release 2.0! Happy writing 👨🏻‍💻