Discontinuing 32 bit
A few weeks ago, the Apple M1 has been released. This marked the switch by Apple from the x86 architecture towards ARM. This was widely celebrated as it has made MacBooks much faster and more efficient across the board. However, this was not at all that “revolutionary,” as die-hard Apple fans might want to make you believe. Rather, the switch from the x86 processor architecture towards ARM has been going on for a while, with Windows Surfaces using ARMs much longer than Apple’s laptops, and with smaller computers such as the Raspberry Pi never being built with anything except ARM.
Why am I telling you this? Well, because due to the recency of this event, I can now address something and explain it to you in much simpler terms than over the summer, when M1, or the ARM processor architecture, was no topic at all. What is currently happening with regard to ARM, symbolised by Apple’s M1, has been going on with something similar for decades now: 32 vs. 64 bit. Some of you might not even know what that refers to. So let me explain quickly.
Until the 2000s, most computers ran on 32 bit processors. What this means is that a processor can make use of memory addresses that fit within 32 bit. This meant that computers could not have more than 4 Gigabyte of RAM. Many of you who had computers back then will likely remember that limitation. Obviously, this has changed, with almost no computer shipping with 4 GB RAM nowadays. The reason why this is possible is that computer companies have switched to 64 bit processors.
Today, all operating systems feature 64 bit, and if your CPU supports it, you have no business running a 32 bit operating system on that ;) The only reason to use 32 bit is if you have some computer which you must use and which doesn’t support 64 bit. But for almost all of you, this doesn’t hold true. Even if you have a 32 bit operating system, your CPU does support 64 bit with a very high probability. The foul actor here – as usual – is Microsoft. Microsoft has kept their 32 bit operating system default for a very long time, and even many Windows 7 installations feature 32 bit, even though the computers would support 64 bit. Most users don’t know this and don’t care, but it’s just not necessary. So if you look up what your computer runs on, and your operating system reports 32 bit, you should consider upgrading. You should not be running 32 bit anymore.
And this brings me to my announcement for today: I will be discontinuing 32 bit binaries for Zettlr. Electron still supports them, that’s for sure, and until now I grudgingly included them, because I understood that it’s easier for Zettlr’s target group – non-tech-users – to install a 32 bit program rather than install a 64 bit operating system. However, with Pandoc 2.11 leading to all kinds of problems, I was advised by my friend and Pandoc core member Albert to simply bundle Pandoc.
Pandoc is only 15 MB in size, and having this within Zettlr’s application files enables me to lift the whole importing/exporting-game to a whole new level. So this is what I will be doing. But, Pandoc only ships with 64 bit, and I will not be setting up the black magic of a Haskell compiler chain simply to facilitate 32 bit builds. That would be possible, but simply out of my time frame. So I will be removing any official support for Zettlr 32 bit.
I do not precisely have a roadmap for when to implement this, but I will do it some time in 2021. I will announce the update that does this, but you should not wait until this day to upgrade your operating system if it indeed runs on 32 bit.
Quite some people still use Zettlr 32 bit, as I realised over the years on Twitter and on GitHub, but most of you will be able to upgrade without buying anything new. However, in case there are some among you who simply must use 32 bit, then you can still build the application (including Pandoc) on 32 bit. Me discontinuing the support for 32 bit simply means that the official website won’t feature those anymore. If anyone who’s reading this wants to take over maintaining 32 bit builds for those poor souls with 32 bit processors, make sure to drop me a few lines so that I can list that as an additional third-party solution on the download page!
On a brighter note: Much faster than I’ll drop 32 bit support, I’ll start supporting Apple’s M1 chip natively: As soon as Electron 11 is out, I will adapt the build tool chain for Zettlr so that the resulting DMG-files include both an Intel 64 bit binary and an Apple M1 64 bit binary!