Your One-Stop Publication Workbench
Hotfix for crashes on Linux
Sometimes, waiting to update something is a smart idea. This time, we were not that smart and bumped the underlying Electron framework to version 30, which unfortunately made running Zettlr 3.1.0 on most Linux systems impossible. With this patch, we rolled back Electron to a working version. Apologies to all Linux users, we still love you!
29.3.2
(cf. Electron issue #41839)Wikilink-Titles | Project Overhaul | LT Improvements | And much more
Today's the day! After more than half a year since the last bigger update we are absolutely stoked to announce the next major update to Zettlr! This update brings loads of improvements and a decent amount of new features with it. A lot of it is about improving many workflows around the app and making your life much, much easier. Also, this release contains the début of our UX/UI artist, Artem Barinov, who has spent almost the entirety of 2023 fully re-designing the preferences dialog from the ground up — a feature that was fully designed before the launch of 3.0.0 but narrowly didn't make it in that release. We are excited to hear what you have to say about it!
Zettlr is Free and Open Source (FOSS) software and is done entirely by volunteers. But, developing the app incurs a significant cost factor. Please consider becoming a regular sponsor via Patreon or send a one-time donation via PayPal. Every dollar counts!
But now, let's get into what changed in 3.1.0. There are three categories of changes: new features, improvements to existing workflows, and significant changes to existing workflows. Please make sure to read the entirety of the Changelog below to know what has changed so that none of the changes take you by surprise! Here's the overview at a glance:
[Title]([[Link]])
) has been partially restoredFor a long time now, Zettlr would (sometimes aggressively so) detect plain links and display them in a rendered state. In some cases, this was nice as it would relieve you from having to surround such links with pointy or angled brackets.
However, especially in the latest evolution of this parser plugin, the link detection was a bit too aggressive and interfered, e.g., with emphasis highlighting. In this version, we have entirely removed our custom link detection and rely upon the more straight-forward way of detecting links.
Regarding your exporting experience, this should not have any impact, since the auto-link-detection feature wasn't enabled by default by Pandoc anyhow, but depending on how you have been writing, you may notice less detected links in your documents.
To add "plain" links (without using the full []()
-syntax) from now on, simply
surround them with angled brackets: <https://www.google.com>
or
<[email protected]>
. Note that the protocol (https://
) is required, so
<www.google.com>
will not work.
This changes brings Zettlr's link functionality much more into alignment with other editors as well, since this is the way that many other applications handle links as well.
This update brings a long-awaited change to Zettlr's handling of internal links
(sometimes called Wikilinks). Specifically, with this version, Zettlr finally
supports optional titles in such links. Your old links in the format [[link]]
still work fine, but now you can add a title that is different from the link,
separated by a pipe, or vertical bar character (|
).
If such a title is given, Zettlr will use it in various ways to make your files more readable. For example, if you have the link renderer activated in the settings, it will take care of hiding the link target of Wikilinks as well as those of regular Markdown links.
Since there is no way of knowing which of the two parts is the link, and which
is the title, Zettlr follows Pandoc's solution in allowing you to specify how
internal links are structured for you. The default and recommended setting is to
put links first, and titles second ([[link|title]]
). This ensures
compatibility with VimWiki, MediaWiki, Obsidian, and others. However, should you
need to target GitHub wiki pages or another application that expects a title to
come first, you can select the alternative option ([[title|link]]
).
In order to make Pandoc aware of your choice, you can add one of the following
reader extensions to your export profiles: wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
.
Lastly, due to this improvement, we have changed the default setting for "link with filename" from "always" to "never", since it will be more ergonomic to use a custom link title directly instead of having the filename pop up after the link. This default setting applies only to new installations automatically; so if you already installed Zettlr, you can manually switch it.
After the release of Zettlr v3.0.0, some users have complained that their
internal links have stopped working. It turns out that quite a lot were using
Logseq's syntax for adding titles to internal links ([Title]([[Link]])
), which
we broke during a refactor of the Markdown parser. This update partially
restores this link functionality, allowing you to Cmd/Ctrl-Click
them to
follow these links again.
Note that we have not implemented other parts yet, and we recommend the more
common [[wikilinks]]
or [regular markdown links](./file.md)
.
This release marks the debut of our UX/UI artist Artem Barinov who spent the better half of 2023 redesigning the entire preferences window from scratch. While this change narrowly didn't make it into 3.0.0, we are more than excited to introduce this new and sleek overhaul in this version.
The new window now follows a much more consistent design philosophy. While we have kept the broad tabbed outline, the settings have now been moved into smaller blocks that contain sets of related settings. Furthermore, instead of having to remember where a setting is located, you can now directly search for it using the new search bar.
We also took the opportunity to change, rename, relabel, and remove settings so that a bit of older remnants are now gone. Overall, the experience of changing the settings should now be much smoother, and we hope you like the change. In the coming updates, you can improve many more improvements on the UX side of things!
Projects are at the heart of Zettlr. As a writing toolbox primarily targeted at
academics, journalists, and writers, it must cater not just to simple note-
taking workflows, but also to serious writing. Because of this, Zettlr ships
with a project feature since the very beginning (since version 0.18.0
,
released on Jul 20, 2018, to be precise).
However, for a long time the feature attempted to piggyback on the way your files were displayed. This meant that (a) the order in which your files were weaved together into the project file depended on the sorting of the directory, and (b) there was no clear way to exclude files that naturally amass during the lifetime of a project, such as notes, backup files, and miscellaneous.
Zettlr 3.1.0 fixes this issue by introducing a rather small, but powerful change to the way projects work. We have removed the difficult to understand glob- patterns that were introduced in a less-than-ideal attempt to fix some of the complexity-issues that were introduced later (such as displaying file titles instead of filenames, and others). Instead, you can now explicitly select which files will be included in your bound export files – and in which order.
The new file list, which you can find in the project properties dialog, aims to be dead-simple to understand, yet give you back the certainty which files will end up where in your export – without a doubt.
This also means a change to your projects: After this update, the glob patterns
will be removed from your .ztr-directory
files and replaced with an (initially
empty) array of files to be included in your project. That means that you will
have to select the files you want to include in a project once after the update.
Managing this list in the project properties is simple: The "Files" tab includes a list of all files available within the project's folder structure. To select a file for export, click the "+"-button to move it up and include it in the export. Next, you can use the "Up"- and "Down"-buttons to change the order of the files within your export. The "-"-button removes a file again and moves it back down to the list of ignored files. Changes are immediately applied and persisted to your disk.
When you now export the project, Zettlr will use only the files you have selected, and put them in the appropriate order.
Should you have deleted a file that you originally included in the list of files, Zettlr will show you a warning message as soon as you export it so that you can have a second look to not send off a file that's missing a crucial part of your work. Such missing files are shown atop of the available files and feature a "-"-button which allows you to remove them from the list. We opted for this approach of you manually having to remove missing links, since it makes it transparent which files are missing so you can take the appropriate action (especially if it was an accidental deletion).
The first update to Zettlr's LanguageTool integration concerns the language detection. This update ships with two improvements:
lang
frontmatter propertyThose who prefer writing in British English (instead of, e.g., US English) had to resort to manually switching the automatically detected language from en-US to en-GB every time they opened a file. This has to do with fact that LanguageTool's auto-detector cannot reliably distinguish between variants of some languages (English, German, Portuguese, and Catalan). That is why LT implements a "Preferred Variants" setting that allows you to specify which variant you prefer when writing in any of these languages. Zettlr now implements this setting so that when LT auto-detects the language, it will choose that variant if it detects that, e.g., English is the language. You can adapt this in the settings.
Second, LanguageTool now respects the lang
property in YAML frontmatters. This
will come in especially handy for people writing bilingual and where
LanguageTool has troubles auto-detecting the primary language. By setting the
property lang
to the language of the document (e.g., en-CA
), LanguageTool
will default to that one instead of choosing the auto-detection. As an added
benefit, Pandoc also supports this property to localize some things here and
there (read more at https://pandoc.org/MANUAL.html#language-variables).
Note that both improvements only apply to the initial loading of a document. You can always override the language on a per-document basis using the status bar.
[[link|title]]
), which ensures compatibility to, e.g., VimWiki, MediaWiki,
or Obsidian, whereas the alternative setting ([[title|link]]
) is compatible
to GitHub wiki syntax. Remember that you need to enable the corresponding
option on the Pandoc Markdown reader (wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
, respectively) if you wish to export files with
this option:
);
and Emojis will always be sorted below your snippets -- you can turn this off
in the editor settingslang
YAML frontmatter property
(if present and conforming to simple BCP-47 tags, e.g., de
or de-DE
),
instead of defaulting to "auto"; this allows you to specify the languages of
your documents instead of relying on LanguageTool to figure it out; may not
work with more exotic tag variants (such as de-DE-x-simple-language
)Cmd/Ctrl+Shift+0
(to align with the
file manager shortcut, which is Cmd/Ctrl+Shift+1
)Alt-G
being assigned to some character were unable to type
that (specifically, Swiss-Mac keyboard users could not type an @
)[Title]([[Link]])
by
clicking them with Cmd/Ctrl
pressedopenDirectory
configuration value as a metric (due to a limitation in the
dialog engine, this is a bit opaque and will be improved; for more info see
issue #5084)3.1.13
30.0.2
vue-recommended
to the vue3-recommended
ESLint rulesetsortingTime
since that can be inferred from the
option fileMetaTime
zkn.autoCreateLinkedFiles
, since that can be
inferred from the option zkn.customDir
Teleport
(#4663)commandExists
as it appears to have a few minor issues on Windows installsreload-editors
shortcut:install
and shortcut:uninstall
to add develop
shortcuts on Linux systems, allowing the simple launching of a binary compiled
from source (rather than the provided binaries)platformVersion
in the about
debug info tabpreventNavigation
utility function into the lifecycle handlers to
reduce boilerplate code and make the app more secure@codemirror/lang-yaml
)test-gui
command; instead now the start
command does the same;
similarly, start
won't touch any existing Zettlr configuration anymorethemeManager
and replace it with a
simpler, more general darkTheme
extensionopenDirectory
functionality completely from the documents manager;
instead it is now again managed entirely by using the config provider,
removing tons of superfluous codeMainEditor
is unmounted.cm-zkn-tag-<tagName>
(#4589)@Author [p. 123]
citations: Now only spaces are allowed between the citation key and the suffixFull Changelog: https://github.com/Zettlr/Zettlr/compare/v3.0.5...v3.1.0
This is likely the last beta release before we will be releasing 3.1.0 stable. It includes a few fixes relating to opening the proper files from the file manager, and many issues relating to the translation. So if you're a translator for Zettlr, there are about ~50 new translation strings to translate now. Again, for all changes, see the changelog below.
For a long time now, Zettlr would (sometimes aggressively so) detect plain links and display them in a rendered state. In some cases, this was nice as it would relieve you from having to surround such links with pointy or angled brackets.
However, especially in the latest evolution of this parser plugin, the link detection was a bit too aggressive and interfered, e.g., with emphasis highlighting. In this version, we have entirely removed our custom link detection and rely upon the more straight-forward way of detecting links.
Regarding your exporting experience, this should not have any impact, since the auto-link-detection feature wasn't supported by Pandoc anyhow, but depending on how you have been writing, you may notice less detected links in your documents.
To add "plain" links (without using the full []()
-syntax) from now on, simply
surround them with angled brackets: <https://www.google.com>
or
<[email protected]>
. Note that the protocol (https://
) is required, so
<www.google.com>
will not work.
This changes brings Zettlr's link functionality much more into alignment with other editors as well, since this is the way that many other applications handle links as well.
This update brings a long-awaited change to Zettlr's handling of internal links
(sometimes called Wikilinks). Specifically, with this version, Zettlr finally
supports optional titles in such links. Your old links in the format [[link]]
still work fine, but now you can add a title that is different from the link,
separated by a pipe, or vertical bar character (|
).
If such a title is given, Zettlr will use it in various ways to make your files more readable. For example, if you have the link renderer activated in the settings, it will take care of hiding the link target of Wikilinks as well as those of regular Markdown links.
Since there is no way of knowing which of the two parts is the link, and which
is the title, Zettlr follows Pandoc's solution in allowing you to specify how
internal links are structured for you. The default and recommended setting is to
put links first, and titles second ([[link|title]]
). This ensures
compatibility with VimWiki, MediaWiki, Obsidian, and others. However, should you
need to target GitHub wiki pages or another application that expects a title to
come first, you can select the alternative option ([[title|link]]
).
In order to make Pandoc aware of your choice, you can add one of the following
reader extensions to your export profiles: wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
.
Lastly, due to this improvement, we have changed the default setting for "link with filename" from "always" to "never", since it will be more ergonomic to use a custom link title directly instead of having the filename pop up after the link. This default setting applies to new installations; so you may consider to change this setting manually yourself as well.
After the release of Zettlr v3.0.0, some users have complained that their
internal links have stopped working. It turns out that quite a lot were using
Logseq's syntax for adding titles to internal links ([Title]([[Link]])
), which
we broke during a refactor of the Markdown parser. This update partially
restores this link functionality, allowing you to Cmd/Ctrl-Click
them to
follow these links again.
Note that we have not yet implemented the functionality of auto-renaming files or showing tooltips on these links.
Projects are at the heart of Zettlr. As a writing toolbox primarily targeted at
academics, journalists, and writers, it must cater not just to simple note-
taking workflows, but also to serious writing. Because of this, Zettlr ships
with a project feature since the very beginning (since version 0.18.0
,
released on Jul 20, 2018, to be precise).
However, for a long time the feature attempted to piggyback on the way your files were displayed. This meant that (a) the order in which your files were weaved together into the project file depended on the sorting of the directory, and (b) there was no clear way to exclude files that naturally amass during the lifetime of a project, such as notes, backup files, and miscellaneous.
Zettlr 3.1.0 fixes this issue by introducing a rather small, but powerful change to the way projects work. We have removed the difficult to understand glob- patterns that were introduced in a less-than-ideal attempt to fix some of the complexity-issues that were introduced later (such as displaying file titles instead of filenames, and others). Instead, you can now explicitly select which files will be included in your bound export files – and in which order.
The new file list, which you can find in the project properties dialog, aims to be dead-simple to understand, yet give you back the certainty which files will end up where in your export – without a doubt.
This also means a change to your projects: After this update, the glob patterns
will be removed from your .ztr-directory
files and replaced with an (initially
empty) array of files to be included in your project. That means that you will
have to select the files you want to include in a project once after the update.
Managing this list in the project properties is simple: The "Files" tab includes a list of all files available within the project's folder structure. To select a file for export, click the "+"-button to move it up and include it in the export. Next, you can use the "Up"- and "Down"-buttons to change the order of the files within your export. The "-"-button removes a file again and moves it back down to the list of ignored files. Changes are immediately applied and persisted to your disk.
When you now export the project, Zettlr will use only the files you have selected, and put them in the appropriate order.
Should you have deleted a file that you originally included in the list of files, Zettlr will show you a warning message as soon as you export it so that you can have a second look to not send off a file that's missing a crucial part of your work. Such missing files are shown atop of the available files and feature a "-"-button which allows you to remove them from the list. We opted for this approach, since it makes it transparent which files are missing so you can take the appropriate action (especially if it was an accidental deletion).
The first update to Zettlr's LanguageTool integration concerns the language detection. This update ships with two improvements:
lang
frontmatter propertyThose who prefer writing in British English (instead of, e.g., US English) had to resort to manually switching the automatically detected language from en-US to en-GB every time they opened a file. This has to do with fact that LanguageTool's auto-detector cannot reliably distinguish between variants of some languages (English, German, Portuguese, and Catalan). That is why LT implements a "Preferred Variants" setting that allows you to specify which variant you prefer when writing in any of these languages. Zettlr now implements this setting so that when LT auto-detects the language, it will choose that variant if it detects that, e.g., English is the language. You can adapt this in the settings.
Second, LanguageTool now respects the lang
property in YAML frontmatters. This
will come in especially handy for people writing bilingual and where
LanguageTool has troubles auto-detecting the proper language. By setting the
property lang
to the language of the document (e.g., en-CA
), LanguageTool
will default to that one instead of choosing the auto-detection. As an added
benefit, Pandoc also supports this property to localize some things here and
there (read more at https://pandoc.org/MANUAL.html#language-variables).
Note that both improvements only apply to the initial loading of a document. You can always override the language on a per-document basis using the status bar.
[[link|title]]
), which ensures compatibility to, e.g., VimWiki, MediaWiki,
or Obsidian, whereas the alternative setting ([[title|link]]
) is compatible
to GitHub wiki syntax. Remember that you need to enable the corresponding
option on the Pandoc Markdown reader (wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
, respectively) if you wish to export files with
this option:
);
and Emojis will always be sorted below your snippets -- you can turn this off
in the editor settingslang
YAML frontmatter property (if present and
conforming to simple BCP-47 tags, e.g., de
or de-DE
), instead of
defaulting to "auto"; this allows you to specify the languages of your
documents instead of relying on LanguageTool to figure it out; may not work
with more exotic tag variants (such as de-DE-x-simple-language
)Cmd/Ctrl+Shift+0
(to align with the
file manager shortcut, Cmd/Ctrl+Shift+1
)Alt-G
being assigned to some character were unable to type
that (specifically, Swiss-Mac keyboard users could not type an @
)[Title]([[Link]])
by
clicking them with Cmd/Ctrl
pressedopenDirectory
configuration value as a metric3.1.13
29.2.0
vue-recommended
to the vue3-recommended
ESLint rulesetsortingTime
since that can be inferred from the
option fileMetaTime
zkn.autoCreateLinkedFiles
, since that can be
inferred from the option zkn.customDir
Teleport
(#4663)commandExists
as it appears to have a few minor issues on Windows installsreload-editors
shortcut:install
and shortcut:uninstall
to add develop
shortcuts on Linux systems, allowing the simple launching of a binary compiled
from source (rather than the provided binaries)platformVersion
in the about
debug info tabpreventNavigation
utility function into the lifecycle handlers to
reduce boilerplate code and make the app more secure@codemirror/lang-yaml
)test-gui
command; instead now the start
command does the same;
similarly, start
won't touch any existing Zettlr configuration anymorethemeManager
and replace it with a
simpler, more general darkTheme
extensionopenDirectory
functionality completely from the documents manager;
instead it is now again managed entirely by using the config provider,
removing tons of superfluous codeMainEditor
is unmounted.cm-zkn-tag-<tagName>
(#4589)@Author [p. 123]
citations: Now only spaces are allowed between the citation key and the suffixFull Changelog: https://github.com/Zettlr/Zettlr/compare/v3.1.0-beta.2...v3.1.0-beta.3
This new beta release adds many smaller and a few bigger improvements. The bigger improvements of note for you are the following:
lang
property of YAML front mattersYou can read more about those and all the other changes in the Changelog below. Besides that, this beta primarily fixes smaller issues and improves many things under the hood which won't be very visible, except making the experience more smooth.
For a long time now, Zettlr would (sometimes aggressively so) detect plain links and display them in a rendered state. In some cases, this was nice as it would relieve you from having to surround such links with pointy or angled brackets.
However, especially in the latest evolution of this parser plugin, the link detection was a bit too aggressive and interfered, e.g., with emphasis highlighting. In this version, we have entirely removed our custom link detection and rely upon the more straight-forward way of detecting links.
Regarding your exporting experience, this should not have any impact, since the auto-link-detection feature wasn't supported by Pandoc anyhow, but depending on how you have been writing, you may notice less detected links in your documents.
To add "plain" links (without using the full []()
-syntax) from now on, simply
surround them with angled brackets: <https://www.google.com>
or
<[email protected]>
. Note that the protocol (https://
) is required, so
<www.google.com>
will not work.
This changes brings Zettlr's link functionality much more into alignment with other editors as well, since this is the way that many other applications handle links as well.
This update brings a long-awaited change to Zettlr's handling of internal links
(sometimes called Wikilinks). Specifically, with this version, Zettlr finally
supports optional titles in such links. Your old links in the format [[link]]
still work fine, but now you can add a title that is different from the link,
separated by a pipe, or vertical bar character (|
).
If such a title is given, Zettlr will use it in various ways to make your files more readable. For example, if you have the link renderer activated in the settings, it will take care of hiding the link target of Wikilinks as well as those of regular Markdown links.
Since there is no way of knowing which of the two parts is the link, and which
is the title, Zettlr follows Pandoc's solution in allowing you to specify how
internal links are structured for you. The default and recommended setting is to
put links first, and titles second ([[link|title]]
). This ensure compatibility
with VimWiki, MediaWiki, Obsidian, and others. However, should you need to
target GitHub wiki pages or another application that expects a title to come
first, you can select the alternative option ([[title|link]]
).
In order to make Pandoc aware of your choice, you can add one of the following
reader extensions to your export profiles: wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
.
Lastly, due to this improvement, we have changed the default setting for "link with filename" from "always" to "never", since it will be more ergonomic to use a custom link title directly instead of having the filename pop up after the link. This default setting applies to new installations; so you may consider to change this setting manually yourself as well.
After the release of Zettlr v3.0.0, some users have complained that their
internal links have stopped working. It turns out that quite a lot were using
Logseq's syntax for adding titles to internal links ([Title]([[Link]])
), which
we broke during a refactor of the Markdown parser. This update partially
restores this link functionality, allowing you to Cmd/Ctrl-Click
them to
follow these links again.
Note that we have not yet implemented the functionality of auto-renaming files or showing tooltips on these links.
Projects are at the heart of Zettlr. As a writing toolbox primarily targeted at
academics, journalists, and writers, it must cater not just to simple note-
taking workflows, but also to serious writing. Because of this, Zettlr ships
with a project feature since the very beginning (since version 0.18.0
,
released on Jul 20, 2018, to be precise).
However, for a long time the feature attempted to piggyback on the way your files were displayed. This meant that (a) the order in which your files were weaved together into the project file depended on the sorting of the directory, and (b) there was no clear way to exclude files that naturally amass during the lifetime of a project, such as notes, backup files, and miscellaneous.
Zettlr 3.1.0 fixes this issue by introducing a rather small, but powerful change to the way projects work. We have removed the difficult to understand glob- patterns that were introduced in a less-than-ideal attempt to fix some of the complexity-issues that were introduced later (such as displaying file titles instead of filenames, and others). Instead, you can now explicitly select which files will be included in your bound export files – and in which order.
The new file list, which you can find in the project properties dialog, aims to be dead-simple to understand, yet give you back the certainty which files will end up where in your export – without a doubt.
This also means a change to your projects: After this update, the glob patterns
will be removed from your .ztr-directory
files and replaced with an (initially
empty) array of files to be included in your project. That means that you will
have to select the files you want to include in a project once after the update.
Managing this list in the project properties is simple: The "Files" tab includes a list of all files available within the project's folder structure. To select a file for export, click the "+"-button to move it up and include it in the export. Next, you can use the "Up"- and "Down"-buttons to change the order of the files within your export. The "-"-button removes a file again and moves it back down to the list of ignored files. Changes are immediately applied and persisted to your disk.
When you now export the project, Zettlr will use only the files you have selected, and put them in the appropriate order.
Should you have deleted a file that you originally included in the list of files, Zettlr will show you a warning message as soon as you export it so that you can have a second look to not send off a file that's missing a crucial part of your work. Such missing files are shown atop of the available files and feature a "-"-button which allows you to remove them from the list. We opted for this approach, since it makes it transparent which files are missing so you can take the appropriate action (especially if it was an accidental deletion).
The first update to Zettlr's LanguageTool integration concerns the language detection. This update ships with two improvements:
lang
frontmatter propertyThose who prefer writing in British English (instead of, e.g., US English) had to resort to manually switching the automatically detected language from en-US to en-GB every time they opened a file. This has to do with fact that LanguageTool's auto-detector cannot reliably distinguish between variants of some languages (English, German, Portuguese, and Catalan). That is why LT implements a "Preferred Variants" setting that allows you to specify which variant you prefer when writing in any of these languages. Zettlr now implements this setting so that when LT auto-detects the language, it will choose that variant if it detects that, e.g., English is the language. You can adapt this in the settings.
Second, LanguageTool now respects the lang
property in YAML frontmatters. This
will come in especially handy for people writing bilingual and where
LanguageTool has troubles auto-detecting the proper language. By setting the
property lang
to the language of the document (e.g., en-CA
), LanguageTool
will default to that one instead of choosing the auto-detection. As an added
benefit, Pandoc also supports this property to localize some things here and
there (read more at https://pandoc.org/MANUAL.html#language-variables).
Note that both improvements only apply to the initial loading of a document. You can always override the language on a per-document basis using the status bar.
[[link|title]]
), which ensures compatibility to, e.g., VimWiki, MediaWiki,
or Obsidian, whereas the alternative setting ([[title|link]]
) is compatible
to GitHub wiki syntax. Remember that you need to enable the corresponding
option on the Pandoc Markdown reader (wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
, respectively) if you wish to export files with
this option:
);
and Emojis will always be sorted below your snippets -- you can turn this off
in the editor settingslang
YAML frontmatter property (if present and
conforming to simple BCP-47 tags, e.g., de
or de-DE
), instead of
defaulting to "auto"; this allows you to specify the languages of your
documents instead of relying on LanguageTool to figure it out; may not work
with more exotic tag variants (such as de-DE-x-simple-language
)Cmd/Ctrl+Shift+0
(to align with the
file manager shortcut, Cmd/Ctrl+Shift+1
)Alt-G
being assigned to some character were unable to type
that (specifically, Swiss-Mac keyboard users could not type an @
)[Title]([[Link]])
by
clicking them with Cmd/Ctrl
pressedopenDirectory
configuration value as a metric3.1.12.3
29.2.0
vue-recommended
to the vue3-recommended
ESLint rulesetsortingTime
since that can be inferred from the
option fileMetaTime
zkn.autoCreateLinkedFiles
, since that can be
inferred from the option zkn.customDir
Teleport
(#4663)commandExists
as it appears to have a few minor issues on Windows installsreload-editors
shortcut:install
and shortcut:uninstall
to add develop
shortcuts on Linux systems, allowing the simple launching of a binary compiled
from source (rather than the provided binaries)platformVersion
in the about
debug info tabpreventNavigation
utility function into the lifecycle handlers to
reduce boilerplate code and make the app more secure@codemirror/lang-yaml
)test-gui
command; instead now the start
command does the same;
similarly, start
won't touch any existing Zettlr configuration anymorethemeManager
and replace it with a
simpler, more general darkTheme
extensionopenDirectory
functionality completely from the documents manager;
instead it is now again managed entirely by using the config provider,
removing tons of superfluous codeMainEditor
is unmounted.cm-zkn-tag-<tagName>
(#4589)@Author [p. 123]
citations: Now only spaces are allowed between the citation key and the suffixFull Changelog: https://github.com/Zettlr/Zettlr/compare/v3.0.5...v3.1.0-beta.2
This update changes a few minor but notable things from the previous beta release. Here they are at a glance:
gettext
to auto-translate sentences that appeared similar, which has led to confusion. That being said, should you find odd-sounding translations if you're not using English (US) as your app language, this is likely an issue that can be easily solved and we would like to invite you to become a translator. All you need to know can be found on the project repository.For everything that has changed since v3.0.0, refer to the full changelog below.
For a long time now, Zettlr would (sometimes aggressively so) detect plain links and display them in a rendered state. In some cases, this was nice as it would relieve you from having to surround such links with pointy or angled brackets.
However, especially in the latest evolution of this parser plugin, the link detection was a bit too aggressive and interfered, e.g., with emphasis highlighting. In this version, we have entirely removed our custom link detection and rely upon the more straight-forward way of detecting links.
Regarding your exporting experience, this should not have any impact, since the auto-link-detection feature wasn't supported by Pandoc anyhow, but depending on how you have been writing, you may notice less detected links in your documents.
To add "plain" links (without using the full []()
-syntax) from now on, simply
surround them with angled brackets: <https://www.google.com>
or
<[email protected]>
. Note that the protocol (https://
) is required, so
<www.google.com>
will not work.
This changes brings Zettlr's link functionality much more into alignment with other editors as well, since this is the way that many other applications handle links as well.
This update brings a long-awaited change to Zettlr's handling of internal links
(sometimes called Wikilinks). Specifically, with this version, Zettlr finally
supports optional titles in such links. Your old links in the format [[link]]
still work fine, but now you can add a title that is different from the link,
separated by a pipe, or vertical bar character (|
).
If such a title is given, Zettlr will use it in various ways to make your files more readable. For example, if you have the link renderer activated in the settings, it will take care of hiding the link target of Wikilinks as well as those of regular Markdown links.
Since there is no way of knowing which of the two parts is the link, and which
is the title, Zettlr follows Pandoc's solution in allowing you to specify how
internal links are structured for you. The default and recommended setting is to
put links first, and titles second ([[link|title]]
). This ensure compatibility
with VimWiki, MediaWiki, Obsidian, and others. However, should you need to
target GitHub wiki pages or another application that expects a title to come
first, you can select the alternative option ([[title|link]]
).
In order to make Pandoc aware of your choice, you can add one of the following
reader extensions to your export profiles: wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
.
Lastly, due to this improvement, we have changed the default setting for "link with filename" from "always" to "never", since it will be more ergonomic to use a custom link title directly instead of having the filename pop up after the link. This default setting applies to new installations; so you may consider to change this setting manually yourself as well.
After the release of Zettlr v3.0.0, some users have complained that their
internal links have stopped working. It turns out that quite a lot were using
Logseq's syntax for adding titles to internal links ([Title]([[Link]])
), which
we broke during a refactor of the Markdown parser. This update partially
restores this link functionality, allowing you to Cmd/Ctrl-Click
them to
follow these links again.
Note that we have not yet implemented the functionality of auto-renaming files or showing tooltips on these links.
[[link|title]]
), which ensures compatibility to, e.g., VimWiki, MediaWiki,
or Obsidian, whereas the alternative setting ([[title|link]]
) is compatible
to GitHub wiki syntax. Remember that you need to enable the corresponding
option on the Pandoc Markdown reader (wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
, respectively) if you wish to export files with
this option:
);
and Emojis will always be sorted below your snippets -- you can turn this off
in the editor settingsCmd/Ctrl+Shift+0
(to align with the
file manager shortcut, Cmd/Ctrl+Shift+1
)Alt-G
being assigned to some character were unable to type
that (specifically, Swiss-Mac keyboard users could not type an @
)[Title]([[Link]])
by
clicking them with Cmd/Ctrl
pressedvue-recommended
to the vue3-recommended
ESLint rulesetsortingTime
since that can be inferred from the
option fileMetaTime
zkn.autoCreateLinkedFiles
, since that can be
inferred from the option zkn.customDir
3.1.12
29
Teleport
(#4663)commandExists
as it appears to have a few minor issues on Windows installsreload-editors
shortcut:install
and shortcut:uninstall
to add develop
shortcuts on Linux systems, allowing the simple launching of a binary compiled
from source (rather than the provided binaries)platformVersion
in the about
debug info tabpreventNavigation
utility function into the lifecycle handlers to
reduce boilerplate code and make the app more secure@codemirror/lang-yaml
)test-gui
command; instead now the start
command does the same;
similarly, start
won't touch any existing Zettlr configuration anymorethemeManager
and replace it with a
simpler, more general darkTheme
extensionNew Preferences UI | Link Improvements | Bug Fixes | Quality of Life Improvements
Thank you for testing Zettlr's beta releases and helping us create a stable and enjoyable release! Please report any bugs you find on GitHub. If you have any questions, we warmly welcome you on our Discord server. Finally, Zettlr is and will always remain Free and Open Source Software (FOSS), but every app requires some funding. If you enjoy Zettlr and would like to ensure it remains a viable alternative for professional writing, consider becoming a Patron on Patreon or use PayPal. If you prefer, you can also send over a small tip on Ko-Fi. You can find more information on our website.
Since the 3.0.0 major release, we've been hard at work at improving the app everywhere to aid your writing process even better. Zettlr 3.1 will contain a serious amount of improvements, all of which you can find in the changelog below. Let us highlight a few of the main things we have implemented:
A new preferences UI. Together with UI/UX designer Artem Barinov, we have spent the better half of 2023 thinking about how to improve the preferences UI. The result is a fully redesigned and much more accessible UI that allows you to find settings faster and adapt Zettlr to your own style.
A more accidental but nonetheless central theme of this release is links. One thing you may immediately note when testing out the beta is that the plain link detection has changed. You can read more below, but in short: What you see within Zettlr is now much closer aligned with what you actually get once you export your files.
Continuing with the Zelda link theme, Zettlr finally supports proper Wikilinks in: you can now add titles to them. This is a long-awaited feature that other editors already support, and we're happy that Zettlr now follows suit. This means, instead of the (depending on how you use them) cumbersome "Add filename after link" setting, you can now directly link them within proper, grammatical sentences. Activating the link renderer in the preferences will automatically hide the link and only show the title if applicable.
Finally, we have received many reports by users online and offline that their links broke after the release of v3.0.0. If you belong to this group of users, rejoice: We listen to the user base, and this release begins the work of re-enabling their functionality. Again, a more elaborate description can be found below.
Lastly, one issue that people have been wanting is an easy way of backing up snippets or export/import profiles. Until now this was a bit cumbersome, as you had to manually navigate into the application data directory. But no more! This version adds buttons to the appropriate places in the assets manager that allow you to open the corresponding folders directly, making it easy to simply copy and/or paste files into those folders, synchronizing that between your devices.
A lot more has changed, and we hope that these changes are all to your liking. Should something not work as expected, you know where to go!
Thank you again for helping the project by rigorously testing the beta releases.
For a long time now, Zettlr would (sometimes aggressively so) detect plain links and display them in a rendered state. In some cases, this was nice as it would relieve you from having to surround such links with pointy or angled brackets.
However, especially in the latest evolution of this parser plugin, the link detection was a bit too aggressive and interfered, e.g., with emphasis highlighting. In this version, we have entirely removed our custom link detection and rely upon the more straight-forward way of detecting links.
Regarding your exporting experience, this should not have any impact, since the auto-link-detection feature wasn't supported by Pandoc anyhow, but depending on how you have been writing, you may notice less detected links in your documents.
To add "plain" links (without using the full []()
-syntax) from now on, simply
surround them with angled brackets: <https://www.google.com>
or
<[email protected]>
. Note that the protocol (https://
) is required, so
<www.google.com>
will not work.
This changes brings Zettlr's link functionality much more into alignment with other editors as well, since this is the way that many other applications handle links as well.
This update brings a long-awaited change to Zettlr's handling of internal links
(sometimes called Wikilinks). Specifically, with this version, Zettlr finally
supports optional titles in such links. Your old links in the format [[link]]
still work fine, but now you can add a title that is different from the link,
separated by a pipe, or vertical bar character (|
).
If such a title is given, Zettlr will use it in various ways to make your files more readable. For example, if you have the link renderer activated in the settings, it will take care of hiding the link target of Wikilinks as well as those of regular Markdown links.
Since there is no way of knowing which of the two parts is the link, and which
is the title, Zettlr follows Pandoc's solution in allowing you to specify how
internal links are structured for you. The default and recommended setting is to
put links first, and titles second ([[link|title]]
). This ensure compatibility
with VimWiki, MediaWiki, Obsidian, and others. However, should you need to
target GitHub wiki pages or another application that expects a title to come
first, you can select the alternative option ([[title|link]]
).
In order to make Pandoc aware of your choice, you can add one of the following
reader extensions to your export profiles: wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
.
Lastly, due to this improvement, we have changed the default setting for "link with filename" from "always" to "never", since it will be more ergonomic to use a custom link title directly instead of having the filename pop up after the link. This default setting applies to new installations; so you may consider to change this setting manually yourself as well.
After the release of Zettlr v3.0.0, some users have complained that their
internal links have stopped working. It turns out that quite a lot were using
Logseq's syntax for adding titles to internal links ([Title]([[Link]])
), which
we broke during a refactor of the Markdown parser. This update partially
restores this link functionality, allowing you to Cmd/Ctrl-Click
them to
follow these links again.
Note that we have not yet implemented the functionality of auto-renaming files or showing tooltips on these links.
[[link|title]]
), which ensures compatibility to, e.g., VimWiki, MediaWiki,
or Obsidian, whereas the alternative setting ([[title|link]]
) is compatible
to GitHub wiki syntax. Remember that you need to enable the corresponding
option on the Pandoc Markdown reader (wikilinks_title_after_pipe
or
wikilinks_title_before_pipe
, respectively) if you wish to export files with
this option:
);
and Emojis will always be sorted below your snippets -- you can turn this off
in the editor settingsCmd/Ctrl+Shift+0
(to align with the
file manager shortcut, Cmd/Ctrl+Shift+1
)Alt-G
being assigned to some character were unable to type
that (specifically, Swiss-Mac keyboard users could not type an @
)[Title]([[Link]])
by
clicking them with Cmd/Ctrl
pressedvue-recommended
to the vue3-recommended
ESLint rulesetsortingTime
since that can be inferred from the
option fileMetaTime
zkn.autoCreateLinkedFiles
, since that can be
inferred from the option zkn.customDir
3.1.12
29
Teleport
(#4663)commandExists
as it appears to have a few minor issues on Windows installsreload-editors
shortcut:install
and shortcut:uninstall
to add develop
shortcuts on Linux systems, allowing the simple launching of a binary compiled
from source (rather than the provided binaries)platformVersion
in the about
debug info tabMinor patch | Fixes Linux ARM | Drops support for macOS 10.13 & 10.14
This update includes a critical security fix. We therefore recommend all users install this update as soon as possible. If you run macOS below version 10.15, which is no longer supported in Zettlr 3.0.5, please upgrade to Zettlr 3.0.4 by downloading this from GitHub Releases, which includes the security patch but still works on macOS 10.13 and 10.14 until you are able to update your macOS to 10.15 or higher.
Immediately after v3.0.4, we decided to release a minor upgrade that bumps the underlying Electron framework to the most recent version. This will stop segmentation faults in Wayland environments and prevent the flagging of Zettlr in repositories such as AUR due to outdated dependencies.
Due to Zettlr's underlying Electron framework dropping support for macOS 10.13 (High Sierra) and 10.14 (Mojave), Zettlr drops support for these operating systems as well. To continue to use Zettlr on a Mac, ensure to update to at least macOS 10.15 (Catalina).
Since Zettlr v3.0.0, Linux users on ARM-machines had the issue that they could not run the app, as a dependency has been compiled for the wrong architecture. Thanks to efforts by @LaPingvino, this has now been finally fixed and you should be able to run the app again just fine on ARM computers with Linux.
v28.2.1
); this
fixes segmentation fault issues in Wayland environments (#4877) and ensures
that Zettlr keeps running a supported Electron version, which is especially
pressing for the Arch Linux repository (see #4887; thanks to @alerque for
bringing this to our attention), but also means that macOS 10.13 and 10.14 are
no longer supportedSecurity patch | Please Update immediately
Dear users,
a security researcher has brought to our attention an issue that can lead to a potential remote code execution (RCE) attack utilizing Zettlr's binary. This issue has been first discovered and exploited in 2023. It is unlikely that you have been affected, since the effort for this exploit is comparatively high and it requires you to take some non-trivial actions. However, since we are committed to making the app as safe as humanely possible to use, and the corresponding fix was pretty easy to implement, we decided to offer this security release that includes the same functionality as Zettlr v3.0.3, but with the added security patch included.
A CVE (Common Vulnerabilities and Exposures) number has been applied for at MITRE, but not yet issued. Once we know the number, we will publish a postmortem on our blog and include some background as well as details about what this issue exactly implied, how it could have been exploited, and how we have mitigated the issue in this patch.
Thanks again to user "soulfood" for bringing this to our attention and for the cooperation in fixing the issue in a timely manner.
Nothing changed.
v25.9.8
)--inspect
). This can be abused by malicious
actors for remote code execution (RCE) attacks (CVE number applied for at
MITRE; not yet issued; please see the Zettlr blog for updates)Bug Fixes | Performance Improvements | CSS Changes
This patch includes a series of minor bug fixes and performance improvements. In addition, this patch refactors a lot of the theming of the app. This should not impact anyone, but may lead to some of you having to do minor updates to your Custom CSS, if you use any.
Are you satisfied with Zettlr?
Then please consider becoming a patron over at Patreon, or make a one-time payment via PayPal.
This update includes a full refactor of the theming: The editor themes (Berlin, Frankfurt, Bielefeld, Karl-Marx-Stadt, and Bordeaux) have now moved to their own theme files and do not come with standard CSS anymore. This heavily un-clutters the codebase, but it may impact your Custom CSS, should you use this feature. We have ensured that no class names change and that the styling is mostly the same, but the possibility of having to adapt the Custom CSS may arise for some of you.
Tab
not indenting/unindenting code in the CodeEditors (snippets,
profiles, etc.)Alt+Click
in GraphView will force the document to be opened in a new tab.*.less
-files into proper theme plugins for
CodeMirror v6; this means that they will not provide any global styles
anymore; any applicable styling has been moved to more appropriate places
(CodeMirror plugins as well as the WindowChrome and the various remaining
*.less
files). We tested the changes out and in our settings, no changes
were necessary; sometimes you may need to adapt class definitions!important
to make them work (#4719)fs.unlink
with fs.rm
in safeDelete
to support recursive removal
of directoriesfsal-directory::removeChild
now calls pathExists
instead of isFile
to
make sure directories also are removed in removeChildpathExists
wraps fs.promises.access
.3.1.9
openFile
does now handle the case when windowId and leafId
is undefined, by keeping track on the last used editor.Bug Fixes | Quality of Life Updates | Security Improvements
This update fixed a few issues here and there that have been identified since the last release. This mainly refers to how link rendering is done, a potential data loss issue, and the file importer. Additionally, some translations have been updated. Finally, this update contains a security patch, so we recommend a swift update.
<
and >
)access
and stat
calls for files and directories in the
FSAL with a wrapper that will later on allow us to keep different file systems
(e.g., WebDav versus local filesystem) opaque to the userctime
instead of mtime
, leaving any changes to the
directory that do not also update ctime
hidden from the FSALInlineCode
element for the Pandoc attribute
parser