Intent to de-support: traditional add-ons

Magnus Melin mkmelin+mozilla at iki.fi
Tue Oct 1 13:02:39 UTC 2019


Since version 57, Firefox only supports add-ons through the 
WebExtensions APIs. At the time, Thunderbird decided to continue 
supporting traditional add-ons, since we hadn't yet been able to develop 
replacing APIs for add-on developers to use.

Since then, Thunderbird has been developing WebExtensions APIs (aka 
MailExtensions), and the number of APIs available is continuously 
growing: https://thunderbird-webextensions.readthedocs.io/

Because the toolkit support for traditional add-ons has been largely 
removed, this has meant a lot of work for Thunderbird to keep things 
going for add-ons. For the server side it has also meant a lot of extra 
work (addons.thunderbird.net is a fork of addons.mozilla.org). Add-on 
developers haven't had an easy ride either: The number of changes to 
make an add-on compatible has been significant.

Going forwards we want to change this. Support for traditional add-ons 
is going to be dropped as soon as we're ready to do so internally. There 
are a few pieces of code that we need to convert over internally:

  * Lightning: to be integrated into the code base
  * Mozmill (used in our test infra): we're converting over to using
    mochitests instead

It's not yet clear exactly when we're ready to rip out the support for 
traditional add-ons from the code base, but it should be whitin the 
Thunderbird 72 time frame - so by end of 2019. The next major version of 
Thunderbird, version 78, will be out around June 2020. Up until then, 
code wise many things are going to change. For instance, what is left of 
XUL will be gradually going away, and documents will shifted to being 
XHTML with a less and less XUL flavor.

Dropping support for non-MailExtension add-ons is also needed for 
addons.thunderbird.net. Supporting old-style add-ons would require a 
significant investment in the back-end there, since the Django version 
of the back-end would reach EOL and have to go through a painful and 
expensive upgrade.

As an author of a traditional add-on, what should you do? There are two 
routes: A) convert your add-on to a MailExtension. If the API you need 
doesn't exist yet, tell us about it 
<https://bugzilla.mozilla.org/enter_bug.cgi?product=Thunderbird&component=General>. 
B) convert your add-on to a Web Extension Experiment 
<https://thunderbird-webextensions.readthedocs.io/en/68/how-to/experiments.html>. 
Most add-ons should be able to be converted to an experiment with a 
reasonable effort. The recommended path is forward is to convert it to 
an a MailExtension though. That will make sure the add-on works without 
significant changes over many years. If you go with option B, you'll 
have to maintain a lot of more code yourself and breakages can and will 
be bad unless you keep up really close. MailExtension Experiments should 
be seen as such, experiments with the goal of getting the API they need 
into Thunderbird core. Please work with us on getting the needed pieces 
in as a supported API. Initially we'll be allowing experiments to be 
exposed to the general public, but over time (years) Thunderbird will 
gravitate towards not having the experiments available to the general 
public, the same way it works for Firefox.

  -Magnus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/tb-planning/attachments/20191001/c03f404f/attachment.html>


More information about the tb-planning mailing list