Updating add-ons

From MozillaZine Knowledge Base
Revision as of 14:38, 14 December 2009 by Tanstaafl (talk | contribs) (External links - alternative source if add-on won't work)
Jump to navigationJump to search

In Firefox and Thunderbird, and starting in SeaMonkey 2, add-ons for extensions and themes can be updated using the Software Update feature.

Important: The Software Update feature does not update plugins. Updates to installed plugins (such as Adobe Reader, Flash, and QuickTime) can be obtained from the website of the plugin provider or by visiting PluginDoc.

To perform an update check:

  • Firefox and Thunderbird: "Tools -> Add-ons -> Find Updates"
  • SeaMonkey 2: "Tools -> Add-on Manager -> Find Updates"

Settings to automatically check for updates are found under "Tools -> Options -> Advanced -> Update" in Firefox and Thunderbird and under "Edit -> Preferences -> Software Installation / Updates" in SeaMonkey 2.

Updating incompatible add-ons for a new application version

The Add-ons dialog will inform you if an existing add-on is incompatible with the current version of your application. Thunderbird will also disable the add-on and prevent you from enabling it by right clicking on the add-on in "Tools -> Add-ons" and pressing the enable button. The first thing to try is to check for updates to see if a new version is available. If one isn't found, you can override the compatibility check. Most add-ons will work if you do that, but it can cause the application to behave improperly. If that happens disable or uninstall the extension from the Add-ons dialog (from Safe Mode if necessary).

A more advanced method is available if you want to redistribute the newly-compatible add-on. See Editing an add-on to change its compatibility.

Completely disabling the compatibility check

The simplest solution is to disable version checking for all add-ons. However, this has the risk of causing crashes (with extensions with binary components) or other bugs as a result of disabling the compatibility check, either immediately after doing so or after a future application upgrade. In Firefox 1.5 and Thunderbird 1.5 this was done by setting the preference app.extensions.version to the highest version of the application that the add-on supports.

Starting in Firefox 2 and Thunderbird 2, and in SeaMonkey 2, the extension compatibility check can be disabled by setting the preference extensions.checkCompatibility to false. Firefox and SeaMonkey users can type about:config in the address bar and press Enter. Thunderbird users can use the Config Editor.

  1. Right-click -> New -> Boolean
  2. Name: extensions.checkCompatibility
  3. Value: false

Note: Starting with Gecko 1.9.2 applications (e.g., Firefox 3.6) extensions.checkCompatibility is no longer used; the new preference, extensions.checkcompatibility.<version> is used instead (bug 521905). "<version>" is the application version, including alpha and beta releases but excluding minor version updates. For example: Firefox 3.6b2 -> extensions.checkCompatibility.3.6b Firefox 3.6 -> extensions.checkCompatibility.3.6 and Firefox 3.6.1 -> extensions.checkCompatibility.3.6.


When extension compatibility checking is disabled the Add-ons Manager will display an alert bar with the message, Add-on compatibility checking is disabled. You may have incompatible add-ons. with a button to re-enable it, as shown here in SeaMonkey 2.

The extension compatibility checking can be toggled to true by clicking the "Enable" button in the Add-ons Manager next to the “compatibility checking disabled” alert. (There is no way to set it back to false within the UI.) In other words, if you click on "Enable" you are not enabling extensions but enabling the compatibility checking and the flagged extensions will be disabled once more and not function. To Enable the disabled extensions you will have to start over by creating the extensions.checkCompatibility variable and setting it to false all over again.

In Firefox 3, Thunderbird 3, and SeaMonkey 2, disabling the compatibility check is not always sufficient. They also check whether the add-on uses either a encrypted HTTP connection or a key/hash to verify its validity when updating. This is done to prevent installing updates that are vulnerable to man-in-the-middle attacks. Vulnerable add-ons will be disabled and an error message displayed about it not being compatible with that version of the application, despite the compatibility check being disabled. If this happens you can bypass the security check by adding the preference extensions.checkUpdateSecurity and setting it to false (not recommended).

  1. Right-click -> New -> Boolean
  2. Name: extensions.checkUpdateSecurity
  3. Value: false

Extensions that force compatibility

The following extensions offer the ability to disable compatibility checking both globally and per extension. These extensions have other features, adds other menu commands, and may change the title bar. They're not designed just to disable version checking.

Using these extensions to disable extension compatibility checks can also cause crashes (due to binary components in extensions) or other problems, either immediately after disabling the compatibility checks or after a future application upgrade. Also, using an extension that forces compatibility by changing the maxVersion removes the icon that would otherwise appear in the Add-on Manager, which is a useful visual indicator of potentially incompatible extensions.

Effect of Experimental on extension updates

Experimental Add-ons have the "Add to Firefox" button grayed out until one logs in.

Whether logged in or not an experimental extension gets a distinctive graduated pink background in the primary area of the add-on. Experimental extensions are not automatically updated, nor are updates found from Tools, Add-ons, update forcing you to check for updates by going to the add-ons own page. [1]

Disabling update checks for individual add-ons - Advanced users

It is possible to prevent individual add-ons from updating automatically even when you have the Software Update feature enabled. To do so:

  • Find the GUID for the extension. GUIDs are either e-mail addresses or a bunch of random characters inside { } brackets. The folders named after extension GUIDs are in the extensions folder of the profile folder. You can look at the install.rdf file in each folder to see what extension it's for.
  • Type about:config in the address bar and press enter.
  • Right-click -> New -> Boolean
  • Name: extensions.<GUID>.update.enabled
  • Value: false

Simplified instructions for manually finding the GUID number. You will find a listing of the extensions you have in your about:config list, simply filter on "extensions.{" as the GUID number is surrounded there with braces. You can then match the description there with what you see in the Tools, add-ons, extensions list. Copy the name value of the one you want to change and create a new Boolean variable with the same name but change ".description" to ".update.enabled" and set it's value to False. If the updates for the incorrigible extension become suitable for use again you can toggle to reset this item back to it's default value.

Useful extensions that will find, display or copy the GUID number (id), include

  • At addons.mozilla.org:
    • Extension Manager Extended right-click on an item in the add-ons panel allows you to view the GUID, date installed, compatible application versions, copy the GUID, and open the folder of an extension or theme without having to lookup it's GUID number from the Add-on context menu.
      • MR Tech Toolkit also includes these functionalities, plus "Disable Update check", as part of its own; however, its Preferences include checkboxes to show or hide most of its menu items, so that's where you should look if you don't see them on right-clicking.
    • Infolister provides a list of extensions in a table. User can modify listing with their own template.
    • Some of the above addons are available for other applications than Firefox: to see if they are, try replacing "firefox" in addons.mozilla.org/firefox/addon/ etc. in the above URLs by "seamonkey", "thunderbird", "sunbird", etc. as appropriate, and see if you get an addon page with your application's logo (meaning the extension supports it) or with Firefox's (meaning it doesn't) (but remember that the procedures described on the present page do not apply to SeaMonkey 1.x).
  • Elsewhere:

Extensions that have their updating suppressed will show "Updates are disabled for <extension name>" on the add-ons list after you check for updates.

External links

  • Extension Versioning, Update and Compatibility - MDC
  • McCoy is an application that allows add-on authors to provide secure updates to their users, without having to invest in a SSL key.
  • If an add-on from the Mozilla add-ons web site doesn't work after defeating the version checking etc. see if there is an updated version at the Add-ons mirror. Some of the add-ons at Mozilla add-ons have been abandoned by the author. Sometimes somebody else has fixed the add-on and uploaded the newer version to the Add-ons mirror because it was too much hassle to submit it to the Mozilla add-ons web site. This has occurred for several of Frank DiLecce's add-ons for example.