If you haven’t yet, please read our roadmap to Firefox 57. Firefox 53 is an important milestone, when we will stop accepting new legacy add-ons on AMO, will turn Multiprocess Firefox on by default, and will be restricting binary access from add-ons outside of the WebExtensions API.
Firefox 53 will be released on April 18th. Here’s the list of changes that went into this version that can affect add-on compatibility. There is more information available in Firefox 53 for Developers, so you should also give it a look.
- Remove support for multi-package xpis. This is still used by a few add-ons that mix complete themes and extensions in a single package, but it’s going away along with other legacy add-on technologies.
- Use a separate content process for file:// URLs. This slightly changes the behavior of
- Remove support for
dom-storage2-changednotifications are not useful for private windows. This created a separate
dom-private-storage2-changednotification for private windows.
- Remove unused bindings from urlbarbindings.xml. Removes
- Move content vs. content-primary distinction out of the
typebrowser attribute. This means
type="content-primary"now works exactly as
type="content", and will be dropped eventually.
MimeTypeArrayshould have unenumerable named properties.
Pluginshould have unenumerable own properties.
The 3 following changes are related, and the main impact is that add-ons can no longer call
findSlotByName("") to figure out if the master password is set. You can find an example on how to change this here.
- Disallow empty token names as the argument to
nsIPK11Token.hasPasswordto replace unnecessary uses of
- Remove token choosing functionality from changepassword.(js|xul).
XPCOM and Modules
- Don’t expose the NSS certificate nickname API in PSM interfaces. This changes a number of methods in
- AddonManager APIs should try to support both callbacks and promises. This makes the callback for
getInstallForURLto be called asynchronously.
PlacesUtils.keywords.fetchshould be used instead.
nsIStyleSheetService::PreloadSheet. This changes the return type of
preloadSheet, which shouldn’t affect you unless you do anything other than pass it to
- Encrypt record deletes. The
storage.syncAPI hasn’t shipped yet, but it’s probably already in use by some pre-release users. This change causes old synced data to be lost.
Let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 53, 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 52.