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.
General
- 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
_openURIInNewTab
. - Remove support for
-moz-calc()
. dom-storage2-changed
notifications are not useful for private windows. This created a separatedom-private-storage2-changed
notification for private windows.- Remove unused bindings from urlbarbindings.xml. Removes
<splitmenu>
and<menuitem-tooltip>
. - Move content vs. content-primary distinction out of the
type
browser attribute. This meanstype="content-primary"
now works exactly astype="content"
, and will be dropped eventually. MimeTypeArray
should have unenumerable named properties.PluginArray
andPlugin
should have unenumerable own properties.
Password Manager
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
nsIPK11TokenDB.findTokenByName
. - Add
nsIPK11Token.hasPassword
to replace unnecessary uses ofnsIPKCS11Slot.status
. - 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
nsIX509Cert
:addCert
,addCertFromBase64
,findCertByNickname
,findEmailEncryptionCert
,findEmailSigningCert
. - AddonManager APIs should try to support both callbacks and promises. This makes the callback for
getInstallForURL
to be called asynchronously. - Remove
getURIForKeyword
API.PlacesUtils.keywords.fetch
should be used instead. - Support
ServoStyleSheets
innsIStyleSheetService::PreloadSheet
. This changes the return type ofpreloadSheet
, which shouldn’t affect you unless you do anything other than pass it toaddSheet.
WebExtensions
- Encrypt record deletes. The
storage.sync
API 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.
Kohei Yoshino wrote on
Kohei Yoshino wrote on
Jorge Villalobos wrote on
Yan Yu wrote on
Jorge Villalobos wrote on
golf wrote on
Jorge Villalobos wrote on
golf wrote on
Jorge Villalobos wrote on
golf wrote on
Jorge Villalobos wrote on
Leslie wrote on
Jorge Villalobos wrote on
Leslie wrote on
Jorge Villalobos wrote on
Jerry Cook wrote on
Jorge Villalobos wrote on
Matt wrote on
Jorge Villalobos wrote on
Matt wrote on