Adapt to Changes in Thunderbird 103-115

This document tries to cover all the internal changes that may be needed to make add-ons compatible with Thunderbird Beta. If you find changes which are not yet listed on this page, you can ask for help and advice in one of our communication channels.

Removed JSM files


Removed in Thunderbird 103. The service object is now globally available in API implementation scripts. If needed in self-created JSMs, it can be accessed as follows:
const Services = globalThis.Services;
For a backward compatible solution, use
const Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services;

Changed API


In Thunderbird 106, this has been changed from an enumerator to a simple array.


Removed in Thunderbird 106.


Renamed in Thunderbird 108 to containsKey(). Example msgHdr.folder.msgDatabase.containsKey().