Releases: Zettlr/Zettlr
Release v3.4.1
Bug Fixes | Performance Improvements
Update 3.4.1 fixes an issue with release 3.4.0 from yesterday.
Hello! With this final update of the year, we say goodbye to 2024 and wish you happy holidays and a successful start into 2025. This update focuses on fixing issues and improving the performance across the app. Most notably, we have continued to correct the issues that have been caused by 3.3.0 especially on Windows and a few less noticeable things. One addition is that we have improved the word counting mechanism. It conveniently shows the project word count in a file's statusbar for project files, and counts words in the bibliography sidebar.
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 sponsor Hendrik Erz on GitHub. Thanks for your support!
Changelog
GUI and Functionality
- New Feature: For files that belong to a Zettlr project, the status bar now
additionally displays the total word or character count for all files across
the entire project, making it easy to check for a total limit (e.g., for a
journal submission); clicking on the item furthermore allows quick switching
between just those files that are part of the project - New Feature: The references sidebar tab now provides an approximate word
count, which is useful if some word count limit includes the bibliography; as
references aren't included in any other word count - Fix SVG image preview (#5496)
- Fix network share image preview (#5495)
- Fixed a bug where opened documents would not be closed once the last tab was
closed, retaining outdated file contents and making the file unresponsive to
external changes. Now files that do not have an open editor instance will be
closed appropriately - Fixed an issue where valid citations from within, e.g., comments, or other
non-valid places would end up in the list of references - Fixed a bug that would cause spellcheck suggestions to appear offset (#5494)
- Checking task-list checkboxes now returns the focus back to the editor
immediately (#5246) - The statusbar's character/word counters now respect the character count
setting, meaning only the word or character count is shown, not both - Update translations:
uk-UA
(#5524)de-DE
Under the Hood
- Update Pandoc to version
3.6
- Bump CodeMirror dependencies
- Updates to the Markdown AST parser:
- Headings now have regular children
- Fixed a bug that would prevent text nodes from tables to be extracted
- Better detection of content "gaps"
- Type system updates:
- Define a new shared type,
IPCAPI
that can be used to type the various IPC
APIs the service providers use across the app. - Fully type IPC APIs:
AssetsProvider
,DocumentAuthority
,
DocumentManager
,WindowProvider
,CiteprocProvider
- Define a new shared type,
- Refactored the file type detection system; it is now simpler and easier to use
and can detect a variety of additional groups of files (previously only
Markdown and code files; now also images, PDFs, MS and Open Office files as
well as data files) - Select controls can be disabled now
- Configuration updates in the renderer are now throttled to at most once every
second, preventing some fast updates from inducing lag - Refactored spellcheck linter
New Contributors
Full Changelog: v3.3.1...v3.4.0
Release v3.4.0
Bug Fixes | Performance Improvements
Hello! With this final update of the year, we say goodbye to 2024 and wish you happy holidays and a successful start into 2025. This update focuses on fixing issues and improving the performance across the app. Most notably, we have continued to correct the issues that have been caused by 3.3.0 especially on Windows and a few less noticeable things. One addition is that we have improved the word counting mechanism. It conveniently shows the project word count in a file's statusbar for project files, and counts words in the bibliography sidebar.
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 sponsor Hendrik Erz on GitHub. Thanks for your support!
Changelog
GUI and Functionality
- New Feature: For files that belong to a Zettlr project, the status bar now
additionally displays the total word or character count for all files across
the entire project, making it easy to check for a total limit (e.g., for a
journal submission); clicking on the item furthermore allows quick switching
between just those files that are part of the project - New Feature: The references sidebar tab now provides an approximate word
count, which is useful if some word count limit includes the bibliography; as
references aren't included in any other word count - Fix SVG image preview (#5496)
- Fix network share image preview (#5495)
- Fixed a bug where opened documents would not be closed once the last tab was
closed, retaining outdated file contents and making the file unresponsive to
external changes. Now files that do not have an open editor instance will be
closed appropriately - Fixed an issue where valid citations from within, e.g., comments, or other
non-valid places would end up in the list of references - Fixed a bug that would cause spellcheck suggestions to appear offset (#5494)
- Checking task-list checkboxes now returns the focus back to the editor
immediately (#5246) - The statusbar's character/word counters now respect the character count
setting, meaning only the word or character count is shown, not both - Update translations:
uk-UA
(#5524)de-DE
Under the Hood
- Update Pandoc to version
3.6
- Bump CodeMirror dependencies
- Updates to the Markdown AST parser:
- Headings now have regular children
- Fixed a bug that would prevent text nodes from tables to be extracted
- Better detection of content "gaps"
- Type system updates:
- Define a new shared type,
IPCAPI
that can be used to type the various IPC
APIs the service providers use across the app. - Fully type IPC APIs:
AssetsProvider
,DocumentAuthority
,
DocumentManager
,WindowProvider
,CiteprocProvider
- Define a new shared type,
- Refactored the file type detection system; it is now simpler and easier to use
and can detect a variety of additional groups of files (previously only
Markdown and code files; now also images, PDFs, MS and Open Office files as
well as data files) - Select controls can be disabled now
- Configuration updates in the renderer are now throttled to at most once every
second, preventing some fast updates from inducing lag - Refactored spellcheck linter
New Contributors
Full Changelog: v3.3.1...v3.4.0
Release v3.3.1
Fix Images and Links on Windows
Some days are just bad days, and today was one such for us: In version 3.3.0, we accidentally broke all images, links, and file previews for Windows users. This patch fixes this. Sorry for the inconvenience! Have a great day, now with an actually working update to your favorite writing app!
Changelog
GUI and Functionality
- Fixed a serious bug that would prevent external files from being properly
handled on Windows; which included images, linked files, attachments, and
others (#5489)
Under the Hood
(nothing here)
Release v3.3.0
Projects | Vim Mode | Quality of Life Fixes | Bug Fixes
This update includes many bug fixes, tiny improvements, as well as full-fledged new features. Before you use it, however, please make sure to back up your writing statistics, because this update includes changes in the writing statistics subsystem that should not β but may β change your writing statistics in an unwanted way.
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 sponsor Hendrik Erz on GitHub. Thanks for your support!
With that out of the way, here are the highlights. First, we have fixed a long-standing bug: Those of you who like to indent lists with tab characters instead of spaces had the problem that the list items would "jump around," or "dance" while typing. We are happy to announce that we finally found a way to stop this from happening with this update. Second, after neglecting the project feature for years, we continue our journey to offer you the best project experience by transferring your project sorting to the file manager. From now on, project folders will show you those files that you include in the project export on top of the other folder contents, and in the correct order. This way, you don't have to do any guesswork as to which file is at which position in your export order. When you change your project settings to include new or remove existing files, or change the order, this will be immediately reflected in the file manager. Note, however, that this only works with project files that are directly positioned inside the project directory. If you tried to keep your files in order using subfolders, we do recommend to "flatten out" your folder hierarchy now, as your woes should be a thing of the past with this update. Lastly, we have implemented features and improvements for users of the vim mode (thanks to steering committee member Kirthian Yasotharan for his valuable input), and the formatting toolbar can now be disabled with a setting.
Aside from these major improvements, we have included many additional smaller fixes in this update. For example, dragging and dropping and pasting files from your file explorers should work as expected again. Also, we have improved the interchangeability with other note-taking editors that support wikilinks to specific subheadings in a file, which Zettlr now finally also understands. Furthermore, images in the "Other files" tab now have a preview image, making it faster and simpler to identify images to include in your files.
To know about everything that's changed, please refer to the full changelog below.
Changelog
Please Back up Your Writing Statistics
This update includes a change in the writing statistics. While we extensively
tested it, we would like you to back up your personal writing statistics. You can
do so by going into Zettlr's data directory and simply make a copy of the file
stats.json
before launching the update. Your data directory is located at
C:\Users\<your username>\AppData\Roaming\Zettlr
(Windows),
/Users/<your username>/Library/Application support/Zettlr
(macOS), or
/home/<your username>/.config/Zettlr
(Linux). Then, check if your writing
statistics still look proper. If not, please report this. Thanks!
GUI and Functionality
- New Feature: Images in the "other files" tab do now contain a small
preview to help find the correct images - New Feature: Project settings can now override folder sorting, which means
that any project folder will from now on be sorted like so: (1) the files
within the folder in the order of the project settings; (2) all other files
according to the folder's regular sort settings. Note that this requires all
project files to reside in the top folder; included project files in
subfolders will not be affected - New Feature: The formatting toolbar can now be toggled on or off in the
preferences (#5207) - New Feature: Allow three-digit ordinal day of the year in IDs and
filenames (%o
; #5424) - Vim mode improvements:
- Mapped Vim's write and quit commands to saving and closing actions (#4720,
#5463):w
: Executes a save command for the current fileq
: Executes a close-file command for the current filewq
: Attempts to save the current file and then close it- Note that the
!
argument for supressing the "Omit unsaved changes"
dialog will not work, as the editor does not have the authority to tell
main to simply omit work (this is a security feature)
- Movement keys (
j
/k
) now account for line wrapping for a smoother
navigation experience - Default Shortcuts Restored: Unmapped
C-f
,C-t
, andC-c
in specific
modes to re-enable default editor behaviors like search and task item
shortcuts
- Mapped Vim's write and quit commands to saving and closing actions (#4720,
- Columns in the preferences window are now properly aligned (#5410)
- Fix color scheme in readability mode (#5478)
- Prevent initial startup update-check if the setting is unchecked (context:
812899#r148519528) - Fix errors in, and update, German translation (
de-DE
) - Update Turkish translation (
tr-TR
) (#5461) - Fix "dancing list items" (#4602)
- Zettlr finally counts and remembers character counts
- The link preview and force-open workflows now expect internal/wiki-links that
link to headings within the file ([[filename#heading-id]]
) and can handle
such links appropriately; the editors will not yet jump to the corresponding
headings, but this will improve compatibility with other editors who already
support this feature (#3727) - Fixed an edge case in rendering highlight marks
- Fixed non-unique clipboard data paste filenames (#5449)
- Fixed non-proportional images (especially very tall ones) overlaying other
text below them (#5465) - The background color of the active line in typewriter mode no longer blocks
the selection background (#5430) - Dropping or copy-pasting images from the file browser now inserts relative
links to them again instead of offering to save a copy (#5475) - Code files can now also be indented and unindented as expected using
Tab
- Changing capitalization of filenames on Windows, macOS, or other case-
insensitive file systems (e.g., testfile -> Testfile) no longer fails (#5460) - Fixed drag & drop behavior of open-able files onto the editor from the file
browser; dropping any supported file onto the app will now attempt to open it
(#5344) - Fixed export menu not remembering last selected custom commands (#5163)
- Provide default reset-to-sizes for various split views
Under the Hood
- Update Codemirror dependencies
- Update Electron to
v33.2.0
- Update Electron forge to
v7.5.0
- Update various other dependencies
- The
PersistentDataContainer
now uses proper data types, making usage more
type-safe - Completely refactor the Statistics provider as well as the statistics display
- Replace the deprecated
registerFileProtocol
call with the new recommended
handle
call for handlingsafe-file://
calls - Re-introduce linter rules; all of these are part of the common style we
already use, but they got lost in one of the past ESLint upgrades:- enforce single quotes across the codebase
- enforce proper object property spacing
- enforce type imports
- Moved all keymaps to a centralized space, enabling us to customize them
further in the future and streamlining the available keybindings - The document provider is now more strict when loading persisted window
arrangements from disk on startup - Made many additional strings in the GUI translatable
New Contributors
- @Onatcer made their first contribution in #5451
- @EnginKarahan made their first contribution in #5455
- @hnsstrk made their first contribution in #5478
Full Changelog: v3.2.3...v3.3.0
Release v3.2.3
Visual fixes | Better updates | Crash fixes
This update fixes issues across several areas of the app. Primarily, we have improved the rendering of elements in the editor, the usability of drag & drop and paste operations, the updater, and a few rare but severe bugs. More specifically, the image renderer is now more usable, and works and looks better. Also, we have improved some rendering issues with regard to blockquotes and highlights. Thirdly, the updater now provides both better feedback and checks once an hour, meaning that the app will notify you of new updates even if you rarely restart it. Also, it will notify you of an available update with a message box, rather than just the update icon in the toolbar. Lastly, users have reported and we have found a few issues that could freeze up individual editors, or the entire app, leading to a suboptimal experience. As always, for all changes, please consult the changelog below.
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 sponsor Hendrik Erz on GitHub. Thanks for your support!
Changelog
GUI and Functionality
- Fix highlight markers not appearing while the emphasis renderer is on when the
user edits a highlighted span - Add pascal syntax highlighting to the code block autocomplete
- Improved highlight detection around punctuation marks and other non-word
characters - Image previews now treat escaped quotes in image titles properly
(
) - Fix an issue with image caption updating that may replace text surrounding the
image (#5021) - Too small images won't display the informational layers anymore (#3953)
- Improve image copy and paste operations (#5408)
- Improve dropping operations onto the main editor
- Blockquote markers are now properly hidden with the emphasis renderer on and
the cursor not within the blockquote (#4667) - Fix ambiguous German unsaved-changes dialog (#5072)
- Fixed an issue where some websites could make Zettlr freeze on loading a link
preview via catastrophic backtracking in a regular expression (#4883) - Make link preview generator more resilient
- Updated German (
de-DE
) translation (#5399) - Fixed an issue where indented LaTeX math equations could crash the editor
instance due to the code marks including superfluous newlines (#4726) - Fixed missing code block background on YAML Frontmatters
- Improved visual feedback during the update process
- Zettlr now checks for new updates once an hour instead only during startup
- New tags are now picked up by the app immediately (#5140)
- Fixed a UI regression where clicking on the tag filter didn't focus the text
box (#5444) - Nightly releases are no longer considered older than the current stable
version (#5429) - Fixed file duplication (#5360)
- Fixed a bug that would cause a saved window state to be lost due to an issue
with the active file not existing anymore - Zettlr now respects your chosen symbols for bold and italic formatting upon
converting HTML to Markdown (e.g., during paste; #5396)
Under the Hood
- Moved image preview styles into Codemirror plugin; simplified container
- Bump Pandoc to version 3.5
- Properly type document tree JSONs and make the logic more resilient to a lack
of an active file upon hydration - Properly type props for MainEditor Vue component
New Contributors
- @laurissss made their first contribution in #5399
- @chiphogg made their first contribution in #5444
Full Changelog: v3.2.2...v3.2.3
Release v3.2.2
This update focuses mainly on cosmetic fixes that pertain to the main editor and the display of your texts. However, it also includes a few bug fixes and other improvements.
Do you enjoy Zettlr? Then consider donating to help pay for server and certificate costs. You can donate monthly on Patreon or once via PayPal. Thanks for your support!
Changelog
Changes to Pandoc Profiles
This update fixes a workaround that Zettlr had in place for a shortcoming of
Pandoc regarding the automatic numbering of headings. This workaround is no
longer necessary, since Pandoc has since fixed the issue.
Zettlr now ships with changed default profiles for various export formats. Since
Zettlr never overwrites any data, the new defaults will not be applied
automatically. You can apply the change manually by removing the following line
from the default profiles: shift-heading-level-by: 1
.
GUI and Functionality
- change: Remove
shift-heading-level-by: 1
line from default profiles - Fixed the "Paste as Plain" menu item not working (#5052)
- Dark mode folded header's ellipsis are now properly colored (#5284)
- Add Pascal syntax highlighting (keyword:
pascal
; #5368) - Fixed images in file previews on hovering internal file links not working
(#5041) - Fixed the tag search from the tag cloud popover (#5124)
- Fixed visual artifacts in the backgrounds for code blocks and comments (#5260)
- Fixed a bug that would apply certain shortcuts to all open editor panes,
rather than the last focused one (#5282) - The save changes dialog now offers a cancel option that will be chosen when
pressing Escape (#5338) - Updated translation for
es-ES
(#5372) - Fixed the main editor search panel overlaying popovers/flyouts (#5397)
- Fixed the highlighting, which now retains any syntax highlighting (and thus
functions like interacting with links) between the markers (==highlight==
)
as well as enabling spell checking of highlighted ranges - Fixed an issue preventing pasting of images into the editor (#5386)
- Fixed the maximum height of the image preview in the paste-image dialog to 50%
in order to prevent it from pushing the controls out of view - Fixed the code and citation background colors in the Bordeaux dark theme
Under the Hood
- Images across the application now have a
max-width: 100%
applied to them to
ensure they never overflow their parent container. - The
md2html
utility function now allows a fourth parameter containing hooks
that allow the further customization of the produced HTML output - Bumped CodeMirror and dependencies
- Bumped ESLint and dependencies
- Fixed HTML DOM structure in a few places where they would violate the spec
New Contributors
- @victorelec14 made their first contribution in #5372
- @TeaDrinkingProgrammer made their first contribution in #5073
- @K0Stek122 made their first contribution in #5284
Full Changelog: v3.2.1...v3.2.2
Release v3.2.1
This is a minor update whose two primary goals are to update Electron and Pandoc to the latest versions and fix an annoying bug we've introduced in 3.2.0.
Do you enjoy Zettlr? Then consider donating to help pay for server and certificate costs. You can donate monthly on Patreon or once via PayPal. Thanks for your support!
Many users have complained that automatically creating files was no longer possible in version 3.2 due to a change we made. Our hopes were to clean up the code, but we didn't anticipate this. Sorry for the inconvenience that this change has caused. It should now work as expected again.
In addition, we've finally added a change that has been requested for quite some time: The app now remembers the widths of the sidebars across restarts, so you don't have to resize them manually anymore. To reset the widths to their default size, simply double-click the divider between them and the editor.
Changelog
GUI and Functionality
- Zettlr now remembers the widths of file manager and sidebar
- You can now reset the file manager and sidebar widths by double-clicking the
corresponding resizer - Copying plain links in the form
<http://www.example.com>
will now remove the
angled brackets (#5285) - Reverted a change from 3.1.0 which altered the process of creating new files
in such a way that the "open directory" was no longer considered; now Zettlr
will again use the open directory if present, allowing users to quickly create
new files by selecting a folder first in the file manager (#5141) - Updated translations:
Under the Hood
- Update Electron to
v32.1.0
- Update Pandoc to
v3.4
- Switched to ESLint v9.x, thereby replacing the "old"
.eslintrc.json
config
with what ESLint calls "flat" configs - Bumped various dependencies
New Contributors
- @Yattatux made their first contribution in #5233
- @camillem made their first contribution in #5237
- @mansiyadav8 made their first contribution in #5285
- @candelaere made their first contribution in #5319
- @PeterDaveHello made their first contribution in #5327
Full Changelog: v3.2.0...v3.2.1
Release v3.2.0
Bug Fixes | Quality of Life Updates
In this release, we've fixed a few serious bugs, so we recommend updating for everyone, especially users who regularly work with files created on Windows. In addition, this release features a few good updates that will improve your workflows. As always, please report any bugs that we didn't find this time around. Have fun with the update!
Changelog
Resolved Data Loss Issues
When Zettlr v3.0.0 was released, we started receiving reports by users
mentioning that some files wouldn't properly save, potentially leading to data
loss. After searching for the underlying root cause, we have now identified it as
improper newline handling in files. Specifically, we have accidentally introduced
a bug that would render Zettlr incapable of properly detecting Windows-style
CRLF newlines. This means that Zettlr was only sometimes able to properly read
and modify such files.
This update fixes this bug. Now, Zettlr is able to properly read and modify any
file, regardless of whether it has been created on Windows, macOS, Linux, or even
some older systems. We would like to apologize for this bug and thank you for
sticking with Zettlr despite it.
Changes to the file filtering logic
The filter field in the file manager has always applied OR-logic when searching for
files and workspaces. In this latest update, Zettlr changes to AND file filtering
logic, meaning that only items matching all queries will be displayed when
entering phrases separated by spaces.
As an example: Until now, searching for "Niklas Luhmann" would've surfaced files
that contained either "Niklas" or "Luhmann," or both. From now on, searching for
"Niklas Luhmann" will only show files that contain both "Niklas" and
"Luhmann" and exclude files that miss one of these phrases.
GUI and Functionality
- Feature: The attachment/assets/other file sidebar tab now also shows files
found in the default image folder where applicable - Feature: The right-click context menu for external markdown links now
contains an option to remove a link. When removing<link>
style links, the
link
text remains as plain text. When removing[title](link)
style links,
thetitle
text remains as plain text. - Change: When searching for files in the filter field, only files and
workspaces that match all queries entered will be displayed - Fixed the French translation of unsaved-changes dialog actions. (#5177)
- Fixed bugs with properly saving files (and retaining linefeeds) on Windows
systems; now Zettlr should be capable of handling any type of linefeed (#5109) - Fixed an issue where checkboxes in various list controls would not be properly
updated to reflect the actual, underlying value - Fix assets file icons in the sidebar
- Design fixes in the sidebar
- Fix: The file preview tooltip now respects the filename display settings
- Fix: Focus input field when search in folder (global search) is
triggered
Under the Hood
- Upgrade Electron to
v30.1.0
(cf. issue #5135 and Electron issue #41839) - Downgrade Linux builds to use Ubuntu 20.04 instead of 22.04 (#5137)
- Fully abstract away newline handling from the internal logic. Now, newlines
are always\n
across the entire app. The actual newlines from the files will
be stored in their respective file descriptor, and will be exclusively used on
file reads (to replace them with\n
) and file writes (to replace\n
with)
New Contributors
- @tristanhyams made their first contribution in #5146
- @IgnacioHeredia made their first contribution in #5170
- @imalexhu made their first contribution in #5176
- @NMazzy made their first contribution in #5126
- @artav4 made their first contribution in #5164
- @jxerome made their first contribution in #5179
- @viktomas made their first contribution in #5182
Full Changelog: v3.1.1...v3.2.0
Release v3.1.1
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!
Changelog
GUI and Functionality
- Fixed a segmentation fault crash on startup across various Linux setups
(#5135)
Under the Hood
- Downgrade Electron to version
29.3.2
(cf. Electron issue #41839)
Release v3.1.0
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:
- You can now specify titles for wikilinks
- Plain links are now no longer auto-detected
- The old link-title-syntax (
[Title]([[Link]])
) has been partially restored - Project settings overhaul
- Full Preferences overhaul
- LanguageTool Language detection improved
- "Other files" in the sidebar are now relative to the current file, not the open directory
- Removed the option for choosing the file time sorting; this setting is now tied to the file display time
- Removed the option for automatic file creation; since this is now inferred from whether you have a Zettelkasten directory specified
Changelog
Changes to the link detection
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 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
<mail@example.com>
. 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.
Introducing Wikilink Titles
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.
Re-enabling old Link-Title-Syntax
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)
.
Preferences Window Overhaul
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!
Project Overhaul: Full Control Over Your Files
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).
LanguageTool Improvements
The first update to Zettlr's LanguageTool ...