Firefox 48 will be released on August 2nd. Here’s the list of changes that went into this version that can affect add-on compatibility. There is more information available in Firefox 47 for Developers, so you should also give it a look.
General
- Update loading throbbers in secondary UI. If you use
loading_16.png
or loading.png
in your add-on code, you need to point your code to the new paths: chrome://global/skin/icons/loading.png
and chrome://global/skin/icons/[email protected]
(HiDPI).
- Add top level devtool menuitems dynamically (and bug 1258987). If you’re using overlays, broadcasters, or commands to tap into the devtools UI, these changes might break your add-on.
- Remove legacy
__defineGetter__
/__defineSetter__
this
behavior.
XPCOM and Modules
- Bring back deprecated newChannel() API on nsIIOService. If your add-on uses
newChannel
, newChannelFromURI
, or newChannelFromURIWithProxyFlags
, these are all deprecated and you should switch to the “2” equivalents. You can read about them in the nsIIOService
documentation.
- Interface for customizing the
DownloadIntegration
module. This allows add-ons to extend the DownloadIntegration
module, but it also means the module shouldn’t be imported directly from DownloadIntegration.jsm
.
- Remove
nsICertTree.isHostPortOverride()
.
- Pull ViewHelpers.L10N, MultiL10N into their own module.
New
- Allow reloading a temporary add-on. You can read more about temporary add-ons in Andy’s blog post.
Let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 48, I’d like to know.
The automatic compatibility validation and upgrade for add-ons on AMO will happen in a few weeks, so keep an eye on your email if you have an add-on listed on our site with its compatibility set to Firefox 47.