The latest developments for Add-On developers.
Modernized update guides and Experiment examples
With the experience of the last few years, we have revised our guides for converting legacy extensions to WebExtensions. The information is now more compact and the examples have also been made clearer.
Introducing the menu typed action button
Since Thunderbird 115, all our action buttons can be defined as menus:
See our example for more details.
Support for Manifest Version 3
Thunderbird 128 ESR is the first Thunderbird release to officially support Manifest V3. The required changes to convert a Manifest V2 extension to Manifest V3 are listed in our WebExtension API documentation.
Updated sample extensions to Manifest Version 3
We updated our sample extensions to be compatible with MV3. Each extension includes comments to highlight the required changes.
Manifest V3 is the next iteration of WebExtensions, and offers the opportunity to introduce improvements that would otherwise not be possible due to concerns with backward compatibility. MV2 had architectural constraints that made some issues difficult to address; with MV3 we are able to make changes to address this.
source: Mozilla Add-on Community Blog
One of the key concepts of Manifest V3 is to deprecate persistent background pages. The original proposal from Google meant to replace background pages completely by service workers, which however resulted in criticism from the community. Most add-ons would have to be rewritten to use service workers, and some add-ons could not have been converted at all.
Mozilla introduced Limited Event Pages to allow add-on developers to keep using the known concept of background pages. These event pages are terminated when they become idle, and restarted whenever an event for which they are registered occurs.
In addition to these fundamental operational changes, some APIs have been changed to remove inconsistencies. Also, all methods and properties marked as deprecated have been removed.
The full list of required changes to convert a Manifest V2 extension to Manifest V3 can be found in our WebExtension API documentation.