Happy Birthday, Zettlr!
“The Seven-Year Itch” is an American movie from 1955. Its title’s German translation, “Das verflixte 7. Jahr,” has become a winged word in German culture. It denotes a superstition that anything will face difficulties in its seventh year — mostly relationships, but it’s applicable to other things, too. Today, Zettlr has finished its seventh year in existence, and we’re still here! The implication of speaking of the “cursed seventh year” is usually that, afterward it will be all sunshine and bliss. While I think that this would be an overstatement, I am confidently looking forward to whatever is coming next!
2024 has been quite a year; both in terms of global politics, but also for Zettlr itself. It now has a steering committee, had several releases, we now have a forum again which is open for sign up & discussion (yay!) and we’re starting a big user survey (click this link for more info). This year’s review blog post is going to be a bit longer; not because so many things went awry (we did quite well for a “cursed” year), but rather because so much has happened.
Broadly, this post will cover a retrospective on 2024, a prospective on 2025, and miscellaneous announcements. I really recommend you read until the end, because the new things are absolutely awesome, and I can’t wait to tell you about them!
Here’s a quick TL;DR of the really important bits for you:
- We now have a forum again, and invite you all to sign up and start discussing there! Click here to view the forum.
- We have launched a user discovery survey and would like you to participate to make Zettlr better for you! Click here to read more & take the survey!
- The Steering Committee is kicking into action, with many features already launched this year, and more to come in 2025
- We provide a high-level overview over all new changes in 2024
- We share a few interesting behind-the-scenes articles that we’ve written over the past year
A Look Back on 2024
Without wanting to downplay the awful things that have happened in 2024, purely from the perspective of Zettlr itself, 2024 has been an astounding year. We achieved a lot, and many more things have been put on track to be realized in 2025. First, some hard facts:
- We have released more than a dozen updates to Zettlr
- Across these updates, we changed more than 500 files, making well over 100,000 additions and almost 90,000 deletions (see the git diff)
- The changelogs this year were insanely long, with tons of new features and additions, if the current (at the time of writing this article) list of the 10 most recent releases is anything to go by
New Features and Changes to Zettlr
So, what has changed more specifically? The first milestone we hit in 2024 was the completion of our TypeScript transition. Started somewhere in 2020, the TypeScript transition has taken a surprising amount of time; but from the very beginning, we have managed to reap many benefits in terms of speed, performance, and safety. You will probably not have noticed it, but transitioning to TypeScript has allowed us to do more things faster. So while you haven’t seen it happen, for us, it’s a great milestone to have achieved.
A second more “meta” topic that you have maybe noticed is that we started to include references to issues in our changelog. Whenever Zettlr tells you about a new release, you more frequently saw things like “New Feature: Allow three-digit ordinal day of the year in IDs and filenames (%o
; #5424).” That number after the pound-sign (#
) references an issue on our tracker, so if you were interested in more details regarding bug fixes or features, you could look those up on GitHub. Number 5424, for example, references issue https://github.com/Zettlr/Zettlr/issues/5424. This change is part of our continuing effort to develop transparently and serves two purposes. First, it allows you to follow closely how we fix things across the app, showing you how quickly we address issues (or, sometimes, slowly, since we’re all doing this in our free time). But second, it gives more recognition to the contributors who help us in development. Sometimes, these issues reference so-called pull requests (PRs) from people other than the main contributors, and acknowledging their work more visibly is a nice side effect.
Going into the major improvements of the app itself, we finally managed to include support for Wiki link-titles. While previously you could only link with a Zettelkasten ID or a filename, this has led to user frustration. After Pandoc has included support for this syntax, it was easy for us to follow suit, so now Zettlr is much more compatible with other apps that used this syntax already. For 2025, we plan on enabling you to link to individual headings within these files; again something that competitors already do, and we hope to close in on them further.
Another big construction site we’ve been working on especially in recent weeks is the capabilities of Zettlr projects. While these were mere loose collections of files when we introduced them many years ago, they have gained so much more power and features over time. Among the biggest improvements this year was the ability of users to actually specify which files would be exported in which order. This has replaced the glob patterns, making the feature much simpler and transparent to use. If a personal anecdote is allowed here: I personally do not understand why I implemented this convoluted way of managing project files in the first place. Honestly, when I looked at the old code, I was literally thinking “What madman would think of this as a great idea?” So … apologies, I guess? Anyhow, now it’s better. To make it even easier to work with projects, the file manager now also sorts the project files on top of anything else within the project, giving you further visual confirmation. On top of that, the status bar now includes a total project word count (which is great for preparing journal submissions). In 2025, our plans are to improve projects even further, because as the adoption of Zettlr grows, so do the demands to enable bigger projects. One plan we have is to make collaboration between co-authors easier.
Other than that, two other sites of improvements have been the LanguageTool integration and the vim mode. If you don’t already use it, we really recommend you give LanguageTool a try. It is a great alternative to spellchecking, and it’s open source. Also, we gave the vim mode its first proper update, with many improvements for those experts of finger acrobatics among our users (just kidding, we love you just as much!). If you are interested in seeing what we already did — and what is on track to be released as part of a future upgrade, look at our new changelog page. Also, we plan many upcoming changes on our roadmap that you can find here.
Behind the Scenes
Development rarely goes according to plan, and this year we’ve stumbled upon a few issues that seemed simple at first, but turned out to be not a can, but a barrel of worms. Because I’m myself interested in how the technology around us works (see for example this explainer of two-factor authentication), I have used those instances to explore the issues in depth — to understand them myself, to provide proper functionality to you, and to share my findings with you.
The first such issue was a quite serious problem that has caused many data loss issues with Windows users. Specifically, it turns out that line endings are harder than I (a sworn UNIX user) thought. Read how it affected Zettlr’s users and how we ultimately solved the problem in my personal recount “How hard can line endings be, really? A horror story from integration hell.”
The second issue is more recent, and was prompted by a few issues we’ve had after the release of version 3.3.0, when especially Windows users were reporting display issues with images and links in their documents. Again, what started as a simple bug fix turned out to be much harder to properly fix, as I explain in “URLs are surprisingly hard.”
Would you generally like to read more on the various stepping stones we encounter, and how we solve technical problems in the app? If so, please let us know — either on Discord or our forum. Then, who knows, we may be able to come up with a more proper “behind the scenes” work next year!
Six Months of Steering Committee Work
A final aspect of the app that I would like to talk about is the newly formed steering committee. If you haven’t gotten the news, in July I formed a steering committee for Zettlr. It is our first puzzle piece to making development of the app more sustainable. With Artem Barinov and Kirthihan Yasotharan, we work together as a team to make the future development of Zettlr more predictable, stable, and safe for our users. More complex features are now always checked with a round of review, reducing the overall likelihood of bugs in new updates. In addition, you can expect the user interface to gradually become easier to use.
While we are still working towards finding a modus operandi that works for all of us and makes collaboration seamless, we already can show off a few feats. First, after having launched the completely revised preferences view, our next big project is a complete rewrite of the table editor. I am sure many of you will be able to tell horror stories about data loss because the table editor is a very fragile piece of technology. Because it is a universal experience among users of Zettlr, the first big project we decided to tackle was make table editing suck less for everyone. We’re still not quite there, but the changes are in the works. If you are interested to watch the progress, follow the corresponding pull request here.
Lastly, right now we’re in the midst of planning 2025 ahead of time, which is the perfect segue to the next section!
What’s Next? A prospective to 2025
So, what is it that 2025 got in store for us? Well, first, there is a big update in the pipeline which will be released in early January. It will include the ability of Zettlr to view images and PDF files directly within the app. While Zettlr is and will remain a writing application, many users work with plots and literature, and having the ability to view those side-by-side in the same Zettlr window can be simpler than trying to arrange multiple windows next to each other.
Then, once we are ready, we will start a public beta phase to vet the rewritten table editor. We’ve had so many issues with the old one that we really want the next update to shine. While we don’t yet know when it will be ready, it will be in 2025 — most likely in the first half. We will announce this appropriately!
Finally, there will be many smaller changes. The app is still clunkier as it needs to be, and the steering committee is working tightly together to deliver especially more usable features, and change the way the app works just enough for it to become an even better fit for your workflow.
Miscellaneous Announcements
Before ending this year’s birthday post, let me address a few other announcements that we have this year.
The New Forum
First of all, I am more than happy to announce that, after three years of hiatus, we decided to reopen the forum. After a difficult decision in 2021, we had to close down the forum and redirect everyone to either GitHub Discussions or Discord. Both, however, have proven to be insufficient for filling the role of the forum. After some internal changes and preparations, we have therefore decided to reopen the forum, starting now!
Instead of GitHub Discussions or Discord, you can now ask questions there. We even encourage you to sign up for a forum account (especially if you don’t already have a Discord or GitHub account, because we don’t need or want any personal information from you)!
Click here to view the new forum.
To learn more about the reasons that have led us to the decision to give the Zettlr community its own space to congregate that is not half-hidden from the public, feel free to read this article. We hope that the forum will serve the community once more to get help, support other users, discuss the app, and generally feel … at home. We look forward to many great discussions!
Our First User Survey
The second announcement we have is that in the steering committee we have decided to, for the first time, ask our users about Zettlr. What do you like? What don’t you like? How do you see Zettlr in relation to your workflow? What are the most pressing issues you face? But also, what is something you really like about the app?
Because Zettlr comes with zero telemetry, the only time we actually hear that something is problematic is when users complain either on social media or open a GitHub issue. We would like to be more proactive in addressing issues, preferably before they become actual bugs. With all of this being said, we would like to invite you to fill in our first ever User Survey! Click here to read a short statement by Artem and take the survey. The survey takes about 15 minutes to fill in, and the more details you provide, the better we know about the good, the bad, and the ugly of the app. So please, fill it in whenever time permits, and spread the word to colleagues and friends! The more responses we get, the better we know about the state of the Zettlr ecosystem, and the better our performance in 2025 will be!
Take the Zettlr 2024 User Survey by clicking this link.
Always remember: Answering the survey doesn’t just give us some cool data to play around with, but also will make the app much better for you quicker than before. We will run the survey for a few weeks, and then sit down to analyze what you have told us. We will share aggregate results afterward here on the blog (obviously anonymously and without being able to identify anyone! I’m a sociologist and work with survey data professionally) and tell you what we think we are going to tackle in what order.
So, stay tuned for those results, too! If you don’t already follow us on social media, now’s a great time because this way you will never miss an update from us! You can find us on Bluesky and on Mastodon.
Final Thoughts
What a year — 2024 was just as productive as the year before when it comes to achieving milestones and improving the app. We’re very happy with the progress we’ve made and can’t wait to continue this into the new year. We are glad that you’re around for the ride!
To eight years of Zettlr! Merry Christmas, and a Happy New Year to all of you!
See you on the other side, and stay sharp
— Hendrik (and Artem and Kirthihan)