The Inside Track on Firefox Development.
« June 2004 | Main | August 2004 »
July 25, 2004
Firefox 1.0 Preview Release
Most of the major work for what will now be called "Firefox 1.0 Preview Release" has been completed, and we're driving a shortening bug list towards zero. We're hoping to have a release in the second or third week of August.
Internally (as in, as far as the Extension and Update systems are concerned) the release will be known as "0.10" and it should be noted that this is not 1.0 - this is what had been called (by the roadmap) "Firefox 1.0 Beta" and recently in the bug system "RC1".
On choosing the name we sought something that did not undermine the fact that we've never labeled any of our previous releases "alphas" or "betas" and despite their pre-release status have gained noticable usage statistics. We felt that releasing a "1.0 beta" may scare people away, so looked for something gentler. We paused on "Release Candidate" but it was correctly pointed out to us that doing release candidates when we know full well that all the content of RTM is not there is somewhat bogus. So we settled on that tried and true moniker, "Preview Release".
To Extension Authors
In the next week or so I will increase app.extensions.version to 0.10. This will end compatibility for all installed extensions with a maxVersion set to 0.9! If existing versions of you extensions are still compatible with the branch since 0.9, please contact update.mozilla.org and get the maxVersion setting in the database increased to 0.10! Code is landing in Firefox at the moment (see previous post) that mean that you do not need to create a new XPI if all you're changing is the maxVersion value in the install manifest! For Firefox 0.9/0.9.1/0.9.2 users this means that when they upgrade to 1.0PR the browser will connect to update.mozilla.org and any custom RDF update files and attempt to version-patch before falling back on looking for new XPIs. 1.0PR users will also be able to install incompatible extensions if a remote version patch is specified that designates compatibility with the new release.
Extension and Theme Authors should start preparing for these changes NOW
Posted by ben at 7:00 PM
Extension System Changes - Update
I've just made some more changes to the Extension system that I hope will make the 0.9->PR transition simpler for those of you whose Extensions are still compatible with all the changes that have happened in the interim.
If your extension is compatible with Firefox Preview Release (which will be internally called "0.10" - has been called "1.0 beta" and "RC1" in other places like the bug system and the roadmap) then what you can do is:
- increase maxVersion remotely, either by updating your entry in update.mozilla.org so that the VersionCheck web service will discover the compatibility update and apply it into users' browsers, or
- if your extension specified a custom update RDF file you can do it there.
How to do this is described in: Extension Versioning, Update and Compatibility which I published last week. Please read it.
You can offer more than one update, when mismatch checking occurs the first time a user runs 0.10, Firefox will try and look for maxVersion bumps for the same extension version remotely first, and only if that fails try and look for newer versions as XPIs.
If your extension required changes to be compatible with branch changes since 0.9, you are probably preparing a new version of your extension in a new XPI, and this version patching logic does not apply to you.
Some examples:
Extension A, was compatible with Firefox 0.9, minVersion: 0.9, maxVersion 0.9, is compatible with branch changes and will be compatible with Firefox 0.10.
Remotely specify maxVersion per the URL above as 0.10, when the user upgrades to 0.10 maxVersion will be patched in their profile datasource and they will be able to use Extension A without doing anything.
Extension B 1.0, was compatible with Firefox 0.9, minVersion: 0.9, maxVersion 0.9, is compatible with branch changes and will be compatible with Firefox 0.10. Version 1.1 also available, compatible with Firefox: minVersion 0.10 maxVersion 0.10. Remotely specify maxVersion for B1.0 per the URL above as 0.10, when the user upgrades to 0.10 maxVersion will be patched in their profile datasource and they will be able to use Extension B1.0 without doing anything. Background/Manual update will show 1.1 as an available update but it is not strictly necessary to use Firefox 0.10 so it is not forced on the user.
Extension C 4.0, was compatible with Firefox 0.9, minVersion 0.9, maxVersion 0.9. Is not compatible with branch changes, only C4.1 is. No version patching is possible. Specify this as an available update remotely and the user will be able to download and install the new version's XPI when they upgrade.
Extension Manager/Update Test Suite!
This update system is new and badly needs test cases. I've uploaded a few (source included), here: Test Directory on my website
and a document describing how to use them: Test Case documentation but this really needs expansion to cover more cases. It would be great if someone could take over maintenance of this document and expand the set of tests (make source available). We need a set of simple XPIs and tests that can be input into testrunner. I don't have time to do this - we may not be making many more changes to EM before 1.0 so there may not be many more opportunities for regression on the 1.0 branch but a good test suite is going to be essential going forward. If you'd like to help out or take the lead here, please send mail to ben at mozilla dot org.
Note
Pretty much all of this applies to Thunderbird and Themes as well!
Posted by ben at 6:31 PM
July 11, 2004
Using InstallTrigger to Install Extensions
Installing Extensions and Themes from Web Pages
I've seen a wide range of techniques used to install Extensions and Themes - the methods described above are the ones I recommend for optimal user experience.
Posted by ben at 7:14 PM
July 10, 2004
You Know Who You Are

I believe that sums things up...
Posted by ben at 12:25 AM
©1997-2006 Ben Goodger. All Rights Reserved.
Opinions expressed here are my own, and not those of any organization that I may be affiliated with.
Reload icon is © Stephen Horlander;
Firefox logo is by
Jon Hicks, and is a
trademark of The Mozilla Foundation.
GetFirefox buttons are from rakaz
