Betterbird Blog

What’s going on in the project

Release 140.6.0esr-bb15

- Posted in Releases by

We've shipped Betterbird 140.6.0esr-bb15 today. Please refer to the Release Notes for full details.

Update 8th December 2025: We had to replace the entire release with "build2" since advancing the Thunderbird "fix" for an IMAP bug introduced random crashes. On closer inspection, that code change is likely to have undesired effects, including crashes.

We've addressed issues reported by users in the last four weeks and implemented some new features.

First and foremost, to fund the project, when launching this version for the first time, it will open the end-of-year donation drive page in your browser. Unlike Thunderbird, which is constantly nagging, we're asking for donations this way only once a year in December.

A user who is migrating from Postbox motivated some improvements to the search functionality, see this post for details.

Some of the fixed bugs that were related to searching, for example we rectified and issue that prevented encrypted S/MIME messages to be indexed; a feature introduced in Betterbird 115.

Miscellaneous fixes include missing localisations, where the program talked about Thunderbird instead of Betterbird, and a fix for the much-dreaded "phantom menus" mentioned here. Users of "attachments on top" in the compose window can now reduce the height of the addressing header when many files are attached.

Feature: CardDAV categories

- Posted in Feature Requests by

Categories in the address book have been requested since 2001, however, they were never implemented. Outlook has them, the CardBook add-on provides them, but an implementation attempt of 2022 stalled over some UI discussion.

Some noteworthy quotes:

Just goes to show what promises by the Thunderbird folks are worth.

We've dusted off the solution that was presented back in 2022, but it's only 40% finished. You can capture categories, as the image shows, but there are not visible elsewhere, like in the list view or in search results (Edit > Find > Search Addresses...). So if you're interested in the feature, please get in touch and pledge your financial support.

Update: We added the missing bits: List view, both as cards and table; search, both quick and advanced.

List view

Advanced search

Download: Use "latest build" from the Release Notes page. It will ship officially in version 140.7.0.

Update 11th Dec. 2025: We've tested this now on a real CardDAV server at our hosting provider Hetzner with NextCloud using vCard 4.0. It works. Just for general information, here a table of what works and what doesn't:

Provider / Server CardDAV Support vCard Version Categories Support Notes / Caveats
Google Yes vCard 4.0 (server-side labels) ❌ `CATEGORIES` ignored Uses “labels” internally; any `CATEGORIES` sent by client are dropped; not visible in web UI
Apple iCloud Yes vCard 4.0 ✅ Preserved Supports multiple categories per contact; fully visible in web UI and macOS/iOS clients
Nextcloud (old versions) Yes vCard 3.0 ❌ `CATEGORIES` dropped vCard 3.0 doesn’t formally support `CATEGORIES`; any `CATEGORIES` sent by client are likely dropped
Nextcloud, SabreDAV Yes vCard 4.0 ✅ Preserved Supports multiple categories per contact
Outlook.com / Microsoft 365 ❌ No native CardDAV vCard export only ✅ Inside Microsoft ecosystem Categories exist in Outlook desktop/web/mobile, but not exposed via CardDAV/vCard; not interoperable

Thunderbird 140.6.0 ESR is due next week, so the Thunderbird folks are building it. Surely, something went wrong again, as the picture shows. But that's not what we're there to talk about. We're here to talk about software quality.

Question: How make fixes are included in their version 140.6.0 ESR compared to the previous version 140.5.0 ESR? Answer: Zero, nothing at all. Despite 72% of users still using the ESR version as compared to 25% of users on the buggy "Release" version (source: Desktop ADI: 72% on 140esr, 25% on Release, 3% on other), the ESR version is largely neglected while they keep flogging the regression-ridden "Release" version, see here, here and here. Betterbird on the other hand is including about 80 fixes in Betterbird 140 which the Thunderbird folks could easily ship in their version, too. But they established this ridiculous "backport" policy, where only fixes for severe issues are backported, so all the annoying regressions are left unfixed, and this applies to their "Release" version, too.

Bad Sunday

- Posted in Ranting by

First we would like to remind the reader what ranting is about. As AI put it: Online, it signals exactly what you’re doing: calling out mistakes, bad decisions, sloppy work, or irritating trends — but in a way that’s more commentary-with-attitude than theatrical shouting.

So here goes a personal story from your favourite CEO:

I had a bad Sunday. In the morning, I was writing an e-mail and was hit by three bugs.

First, searching by custom header had been messed up since the preference mailnews.customHeaders which lists custom headers had been corrupted, likely by an add-on, since the code just doesn't do that. The separator :<space> had been replaced by \n. Very weird.

Next, I noticed that in an new composition with many attachments shown on top (which is a Betterbird feature), the header pane grew with no way to reduce it. That was actually a real bug. It got fixed in our "latest build 4".

And finally, the ghost menus hit me. A user had reported them before, but only today I found a reproducible case. After a long investigation it turned out that setting preference ui.prefersReducedMotion to the default value 0 caused this issue. Betterbird exposes the preference, hence it leads to this error. Thunderbird 140 fails the same way if one sets the preference manually. The issue seems to be fixed in later versions of Thunderbird. We haven't bisected where it got fixed.

And to add insult to injury, I noticed that Thunderbird 146 makes irreversible changes to a profile, so while switching versions, at some stage I was prompted to enter all the passwords again. That's where a backup came in handy.

But hey, there was a silver lining: A user wrote: YOU ARE MY HERO!!!!! after helping him diagnose that his mail provider was rejecting his SMTP EHLO command based on his local IP address of 192.168.1.13. BTW, AI predicted something like that based on the obscure error received: internal error AUP#EML-005. So if your mail provider plays up, you can set preference mail.smtpserver.smtpXX.hello_argument to work around it. The XX can be obtained from the account listing in the Troubleshooting Information (that's a Betterbird-only feature).

Oh yeah, SuperSandro from NixOS helped us with improving our build script by replacing uname -i with uname -m. Two workarounds for uname -i not working on Debian and macOS were made obsolete.

How was your Sunday?

Message search in Thunderbird and Betterbird is a widely misunderstood area. Both programs offer three different searches:

  • "Regular" message search, via the context menu "Search Messages..." or keyboard shortcut Ctrl+Shift+F. This searches in a folder, all folders of an account, or all folders in all mail accounts. The latter is a recent enhancement in Betterbird. This method is also used to create "(Saved) Search Folders", which together with "Unified Folders" form the class of "Virtual Folders".
  • Quick Filter Search, QF in short, which is summoned with keyboard shortcut Ctrl+Shift+K. This search uses the same technology as message search under the hood.
  • Last not least, there is "Global Search and Indexer", for short, "Gloda" (Global Database), which indexes all mail and chat message into a global SQLite database global-messages-db.sqlite. When enabled, this is summoned with keyboard shortcut Ctrl+K.

Betterbird offers many improvements in message, QF search and virtual folders:

  • In message search, it offers complex search terms (and/or grouping) and regular expression search.
  • In both message search and QF, diacritics are ignores, so "señor" matches "senor". Bodies of encrypted messages are also searched.
  • QF offers negations (inverted buttons) and better feedback while the search is running.
  • Virtual folders are fully cached: When a virtual folder is opened, it is restored from cache instead of executing the underlying search again which can lead to extreme performance degradation if the virtual folder is based on many and large folders.

Now turning our attention to Gloda. It was developed in 2009 in series of tickets and currently has 45 open bugs and enhancement requests. Since the initial developer left the project, the code is basically unmaintained, is has only received general refactoring, for example when the entire Thunderbird codebase was migrated to custom elements and ECMAScript Modules. Gloda is the only code left that still uses JavaScript Generator Functions. They have been replaced with modern asynchronous processing in the rest of the codebase. In brief: Thunderbird developers will only touch Gloda with a ten-foot pole, and the same goes for the Betterbird team. That said, our project leader had some exposure to the Gloda code, for example, when he was the Thunderbird maintainer and had to fight inadvertent changes to the tokenizer that broke Gloda completely.

Despite all the difficulties, Betterbird offers a few discrete improvements:

  • Gloda search in encrypted messages
  • Gloda results can immediately be opened in a list view
  • Gloda skips duplicate results in Gmail's "All Mail" folder
  • Preference mailnews.database.global.indexer.max_body_part_size to allow Golda to index more than the first 20 KB of a message to avoid missed search hits
  • And the most recent improvement: Two new filters which allow restricting the search result to search hits which matched on message subject or message body. Fortunately, ChatGPT sprang to help to make sense of the code.

We concluded our previous post with the questions:

Is your head spinning already with all the bug numbers? Do you think the Release Channel version is good enough for productive use?

The saga continues, so here's an update:

The fix for Bug 1993842 was backed out from the Release Channel version, so special IMAP folders are now always shown in English again. Meanwhile the fallout from the fix is being addressed in Bug 1998456.

But the drama is going on. A further fix not to show Gmail's "All Mail" folder as "Archives" is being prepared in Bug 1999677, and the developers thought it was a good idea to force Thunderbird-specific localisation onto that folder, despite the fact that Gmail already localises its name, see Bug 1999895.

The German reader will be reminded of the film title "Denn sie wissen nicht, was sie tun" ("Rebel Without a Cause", from 1955).

All this is part of a "normal" development process of "trial and error", at least in some organisations, but trying to sell the resulting software as a "stable" release, well, ..., we leave that to your judgement.

Update 12th Dec 2025: The issue is still not resolved in Thunderbird 146, see: folder name confusion

Here you find the latest bug report.

Feature requests we receive

- Posted in Feature Requests by

Over the years that the project has existed, we've received many feature requests. Some are filed at GitHub (current list), others are communicated to us via e-mail.

The open enhancement requests at GitHub include shipping Betterbird in different ways, for example as Snap Package or AppImage for Linux, or MSIX via the Microsoft store or for Windows on ARM64. Those requests will likely not be addressed without external help.

The next category are (currently nine) enhancements which have been requested in Thunderbird for sometimes more than 20 years. There are a few biggies in there like proper support for RTL locales or Calendar subtasks.

The remaining (currently eight) requests include enhancing reversed threading further, to show the newest message in the collapsed thread root.

Via e-mail we received the following requests:

  • CC column in the table view
  • Improved detection of attachments of type application/octet-stream
  • Integrating move/copy into activity manager
  • When capturing a recurrent event in the future, end date should be populated with event date, not current month.

Every time users request in implementation of an enhancement, we ask for a symbolic financial contribution which depends on the income of the requester, the time they will save using the new feature, and the overall complexity of the request. Requests from people who are just asking, but expect everything for free, will likely not be implemented.

A different question is setting up a special funding drive for larger issues, for example, RTL support, possibly via GoFundMe or Floss/Fund.

Right now, well be looking at extending "Search Messages", so regular folder search, to allow searching all folders in all mail accounts. That's bug 131438 from 2002*). This was requested by a contributing user who wants to switch from now defunct PostBox to Betterbird. This user also suggested an improvement to "global search" (Gloda), to be able to filter the search result by whether the match was on the message subject or body, not just by "From Me" and "To Me"*).

Let us know your thoughts and whether you are willing to sponsor an enhancement. Click here to e-mail us!


*) Now implemented and available in "latest build" version.

Release 140.5.0esr-bb14

- Posted in Releases by

We've shipped Betterbird 140.5.0esr-bb14 today. Please refer to the Release Notes for full details.

We've addressed issues reported by users in the last four weeks.

The Betterbird-native new mail alert on wrong monitor issue is finally fixed, and preference mail.notification.show_on_app_screen should also be working now. We revived preference mail.folderpane.sumSubfolders which had become a victim of Supernova-Kaboom in Thunderbird 115.

Users of the Proton Mail Bridge can now unsubscribe from the likely unwanted so-called "no-select" folders Labels and Folders after setting preference mail.imap.allow_unsubscribe_noselect.

The pesky calendar scroll issue when switching tabs was also fixed by advancing a Mozilla patch. We're also advancing eight bug fixes which are not shipping in Thunderbird 140 ESR yet. As far as providing recent bug fixes to ESR users is concerned, Betterbird is about 50 fixes ahead of Thunderbird.

Finally, the "Recent Destinations" menu was returned to its original state of only showing folders to which messages had been recently moved, the sort order is now based on latest use.

In our previous post, we wrote about the many regressions users of the Release Channel are plagued with. Today we're focusing on the history of a particular issue, which affects all users of a localised (non-English) version of Thunderbird.

Traditionally, Thunderbird aimed at showing names for "special folders" (Inbox, Sent, Templates, Trash, Archives, etc.) the way they were shown in the mail providers web interface. That was achieved by listening to user requests in various bugs, for example Bug 1320191 on the Microsoft "Deleted" folder, or Bug 543227 on incorrect names of other IMAP folders.

In their infinite wisdom, the Thunderbird folks changed this behaviour for no good reason in Bug 1960526, so a SPAM folder called "Bulk" would be called "Junk" (later "Spam" after migrating "Junk" to "Spam" in Bug 1823084), which gave rise to Bug 1979511.

Attempting to fix Bug 1979511 led to Bug 1993842, where special IMAP folders were always shown in English. That was fixed, but now the behaviour has returned to the "infinite wisdom" change, were standard names of the special IMAP folders are used instead of the names in the web interface. This was filed as Bug 1998456.

Let's not mention that in the course of the events, some localised folders were shown with garbled/mojibake names for a while, Bug 1994890.

Is your head spinning already with all the bug numbers? Do you think the Release Channel version is good enough for productive use?

Here a message from the Betterbird CEO:

Dear followers of the Betterbird blog,

You may have asked yourself why we're self-hosting our own blog instead of publishing on social media to potentially reach a wider audience. The reason is simple: One of my principles is to only publish on media which I control, or at lease have moderator status, like on Reddit. I considered creating an account on Instagram, but was concerned about being affected by some random unjustified decision of the platform operator. Sadly, today this fear became reality as my personal Instagram account was blocked, stating that (quote): [the] account, or activity on it, doesn't follow our Community Standards.

That's totally surprising since the last post was made in more than two years ago, in January 2023, and the last trivial direct message sent was 50 days ago. So which activity were they referring to? 1.5 hours later the account was unblocked again after I had submitted a whole lot of personal data, including a selfie. Horrible.

Thanks for following us!