Add-on Compatibility for Firefox 20

Firefox 20 will be released on April 2nd. Here’s the list of changes that went into this version that can affect add-on compatibility. There is more information available in Firefox 20 for Developers, so you should read that too.

General

Private Browsing

Private Browsing Mode is changing to support private and non-private windows opened at the same time. This means that many XPCOM interfaces and other functions are changing to support it.

  • Remove the global private browsing service. This removes nsIPrivateBrowsingService for all practical services. The interface is still there for backward compatibility purposes, but it’s completely empty, along with its observer notifications: private-browsing, private-browsing-transition-complete, private-browsing-cancel-vote, private-browsing-change-granted.

There’s more information about the new private browsing in these docs: Supporting PBM, and Updating add-ons broken by PB changes.

XPCOM

New!

Please let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 20, I’d like to know.

The automatic compatibility validation and upgrade for add-ons on AMO will happen very soon, so check your email if you have an add-on listed on AMO.

15 responses

  1. John Nagle wrote on :

    Neither the add-on SDK nor its documentation seem to have been updated to reflect this change in the API. See

    https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/private-browsing.html

    1. Jorge Villalobos wrote on :

      There’s a plan to contact SDK developers affected by these changes. You can ask in the Jetpack channels about the specifics, but it will most likely happen next week.

      1. John Nagle wrote on :

        I’ve already received the automated complaint from AMO. What I don’t have is a way to fix the problem. See

        https://forums.mozilla.org/addons/viewtopic.php?f=27&t=14125

        1. Jorge Villalobos wrote on :

          I know, I sent it. I was referring about a more personalized message for SDK developers. My understanding is that repacking to the upcoming SDK version should fix the problem, but I don’t know the specifics about your case.

  2. Duncan Macdonald wrote on :

    For end users it would be very useful if there was a list showing which add ons are known to work and which are known not to work before a new version is released to the public. This would avoid the need for uninstalling and then reinstalling older versions if a vital (to the user) add on does not work with a new release.

  3. Tony wrote on :

    I downloaded the Brushed Metal-XP theme for Firefox 20, but the color (transparent) at the top and bottom of the browser hasn’t changed. How do I get it to work? Thanks!

  4. provazek wrote on :

    I deleted all cookies and pretty sure that was bad idea HELP! I am tech diabled but sister is systems administrator

  5. Ivan Kashtanov wrote on :

    There’s BookmarkHTMLUtils module that is used to import/export bookmarks. MDN page for nsIPlacesImportExportService says we should this new module to import bookmarks but there’s no documentation for it on MDN. Anyway, I used it to import bookmarks from generated HTML files (Netscape format) using importFromFile method that had callback argument. In FF 20 method was modified (https://bugzilla.mozilla.org/show_bug.cgi?id=763295#c14) so that it returned Promise object and ignored callback.
    It would be great to have this module described in MDn and add information about this change.

  6. Drew Stoddard wrote on :

    We self host a Firefox add-on and have done so for many months now and haven’t had any problems with the upgrade process when we produce new versions. We just uploaded a new version but under Firefox 20 we can’t get the add-on to update, even though everything in the process is exactly as it has been in the past. When we manually force an update through the Add-ons Manager, we can see that Firefox sees the new version, temporarily changes the version number to the new version, then downloads the new version and finally reverts back to the previous version. When we check logging we see the same sequence and no errors are reported.

    Was anything changed in Firefox 20 regarding the Add-on update mechanism? Have you heard of anyone else seeing problems with not being able to get their add-on to update under Firefox v.20?

    Any help or suggestions you can give would be appreciated.

    1. Jorge Villalobos wrote on :

      I’m not aware of any significant changes in the add-on update process. Have you tested with other Firefox versions (19, 21, 22) to see if the same problem happens?

      1. Drew Stoddard wrote on :

        I found the problem. I was building the Add-on with a slightly out-of-date Add-on SDK, v.1.12. I updated my SDK to v.1.14, did a re-build of our Firefox Add-on and the update succeeded.

  7. Joachim wrote on :

    Is there a way to use tab.getAttribute(“pending”) in a addon using jetpack/add-on sdk? Or is there another way to check such a tab state by a sdk-add-on?

    1. Jorge Villalobos wrote on :

      It should be possible, yes. You can ask in the SDK forum.

  8. Jessica wrote on :

    I’ve developed an add-on on firefox 27. But my customer said it does’t work on firefox 20. Is there any way I can debug this on firefox 20? Should I download add-on SDK 1.13 in order to debug?

    Thanks!

    1. Jorge Villalobos wrote on :

      It could just be that the minVersion in your install.rdf is set to something higher than Firefox 20, and that’s why Firefox says it is incompatible and won’t load it. That depends on which version of the SDK you built it on.

      If it is somehow broken, then that requires a bit more research to figure out what’s wrong.