Personal tools

Release Management/Release Notes and Product Details

From MozillaWiki

Jump to: navigation, search


Release Notes

To Do

  • get a mysql instance set up for the notes
    • currently we use a dropbox share of the relnotes so we all have the same sqlite db - temporary stopgap
  • create a web app for interacting with them & auto-generating/checking them in

First Aurora Release

  • Will have at least 1 meeting to gather features/fixes/changes from various teams
  • Assemble the notes for Desktop/Mobile, review what's been fixed, then add to the relnotes db


When you're ready to upload to staging server (

./ -o /path/to/ -c Aurora --aurora-suffix a2
svn status
svn diff
# add the new files
svn add trunk/en-US/firefox/16.0a2
svn add trunk/en-US/mobile/16.0a2
# commit the changes
svn ci -m "Aurora 16 release notes" trunk/en-US

# wait 10-15 minutes for your changes to be live, repeat as needed

Make sure to include firstrun, system-requirements, and whatsnew directories in your check-in along with the releasenotes.


Once the notes have been signed off, and the updates enabled, you can copy the notes to their live location

vim trunk/.htaccess # replace mention of previous aurora with current one (ie: s/15.0a2/16.0a2)
svn copy trunk/en-US/firefox/30.0a2/ tags/{production,stage}/en-US/firefox/ # and mobile too
svn ci -m "Aurora notes for Firefox 30" tags/stage/en-US/firefox/30.0a2 tags/stage/en-US/mobile/30.0a2 tags/production/en-US/firefox/30.0a2 tags/production/en-US/mobile/30.0a2

Product Details

As below, but no need to edit the history/ files since that's for beta and higher (still run export-json.php).

.htaccess changes

All .htaccess changes should now be automatic, based off of product-details as per bug 736934 and if you have any trouble see #webdev to ask questions as well as checking the history of this page on Oct 29, 2013 for what we used to do. This section should be removed in a couple of releases once we're all used to the new way.

First Beta Release

Beta notes will look very similar to and

First compare that there's no unexpected additions to the notes since the Aurora notes Then check that none of the known issues have been resolved - change the fixed_in_version if so BUT we need to check to make sure that everything in 14.0a2 is still applicable, download the beta build, and check that each one is still aplicable

./ -o ~/Repos/ -c Beta
svn add anything that's ?
svn copy from previous desktop beta system requirement, first run, and whats new (don't need to do the same for mobile)

Check that previous version isn't in any of the notes

grep -ri 13\.0 . | grep -v svn

Note that svn commit == PUSH

svn ci -m "" whatever

.htaccess changes - look for previous version (eg. 28.0beta)

Thanks to bug 736934 this should automatically work based on product-details, if not check in #webdev and see the history of this wiki page (changed on October 29, 2013) for what we used to do. This section should be removed in the next release or two once we're all familiar with it.

Send release notes links to Product Marketing (Mark/Laura/Grace) for sign off

If changes needed to live relnotes

make change to trunk, commit
go into tags/stage/
svn merge --ignore-ancestry -cCHANGESETNUMBER ../../trunk
then go into tags/production/
svn merge --ignore-ancestry -cCHANGESETNUMBER ../../trunk
svn ci -m "" {file paths}

Major Releases

  • note different .htaccess changes
  • Need to add the version directory to stage/production:
svn copy trunk/en-US/firefox/28 tags/{stage,production}/en-US/firefox/28
svn copy trunk/en-US/mobile/28 tags/{stage,production}/en-US/mobile/28

.htaccess changes

Thanks to bug 736934 we shouldn't need to do anything to .htaccess (and once we are all used to this, this section can be removed permanently). If you have any trouble please check with someone in #webdev

The main goal here is to stop redirecting the release notes url to the beta notes.

Completion Checklist

  • Release notes signed off by PMM
  • Send instructions to r-d to push live to the release channel (currently this is at ~6am PT)
  • Push product-details update for 28 (bedrock instructions below won't work if you haven't)
  • Steps for bedrock push on release or beta

    • Output looks similar to :
Updating! revision: master
We have the new code!
Code has been updated locally!
All done!
Subject: Firefox 28 is now available
Firefox 28 is now available as a free download for Windows, Mac, and Linux from
As always, we recommend that users keep up to date with the newest version of Firefox for the latest features and fixes.
The release notes for Firefox 28 are available at Firefox 28
is also now available for Android. The associated release notes are available at

Release Manager at Mozilla

Notes: As long as date is correct, can prepare most of the relnotes night before - morning of, basically it's good to do ahead of time

  • Once an ESR is released, you can push
Subject: Firefox ESR 24 Released
To: " List" <>

Security-driven (but not exploit-driven) Firefox ESR 24 is now available for download at [1]. Release notes for Firefox 24 can be found at [2]. Associated security advisories will be posted at [3] once available.

As always, we recommend that users keep up to date with the newest version of Firefox ESR for the latest stability and security fixes.

Mozilla Release Manager


Product Details

How to update

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

% vim firefoxDetails.class.php
# update to most recent version
-    define('LATEST_FIREFOX_DEVEL_VERSION',          '11.0b3');
+    define('LATEST_FIREFOX_DEVEL_VERSION',          '11.0b4');

% vim mobileDetails.class.php
# bump the const
-        const beta_version = '11.0b3';
+        const beta_version = '11.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

### Go back to 

% 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.

### Go to 

% svn up

% svn propedit svn:externals tags/production
Set new value for property 'svn:externals' on 'tags/production'

% svn status
 M      tags/production

% svn diff

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

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


  • 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.