Release Management/Release Notes and Product Details

From MozillaWiki
Jump to: navigation, search

Release Notes

The release notes are managed through the Nucleus interface available on

Release notes are using the tracking flag relnote-firefox:. By default, the value "?" is going to be set and some information requested (wording proposed, documentation/URL, etc). Release management checks this flag regularly.

Aurora and Beta Cycles

For the first aurora release, from the nucleus interface:

  • Create a new aurora release
  • Copy the requirements and description from the previous aurora release
  • Make sure that is_public is disabled
  • Ask for review to the various relevant teams (the list is available in the Release Team Calendar)
  • Enable is_public on the aurora release day

For the first beta release, from the nucleus interface:

  • Copy the aurora release (is_public is going to be disabled)
  • Update the title
  • Update the date
  • Ask for review (cf aurora)
  • Enable is_public on the beta release day

During the aurora/beta cycle:

  • Scan the relnote-firefox "?" flags
  • Try to find some important unresolved bugs
  • Check if some features have not been disabled


  • Same step as Beta
  • Once the notes have been signed off and the release is live, is_public has to be turn on.

Product Details

  • These live in svn
  • (Add a link to how to get access)

How to update

Product details should be updated for Beta and Release after QE signs off on that push. For example, QE will email release-drivers mailing list with the subject line, "[Desktop] Firefox 37.0b3 updates on beta channel signed off by QE". This means 37.0b3 is already live on the beta channel and QE has tested that the updates work.

Note that in the history classes, there's a stability release section for .1s and a release section for .0s.

Need to checkout libs/product-details:
     svn co svn+ssh://'youremail' product-details
### in product-details 
% ls
README                       json                         regionDetails.class.php
export_json.php              localeDetails.class.php      regions
firefoxDetails.class.php     mobileDetails.class.php      thunderbirdBuildDetails.php
firefoxDetails.class.php~    mobileDetails.class.php~     thunderbirdDetails.class.php
history                      productDetails.class.php

# update to most recent version
-    const LATEST_FIREFOX_DEVEL_VERSION = '33.0b4';
+    const LATEST_FIREFOX_DEVEL_VERSION = '33.0b5';

# update to most recent version

% vim mobile_beta_version.php
# bump the const
-const beta_version_ = '33.0b2';
+const beta_version_ = '33.0b4';

% vim history/firefoxHistory.class.php
# add the newest version
                 '11.0b3' => '2012-02-17',
+                '11.0b4' => '2012-02-24',

% vim history/mobileHistory.class.php 
# add the newest version
                 '11.0b3' => '2012-02-17',
+                '11.0b4' => '2012-02-24',

% svn status
M       history/mobileHistory.class.php
M       history/firefoxHistory.class.php
M       firefoxDetails.class.php
M       mobileDetails.class.php

% ./export_json.php 
% svn status
M       history/mobileHistory.class.php
M       history/firefoxHistory.class.php
M       firefoxDetails.class.php
M       mobileDetails.class.php
M       json/firefox_primary_builds.json
M       json/firefox_history_development_releases.json
M       json/mobile_details.json
M       json/mobile_history_development_releases.json
M       json/firefox_versions.json
M       json/firefox_beta_builds.json

% svn ci -m "11.0b4 released"
Sending        firefoxDetails.class.php
Sending        history/firefoxHistory.class.php
Sending        history/mobileHistory.class.php
Sending        json/firefox_beta_builds.json
Sending        json/firefox_history_development_releases.json
Sending        json/firefox_primary_builds.json
Sending        json/firefox_versions.json
Sending        json/mobile_details.json
Sending        json/mobile_history_development_releases.json
Sending        mobileDetails.class.php
Transmitting file data ..........
Committed revision 102190.
# grab this commit rev

### Now edit the repo
### you will need to go up a directory and checkout
### svn co svn+ssh://'youremail'
### you can make sure you have the current commit number that has your changes, by checking on

% svn propedit svn:externals tags/stage/includes
# paste in the new commit rev from the libs/product-details push & save
Set new value for property 'svn:externals' on 'tags/stage/includes'

% svn propedit svn:externals tags/production/includes
# paste in the new commit rev from the libs/product-details push & save
Set new value for property 'svn:externals' on 'tags/production/includes'

# probably want to update before trying to commit these
% svn up

% svn diff

Property changes on: tags/stage/includes
Modified: svn:externals
   - product-details -r101880
   + product-details -r102190

Property changes on: tags/production/includes
Modified: svn:externals
   - product-details -r101880
   + product-details -r102190

% svn ci -m "11.0b4 released"                        
Sending        tags/production/includes
Sending        tags/stage/includes
Committed revision 102191.

Updating Web Buttons

Now that the product-details and externals have been updated, you want the buttons on pages like:

To have the correct binary download links. This requires VPN access, and bedrock permissions - you should be able to see a big red button on this page

You'll need a password for this page (it's a single pw) and you want to put in:

username (the first part of your LDAP email), password, and then "master" for the 'ref' space.

Click the BIG RED BUTTON and you should get output that bedrock is updating but you might get a blank page (which is a bug, but not a big deal because the end result is still correct) and within 10 minutes, the web pages will be refreshed with the current information.


  • If you get an error like "svn: Entry '/Users/synergy/Dropbox/Mozilla/relman/' has unexpectedly changed special status" when trying to commit, do a revert `svn revert -R .` then `svn up` and try again, if that still fails - re-pull the repo.