--- title: "Magically Disappearing Extensions" date: 2005-09-08 10:28 status: published description: > Warning: this entry contains Mozilla-related minutiæ... or Mozillinutiæ if you will. tags: Mozilla, Aviary 1.5, add-ons links: - url: https://bugzilla.mozilla.org/show_bug.cgi?id=307517 title: "Bug 307517" description: "Extensions with invalid IDs disappear when upgrading from 1.0 to 1.5" rel: related type: text/html - url: http://kb.mozillazine.org/Dev_:_Extensions_:_Cross-Version_Compatibility_Techniques#Extension_and_Theme_IDs title: "Extension and Theme IDs in Aviary 1.5 (MozillaZine KB)" rel: related type: text/html - url: http://developer.mozilla.org/ title: "Devmo" rel: related type: text/html ---

Bug 275529 was fixed between Aviary 1.0.x and the imminent 1.5b1. It's going to cause lots of fun.

To summarise, Aviary 1.0.x and prior would accept any string as an addon's id, but Aviary 1.5.x requires the id to be in one of two specific formats. Novelly, there is clear documentation, on Devmo; note that letters other than A, B, C, D, E and F (upper- or lowercase) are invalid in GUIDs.

Users were able to install addons with malformed ids into Aviary 1.0.x. But when upgrading to 1.5.x, the new version will not recognise these addons; they will completely disappear from the extension or theme manager and the application will not attempt to find a compatible version.

An addon's id is defined in the <em:id/> element in the addon's install manifest (install.rdf). You can check it's valid by looking at it, or by trying to install the addon. If the id is invalid, Aviary 1.5b1 will display an invalid id error message and refuse to install it. Note that any other installation errors, such as an incompatible version of the application, will take precedence over the invalid id error.

Addon authors should update their addons immediately to include a valid id, instruct existing users to uninstall and reinstall the addon, and (optionally) apologise to them for not following the specification properly in the first place.