Zettlr

ProductivityDesktop

A markdown editor for writers and researchers.

Latest v4.7.0 · · Desktopby ZettlrWebsiteZettlr/Zettlr

Release activity

Release activity — 10 releases across 10 days since Jan 13, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Jan 13, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 20261 release on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 20261 release on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
Friday1 release on Apr 24, 2026No releases on May 1, 20261 release on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

10 releases since Jan 13, 2026

Changelog

v4.7.0

Release v4.7.0

Added 6
  • Custom shortcuts are now available, allowing you to customize many existing shortcuts and assign text transformations to frequently used keys with interactive recording, reset functionality, and conflict detection
  • Editor theme can now be set to light or dark appearance independent of the app appearance
  • Click a long-running-task notification for projects and single files to directly open the corresponding file
  • Popovers can now be closed by pressing Escape
  • Zettlr now trusts system certificates when making network connections, enabling use of custom TLS certificates for corporate firewalls
  • New Vue directive v-focus that focuses elements as soon as they are mounted to the DOM
Changed 4
  • Project properties layout reorganized to place custom templates and CSL section on the general tab and move export profile picker to its own tab
  • Update Pandoc to v3.10.1
  • Update Electron to v43.1.0
  • Improve performance of the editor
Fixed 14
  • Fixed regression from 4.6.1 where full-text search would not search any open standalone files
  • Fixed issue on macOS where opening a file from Finder with no open main window would not automatically open one
  • Fixed bug that would replace a magic quote with a regular quote instead of deleting text if adjacent text was selected
  • Table of Contents title in the sidebar is now properly reset
  • Fixed linter warning for footnotes without spaces
  • Fixed regression that caused windows to briefly flash white when macOS vibrancy is disabled and app is set to dark mode
Removed 1
  • Removed deprecated path check for the app

The next update for Zettlr comes again with a bundle of improvements and new features for you to enjoy. Again, we have spent a lot of time fixing a magnitude of issues and improving the usability of the app.

Besides these rather minor but plentiful improvements, there are two notable new features. First, we are more than happy to finally implement custom shortcuts. Those have been on our users' wishlist for years, and we are happy that we finally could make it work to add them to the customizable things you can do in the app. From now on, you can adjust many existing shortcuts to better fit your muscle memory. In addition, we have made available all text transforms via these shortcuts so that you can assign shortcuts to those that you frequently use. In addition, the interface will warn you if a shortcut you chose would possibly conflict with another command. We have designed this feature to be extensible, and right now not all commands can be customized. So if there is one you always wished you could customize, and it's not yet part of the custom shortcut settings, let us know so we can add it!

A second feature that has been in some demand is the ability to change the editor theme independent of the main theme. We are happy to announce that this is now also possible. By default, the editor theme will follow the main theme, but you can now change this to your liking.

We have also spent some time improving how you can work with the app. For example, clicking on a notification of a successful project export will now immediately open the corresponding file; erroneously opened popovers can now be closed quickly with a press on the Escape key; and we have shuffled around the project settings to make it more obvious what you can customize, and where.

Do you enjoy Zettlr? Then consider making a donation to help us pay for the development costs. You can donate monthly on Patreon or once via PayPal. Additionally, you can directly sponsor Hendrik Erz on GitHub or send a tip on Ko-Fi. Thanks for your support!

Changelog

GUI and Functionality
  • Feature: Custom shortcuts are here. You can now customize many of the available shortcuts and assign them to your likings. This also includes the various text transformations that we introduced in version 3.6.0 so that you can bind frequently used ones to a handy shortcut. The feature comes with all the standards of custom shortcuts, including an interactive shortcut recording that visualizes which keys will become part of the shortcuts as you type them, a reset function to restore the default, and an automated conflict detection that lets you know whether a shortcut you have provided might conflict with another one.
  • Feature: You can now set the editor theme to use a light or dark appearance independent of the app appearance (#5851).
  • Feature: You can now click a long-running-task notification for both projects and single files to directly open the corresponding file.
  • Feature: Popovers can now be closed with a quick press on Escape.
  • Change: Changed the layout of the project properties. Now the custom templates and CSL section are placed on the general tab, while the export profile picker has moved to its own tab. This gives the custom options more visibility and provides a better grouping of the options.
  • Fixed a regression from 4.6.1 where the full-text search would not search any open standalone files (#6387).
  • Fixed an issue on macOS where opening a file from Finder with no open main window would not automatically open one (#6391).
  • Update translations:
    • ja-JP (#6390).
    • de-DE (#6449).
    • tr-TR (#6450).
  • Fix snippets syntax and improve nested support (#6389).
  • Fixed a bug that would cause Zettlr to replace a magic quote with a regular quote instead of deleting the text if some text was selected that happened to be adjacent to a magic quote.
  • The Table of Contents title in the sidebar is now properly reset (#6397).
  • Improve toolbar styling (#6418).
  • Fixed a linter warning for footnotes without spaces (#6434).
  • Updated French translations (#6430).
  • Fixed a regression that causes windows to briefly flash white when macOS vibrancy is disabled and the app is set to dark mode (#6438).
  • Fixed s/S shortcuts in vim mode (#6445).
  • Fixed a regression from the previous version that caused timeouts when using a local LanguageTool integration with very long texts after the switch from got to ky.
  • Fixed an issue where empty Pandoc spans would crash the span renderer (#6448).
  • Fixed an issue where the label of the "open automatically" checkbox in the export popover would not be clickable.
  • Fixed a visual glitch when running multiple full-text searches in between showing and hiding the search pane (#6454).
  • Fixed bold and italic styling (#6472).
  • Fix an issue leading to buggy interactions between snippets and the typewriter mode (#6473).
Under the Hood
  • Update Pandoc to v3.10.1.
  • Update Electron to v43.1.0.
  • Zettlr now additionally trusts system certificates when making network connections, meaning that custom TLS certificates can be used, e.g., for corporate firewalls (#6006; #5271).
  • Added a new Vue directive, v-focus that can be applied to any element in a Vue component and that will focus the element as soon as it is mounted to the DOM.
  • Removed deprecated path check for the app.
  • Improve performance of the editor (#6388).
  • Improved handling of invalid dates in the statistics provider (#6433).
  • Remove superfluous search logging (#6401).
  • Refactor posInNode utility to nodeAtPos and align documentation with behavior (#6399).
  • Update various (incl. transitive) dependencies.
  • Remove fix for an old archiver dependency.
  • Refactor TextPack export to match new archiver API.
  • Remove remnant .tern-project file.
New Contributors

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v4.6.0...v4.7.0

View originalPermalink
How v4.7.0 went
v4.6.0

Release v4.6.0

Added 6
  • Allow changing the trigger character for snippet and emoji autocomplete from colon to forward slash or percentage sign
  • Ability to switch between case-insensitive and case-sensitive searches in full text search
  • Tutorial now available in Portuguese
  • Remove line breaks transformation in editor now available via keyboard shortcut Cmd/Ctrl-Alt-J
  • Add Elixir syntax highlighting for code blocks with identifiers elixir, ex, or exs
  • Add Curl quotes text transform to convert straight quotes to curly smart quotes
Changed 6
  • Completely rewrote full text search to improve performance by 50% to 100%
  • Improved full text search autocompletes for previous searches and restrict-to-folder functionalities
  • Improved presentation and layout of search results
  • Main window title now includes the current active file's title
  • Allow Escape to close the search panel regardless of focus
  • Default setting for window vibrancy on macOS is now off
Fixed 8
  • Fixed missing click handlers for clicking links in tables
  • Fixed an issue that would sometimes open the same link twice
  • Fixed an issue where code elements had a background color that overlaid the selection
  • Fixed wrong font selection for comments
  • Fixed strikethrough-elements no longer being stricken-through
  • Fixed triple-clicks within tables to select entire table cells
  • Fixed table of contents clearing when the last file of the editor is closed
  • Fixed TableEditor swap rows and columns commands on macOS

Bug Fixes and Performance Improvements | Quality of Life Improvements

We are pleased to announce the next update for Zettlr. In this version, we have focused more on fixing issues and improving your ability to work on your texts efficiently rather than shiny new features – similiar to what Apple did for their upcoming 27 version of their operating systems!

Concretely, we have fixed a series of regressions and bugs that have occurred during our transition of the editor CSS away from direct styling towards the usage of CSS variables. While this has made applying Custom CSS more easy, it has also caused a few styles to break. This version fixes many of these small issues.

A bigger change involves the full-text search. We haven't really touched this since its introduction many years ago, and it showed. Rewriting the core logic, we were able to significantly improve the search performance. Searches should now be 50% to 100% faster, and deliver more relevant search results. The autocomplete suggestions for both recent searches and restricting the search to directories have been re-implemented to work around a long-standing bug in Chromium that has made the pure-HTML implementation unfortunately unusable.

Another feature this version brings affects primarily francophone Zettlr users. The default trigger character to summon the snippets autocomplete is the colon (:), but unfortunately, this has in the past interfered with how the French language assumes colons are being used. To improve the usability of the app for French speakers, it is now possible to change the trigger character to a forward slash or a percentage sign.

Finally, we have also fixed a few issues with tables. On the one hand, we have improved how you can interact with tables by improving the various commands that automate a lot of the work when working with tables. On the other hand, we have improved the accessibility of these commands with new and improved keyboard shortcuts and a generally better UX.

As always, read the full changelog below to know exactly what has changed. We wish you productive writing sessions with this new update!

Do you enjoy Zettlr? Then consider making a donation to help us pay for the development costs. You can donate monthly on Patreon or once via PayPal. Additionally, you can directly sponsor Hendrik Erz on GitHub or send a tip on Ko-Fi. Thanks for your support!

Changelog

GUI and Functionality
  • Feature: Allow changing the trigger character for snippet (and emoji) autocomplete. Until now, this was hard-coded to : (which is still the default). However, since that interferes with the way French speakers use the colon character (Pour exemple : cette.), we now allow different trigger characters, relieving the colon where necessary. Currently supported are / and % as alternatives (#5185; #6325).
  • Feature: The tutorial is now also available in Portuguese for new users (#6373).
  • Feature: The "Remove line breaks" transformation in the editor is now also available via the keyboard shortcut Cmd/Ctrl-Alt-J (#5913).
  • Change: This release brings many improvements to the full text search (#6339):
    • The full text search was completely rewritten to improve performance by 50% to 100%.
    • The autocompletes for both previous searches and the restrict-to-folder functionalities have been drastically improved and work reliably (#5686).
    • Ability to switch between case-insensitive and case-sensitive searches.
    • Improvements in the presentation and layout of search results.
  • Change: On macOS, the default setting for window vibrancy is now off. This makes the file manager opaque, but improves visual design with the new sticky folder headers.
  • Add Elixir syntax highlighting for code blocks; identifiers: elixir, ex, or exs (#6368).
  • Fixed missing click handlers for clicking links in tables (#4694).
  • Fixed an issue that would sometimes open the same link twice.
  • The file manager now uses tabular digits for displaying numbers in filenames.
  • Fixed an issue where code elements had a background color that overlaid the selection (#6328).
  • Fixed a wrong font selection for comments.
  • Fixed strikethrough-elements no longer being stricken-through (#6330).
  • Fixed triple-clicks within tables to select entire table cells (#6344; #6100).
  • Add "Curl quotes" text transform to convert straight quotes to curly (smart) quotes, the inverse of the existing "Straighten quotes" transform (#6259).
  • The main window's title now includes the current active file's title. This allows automation that depends on the window title (#6283).
  • The table of contents now clears out when the last file of the editor is closed (#6251).
  • Allow Escape to close the search panel regardless of whether it is currently focused (#2970).
  • Moved the editor "Indentation," "Font size," and "Autocomplete" settings into their own preferences groups.
  • The menubar on Windows is no longer styled using the system's accent color to reduce potential distractions for users.
  • Update Brazilian (pt-BR) translations (#6348).
  • Fixed TableEditor swap rows/columns commands on macOS. Until now, they were mapped to Ctrl+Shift+Arrow, which was misaligned with the main keymap.
  • Fixed an issue in the TableEditor where adding new rows could increase the amount of surrounding whitespace in the newly inserted rows (#6369).
  • Fixed the alignment command for the TableEditor which previously would clear out the entire column, if the column had no alignment set.
  • Fixed a regression from the previous version that disabled the references list CSS (#6380).
  • Fixed a regression from the previous version that could lead to visual artifacts in the thin and expanded file manager modes when switching files (#6385).
  • Fixed a long-standing bug that would cause the application to go out of sync with the operating system's UI theme on macOS when the application is set to "follow the OS" in terms of UI theme, but the user has manually changed the theme to light or dark. In that case, the app would lose synchronization with the macOS theme source, causing the auto-switching mechanism to fail when the operating system's UI theme changes.
Under the Hood
  • Upgrade Electron to v42.3.3.
  • Upgrade Pandoc to v3.10.
  • Pinned a transitive dependency of electron forge, yauzl to fix a bug on newer Node versions (context: https://github.com/electron/forge/issues/4277).
  • Migrate the openAttachment utility from got to ky.
  • Migrate the LanguageTool API utility from got to ky.
  • Enforce proper comment styling.
  • The StartupWMClass has been switched back to lowercase, since apparently the build step has correctly reverted the binary name to lowercase on Linux.
  • Handle symbolic links in chokidar watcher explicitly.
New Contributors

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v4.5.0...v4.6.0

View originalPermalink
How v4.6.0 went
v4.5.0

Release v4.5.0

Added 2
  • Long-running background tasks are now visually indicated with a toolbar icon that shows how many tasks are running, how many have failed, and how many were successful
  • HCL/Terraform fenced code block support
Changed 3
  • Editor themes now use CSS variables to style content, making custom CSS simpler but potentially breaking existing custom CSS
  • Update Electron to v41.3.0
  • Update vue-virtual-scroller to v3.0.0
Fixed 3
  • Mermaid Chart labels not showing up
  • Icons in the statusbar not working
  • Config provider not emitting the old version correctly

Task Indicator | Custom CSS Improvements | Bug fixes and performance improvements

This update primarily brings two new features to the table: A visual task indicator for long-running tasks, and great improvements in the experience for Custom CSS users.

First, our new long-running task indicator gives you a better overview and insight into any task that you perform in Zettlr that can take long, such as exporting projects to PDF. Now, whenever you start a task that might take a while, Zettlr will show an indicator in the toolbar. It encodes several pieces of information, such as how many tasks are running, how many have failed, and how many were successful. Click the indicator to see more details for each task, including an explicit run time. Once you "clear" the tasks, the icon will disappear again until you start new tasks. If you have hardware acceleration disabled, Zettlr will only show an icon, but if you keep it enabled, you will see an animation.

Second, we have cleaned up the editor CSS. More specifically, the editor themes now make use of CSS variables to style most of their content. This can greatly reduce the complexity for those of you who want to use custom CSS. However, this also means that some custom CSS may break during this update, so make sure you adjust any CSS after updating.

Besides this, this update fixes a few additional bugs, most visibly/notably missing icons in the status bar. See the changelog below for all changes.

Do you enjoy Zettlr? With the recent spikes in SSD and RAM costs, our server costs have skyrocketed. Consider donating to help us pay for the development costs. You can donate monthly on Patreon or once via PayPal. Additionally, you can directly sponsor Hendrik Erz on GitHub or send a tip on Ko-Fi. Thanks for your support!

Changelog

GUI and Functionality
  • Feature: Long-running background tasks are now visually indicated with a toolbar icon. This allows users to check on longer-running tasks such as project exports or the re-indexing of new workspaces and observe the progress as it happens.
  • Add HCL/Terraform fenced code block support (#6302).
  • Fixed Mermaid Chart labels not showing up (#6313).
  • Fixed icons in the statusbar not working.
  • Update Spanish (es-ES) translations (#6320).
Under the Hood
  • Updated Electron to v41.3.0.
  • Update vue-virtual-scroller to v3.0.0.
  • Fixed an issue where the config provider would not emit the old version correctly (context: #6311).
  • Breaking: Refactored the editor themes (#6229). Now styling the app with Custom CSS is easier and should work more straight forward, since there are many CSS variables that you can peruse to adjust groups of elements at once. Note that this change might break your Custom CSS. Make sure to check anything after setup, and adjust it according to your liking.
  • Centralized DOMPurify functionality and default configuration in a new utility function, that also allows icons using cds-icon.
  • Switch from ts-node to tsx for running unit tests.
  • Explicitly declare Zettlr as a CommonJS project.
  • Change the Object.create(null) contraption to hold BibTeX attachments to a regular object to simplify the structure and unit tests.
New Contributors

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v4.4.0...v4.5.0

View originalPermalink
How v4.5.0 went
v4.4.0

Release v4.4.0

Added 3
  • The app now remembers if the file manager was open or closed across restarts and applies this setting on each start
  • The names of open folders in the file manager tree will now remain sticked to the top of the file manager as you scroll through its list of children
  • Add strikethrough to the Markdown AST parser
Changed 5
  • The scroll-behavior for scrolling files into view has changed from instant to smooth
  • Harmonized font usage to System fonts across the app
  • Improve Mermaid chart error reporting
  • Switch from sanitize-html to DOMPurify for HTML sanitization
  • Updated Electron to v41.1.1
Fixed 9
  • Fixed Markdown-to-HTML output to generate more valid HTML
  • Reduced amount of image updates in the editor to increase performance especially for long documents with many images
  • Fixed containing directories not uncollapsing when a containing file was made active
  • Upon switching between files, the file tree now consistently scrolls to the affected file
  • Fixed a small bug that could throw off switching between different file manager modes
  • Fixed the cursor scroll margin so that as you type there will now be some margin towards the top or bottom of the editor window
Security 3
  • Disallow any and all inline-JavaScript across all browser windows
  • Enforce loading remote resources using HTTPS
  • Generously spread HTML sanitization across the application by moving it to the edge directly to injection sinks

Security Fixes | File Manager Improvements | Bug Fixes

This update improves primarily on two fronts: the file manager and how you can navigate your files, and the security model of the app.

First, this update brings improvements in the file manager, making it easier for you to navigate all your files and folders. This includes a few bug fixes that improve the behavior of the file manager. For example, opening up folders of containing files now works more reliably, and the file manager once again scrolls any newly activated file into view.

Second, we have heavily increased the safety when using the app. We now disallow more potentially dangerous code from executing and have overhauled the security model of the app to better reflect how users interact with the app. As always, you can view the full changelog below.

Do you enjoy Zettlr? With the recent spikes in SSD and RAM costs, our server costs have skyrocketed. Consider donating to help us pay for the development costs. You can donate monthly on Patreon or once via PayPal. Additionally, you can directly sponsor Hendrik Erz on GitHub or send a tip on Ko-Fi. Thanks for your support!

Changelog

GUI and Functionality
  • Feature: The app now remembers if the file manager was open or closed across restarts and applies this setting on each start (#3679).
  • Feature: The names of open folders in the file manager tree will now remain sticked to the top of the file manager as you scroll through its list of children. This is especially helpful in the "combined" file manager mode with folders containing many files and subfolders (such as reading notes or Zettelkasten folders).
  • Add strikethrough to the Markdown AST parser (#6263).
  • Fixed Markdown-to-HTML output to generate more valid HTML. This makes comparisons with DOM-inserted HTML deterministic and should reduce the amount of updates especially for complex widgets such as tables by a lot.
  • Reduced amount of image updates in the editor. This may increase performance especially for long documents with many images.
  • Fixed containing directories not uncollapsing when a containing file was made active.
  • Upon switching between files, the file tree now consistently scrolls to the affected file, making working with larger workspaces easier.
  • The scroll-behavior for scrolling files into view has changed from instant to smooth.
  • Fixed a small bug that could throw off switching between different file manager modes.
  • Fixed the cursor scroll margin again. This means that, after years of it not working, as you type there will now be some margin towards the top or bottom of the editor window, preventing the cursor to "stick" to the edge of the editor.
  • Update pt-PT translations (#6282).
  • Fixed an issue that would lead to unexpected navigation behavior across the file manager (#4329).
  • Fixed an issue where the file list would follow slightly different filtering rules than the file tree due to different function implementations.
  • Harmonized font usage to System fonts across the app (#5125).
  • Improve Mermaid chart error reporting (#6291).
Under the Hood
  • Switch from sanitize-html to DOMPurify for HTML sanitization, since the latter has much, much less issues with various types of exotic XML-type tags such as MathML.
  • Updated Electron to v41.1.1.
  • Security: Disallow any and all inline-JavaScript across all browser windows.
  • Security: Enforce loading remote resources using HTTPS.
  • Security: Generously spread HTML sanitization across the application. The following changes have been made:
    • Moved HTML sanitization to the edge (directly to the injection sinks).
    • Removed HTML sanitization from the translation helpers. The reason is that DOMPurify does not work out of the box in the main process, so we also removed the sanitization from the renderer-translation helper. However, this is safe since we do not insert the translations into HTML injection sinks. Also, this way we can apply DOM sanitization at the edge, and no longer at the beginning of the chain.
    • This also means that HTML is no longer allowed in translation strings.
    • Armed the v-html-rule again, and removed all v-html directives, and in instances where this was not possible, explicitly disable this with a reason.

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v4.3.1...v4.4.0

View originalPermalink
How v4.4.0 went
v4.3.1

Release v4.3.1

Added 1
  • Translate the tutorial to Japanese
Changed 3
  • Update pt-PT translations
  • Update Pandoc to v3.9.0.2
  • Improve resiliency of descriptor fetching to omit unavailable descriptors instead of failing when a renderer requests an array of paths
Fixed 1
  • Remove duplicate FSAL descriptor fetching
Security 1
  • Escape file and directory paths passed to runShellCommand to prevent arbitrary command execution during exports

Bug Fixes and Performance Updates

For this small update, we've fetched the polishing cloth and improved things here and there, but nothing big has happened. The one notable fix is that Zettlr now properly escapes path names passed to shell commands during exports. In very specific circumstances, it was possible to make Zettlr execute unexpected commands during exports. This update improves this behavior so that it is no longer possible.

Do you enjoy Zettlr? With the recent spikes in SSD and RAM costs, our server costs have skyrocketed. Consider donating to help us pay for the development costs. You can donate monthly on Patreon or once via PayPal. Additionally, you can directly sponsor Hendrik Erz on GitHub or send a tip on Ko-Fi. Thanks for your support!

Changelog

GUI and Functionality
  • Update pt-PT translations (#6262).
  • Translated the tutorial to Japanese (#6260).
Under the Hood
  • Escape file and directory paths passed to runShellCommand.
  • Update Pandoc to v3.9.0.2.
  • Updated some dependencies.
  • Removed duplicate FSAL descriptor fetching.
  • Improved resiliency of the descriptor fetching; now if a renderer requests an array of paths, the FSAL does not fail. Instead, it simply omits those descriptors from the return array and logs an error (context: #6272).
View originalPermalink
How v4.3.1 went
v4.3.0

Release v4.3.0

Added 8
  • Add a citation tooltip that displays a generated bibliography when hovering over citation clusters
  • Add autocomplete assistance in the Custom CSS editor
  • Add dedicated math code block syntax highlighting for MathTeX
  • Add ability to close all standalone/root files and all workspaces from a new file manager context menu
  • Add ability to collapse all folders with a click
  • Add manual workspace sorting with drag and drop in a new sort popover
  • Add custom accent colors to folders with seven built-in color options
  • Allow more emojis in tags
Changed 6
  • Make the boot sequence more resilient towards missing files, folders, or permission errors
  • Improve autocorrect handling to allow undoing unwanted replacements without losing inserted space or new line
  • Make the app more resilient when missing workspaces or root files
  • Update ja-JP translations
  • Update zh-CN translations
  • Re-enable System Verilog syntax highlighting using the Verilog parser
Fixed 7
  • Fix potential crashes when standalone/root files or workspaces have been removed while Zettlr was closed
  • Fix improper HTML sanitization in the file preview tooltip that would escape unusual HTML such as KaTeX equations
  • Fix citation menu not appearing when right-clicking on a non-rendered citation
  • Fix crashes when directories are not accessible by the app
  • Fix regression that overlaid the default menu on top of the citation menu on non-macOS clients
  • Fix code blocks exceeding the size of the preview window in some instances
  • Fix custom export profiles not working during project exports

New File Manager Controls | QoL Updates | Bug Fixes | Security Fixes

This release brings many great new things to Zettlr. Besides the obvious batch of bug fixes, this update focuses on improved citation quality, and findability of your files in the file manager. Specifically, this update improves the file manager by allowing you to sort your workspaces and add colors to your folders. You can also close all standalone files or workspaces with a few clicks, if you so wish. In terms of citation support, Zettlr now shows a tooltip after some delay if you hover over a citation with your mouse, showing you the generated bibliography for those items to make sure you actually cite the correct work.

Besides that, you now get CSS autocompletion in the Custom CSS editor. The boot sequence of Zettlr is now much more resilient towards missing files, folders, or weird permission errors, so you should have a much better experience in volatile contexts. We also fixed a few potential security issues where unsanitized HTML was rendered in the main window that could possibly be abused by malicious actors.

To see what exactly has changed in detail, please review the changelog below.

Do you enjoy Zettlr? Consider donating to help us pay for the development costs. With the recent spikes in SSD and RAM costs, our server costs have skyrocketed. You can donate monthly on Patreon or once via PayPal. Additionally, you can directly sponsor Hendrik Erz on GitHub or send a tip on Ko-Fi. Thanks for your support!

Changelog

GUI and Functionality
  • Feature: Added a citation tooltip. When hovering over a citation cluster in your documents with your mouse, this will generate a small bibliography of just the items contained in the citation cluster and display it using the tooltip. This allows you to quickly check which item you cited exactly.
  • Feature: The Custom CSS editor now offers autocomplete assistance (#6226).
  • Feature: Added dedicated math code block syntax highlighting to add MathTeX to files without rendering (#6226).
  • Feature: You can now close all standalone/root files as well as all workspaces from a new file manager context menu that opens via right-click onto the section headers or with a click on the corresponding button. In addition, you can collapse all folders with a simple click (#6209).
  • Feature: You can now manually change the sorting of your workspaces. By default, Zettlr automatically sorts your workspaces by name. However, sometimes you may wish to change the ordering. To do so, use the new file manager context menu and select "Sort workspaces…". This will open a popover that allows you to change the workspace ordering using drag and drop. As soon as you overwrite the sort order manually, this will disable automatic sorting from here on. Newly opened workspaces will simply be appended at the end of the list of open workspaces. To re-enable automatic sorting of your workspaces, use the new setting in the file manager preferences, or click the corresponding button in the sort popover.
  • Feature: You can now assign custom accent colors to folders across your workspaces to make them easier identifiable. This aids the existing custom icons that you can already use to differentiate folders. You can assign one of seven built-in colors to every directory: blue, purple, rose, red, orange, yellow, and green. For friends of Custom CSS: These are specified as CSS variables so that you can adjust them if you wish. The pattern is: --accent-<color>.
  • Fixed potential crashes when standalone/root files or workspaces have been removed while Zettlr was closed (#6223). Recognizes PR #6225 by @SergioChan who started this effort. Previously, the re-indexing process when Zettlr boots would not check for the existence of open paths, causing crashes.
  • Show citation menu when right-clicking on a non-rendered citation (#6213).
  • Updated ja-JP translations (#6227; #6230; #6249).
  • Updated zh-CN translations (#6243).
  • Fixed an issue with improper HTML sanitization in the file preview tooltip, which would escape unusual HTML (such as KaTeX equations) instead of allowing it (#6221).
  • Fixed an issue that might prevent the correct app icon to show up for the AppImage release of Zettlr.
  • Re-enabled the broken System Verilog syntax highlighting. However, the code highlighting uses the Verilog parser, since no dedicated System Verilog parser is available, so there may be inconsistencies in highlighting.
  • Allow more emojis in tags (#6202).
  • Fix crashes when directories aren't accessible by the app (#6172).
  • Improve autocorrect handling. Now, users can undo an unwanted replacement (Ctrl/Cmd+Z) without losing the inserted space or new line (#6210).
  • Made the app more resilient in light of missing workspaces or root files. Now, crashes on startup due to missing standalone files or workspaces should be much less frequent and the app should be more stable.
  • Fixed a regression that would overlay the default menu on top of the citation menu on non-macOS clients, rendering it unusable (#6213).
  • Fixed an issue that would make code blocks exceed the size of the preview window in some instances.
  • Fix footnote preview styling in footnote tooltips.
  • Fixed custom export profiles not working during project exports (#6235).
  • Fixed text color of disabled menu items on Linux and Windows.
  • Fixed "Find in file" menu item (#6234).
  • Improve file name extension handling (#6194).
Under the Hood
  • The md2html utility function now has a new flag, sanitizeHTML that you can use to make the function properly sanitize potentially harmful HTML in situations where HTML shall be inserted into the DOM without endangering the display of special elements such as equations.
  • The app now sanitizes HTML in more cases where it is inserted into the DOM. This preemptively prevents attacks using malicious HTML in the table of contents, the print window, and footnote tooltip rendering. Note that this does not apply when copying Markdown as HTML, since in this case we expect the user wishes to retain every bit of HTML (also, in that case, they usually have seen the code, making possible attacks unlikely).
  • Updated various code syntax highlighting parsers from the legacy mode to the corresponding dedicated parsers (#6226).
  • Since JSON.stringify is sensitive to object insertion order, we switched the detection logic whether directory settings are all on default to assert.deepStrictEqual. This means that we now compare the values of the properties instead of their ordering.
  • Harden the TableEditor by properly sanitizing possibly unsafe HTML using the new sanitizeHTML option on the nodeToHTML function (via md2html).
New Contributors

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v4.2.1...v4.3.0

View originalPermalink
How v4.3.0 went
v4.2.1

Release v4.2.1

Changed 5
  • Make Zettlr more resilient when CSL JSON library files are malformed by checking each item for required keys and skipping problematic entries
  • Upgrade Electron to v40.8.0
  • Upgrade Pandoc to v3.9.0
  • Upgrade ESLint to v10.0.3
  • Properly parse and check returned results from the BetterBibTex JSON RPC API when querying PDF attachments
Fixed 3
  • Handle Pandoc reader and writer extensions correctly instead of removing them during import and export
  • Fix indenting and tab insertion behavior
  • Improve error handling when opening PDF attachments

Bug Fixes | Updated Dependencies

This update only brings minor things to the table. Most notably, this update fixes the logic of Zettlr to handle extensions to Pandoc readers and writers. Previously, extensions were always removed from readers and writers whenever you imported or exported a file. Now, if you specify an extension, this will work again. This means, previously, if you specified a writer in your defaults files disabling the “smart” extension (e.g., writer: docx-smart), Zettlr would strip the extension away. Now, these extensions are retained correctly on each import or export.

In addition, this update fixes a few oddities after the Zotero 8 update, and updates all dependencies to the newest available versions.

Changelog

Fixed Pandoc Extension Parsing

If you ever used Pandoc extensions with Zettlr, you may have wondered why they sometimes appeared not to work. After a report by a user, we have found out that Zettlr never actually parsed these correctly. We decided to make this a bit more visible in the changelog since your exports may have been broken without you realizing. This way you can verify any of your exports.

GUI and Functionality
  • Fix indenting and tab insertion behavior (#6196).
  • Fix Zettlr not correctly parsing Pandoc extensions (#6212).
  • Improved error handling when opening PDF attachments.
  • Make Zettlr more resilient when CSL JSON library files are malformed.
Under the Hood
  • Add unit tests for parseReaderWriter utility function.
  • Upgrade Electron to v40.8.0.
  • Upgrade Pandoc to v3.9.0.
  • Upgrade ESLint to v10.0.3.
  • Properly parse and check the returned results from the BetterBibTex JSON RPC API when querying PDF attachments.
  • Zettlr no longer assumes CSL JSON files are well-formed. Instead, each item is checked for the presence of required keys, and is skipped if there is an issue. This ensures library files can also be loaded partially.

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v4.2.0...v4.2.1

View originalPermalink
How v4.2.1 went
v4.2.0

Release v4.2.0

Added 8
  • Pandoc divs and spans are now pre-rendered and apply custom styling
  • New setting to switch between native highlights and using spans for highlights
  • New toolbar button to insert divs and spans
  • New buttons to the formatting toolbar to insert underlined, strikethrough, and highlighted spans
  • Users can now opt to display hidden files and folders in the sidebar and filemanager
  • Users can now move document tabs to the start or end of the tablist from the context menu
  • Error message explains that an import profile is needed when attempting to import a supported file with no profile
  • Configuration setting to restore pre-4.0 behavior of not showing underlying Markdown syntax of pre-rendered elements when cursor merely touches the element
Changed 4
  • Blockquotes now render with a vertical bar instead of italicized font
  • Improved tag recognition to allow more varied Unicode characters including umlauts, accents, and emojis
  • Improved pilcrow styling when whitespace rendering is on
  • Updated MathJax URL in HTML-based templates to v4
Fixed 7
  • Frontmatter linter now reports errors with the YAML
  • Images that spanned multiple lines no longer cause the editor to crash when image rendering is active
  • Tab key now respects the "Indent using tabs instead of spaces" setting
  • Tab key now always inserts spaces in YAML frontmatter blocks to maintain valid YAML syntax
  • Formatting toolbar no longer grabs focus from the editor
  • Table editor "Delete table" context menu item now works as intended
  • Fixed citation autocomplete and citation pipeline failures introduced by Zotero 8 update by handling CSL JSON items lacking ID properties

Preview Mode Updates | Bug Fixes | Quality of Life Improvements

This update brings three distinct sets of improvements. First, it contains a series of new features for the preview mode, which make blockquotes now render with a vertical bar instead of italicized font. In addition, Pandoc divs and spans are now pre-rendered and apply any custom styling you have applied, if applicable.

Second, it contains a bunch of minor bug fixes and improvements of some annoying behavior so that the app works better for everyone. This also includes some big improvements of the Brazilian, Japanese, and German translations.

Last but not least, this update includes a fix for a bug that had been introduced by the recent Zotero 8 update. Some users were reporting that, after that update, Zettlr would stop suggesting citations, and that other parts of the citation pipeline would randomly fail. This update provides a fix to ensure that your citations should mostly work, even if the output from Zotero contains some minor problems.

Do you enjoy Zettlr? Consider donating to help us pay for the development costs. You can donate monthly on Patreon or once via PayPal. Additionally, you can directly sponsor Hendrik Erz on GitHub or send a tip on Ko-Fi. Thanks for your support!

Changelog

GUI and Functionality
  • Feature: New utilities for working with native Pandoc Divs and spans (#6032):
    • Added a new setting to switch between native highlights (==mark==) and using spans for this ([mark]{.highlight}).
    • Added a new toolbar button to insert divs and spans.
    • Added new buttons to the formatting toolbar to insert underlined, strikethrough, and highlighted spans.
  • Feature: Blockquotes are now rendered with a vertical bar (#6122).
  • Feature: Users can now opt to display hidden files and folders ("dot-files") in the sidebar and/or filemanager in the settings (#6041).
  • Feature: Custom Pandoc divs are now pre-rendered depending on the corresponding setting (#6121). This allows you to preview any custom styling you have applied to them within the editor.
  • Feature: You can now move document tabs to the start or end of the tablist from the context menu (#6130).
  • Added an error message that explains to users that an import profile is needed if they attempt to import a supported file with no profile.
  • Updated pt-BR translation (#6154).
  • Updated ja-JP translation (#6198).
  • Updated de-DE translation.
  • Improved the tag recognition to allow for more varied Unicode characters in tags than previously, including umlauts, accents, or emojis (#6155).
  • Improved pilcrow styling when whitespace rendering is on (#6152).
  • Fixed the frontmatter linter never reporting any errors with the YAML (#6167).
  • Fixed an issue where images that spanned multiple lines could cause the editor to crash when image rendering was active.
  • Fixed the tab key not respecting the "Indent using tabs instead of spaces" setting. Additionally, pressing tab now always inserts spaces in YAML frontmatter blocks to maintain valid YAML syntax (#6168).
  • Fix: The formatting toolbar no longer grabs focus from the editor.
  • Fix: Added a configuration setting to allow restoring the pre-4.0 behavior of not showing the underlying Markdown syntax of pre-rendered elements when the cursor merely touches the element. If the setting "Show Markdown syntax when the cursor is adjacent or inside an element" is enabled (the default), the editor will show the Markdown syntax both when the cursor is within the element or if it is adjacent to it.
  • Fixed the table editor "Delete table" context menu item not working as intended (#6088).
  • Updated MathJax URL in various HTML-based templates to v4 (#6148). Note that Zettlr will not overwrite existing templates, so to benefit from this, you will have to factory-reset the affected templates.
  • Fixed a bug starting with the Zotero 8 update in Zettlr would no longer provide autocomplete for some users. The reason is that some of the items in the exported CSL JSON files would lack an ID property (that is, the citekey), while Zettlr assumed each item would have an ID.
Under the Hood
  • Increased config retrieval speed in the renderers (#6140). This can speed up some UI interactions.
New Contributors

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v4.1.1...v4.2.0

View originalPermalink
How v4.2.0 went
v4.1.1

Release v4.1.1

Changed 10
  • Regular text readability improved, especially in light mode
  • Toolbar styling improved with simplified CSS rules
  • Toolbar icons made slightly larger
  • Updated ja-JP translation
  • PDF viewer interaction improved
  • FSAL Cache now consistently utilizes asynchronous filesystem operations
Fixed 10
  • Preferences window now bounds tab sizes between 2 and 10
  • Links in table cells now register clicks correctly
  • Custom tag classes are now applied correctly
  • Code class is now correctly applied to code segments in all circumstances
  • Syntax highlighting in code blocks and frontmatters now uses more default colors from the solarized theme
  • Custom height constraints via Pandoc attributes for images now work when maximum image height is set to 100%

Bug Fixes and Performance Improvements

Did you always wonder what "bug fixes and performance improvements" in your app update notes referred to? Read our changelog below to see what this can entail! No new features this time, just some polishing.

Important Note for Windows Users

This is the last release published with the old code signing certificate. Going forward, the certificate will change. So please make sure to update to this release as soon as possible. Read more on our forum.

Changelog

GUI and Functionality
  • Fix a bug where the preferences window would allow arbitrary tab sizes. Now, tab sizes are bound between 2 and 10 (see #6131).
  • Fixed links not registering clicks when they are pre-rendered within table cells of the TableEditor (#4557).
  • Fix application of custom tag classes.
  • Fixed a bug that would not correctly apply the code class to segments of code in some circumstances (primarily when adding YAML front matters or comments).
  • Fix syntax highlighting in code blocks, frontmatters, etc. Now, Zettlr assigns more default-colors of the solarized code syntax theme. In addition, regular text is now more readable, especially in light mode.
  • Fixes and improvements to the toolbar styling; simplify CSS rules.
  • Made toolbar icons slightly larger.
  • Update ja-JP translation (#6132).
  • Fixed a bug that would not accept custom height constraints via Pandoc attributes for images if the maximum image height was set to 100% in the settings.
  • Fixed "Learn more" link on the citation page in the onboarding window (#6138).
  • Fixed an issue that would make the file search crash on Windows, if a workspace was located at a volume root (#6142).
  • Fixed an issue that would cause Mermaid graphs to still be pre-rendered in "raw" mode (#6141).
  • Fixed a bug that would cause code files (JSON/YAML/TeX) to be formatted weirdly if Zettlr opens with one of these files on startup, due to relevant CSS never being loaded in this case.
  • Improved PDF viewer interaction (#6153).
Under the Hood
  • Update dependencies:
    • Electron: v40.0
    • Forge: 7.11.1
    • Builder: 26.5.0
  • The FSAL Cache now consistently utilizes asynchronous filesystem operations (#5994).
  • Refactor Zettelkasten link and tag parsing (#5997).
  • Number controls in forms now allow for providing min and max values.
  • Increased strictness of the @typescript-eslint/no-explicit-any rule from "off" (no checking) to "warn" to slowly start migrating away from any remaining any uses in the wild.
  • FSAL Improvements:
    • Removed a lot of dead code in the FSAL.
    • Moved the save functionality away from the FSAL*-submodules, and divided the responsibility between the DocumentsProvider and the FSAL module.

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v4.1.0...v4.1.1

View originalPermalink
How v4.1.1 went
v4.1.0

Release v4.1.0

Added 5
  • You can now collapse YAML frontmatters and Pandoc divs with collapse-arrows in the editor area
  • Zettlr now remembers folded regions per editor as long as the window remains open
  • Added new utility function disambiguateFile for retrieving a time-based non-existing path for backup purposes
  • Added new environment variable ZETTLR_DISABLE_UPDATE_CHECK to hard-disable update checks for package maintainers
  • Added new environment variable BUNDLE_PANDOC to prevent downloading and bundling Pandoc during the build stage
Changed 8
  • Configuration change moves openPaths property into new app namespace, dividing it into openFiles and openWorkspaces, which may close workspaces in rare situations
  • Improved link target extraction logic when following links
  • Performance improvements when following links
  • Hide reference link labels when previewing Markdown links
  • Improved performance on generating the preview-bibliography in the sidebar by collecting citation keys from the document only in the main process
  • Improved math parsing to fix certain cases
  • Relaxed filename restrictions for loading custom dictionaries
  • Improved Pandoc div parsing
Fixed 5
  • Fixed XCode Command Line Tools setup dialog on macOS
  • Fixed an issue that prevented opening Markdown files with tables that include Pandoc attribute strings when the TableEditor was enabled
  • Fixed footnote tooltip rendering
  • Fixed an issue preventing Zettlr from starting if the stats file contained errors
  • Fixed Pandoc Attribute parser to not throw an error on malformed attribute strings and instead return an empty record

Bug Fixes | Performance Improvements

This is the first minor update for Zettlr 4.0. It comes with many fixes and small improvements, but also two new features and a change that you should know about. The two features are that you can now additionally collapse YAML frontmatters and Pandoc divs with the collapse-arrows left of the editor area, and Zettlr furthermore remembers which sections you have collapsed on a per-editor basis.

The change pertains to a configuration update that will make downgrading from this version difficult, and which requires your attention. Read everything in the Changelog below.

Changelog

Read Before Updating

In this version, we perform a long-planned configuration change that affects your loaded workspaces and files. Before installing this update, please take note of which workspaces and files you have open, in case they are being closed through this update. (No data will be actually deleted, but this helps you avoid having to search for the folders.)

In addition, it is crucial to remember that once you update to this version, there is no turning back. If you decide to downgrade to a previous version, your files and workspaces will be closed, and you will have to re-open them afterwards.

GUI and Functionality
  • Feature: You can now collapse YAML frontmatters and Pandoc divs (#6115).
  • Feature: Zettlr now remembers folded regions as long as the window remains open, even when you close a document (#6115).
  • Change: Due to a configuration change, downgrading Zettlr (which we generally discourage) after updating to this version will lead to your workspaces being closed.
  • Fixed XCode Command Line Tools setup dialog on macOS (#5428).
  • Fixed an issue that prevented opening Markdown files with tables that include Pandoc attribute strings when the TableEditor was enabled (#6110).
  • Fixed footnote tooltip rendering (#6107).
  • Fixed an issue preventing Zettlr from starting if the stats file contained errors (#6127).
  • Improved link target extraction logic when following links (#6098).
  • Performance improvements when following links (#6072).
  • Hide reference link labels when previewing Markdown links (#6097).
  • Improved performance on generating the preview-bibliography in the sidebar by collecting citation keys from the document only in the main process (#6068).
  • Improved math parsing to fix certain cases (#6030).
  • Relaxed filename restrictions for loading custom dictionaries (#6126).
  • Improved Pandoc div parsing (#6120).
  • Update de-DE translation (#6081).
  • Update ja-JP translation (#6086).
Under the Hood
  • Moved the openPaths property. The openPaths property was a simple array holding all currently loaded root files and workspaces intermingled. This setting stems from the time when Zettlr could not load arbitrary files, and mixing files and folders is generally a bad practice. This property has now been moved into the new namespace app in the settings, and divided into openFiles and openWorkspaces. This will make a few future checks and features easier to implement, as the separation into files and folders is made explicit and not left to the OS. This will allow us to better clean up the property (personal note: I've seen a colleague's config file which was full of non-existing file paths, and I didn't like that). In rare situations, this change may close all your workspaces, in which case you would have to re-open them.
  • New utility function disambiguateFile that can be used to retrieve a time-based non-existing path that can be used for backup purposes.
  • Added a new environment variable, ZETTLR_DISABLE_UPDATE_CHECK. If that variable is detected during build, this will hard-disable update checks in the application. This can be used by package maintainers to ensure update checks from within the app are disabled, and Zettlr instead must be updated via the package manager. Please note that the build script will only check for the presence of the variable, not its contents. To ensure you are building with updates enabled, you need to ensure the variable is not set, for example by running unset ZETTLR_DISABLE_UPDATE_CHECK before commencing the build. For more information, please see issue #6075. When this environment variable is present during build, the resulting binary will exhibit this behavior:
    • The "Check for updates" menu item will not be present.
    • The "Updates" and "Beta releases" preferences will not be present. Instead, the updates-setting will be replaced by an informative message informing that updates have been disabled for the app.
    • The update check itself in the update provider will never run.
    • Zettlr will include an environment variable indicating whether updates are disabled (1) or enabled (0) that is visible within the debug panel.
  • Added a new environment variable, BUNDLE_PANDOC. If this variable is set to a value of 0, this will prevent the build script from downloading and bundling Pandoc during the build stage. This can be used by package maintainers to reduce the package size when there is a better way to provide Pandoc (e.g., by listing it as a dependency for Zettlr). This also means that the build environment does not require the dependencies that are specifically for the download script.
  • fix: The Pandoc Attribute parser does not throw an error on malformed attribute strings anymore, and instead just returns an empty record (#6110).
New Contributors

Full Changelog: https://github.com/Zettlr/Zettlr/compare/v4.0.0...v4.1.0

View originalPermalink
How v4.1.0 went
View all

Discussion