A Quick-And-Dirty Way To Update Your Firefox Extensions

Firefox logo (refreshed!)

As a Firefox user, it can be frustrating when a new build is released but your favourite extensions are not updated straight away.

But from an extension developer’s point of view, it’s not always possible to make updates available on the same schedule as Firefox itself. It takes time for new versions to be accepted, because every new upload has to be manually reviewed and approved, a process that typically takes several weeks.

However, in many cases, you’ll find that an extension will work perfectly well — or at least adequately well — in the new build, and that all it really needs for now is to be told that. With a little know-how this is something you can do yourself, by editing the extension’s install file to specify the latest build.

DIY

The first time you ran the new build it will have disabled any unsupported extensions, but left them still installed. So assuming that’s the case for the extension you want to update, here’s what you do:

  1. Locate your main extensions folder, which is directly inside your profile folder (how to find your profile folder).
  2. Identify the specific extension’s folder. The folder will be named after the extension’s unique ID, and if you’re lucky it will have an intuitive name (for example, Firebug’s folder is called “firebug@software.joehewitt.com”). However the name might be a GUID (a hex value in curly-brackets such as “{3c6e1eed-a07e-4c80-9cf3-66ea0bf40b37}”) and in this case you’ll have to look inside the folder itself to identify the correct extension — directly inside each folder will be a file called “install.rdf”, and this contains the extension’s core meta-data, including its name and description, which you can therefore use to identify the extension you want.
  3. Copy this folder to a temporary location, such as the desktop, then uninstall the extension from Firefox’s add-ons dialog; restart Firefox to complete the uninstall.
  4. In the copied folder, open the “install.rdf” file (making double-sure it’s the copy you just made, not the original), and look for a group of elements like this:
    <em:type>2</em:type>
    <em:targetApplication>
        <Description>
            <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
            <em:minVersion>2.0</em:minVersion>
            <em:maxVersion>3.5.*</em:maxVersion>
        </Description>
    </em:targetApplication>

    In most cases there will only be one group of elements like that, but if the extension supports more than one device (such as Flock as well as Firefox) then there will be more than one group — one for each device. You need to locate the group of elements that corresponds with Firefox, which you can do either by identifying <em:id> as having the exact value "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}", or by recognising <em:maxVersion> as being the last version of Firefox that the extension supported. So for example, if you’ve just updated from 3.5 to 3.6, then the <em:maxVersion> element will most likely have the value "3.5.*", indicating that its maximum support is any build in the 3.5 branch. So then, you’re going to want to change the max-version to match the Firefox update you just installed — so for Firefox 3.6 you would change it to "3.6.*".

  5. Once you’ve made this change, save and close the file, then move the folder back to its original location in your profile extensions directory.
  6. Restart Firefox once again to re-install the extension, and it will now accept what you specified as the latest supported build!

Overall then, all we did was tell the extension to support a later build. Of course this is no guarantee that it will actually work; or if it does, that it will work properly; in extreme cases it might actually make Firefox hang-up or crash, and in that situation you’ll have little choice but to disable it again.

But the chances are it will work just fine, and although it’s only a temporary solution, it will allow you to carry on using your favourite extensions while you wait for a proper update!

Further Reading

If any of this has whetted your appetite for delving into Firefox extensions more deeply, you’ll be happy to know that SitePoint has published an e-book, and a couple of follow-on articles, all about extension development:

Win an Annual Membership to Learnable,

SitePoint's Learning Platform

  • http://www.tyssendesign.com.au Tyssen

    Excellent. Just updated the main extensions I’d been missing since upgrading (including Dust Me Selectors) and all are working fine. :)

  • timili

    Quite good and useful for Firefox users. Thanks.

  • Donny Kurnia

    Firefox 3.6 have build in ‘Make Compatible’ feature. Just go to Add-Ons management, then right click on the add-ons. With this, no need to edit rdf file manually, and also you can know which add-ons that forced to work in latest firefox version, in case you got any bug because of it.

  • http://www.brothercake.com/ brothercake

    @Tyssen – :blush: yeah I’ll be updating that very soon!

    @Donny – where is this feature? I have 3.6 and I don’t see it anywhere.

  • davidfilmer

    The add-on “Nightly Tester Tools” will do this for you. Once the add-on is installed, you can right-click on a disabled extension and override the incompatibility (no Firefox restart needed).

    Of course, Nightly Tester Tools is itself an extension and subject to being disabled by a FF update. So you might need this procedure to enable NTT.

    This whole thing is Firefox’s greatest weakness. How many times does a critical security patch come out, but people don’t update for weeks because they have become dependent on extensions?

  • Schmuli

    Thank you!
    I only needed it for one extension in the end, as the others had already been updated, but this is good to know anyway (for future occasions).

  • boogiwoogi

    Thank you very much!
    It helped.

  • http://www.brothercake.com/ brothercake

    @davidfilmer — yes indeed. I did consider writing an extension to deal with this issue, but immediately realised that it would of course suffer from the same issue.

    I can understand the Firefox developers’ position – they want to be absolutely sure that everything available from the add-ons directory is stable and secure, which is why all add-ons have to be manually reviewed before they’re made available for public installation. The problem of course is exactly what you described, that people deliberately don’t install updates to Firefox because they don’t want their extensions to break.

    There’s a few possibilities for how the situation might be improved – a list of “trusted” developers for example that don’t require the same level of approval, or higher priority given to reviewing updates compared with brand new extensions. Or perhaps if it were possible to mark extensions as compatible with a particular release if it’s confirmed to be compatible with an alpha build of that release. At the moment, you cannot upload an extension whose maximum compatibility level is marked for a release that isn’t yet public – so even if the add-on works in, say, 3.6 Alpha 1 you still can’t mark it as compatible with 3.6. If that were possible it would buy extension developers more time.

    Alternatively it might be nice if “experimental” add-ons (ie. unapproved ones) were still made available through the updates channel, with the appropriate warnings, rather that you having to hunt them down in the directory and have a login before you can install them (after which you no longer get automatic updates for that extension).

    Another thing they might consider is making more resources available for reviewing extensions. At the moment it relies entirely on a small number of volunteers, and that’s why it takes several weeks to get an add-on reviewed … unless of course you have an inside, angle like being friends with a Firefox developer, in which case you can get it done immediately! As is so often the case, it’s who you know that counts. We managed this once, but only because we inadvertendly discovered a bug in the system that down-graded a public add-on back to experimental; they wouldnt do it for us again!

    Recent updates to Firefox have tended to remove default features that are primarily for developers (such as the removal of the image properties context menu item) in favour of extensions; I think this was a bad move personally, because greater reliance on extensions means more incidence of this problem. So I don’t imagine we’ll ever see a situation where this kind of compatibility tweaking is available in the default UI.

  • drjochum

    I use this addon:
    https://addons.mozilla.org/de/firefox/addon/421
    You can switch off the compatibility check.
    With this addon you can configure most things in Firefox in a very handy way.