Intent to unship: bootstrapped extensions

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. 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). 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: - It means less privileged code overall which is good for stability and security - Though porting takes some work, the result should be easier to maintain and build on in the future - It frees us up to remove more old code and further streamline the addons manager 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: 1. Add a comment or dependency. to bug 1449052, and 2. Aim to get the extension converted by the end of the 64 Nightly cycle (Oct 15) And needless to say, we shouldn't be creating any new bootstrapped extensions at this point. 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]. [1] https://webextensions-experiments.readthedocs.io/en/latest/ [2] https://firefox-source-docs.mozilla.org/toolkit/components/extensions/ webextensions/index.html -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/dev-addons/attachments/20180604/eab0e9bb/attachment.html>