3 ms·
For normal extensions that use supported JavaScript APIs, most releases will not break any APIs. The blog post you linked to is talking about the compatibility
by mbrubeck 12y ago
For normal extensions that use supported JavaScript APIs, most releases will not break any APIs. The blog post you linked to is talking about the compatibility process for these normal JS extensions.
But there is a special class of extensions ("binary add-ons") that link to Firefox/libxul as a C++ library. This has been discouraged for a long time now, but still supported for legacy reasons. These extensions have full access to Firefox's internal C++ and XPCOM interfaces. Since Firefox 4, the ABI of this internal library changes with every major update, so every release is breaking for binary add-ons (except security patches, which take care not to change the ABI, and also do not increment the major version). This is mentioned briefly in the comments of the blog post you linked to.
Since that blog post was written, Firefox's add-on system has changed to address this dichotomy. Non-binary add-ons new use "lax" version checking by default (a minimum Firefox version is checked, but no maximum), while binary add-ons still use "strict" versioning. This is documented here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Interface_Compatibility https://developer.mozilla.org/en-US/docs/Mozilla/Developer_g...
https://developer.mozilla.org/en-US/Add-ons/Install_Manifests#strictCompatibility https://developer.mozilla.org/en-US/Add-ons/Install_Manifest...
[disclosure: I'm an developer at Mozilla.]
- thaumaturgy 12y agoThanks for the explanation. It cleared up some misconceptions. I'll bookmark this for future reference.