Release Notes for 0.20

It's been a month already, since 0.19 has been released, and as always this release comes with a ton of new features and bug fixes. The app is even more stable than before and has more features than ever to ensure your writing workflow can blossom!

There are a few major changes that will be the focus of this article. One of the things I'm most proud of is that Zettlr finally includes a way to customise the Zettelkasten-functionality, and by default comes with the most common settings such as IDs, which are now a simple timestamp.

Standardisation of the Zettelkasten functionality

From 0.20.0, you will be able to follow the design guides as purported by numerous Zettelkasten pros, such as the guys from Therefore Zettlr integrates even more into existing workflows. And even if you don't want to use standard links in the form of [[your-link]], you can easily choose to use {{your-link}} by checking out the new tab in the preferences:

The new Zettelkasten-Tab in the Preferences Window

You can even choose what Zettlr will output when you hit the Generate-ID shortcut (Cmd/Ctrl+L). You have a small set of variables that you can use in your IDs and that are replaced when generating a new ID. Also, you can adapt the regular expression that Zettlr will use to determine what it considers an ID to fit your already existing IDs!

New Previewable Elements: iFrames & Math Formulae

Also new are two new elements that are pre-rendered in Zettlr — iframes that are used, e.g., for embedding YouTube-videos, and math formulae as used in common LaTeX-documents! Zettlr supports both inline, block and even multiline formulae:

The formula rendering in action

The <iframe>-elements look just as you would expect them. Simply use the embed-code that is available for YouTube videos by using the "Share"-button and paste the raw HTML into your document. Of course, this works for all sites that enable <iframe> embeds (Vimeo is another one).

YouTube videos can now be previewed right from within the app

Zettlr remembers window size and dialog paths

Do you know these apps that won't remember the last directory you were in after you imported or selected something, although you still have to open a lot of files from the same directory? Zettlr was one of these. It always started in generic directories. But now Zettlr remembers your choice! If you open a directory, it will remember this directory afterwards. The same applies to all other dialogs in Zettlr.

Also, the window doesn't always start in maximised mode anymore. If you choose to resize the window, e.g. to use it as a simple note-taking app in the background, you don't have to resize it everytime you start it. Zettlr has a memory now.

Where have all the snippets gone?

Additionally, I chose to remove the snippet functionality completely. Let's be honest: If you need to know what's inside a file, 50 characters or more won't help. But the function is not completely gone. I simply chose to replace the snippets with actually useful information. Now, a file can tell you its ID and the tags inside it if you activate snippets. Directories tell you how many children they contain:

The new contents of snippets: Contents, number of tags and the ID

Design Overhaul

One of the things you might notice first of all is the new design. I've not only refactored a lot of the code to make the app faster, but also the design. The old gradient-style window was clearly not fit for 2018! The window looks even more modern and has a lot of nice things. You'll notice them, I promise! One hint: Take a look at where the global search progress is visible.

The new dark mode in action

The design overhaul also applied to the Quicklook windows, which takes me to the next point:

Next Generation QuickLooks

After months of negligence I've finally adapted the Quicklook windows. Apart from a better design, they now finally feature the improved search functionality that the regular editor already has, and also these windows now borrow the full syntax highlighting from the main editor. The only thing missing is, of course, the rendering of elements such as images, because this way you can directly copy & paste content from them.

The new Quicklook Windows

Keep track!

A last major point I want to address is the new stats window. If you now check your written words, you have a button "More …" which enables you to review your writing progress over the past time:

All hail to the stats!


Apart from these major changes, the app has received a ton of bugfixes that are all listed in the Changelog. The design changes have been applied to literally every part of the app. Also, the preferences now are validated, so if you type something wrong, Zettlr will warn you and highlights the affected text field for you.


If one year ago you would've asked me "Are you going to write an app?" I most certainly would've looked confused, because I could never imagine doing so. All I've ever done were small websites and little scripts to make things easier. But a whole app? No way.

But here we are: about ten months into the development of an app that not only receives a lot of attention and has a great community. And it's still growing. The next goal: getting to 1.0!

The new light mode in action

Back to overview