<div dir="ltr"><div><br></div><div>Since various types of legacy extensions became unsupported in
Firefox Quantum, we've been busy removing obsolete code and streamlining
the Addons Manager which, as you might imagine, had become quite large
and complex in order to support a wide variety of legacy addon formats.</div><div><br></div><div>At
this point, the largest remaining category of legacy extensions is
bootstrapped extensions. We no longer support bootstrapped extensions
for general use, but we do use them for things like system addons, Test
Pilot experiments, Shield studies, extensions used in automation, and a few other
things. Bootstrapped extensions are useful for these applications since
they provide a relatively simple way to run some chrome-privileged
javascript code without having to land that code and wait for it to ride
the trains. But continuing to support these extensions comes at some
cost (for instance, they are one of the last users of RDF in
mozilla-central).</div><div><br></div><div>An important feature of
WebExtensions is that they run in a sandboxed environment much like web
content without direct access to chrome-privileged browser internals.
However, a feature called WebExtensions Experiments allows certain
extensions to run some privileged code. Converting bootstrapped
extensions to WebExtensions plus experiments has a bunch of advantages:</div><div>- It means less privileged code overall which is good for stability and security</div><div>- Though porting takes some work, the result should be easier to maintain and build on in the future</div><div>- It frees us up to remove more old code and further streamline the addons manager<br></div><div><br></div><div>So,
we plan to remove support for bootstrapped extensions altogether in
Firefox 65. This will entail porting existing bootstrapped extensions
to WebExtensions (or converting them to something other than an
extension where that is appropriate). This effort is tracked in bug
1449052. If you are responsible for a bootstrapped extension that we
rely on and it is not already tracked as a dependency of that bug,
please:</div><div>1. Add a comment or dependency. to bug 1449052, and</div><div>2. Aim to get the extension converted by the end of the 64 Nightly cycle (Oct 15)</div><div><br></div><div>And needless to say, we shouldn't be creating any new bootstrapped extensions at this point.<br></div><div><br></div><div>A lot of things are going to need to come together to hit his schedule but we are eager to get this wrapped up and move on. If you are responsible for an
extension and have questions about how to handle it, feel free to either
contact me directly or drop into #webextensions on IRC. If you want to
learn more about WebExtensions Experiments, there is a brief overview
at [1] and a lot of gory implementation details at [2].<br></div><div><br></div><div>[1] <a href="https://webextensions-experiments.readthedocs.io/en/latest/" target="_blank">https://webextensions-<wbr>experiments.readthedocs.io/en/<wbr>latest/</a><br></div><div>[2] <a href="https://firefox-source-docs.mozilla.org/toolkit/components/extensions/webextensions/index.html" target="_blank">https://firefox-source-docs.<wbr>mozilla.org/toolkit/<wbr>components/extensions/<wbr>webextensions/index.html</a></div><div class="gmail-yj6qo"></div><div class="gmail-adL"><br></div><br></div>