Firefox 34 will be released on November 25th. Here’s the list of changes that went into this version that can affect add-on compatibility. There is more information available in Firefox 34 for Developers, so you should also give it a look.
General
- UPDATE: New search UI. Please read this post about the new search UI, which landed fairly late in the beta cycle.
- Get Firefox to launch with the new .app bundle structure. Because of new requirements in Mac OS internal application layout, some changes needed to be made in the structure of the application package. For add-on developers, it means that you might need to change your code if you referenced the special directory “GreD” to obtain access to certain binaries in the Firefox package. Those binaries were moved to a new special directory “GreBinD”. Non-binary files should still be accessible through “GreD”.
- Remove localstore.rdf. As part of a larger effort to remove most RDF code from Firefox, the contents of localstore.rdf have moved to xulstore.json. This means your add-on won’t work if you’re tapping directly into the RDF store for this data.
- Whitelist XBL bindings that may be applied to untrusted content. XBL binding declarations will need to include
bindToUntrustedContent="true"
if they should work in untrusted (web) content. - JavaScript regular expression captures broken with alternation in some cases.
XPCOM
- Implement nsIDOMStorage with a proxy. This essentially adds a window argument to the
createStorage
function. - Remove SetCharsetForURI and GetCharsetForURI from nsINavHistoryService. These functions can now be found in
PlacesUtils
, but they return aPromise
instead of the value directly. - Add an assertion to XMLDocument to ensure that that callingDoc and the doc have the same principal. In short, add-ons should be using
XMLHttpRequest
instead ofXMLDocument
to load documents. - Merge nsIMarkupDocumentViewer into nsIContentViewer.
- Remove enumeration methods from nsICommandParams.
- Make min/max/bucket_count optional for nsITelemetry newHistogram() / registerAddonHistogram().
New!
- Import and use public domain JNI.jsm implementation. This is a useful module for Android add-on developers that need low-level access. It has been renewed with a more complete implementation. You can get the module with
Components.utils.import("resource://gre/modules/JNI.jsm");
Please let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 34, I’d like to know.
The automatic compatibility validation and upgrade for add-ons on AMO will happen soon, so keep an eye on your email if you have an add-on listed on our site with its compatibility set to Firefox 33.
Kohei Yoshino
wrote on
Andres Ruiz
wrote on
Jorge Villalobos
wrote on
matt mcccarty
wrote on
bdhr
wrote on
bdhr
wrote on
willf
wrote on
J. McNair
wrote on
willf
wrote on
Don
wrote on