Gang of three
Say hello to the new variant the web application, which runs directly of a web server in your browser.
- Linux Application as AppImage
- Linux Application as Zip
- Windows Application as Zip
- Thunderbird WebExtension as Xpi
- Web Application as Zip
To download the WebExtension you need to right click on the link an select "Save Link As" otherwise your browser will try to install the extension which ends in an error message. More details on installing in Thunderbird can be found in the FAQ
In case you are looking for a official macOS release of the app, there is none. Either build it by your own or use a nightly build. More details can also be found in the FAQ
Web Application
The Standalone App and the WebExtension got a new sibling a Web Application.
Instead of using the electron runtime, the new web application runs from an embedded python webserver. Sieve requests are proxied by the embedded web server and forwarded to the manage sieve endpoint.
This means you can access the Web App directly from your browser.
If you want to try it, just follow the Instruction provided here. But keep in mind this approach is even more limited than the WebExtensions and is still very rough. But is a low hanging fruit which came almost for free with the move to the electron based application.
It is the first pre-release of the Web App and most likely need some iterations to get mature. So do not use the web application in a production environment.
App: Password Manager
The most notable breaking change is the password manager. The old password manager was based on the "keytar" library, is practically dead, the last release was long ago. But luckily electron now offers a native secure storage to persist secrets. This secret storage uses the very same mechanisms chrome browsers use to protect their password. But this change means the integration into your operating systems password manager is gone and will most likely never come back. It is a hard cut, no migration path possible, thus you need to reenter your stored password.
Hungarian and Czech Locales
A big shutout to Ovari for providing a complete Hungarian locale and also to Milan Horák for the Czech translations.
Switch to ES Script modules (#207)
Several years ago ECMA specified a module format in ES6 for JavaScript. It took some time until browsers adopted this. But finally Electron as well as most parts of Thunderbird support ES6 Modules. This simplifies working with JavaScript file dramatically and improves the startup performance dramatically.
Connecting and disconnecting
Several races have been fixed, so that connect and disconnect is now way more reliable.
But there is still lots of stuff left.
App: SHA256 Certificate fingerprints (#401)
The self-signed certificate validation used just the SHA1 fingerprint and ignored the SHA256.
Now the SHA256 is preferred if available and the weakening SHA1 is used as fallback.
App & WebExtension: Update SASL Mechanism, SCRAM-SHA512 is added and CRAM-MD5 is removed.
Support for the new SASL SCRAM-SHA-512 mechanism is added. It is intended to replace SCRAM-SHA-256 as well as the weakening SCRAM-SHA-1
The weak SASL CRAM-MD5 mechanism is deprecate since years and is removed. It is replaced by the SCRAM-SHA family.
App: Close Icon on MacOS (#443)
The Unicode character used to render the cross in tabs, is not available on macOS and thus a box was rendered.
It is now changed to a different code point which is also supported on macOS.
App: File Mode in Linux Zip Releases (#453)
The sieve executable was not marked correctly as executable in there release zip. So that you need an extra chmod step after unziping the archive.
Special characters in password (#429)
Some special characters in passwords caused an authentication error. This was due to a regression.
WebExtension: Thunderbird 91 Compatibility
Same procedure as with every major release. Several breaking changes and regressions which required a fix...
App: WebCrypto API
Node and Browser had different Crypto implementation which where quite different. But recently Node decided to make its implementation compatible with the WebCrypto API used in Browsers. This means lots of glue code can be removed and both the WebExtension and the App share now almost an identical Crypto implementation.
App and WebExtension: Dependencies Updated
All of the external dependencies have been updated to the most recent version. This includes Bootstrap, CodeMirror and Electron.