Thursday, November 10, 2011

Firefox moved to a rapid release cycle

Since spring 2011 Firefox has moved to a rapid release cycle  that's why we see so frequent releases.

 More explanations at  New development channels and repositories for rapid releases:
[Firefox had 3 updates channel]

  1. Nightly – builds created out of the mozilla-central repository every night. These are not qualified by QA
  2. Beta – builds created out of the mozilla-central repository, qualified by QA as being of sufficient quality to release to beta users
  3. Release – builds created out of the mozilla-central repository, qualified by QA as being of sufficient quality to release to hundreds of millions of people
Because the updates we put on the Nightly channel aren’t tested before they are offered to users, we use a different icon and name (“Minefield”) to indicate they are risky and not the stable Firefox most users expect.
While this approach has treated us well we feel there are some issues inherent in the current structure:
  1. The quality expectation for updates on the Beta channel is vastly higher than the updates on the Nightly channel
  2. Users on the Beta channel may not even know they are running pre-release (but hopefully decent) versions of Firefox
  3. Due to #1 above, development on the mozilla-central repository is frozen while we stabilize for an update to the Beta channel. This causes a huge backlog of patches and adds additional risk for the next beta
  4. 3rd parties must track Firefox development closely to know when a milestone they care about (such as feature complete, API freeze, or string freeze) is reached
  5. For developers, the tree rules are constantly changing on mozilla-central depending on when we last shipped an update from it
[Firefox has moved to 4 updates channels]
Because of these issues we came up with a modified process:
  1. Nightly – builds created out of the mozilla-central repository every night. These are not qualified by QA
  2. Aurora – builds created out of the mozilla-aurora repository, which is synced from mozilla-central every 6 weeks1. There is a small amount of QA at the start of the 6 week1 period before the updates are offered
  3. Beta – builds created out of the mozilla-beta repository, qualified by QA as being of sufficient quality to release to beta users
  4. Release – builds created out of the mozilla-release repository, qualified by QA as being of sufficient quality to release to hundreds of millions of people

1 comment:

Paul said...

Comment from adblock plus developer after EU Mozcamp:
"One interesting conclusion that I made from the discussion: the rapid releases aren’t a real issue for extension developers and don’t create more work. Ok, I’ve suspected that much already but it was nice to have other add-on authors confirm this. In the discussion session with extension developers this topic didn’t even come up, as opposed to localization for example which is a significant pain point."