Big changes are coming to Firefox in the near future and will require extension developers to make major modifications to their existing extensions to ensure they continue to work.
The company is replacing its extension API for Firefox with a new one called WebExtensions, which is similar to the system used in Chrome and Opera system to ensure that add-ons can be easily developed to work across multiple browsers.
It’s also making the changes due to a faster version of Firefox on the horizon, called Electrolysis, which separates the browser into multiple processes and lowers the risk of exposing users to malware.
Developers will need to make changes to their extensions to ensure they continue to work if they’re affected by the change. First, starting on September 22 with the release of Firefox 41, all extensions will need to be validated and signed by Mozilla.
Currently the company uses a blacklist to ban extensions masquerading as malware but it’s proved ineffective, so all developers will now need to submit their extensions for review by Mozilla before they are published.
The new WebExtensions API is Blink-compatible and should mean that developers can port their extensions between Chrome, Opera, Firefox and Microsoft Edge with only a small amount of changes.
Mozilla is giving developers plenty of notice about the changes, but they’ll need to start work on extensions now to ensure they’re ready for the switch.
After that it’s expected Firefox 43, which will include the new API, will be released on December 15. From there, unmodified extensions will continue to function for six months, after which the company will remove compatibility support for them.
Mozilla acknowledges the changes will hurt Firefox-only extension developers significantly in the short term with “considerable effort” required to port them to the new API, but says it “feels the end result will be worth that effort.”
It also means that Mozilla is depreciating the XUL and XPCOM technologies used by Firefox, confirming earlier rumors. The company will end support for the technologies over the next 12 to 18 months.
Developers should check which APIs are being depreciated to ensure their extensions continue to work after the deadline.
The changes are huge and might involve a significant amount of pain for developers, but are great news for users.