RapidRelease Process

In 2011 Mozilla introduced a new RapidRelease Process for Firefox. Under this new process a new major Firefox version would be released every six-weeks while going through an 18-week development cycle. This process was enacted as a way to ensure timely releases of newer Firefox versions.

Background

In the past Mozilla would release an incremental update (such as 3.6.1) which included bug patches and minor security fixes about once every six weeks. A major release (such as 2.0, 3.0, 3.5, 4.0) about every six to twelve months. Further, with these major releases they would try to implement all the new features/improvements/enhancements at once. The problem with this method as seen in Firefox 4 was the browser was in development for nearly 18-months because they were trying to get everything working before pushing out the final release. Further, while it was still in development they would have to go back and make fixes for 3.5/3.6, push out an update then get back to working full time on Firefox 4.

The major component of this new process is the firm deadlines and release date. In the past Firefox releases were delayed because during testing there were features which took longer than expected to become fully functioning or Mozilla did not allocate enough time to address bugs/regressions that came up during testing. This would result in the final release being delayed anywhere from a couple days to weeks or in some cases months.

The Process

The RapidRelease process has four stages, Nightly, Aurora, Beta and Release:

  • Nightly (Weeks 1-6) – the freshest (and sometimes unstable) developmental builds from mozilla-central. During this cycle new features can be introduced, but do not yet need to be fully functioning. Once this six-week cycle ends no more new features are allowed for that current version.Example: The nightly cycle for Firefox 7 ends of July 5th, 2011, therefore any new features introduced after this date will be in the Nightly cycle for Firefox 8.
  • Aurora (Weeks 6-12) – all the new features for this new version have landed. This is more of a ‘developer preview’ and again may not be the most stable. Some features may be cut if they can not be made to work during this six week cycle (in which case they will be moved into the Aurora cycle for the next Firefox version. This is one of the new firm rules, if it is not ready, it is not going to be in this release (this happened way too much with Firefox 4 which was why it was so delayed).Example; The Aurora cycle for Firefox 6 ends on July 5th, 2011. If a feature is still not working correctly at this point it will be yanked for this release and placed on the Aurora for Firefox 7.
  • Beta (Weeks 12-18)- starts with an initial Beta release. This six-week cycle allows Mozilla to address any problems, issues, etc that came up during the Aurora cycle. During this time there can be multiple Beta builds released.Example: Firefox 6 Beta Cycle starts July 5th, 2011 and runs for six weeks until the August 16, 2025 release date.
  • Release (Week 18) – The final release of the new Firefox version. This date is firm and will not change.

Merge Date vs Release Date

While the cycles are scheduled to begin on a specific (merge) date the initial release for that cycle may not be for up to 1-week later. This allows for testing to ensure the newly built release is stable enough for public consumption. This applies only to the Nightly to Aurora and Aurora to Beta merges.

Clarifications

There seems to be a misconception that this new process is going to mean that every six-weeks there are going to be a new Firefox release with major changes and lots of new features. These releases are mainly going to include bug patches and non-major security fixes that would normally be in an incremental update along with a couple new features which were planned for the prior release, but missed the development cut-off time.

This process allows Mozilla to get the new and updated versions of Firefox out when promised. If something is not ready, it is held back for the next release. Also, what this approach new features/enhancements/improvements are introduced a couple at a time, instead of all being lumped into one release (such as Firefox 4) which can overwhelm users and also unknowingly cause stability issues.

The biggest change in this process is the version numbering. We are going to see far less sub version numbering. For example Firefox 3.6 is currently at 3.6.18 while Firefox 4 ended at 4.0.1. By going up whole numbers on new release, this is going to eliminate a lot of confusion as well. Many times users say they are running Firefox 3.5 when in fact they are actually running 3.6 (or the other way around).

In the event of a sever security vulnerability or an unexpected regression after the scheduled release, an incremental (commonly called firedrill) update will be pushed out prior to the next schedule release. Firefox 5 was released on June 21st, 2011 and a few days later a major vulnerability or regression is discovered and patched, Mozilla will push out an update numbered as Firefox 5.0.1 or 5.1. In the past these types of unplanned updates caused numerous issues with bug tracking and documentation along with user confusion.

This new process is going to take a bit getting use to for veteran Firefox users, but it is a step in the right direction for Mozilla.

Leave a Reply