We are using code names to refer to branch point releases while they are in development.
This is the scenario we want to avoid:
- We are working on Firefox 4.0.5. It has some good fixes but isn't ready yet
- A late-breaking security, stability, or compatibility issue causes us to get an update out quickly
- Everything marked as Firefox 4.0.5 now needs to move to 4.0.6
- The chemspill update is released as 4.0.5
This may not seem too bad on the surface but consider:
- Developers, partners, community members, and users are now confused about what content was in 4.0.6
- This has caused security researchers to release details of an exploit because they thought it was already fixed
- Bug comments refer to 4.0.5 for fixes that really ended up in 4.0.6
- Emails referring to 4.0.5 before the chemspill actually refer to 4.0.6. This makes searching for historical information harder
- Bugzilla flags need to change, potentially causing bugspam for developers
The code names for a particular release will have a theme and will be organized alphabetically.
For example, the Firefox 4 update codenames relate to the rainforest and go as such:
- Anteater - this was a name reserved for a quick-turnaround update if problems were found with Firefox 4
- Macaw - this was the first regularly scheduled point release for Firefox 4
While working on Macaw, if a bad security issue comes up we would create an update with a name relating to the rainforest starting with B up to M. Because the name Macaw is independent of the version it will eventually ship as all the issues above are mitigated.
If we were doing point releases for Firefox 5, the codenames would have a different theme (such as colors, city names, etc) and would be organized alphabetically over time as well.
Once the update ships we will rename Bugzilla flags to match the version number the content actually shipped as. We will also update the release's page on the wiki with a mention of the version number it shipped as, as well as put a redirect in from the version to the codename page.
Please note that this doesn't apply in the Firefox 5+ rapid release cycle world because we don't do point releases (except for chemspills) as a policy. It would never happen that a chemspill shortcuts another chemspill as we would coalesce the fixes into one chemspill update.