Towards the end of last year, the need for a faster Firefox release cycle was apparent, and nearly every team at Mozilla began preparing for the major changes afoot. Add-on compatibility has always been a huge barrier to releasing more often, so it was critical we have a plan that wouldn’t leave add-ons or users behind. With previous releases usually a year or more apart, we could begin compatibility outreach to developers 3 months in advance of the release, and were able to get at least 80% of the most-used Mozilla-hosted add-ons compatible with the new version. For this new system to work, we wanted a compatibility process that didn’t require developers to lift a finger unless their add-on was one of the few broken.
Firefox assumes that add-ons are incompatible from one version to the next because, in previous versions, they often were. This becomes a big problem when nearly all add-ons actually are compatible in our shorter release cycles. We devised a plan to work around the assumed incompatibility that had three parts:
- Firefox developers should consider the add-on compatibility impact of every change they make
- Firefox developers should follow a compatibility notification process to ensure we communicate changes to add-on developers
- AMO (addons.mozilla.org) will scan hosted add-ons for issues with the new Firefox version and automatically bump their compatibility if none are found
Longer term, the Add-on SDK lets developers build restartless add-ons without worrying about compatibility hassles.