Firefox 29 will be released on April 29th. Here’s the list of changes that went into this version that can affect add-on compatibility. There is more information available in Firefox 29 for Developers, so you should read that too.
Australis!
This is a big one. The Australis theme introduces major changes that all add-on developers should be aware of, but it’s nowhere nearly as dramatic as initially thought. We’ve already been blogging about it extensively, so please give these articles a read if you haven’t already:
- Australis for Add-on Developers – Part 1: Toolbars
- Australis for Add-on Developers – Part 2: CustomizableUI
- New Add-on SDK Australis UI features in Firefox 29
Notable changes include the removal of the add-on bar and the Firefox button on Windows, the introduction of the menu panel, and an overhaul in the toolbar customization system. Toolbars are no longer hidden for about: pages, there’s no small/large button setting anymore, and tabs are always on top.
Make sure you test your add-on extensively, paying special attention to button customization.
If you notice any problems in your add-ons related to Australis, please file a bug and add it as a dependency to one of these bugs:
- Add-on issues. This is for add-ons that haven’t been updated yet and are visually broken in Firefox 29 and above.
- Australis add-on bugs. Use this one if something is broken in your add-on and you believe it’s a bug in the new code.
General
- Make window._content chromeonly. This means _content is now only accessible from privileged scripts.
- Adopt Promises in mozIAsyncLivemarks. This applies to these functions: addLivemark, removeLivemark, getLivemark. While they still work as before, the callbacks will be eventually removed, so you should move to using the Promise now returned by the functions.
- Make cloneNode/importNode with the “deep” arg not passed default to shallow cloning.
- Support session restore with multiple processes. Some refactoring the session restore code, notably separating the content bits into another module.
Disallow enumeration of navigator.plugins. This has been pushed back a few versions.- Fix the type of HTMLIFrameElement.sandbox. It’s no longer a string, but a list of strings.
XPCOM
- Remove bidi attributes in nsIMarkupDocumentViewer.
- Make nsIXPConnect noscript.
- Remove nsISecurityCheckedComponent.
New!
- Provide a way to convert from a file path to a file:// URI (and vice-versa). Finally, shortcuts for this! They’re available as OS.Path.toFileURI, and OS.Path.fromFileURI.
- Bindings for lz4 (zlib).
Please let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 29, 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 28.
Peter Liljenberg wrote on
Jorge Villalobos wrote on
Dick Tripp wrote on
Jorge Villalobos wrote on
Brian P wrote on
Ken Saunders wrote on
Kohei Yoshino wrote on
Kohei Yoshino wrote on
Jorge Villalobos wrote on
MattN wrote on
Esther wrote on
Kenr L. Schepler wrote on
Sasparilla wrote on
Marc wrote on
Jorge Villalobos wrote on
rick wrote on
drbits wrote on
Gilmar S. MARTINS wrote on
creed3 wrote on
Sasparilla wrote on
ILEANA CABANAS wrote on
fixitmanarizona wrote on
Joe wrote on