SeaMonkey Trunk Tracker

Saturday, December 24, 2011

SeaMonkey 2.7 Beta 1 is Compatible by Default

Today, on Christmas Eve (local time), SeaMonkey 2.7 Beta 1 will be released. This version features something that will probably make a huge difference to ordinary users: Compatible-by-default add-ons (called CBD in the following). This is basically a change of opinion regarding add-on compatibility: Instead of assuming that an add-on is not compatible with a new application version, we will henceforth assume that it is, which should better reflect reality. Switching to a faster release cycle (with less ground-breaking, incompatible changes per release) certainly helped this come true.

So far, support channels have seen many complaints from users who didn't want to upgrade to a new version of SeaMonkey because their favorite add-ons didn't work with it (yet). Sometimes people only upgraded later, or only when they were told how to override compatibility checks (e.g. using the ACR).

Unlike Firefox add-ons, SeaMonkey add-ons did never benefit from automatic compatibility bumps on AMO. Thus as far as SeaMonkey was concerned, if the add-on developers didn't do the bump themselves, it was up to each individual user to take measures if they wanted to keep their add-ons active. And of course they did. Finding no UI option for that, they asked on the support channels, delayed the update, or gave up.

Now if you take a look at the SeaMonkey Add-on Compatibility Tracking page, you'll easily see that about half the add-ons listed under the AMO category are not marked compatible with the current stable version of SeaMonkey (or better). Add-on authors generally got better at bumping compatibility, but it's still a manual task as far as SeaMonkey is concerned.

So what's different with the new CBD feature? Simply put, almost all of that other half from above will be compatible with SeaMonkey 2.7 Beta 1. Automatically. Without any end-user having to change or install anything in addition. That's what I call a UX win! :-) [1]

So, why not all add-ons from the above list? Because some restrictions apply. For CBD to take effect for a SeaMonkey add-on, the following requirements need to be met:
  1. The add-on is compatible with at least SeaMonkey 2.1 or Toolkit 2.0 (the matching Firefox version is 4.0, which is also their lower bound for CBD). This makes sense since that was when fully SeaMonkey adopted the Places back-end (formerly use for history only, then for bookmarks, too) and added Sync support. [2]
  3. The add-on does not contain binary components (this rules out popular add-ons like Lightning and Enigmail).
  5. The add-on does not claim to only support a later version of SeaMonkey than the one that is currently running the check (in other words: the add-on minVersion must not be larger than the app version).
  7. The add-on did not opt out of CBD (by setting the strictCompatibility flag in install.rdf or on AMO).

From my experience, the majority of frequently used SeaMonkey add-ons pass all of these checks. So instead of instructing all users with add-on compatibility issues to install the ACR, we can now limit that advice to those who want to test and give feedback for Beta, Aurora and trunk builds. With CBD, the ACR cannot be used to enable old (pre-2.1) add-ons anymore anyway.

That's it for our next beta, but there's more! In early 2012, when SeaMonkey 2.9 hits Beta, users on that channel will be able to have Sync distribute their installed add-ons across multiple instances of SeaMonkey (provided the add-ons are available from AMO). Note that Firefox will ship the new feature one release earlier (it landed very close to the Aurora uplift, which is the cut-off for changes that affect localization), but that's not too bad since this feature doesn't work across applications anyway.

Now what's left to say? Merry Christmas everyone! Let there be peace on earth.

[1]: Thanks to everyone who worked on this feature! I know you primarily have Firefox on multiple platforms in mind when you develop things in Toolkit, but still.

[2]: Toolkit/AOM Bug 680845 still applies, i.e. if an add-on is marked as compatible with SeaMonkey on AMO, installation will fail if the add-on's install.rdf doesn't list SeaMonkey.

Note to self: Contact the developers of the add-ons listed under 2.0x since these will not benefit from CBD as-is, though at least some of them still work with current SeaMonkey version for sure, e.g. Nostalgy. If anyone reads this and shares my concerns, feel free to help (e.g. using the ACR to give feedback), it is surely appreciated!



Post a Comment

<< Home