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
: