Releases: thsmi/sieve
Regression with pinned certificates
Connecting the app with a pinned certificate checksum failed due to a regression (#653)
Other than that everything is identical to the 0.6.0 release
- 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
For more details on the previous releases refer to
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.
Roundup release
The 0.5.3 is a round up release and addresses only minor changes.
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
For more details on the previous releases refer to
- 0.5.2 - https://github.com/thsmi/sieve/releases/tag/0.5.2
- 0.5.1 - https://github.com/thsmi/sieve/releases/tag/0.5.1
- 0.5.0 - https://github.com/thsmi/sieve/releases/tag/0.5.0
Changes
App & WebExtensions: Updated dependencies
All of the dependencies are updated.
Most notably Bootstrap is now upgraded to at v5.0.0-Alpha3 and Electron at v10.1.5.
App & WebExtension: Landing page for empty accounts (#433)
A landing/welcome page is now displayed in case of an connected account without scripts.
WebExtension: Menus (#397)
The menu integration had a glitch, which made it fail in extreme rare situations.
App: Azure macOS pipeline fixed (#313)
Nightly build for macOS are now available from the azure cloud.
A huge thank you to @tessus who fixed the macOS pipeline.
For more details refer to https://github.com/thsmi/sieve/wiki/FAQ---Application#app-macos-builds
Keep in the nightly builds are untested, unsupported builds.
Regression fix and activity indicator for the save button
The 0.5.2 fixes a regression introduced by the 0.5.1 release.
-
For more details on the 0.5.0 release as well as install instructions refer to https://github.com/thsmi/sieve/releases/tag/0.5.0
-
For more details on the 0.5.1 release refer to https://github.com/thsmi/sieve/releases/tag/0.5.1
Changes
Fix Error Messages in Editor #386
Fallout from #344 prevents error messages in the editor to be displayed.
Activity indicator for "Save" button #385
BugFixes and Thunderbird 81 Compatibility.
The 0.5.1 release is a fix up and addresses minor issues of the 0.5.0 release.
For more details on the 0.5.0 release as well as install instructions refer to https://github.com/thsmi/sieve/releases/tag/0.5.0
Changes
Thunderbird 81 Compatibility for WebExtension (#306 #352)
The nightly Thunderbird builds introduced some changes which broke the WebExtension.
Ship German locale
The German locale was not shipped and placeholders are displayed.
Fix Update Check Logic
The app's update check ignored minor version bumps.
Active script not shown as active in UI (#377)
The badge indicating a script is active was not shown.
Don't scroll the save button in editor (#344)
The menubar in the editor is now sticky. This prevents that the save buttons scrolls out of reach with large scripts.
More robust language detection (#382)
The algorithm to detect the best matching language is now less strict which should allow better matching.
Internationalization (I18n), Password Manager and Bootstrap 5
This release contains massive changes to the internals. The UI is upgraded to bootstrap 5 and all jQuery dependencies are removed. Furthermore large parts of the code base are now converted to JavaScript modules, which should improve loading dramatically. All of the UI is internationalized and a password manager is integrated into the app.
As the changes are massive expect some glitches.
- Linux Application as Zip
- Linux Application as AppImage
- Windows Application as Zip
- Thunderbird WebExtension as Xpi
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 macOS build of the app, there is none. You need to build and package it by your own and this will not change until a macOS user provides tested releases, I don't own a mac, so I can not test or support macOS builds. More details can also be found in the FAQ
Internationalization (#203 #267)
The App as well as the WX is now fully internationalized. But currently only English translations are available.
This is where this project needs your help. Translating it to other languages is done via crowdin, just join there and contribute translations!
Passwords (#202)
The app saves password into your system key store. Which means on windows the "Credential Vault" will be used, on Linux you by the "Secret Service Api"/libsecert and on macOS in the "Keychain". It is based on node-keytar
The system key stores are not very safe but commonly used and generally offer features like syncing between computers.
In case the system key store is disabled (e.g. by your sysadmin) or unavailable the app will fallback to a normal password prompt.
Importing and Exporting Accounts (#229)
Account configurations can imported from and exported to a json file.
Selfhosted WebExtensions (#241)
Reviews for Thunderbird Addon/WebExtension take currently very very long time. The WX 0.4.2 release is stuck several month in the review queue at addons.thunderbird.net.
But in the mean time webextensions support side loading. If you download a the webextension from here you'll receive in the future automatic uploads via github and not via thunderbird. This should make it easier to provide new version and do faster releases.
Linux AppImage (#268)
AppImage is a container format for Linux to distribute application in a single executable.
All you need to do is downloading the appimage, then set the executable bit and run the application. No Installation needed and everything is contained in a single file.
Continuous Build in Azure DevOps (#288)
Every commit to the master triggers an automatic build and runs the unit tests as well as the linter. The build engines are provided by Microsoft's Azure DevOps cloud and offers native build engines for Windows, Linux and macOS.
You can find the latest nightly releases here:
https://dev.azure.com/thsmi/sieve/_build
The build artifacts are a bit hard to discover. First select the build pipeline e.g. App Windows. Then the build you want to download. In the builds summary tab there is a field named "published" as illustrated in the following screenshot. Clicking on this will lead you to the artifacts download page.
There are no macOS Artifacts because packaging on a native macOS errors out.
Bootstrap 5 and jQuery (#201, #323)
The first Bootstrap 5 pre-release is out. The most notable change is that they dropped jQuery and reduced their footprint. As always it is a large change so expect some UI glitches.
On the app and wx side all of the jQuery code was replaced by vanilla javascript. And the jQuery dependency is now completely gone.
Bootstrap Icons (#209)
The new Twitter bootstrap icons replace the Google Material Design icons.
vnd.dovecot.pipe (#283)
The Sieve extension vnd.dovecot.pipe is now supported by the graphical editor.
Notable Bugfixes
Make App a singleton (#247)
The app failed with a white screen when running multiple instances.
Busy script detection broken (#253)
Should not be possible to delete or rename a script which is currently edited as this creates a singularity. But the detection was broken in the WX.
Referral without port not working (#260)
In case the server did not specify a port the referral failed with an exception.
In case the port is not specified it will fallback to sieve default.
Require for subaddress not handled (#314)
When using the subaddress extension, the require statement was not updated correctly
Hotfix
jQuery introduced accidentally a breaking change in a minor update.
This causes the bootstrap accordion widget to fail and breaks the graphical editor in the 0.4.1 version.
Other than that it is identical to 0.4.1 and all of the release notes also apply to this release.
Webextension and Bugfixes
App
Lots of minor bugs and glitches are fixed, too many to name here. All in all the app looks pretty mature, only minor bugs have been reported so far. So time to make this the first official release.
Be aware of one breaking change. In order to have a common codebase with the webextension the account settings needed to be changed. Which means you need to recreate all of your accounts.
Noteworthy is importing Thunderbird's accounts settings on Linux was fixed by Jonas Bögle and a macOS packaging step was contributed by Eduard Martinescu.
In case you stumbled upon a bug or have a feature request please report it.
In case you are looking for a macOS build, you need to test and build it on your own. I don't own a mac, so I can not test or support macOS builds.
As before keep in mind the app will not update automatically.
WebExtension
The experiment evolved and this release will be the WebExtension's first official pre-release.
It is still very rough so don't expect too much. Especially as WebExtension are limited by design, there is nothing to do about this, so it can never reach parity with the app.
The future is still very unpredictable. Until now there is no official announcement from the Thunderbird Project if WebExtensions Experiment will stay enabled with future Thunderbird Releases.
I will try to upload it to addons.thunderbird.net, but as this was a huge rewrite, the mandatory review will most likely take several weeks.
Noteworthy Stuff
The project has now an shiny new icon!
It is a commercial icon bought from donations and has a good quality. But the icon's license is sadly non exclusive, neither free nor open and usage is bound strictly to this project. So no reuse outside this code base is allowed or possible.
The standalone app has landed!
I am glad to announce, the electron based standalone app has landed!
Originally it was planned to have both the Thunderbird add-on and the app side by side. And gradually migrate to the app.
But the last Thunderbird updates created a devastating hit on the add-on. Even very basic things are broken. And it will most likely get worse for the future when Thunderbird drops support for classic add-ons. This will be then most likely the end for this add-on.
The app is based on electron and is shipped with his own runtime environment. Which makes it independent from Thunderbird and thus way more robust and stable. The downside is the app is large. But it is definitely better having a large standalone application than an dysfunctional Thunderbird add-on.
A special highlight of the app is the shiny new HTML based responsive UI. So give it a try and let me know what you think.
The app is mature but still a pre-release, so expect some glitches.
There is no installer, just download, unzip and run the sieve executable.
The app does not update automatically to a newer release.
Thunderbird 66+ Compatibility
- Adds Thunderbird 66 Compatibility:
- Converts TreeBoxObject into XULTreeElement (#162)
- Adopts StreamListener API Changes (#163)
- Adopts ProtocolHandler API Changes (#164)
- Fixes unloading the addon (#166 and #165)
- Makes parser to handle Identifiers as case sensitive.
- Fixes SHA iterations (#161)
- Activates Hungarian Locale
- Removes Obsolete Files
- Updates Credits and include Contributors.md