Update for Thunderbird 68

Required steps to convert deprecated Legacy Bootstrap Extension and Legacy Overlay Extensions to WebExtensions.

Technically, Legacy Bootstrap Extensions and Legacy Overlay Extensions need to be converted to WebExtensions, but by activating the legacy mode, their general structure does not need to be changed.

Required Changes

There are two types of changes which are required to make your legacy extensions compatible with Thunderbird 68:

  • The legacy extension must be converted to a WebExtension by replacing the old install.rdf by a manifest.json.

pageConvert Overlay Extension to Legacy WebExtensionpageConvert Bootstrapped Extension to Legacy WebExtension
  • All legacy extensions need to be updated to reflect changes in Thunderbird core, like renamed/replaced API calls, removed support for some XUL elements (need to use HTML elements now) and much more.

pageAdapt to Changes in Thunderbird 61-68

Even though it is possible to have both install.rdf and manifest.json files in your extension, so you could release a version compatible with Thunderbird 60 and 68, it is not suggested for the following reasons:

  • The amount of changes is huge and some changes are incompatible with Thunderbird 60 so it will require extra steps to ensure the modified version still runs with Thunderbird 60.

  • You may actually break your add-on for Thunderbird 60 users by releasing a backward compatible version for Thunderbird 68 ("Do not fix something, that is not broken").

  • We think the time and resources needed to code and test backward compatible add-ons is not justified by the small amount of users running older versions of Thunderbird.

If you do want to stay backward compatible, you will find useful information here.

It is possible to maintain a legacy version and a WebExtension version of your add-on in parallel on ATN! You just need to use a higher major version number for the WebExtension version of your add-on and keep the old major version number when releasing a new legacy version. Basically releasing them in two different branches.

Last updated