Thunderbird/Add-ons Guide 63
Add-ons Guide for Thunderbird 63 and beyond
The picture beyond Thunderbird version 60 is rather uncertain, given the continued high rate of change in Firefox platform code. We will work with add-on authors in the coming months to determine a viable post-60 add-on strategy. Below are some general thoughts, which if you have programming questions or wish to discuss the future can be posted in the mozilla.dev.apps.thunderbird newsgroup, see Communication Channels.
Work has been undertaken to keep supporting legacy add-ons "somewhat" in Thunderbird 63 and beyond. We implemented an overlay loader that will load XUL overlays for add-ons but may cause graphical glitches or malfunctions. We're tracking this in bug 1476259.
To use this overlay loader, XUL overlay legacy add-ons must replace install.rdf file with a WebExtensions style manifest.json file, which includes the key "legacy" set to true. See Lightning as an example:
https://hg.mozilla.org/comm-central/rev/e81f4b59a00a7d3e18d50fd3851ecbd47762a186#l2.5 (Note: In this changeset the @variables@ are build variables, add-ons need to use fixed strings).
Important: Bootstrapped legacy add-ons continue to work without a manifest.json file and will in fact break if you add that file.
Add-on authors who want to make their add-ons compatible with Thunderbird version from 63 and beyond to version 68 ESR have three options:
- Rely on the mentioned XUL overlay loader. This is only a short-term stopgap solution.
- Make their add-ons restartless, although the replacement for restartless add-ons in TB 68 isn't yet clear. Further reading on restartless add-ons:
- Convert their add-on to a WebExtension, using WebExtension Experiments for any API that is not yet provided. This is the preferred approach. You can read more information at https://github.com/thundernest/tb-web-ext-experiments/
Removed in Thunderbird
From Thunderbird version 60, overlays have been progressively removed, in version 63 there are no overlays left in Thunderbird. Due to Thunderbird's own overlay loader, XUL add-ons can still use overlays, but they can of course not overlay the removed Thunderbird overlays any more. For example, if you add-on overlaid mailWindowOverlay.xul, that needs to be changed; in this example you most likely need to overlay messenger.xul now.
Removed in mozilla61
- insertItemAt and removeItemAt methods from XUL elements. -- Replacement: insertBefore and remove.
- temporary workaround, .setUnsafeInnerHTML or |document.allowUnsafeHTML = true;|, see here.
Removed in mozilla63
- XUL element listbox together with listboxitem and listcell. -- Replacement: richlistbox.
- XUL stringbundleset/stringbundle -- Replacement: Services.strings.createBundle(..)