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