Release Management/Release Notes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (→‎Troubleshooting: troubleshooting notes!)
(Included steps for when adding a release note in Nucleus with a rollout)
 
(39 intermediate revisions by 5 users not shown)
Line 1: Line 1:
=Release Notes=
{{DISPLAYTITLE:The Firefox release notes process}}
<p style="font-size: larger; font-weight:bold;">This page explains how the release management team prepares release notes for Firefox.</p>


The release notes are managed through the [[Websites/Mozilla.org/Publishing|Nucleus interface]] available on https://nucleus.mozilla.org/.


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.  
== About Firefox Release Notes ==
Every four weeks, Firefox desktop, Firefox for Android, and Firefox for iOS release a new version of the browser. We publish release notes on [https://www.mozilla.org/firefox/releases/ mozilla.org] for an audience of web developers, tech press, and advanced and technical users of Firefox who want to be informed about the changes in Firefox's latest updates.
The release notes page lists notable new features, changes, or unfixed critical bugs for a specific release of Firefox.  


==Aurora and Beta Cycles==
For complex software such as Firefox with thousands of patches during a cycle and external contributors, tracking what should be noted in release notes is not always easy. Adding release notes content is the responsibility of the release management team, as requested by engineering/product. Release management monitor patches that land in Central during the nightly cycle and will ask about potential release note inclusion. However, release management also relies on Engineering/Product to nominate when applicable.


For the first aurora release, from the nucleus interface:
'''See [https://wiki.mozilla.org/Release_Management/Release_Notes_Nomination Firefox Release Notes Nomination ] for information on how to nominate release notes for Firefox.'''
* 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:
Examples of past release notes:
* Copy the aurora release (is_public is going to be disabled)
* [https://www.mozilla.org/firefox/103.0/releasenotes/ Firefox 103 for Desktop]
* Update the title
* [https://www.mozilla.org/firefox/103.0beta/releasenotes/ Firefox 103 Beta for Desktop]
* Update the date
* [https://www.mozilla.org/firefox/103.0a1/releasenotes/ Firefox Nightly 103 for Desktop]
* Ask for review (cf aurora)
* [https://www.mozilla.org/firefox/android/103.0/releasenotes/ Firefox 103 for Android]
* Enable is_public on the beta release day
* [https://www.mozilla.org/firefox/ios/103.0/releasenotes/ Firefox 103 for iOS]


During the aurora/beta cycle:
Here is the full list of [https://www.mozilla.org/firefox/releases/ past Firefox release notes].
* Scan the relnote-firefox "?" flags
* Try to find some important unresolved bugs
* Check if some features have not been disabled


Release notes on the Nightly channel are published on Merge Day at the start of a new cycle. They are maintained continuously during the Nightly cycle.


==Release==
Release notes for the Beta channel are published on the day we ship the first Firefox Beta of the cycle. They are maintained continuously during the Beta cycle.
* Same step as Beta
* Once the notes have been signed off and the release is live, ''is_public'' has to be turn on.  


Release notes for the Release channel are published on the day we ship Firefox to our users. They are not maintained continuously during the Release Cycle. A new release note page is published for any dot releases during the release cycle.
The release management team maintains release notes for Firefox Desktop, Firefox for Android, and Firefox for iOS only. Release notes for other products are not in our scope at the moment.


=Product Details=
For questions on the process please reach out on [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel.
* These live in [http://viewvc.svn.mozilla.org/vc/libs/product-details/ svn]
* (Add a link to how to get access)


==How to update productdetails==
== Summarized process ==
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.  
# Release management creates a Nightly release notes page in Nucleus, makes the Nightly release notes public on Merge Day, and shares a link to the Nightly release notes on #release-notes.
# During the Nightly cycle, Release management monitors the relnote-firefox flag on Bugzilla and adds release notes for Nightly in Nucleus.
# Release management creates a Beta release notes page in Nucleus for the upcoming version, copies applicable notes from the Nightly to the Beta release notes,  makes the Beta release notes public in Nucleus after pushing Beta 1 live, and shares a link to the Beta release notes on #release-notes.
# Release management creates a shared document for an editorial review, copy-pastes notes from Beta Release Notes to the shared document, and shares it on #release-notes and to the release-notes mailing list,
# Engineering/Product may add notes directly to the shared document.
# Release management continues to monitor the relnote-firefox flag on Bugzilla and add release notes in Nucleus and the shared document.
# Release management/Engineering/Product performs an editorial review in the shared document.
# Release management creates a release notes page in Nucleus for the upcoming version, and copies the reviewed release notes into Nucleus.
# Release management adds links to security advisories and developer documentation for the release, and shares a link to the staging release notes on #release-notes.
# Release management makes the release notes public in Nucleus after pushing the release live.


Updating for aurora:
== Nightly - Gathering of notes during the Nightly cycle ==
follow the steps below, but modifying FIREFOX_AURORA.php and mobile_alpha_version.php, for example from 38.0a2 to 39.0a2. History does not need to be updated.


Note that in the history classes, there's a stability release section for .1s and a release section for .0s.
===At the start of the Nightly cycle===
* Make a copy of the previous Nightly Release in Nucleus.
** Update the version and release date.
** Remove the release notes from the previous release, leaving only the nightly-only release notes.
*** Ensure the note includes the nightly version that introduced it, for example:
**** “Starting with Firefox 113, nightly builds…”
**** “Starting with Firefox 112, nightly users…”
*** Ensure to rank the nightly carry over release notes at the bottom.
* Publish the Nightly release notes after central is bumped.
* Share a link to the Nightly Release Notes on [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel.
* Create a copy of [https://docs.google.com/document/d/1w0oz7NSHrz81KKA7FNiRHRsyhCtz5o3PVnMAKYWEEoQ/edit draft release notes doc template]
** Update the version and dates.
** Ensure the document is shared with edit access for Mozilla.


===Daily during the Nightly cycle===
* Look through all patches that land in central via [https://whattrainisitnow.com/nightly/ whattrainisitnow.com]
** Identify if any patch is a candidate for release note nomination.
*** Example: New feature or behavior change.
** Needinfo the bug assignee and request if it should be considered for release note nomination
*** "'':assignee'' could you please consider nominating this for a relnote? https://wiki.mozilla.org/Release_Management/Release_Notes_Nomination"
* Review bugs that were nominated for release note inclusion.
** Check if the wording is appropriate.
** Check if the patch is nightly or early beta only.
** Check the patches that landed. If the changes are behind a pref then check if the pref value is IS_NIGHTLY_BUILD, or IS_EARLY_BETA_OR_EARLIER
** Add the release note in Nucleus.
*** Add the appropriate Tag.
*** Add the bug number in the Bug field.
*** If the note is Nightly only use a html tag to indicate it’s nightly only.
** If the release note is not Nightly only comment on the bug to inform it was added to nightly.
*** "Thanks, added to the Nightly release notes. Keeping the relnote? flag open to keep it on the radar for inclusion in our final release notes."
** If the release note is Nightly only:
*** Set the relnote flag to ''nightly+'' and add a comment:
**** "Thanks, added to the Nightly release notes"


<pre>
== Beta - Refining notes during the Beta cycle ==
Need to checkout libs/product-details:
    svn co svn+ssh://'youremail'@svn.mozilla.org/libs/product-details 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 LATEST_FIREFOX_DEVEL_VERSION.php
===At the start of the Beta cycle===
# update to most recent version
* Create a new beta release in Nucleus.
-   const LATEST_FIREFOX_DEVEL_VERSION = '33.0b4';
** Copy the release notes from nightly that are riding the train.
+    const LATEST_FIREFOX_DEVEL_VERSION = '33.0b5';
* Copy release notes to the release notes draft document.
* Publish the release notes after pushing Beta 1 live.
* Share a link to the Beta Release Notes on [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel.
** "FxNNN beta preliminary release notes: https://www.mozilla.org/firefox/NNN.0beta/releasenotes/. If you know of anything worth mentioning but is not yet listed, please reach out or nominate it for a release note in Bugzilla. We will follow up with a link to the Firefox NNN Release Notes document."
* Share a link to the draft release notes doc on [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel. Include a link to the draft document and the submission deadline.
{| class="wikitable"
|-
| Hi! We're at the start of the FxNNN Beta cycle, which means it is time for a new release notes cycle!
Draft template for the Firefox NNN Release Notes is here.
The DEADLINE for submissions is ''Month Day, Year''.
This will give us time to make necessary edits and/or changes before publishing on ''Month Day, Year''.
Note: We are still monitoring relnote nomination in bugzilla via setting relnote-firefox? for FxNNN.
|}
* Send an email to the [https://groups.google.com/a/mozilla.com/g/release-notes release-notes] internal mail group. Include a link to the draft document and the submission deadline.
** Example: https://groups.google.com/a/mozilla.com/g/release-notes/c/swrd1tuRejA


% vim LATEST_FIREFOX_RELEASED_DEVEL_VERSION.php
===Daily during the Beta cycle===
# update to most recent version
* Review bugs that were nominated for release note inclusion.
-    const LATEST_FIREFOX_RELEASED_DEVEL_VERSION = '33.0b4';
** Check if the wording is appropriate.
+    const LATEST_FIREFOX_RELEASED_DEVEL_VERSION = '33.0b5';
** Add the release note in Nucleus and the draft document.
*** Add the appropriate Tag.
*** Add the bug number in the Bug field.
** Comment on the bug to inform that the note was added to Beta.
* If an uplift in beta is to enable a feature to ride the train, ensure to remove the nightly only note from the current nightly release notes where applicable.


% vim mobile_beta_version.php
===Midway through the Beta Cycle===
# bump the const
* Send a reminder on the  [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel. Include a link to the draft document and the submission deadline. 
-const beta_version_ = '33.0b2';
{| class="wikitable"
+const beta_version_ = '33.0b4';
|-
| Hi! We're at the mid-point of the FxNNN Beta cycle, which means it is time for a release notes reminder!
Draft template for the Firefox NNN Release Notes are here.
The DEADLINE for submissions is ''Month Day, Year''.
This will give us time to make necessary edits and/or changes before publishing on ''Month Day, Year''.
Note: We are still monitoring relnote nomination in bugzilla via setting relnote-firefox? for FxNNN.
|}
* Send a reminder email to the [https://groups.google.com/a/mozilla.com/g/release-notes release-notes] internal mail group. Include a link to the draft document and the submission deadline.


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


% vim history/mobileHistory.class.php
===Day before the release notes deadline===
# add the newest version
* Send a reminder on the  [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel. Reply to a thread of the previous reminder, but select to also send to channel.
                '11.0b3' => '2012-02-17',
+                '11.0b4' => '2012-02-24',


% svn status
===Day after the release notes deadline===
M      history/mobileHistory.class.php
* Add a release note for new contributors
M      history/firefoxHistory.class.php
** See [https://github.com/mozilla/Relman/wiki/Running-new-contributor-script Running new contributor script] for instructions on the script.
M      firefoxDetails.class.php
** Use the Community category when adding the release note.
M      mobileDetails.class.php
* Review the draft release notes document.
* Inform the Release Management team the document is ready for peer review.
** Another member of the team will review the release notes for clarity and/or to suggest improvements.
* Create a new release in Nucleus for Desktop, Android, and iOS.
* Add release notes from the draft release notes document.
** Add the appropriate Tag.
** Order the release notes via the ''sort num'', the order will be from highest number to lowest. Otherwise, the default order is based when the release notes were added to the release.
** Group items that belong to a category in the same order. For example, items with WebRTC can be grouped together.
** If the release note covers a feature that is part of a rollout and not enabled by default then enable '''Progressive rollout'''.
*** If rollout is only targetted at specific countries then select ''Relevant countries'' from the list of '''Available relevant countries''' 
* Set the relnote tracking flag to XXX+
* Share a link to the staged Release Notes on [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel.
{| class="wikitable"
|-
| NNN.0 Release notes are now available on the staging server.
If there are any wording suggestions or last minute additions, please reply to this thread.
* ''link to staging Desktop release notes''
* ''link to staging Android release notes''
* ''link to staging iOS release notes''
|}
* When available add links to security advisories and developer documentation.


% ./export_json.php
== Dot-Release Notes ==
% svn status
There are a few specifics to release notes for a dot-release.
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"
===During dot release preperation===
Sending        firefoxDetails.class.php
* Evaluate if an uplift requires a release note
Sending        history/firefoxHistory.class.php
* Create a release in Nucleus.
Sending        history/mobileHistory.class.php
** Add the release notes. Include the bug number indicated in a link between parentheses at the end.
Sending        json/firefox_beta_builds.json
* Add a link to the reference release notes for the major version e.g.: Reference link to [https://www.mozilla.org/firefox/102.0/releasenotes/ 102.0 release notes].
Sending        json/firefox_history_development_releases.json
* Share a link to the staged Release Notes on [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel.
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


==Edit properties on mozilla.com==
== Known Issues Release Notes ==  
### Now edit the mozilla.com repo
For some defects reported post-release go-live, it should be evaluated if it is useful to add a known issue to the release notes.  
### you will need to go up a directory and checkout mozilla.com
* Update the release notes to add a Known Issue.
### svn co svn+ssh://'youremail'@svn.mozilla.org/projects/mozilla.com mozilla.com
** Include a link to the bug that is tracking the issue.
### you can make sure you have the current commit number that has your changes, by checking on http://svn.mozilla.org/libs/product-details/
** If there are multiple releases on the same version include the Known Issue in the release and all dot release versions.
* After a fix for the issue has been released, edit the Known Issue:
** Format the release note text to strikethrough.
** Append the text with information in a bracket that includes the version that released the fix, for example “(Fixed in 120.0.1)”


% svn propedit svn:externals tags/stage/includes
== Release Notes Style Guide ==
# paste in the new commit rev from the libs/product-details push & save
Readers need to know what features are introduced/changed, the technical meaning of the feature, and the impact the feature will have on users.
Set new value for property 'svn:externals' on 'tags/stage/includes'


% svn propedit svn:externals tags/production/includes
* Aim to write in plain language:  
# paste in the new commit rev from the libs/product-details push & save
** Avoid using technical language. We should aim to make it easy for the reader to understand. Some technical terms may be necessary depending on the release note.
Set new value for property 'svn:externals' on 'tags/production/includes'
** Avoid using colloquialisms or idioms. These can be confusing for readers depending on their region or their native language.
** Avoid using abbreviations. For example, "pref" should be "preference".
* Avoid mentioning about:config prefs
* For new or changed features focus on how it affects the user’s experience of Firefox, not what the software itself is doing.
** Example: "To prevent session loss for inexperienced macOS users, Firefox now requests the user’s permission to install itself if it is being run from a mounted .dmg file. This request is only made the first time Firefox is run on a user’s computer."
** This could be written as "To prevent session loss for macOS users who are running Firefox from a mounted .dmg file, they’ll now be prompted to finish installation. This permission prompt only appears the first time these users run Firefox on their computer."
* For bugs focus on how the user was impacted. Start the release note with a verb in the past tense, for example Fixed, Added, Removed.
* For known issues focus on how the user is impacted. If a workaround exists ensure to use clear instructions on how to leverage the workaround.
* All URLs in release notes should be de-localized. Typically this means removing the 'en-US/' portion of the URL.
* A release note that applies to both Desktop and Android should be written once and associated with both releases.
* Don't link to bugs in the finalized release notes.
** NOTE:  Include links to bugs in dot release notes.
* Use full stops at the end of every note. The MDN [https://developer.mozilla.org/docs/MDN/Writing_guidelines/Writing_style_guide#writing_style Writing Style] is a good reference to follow for capitalization, contractions, numbers and numerals, pluralization, apostrophes and quotation marks, commas, hyphens, and spelling.


# probably want to update before trying to commit these
== Nucleus Additonal Information==
% svn up
Release notes are written and managed in [https://nucleus.mozilla.org Nucleus].


% svn diff
The release notes page on mozilla.org for a specific version will not be available while the is_public flag is not selected in Nucleus but it will be available on the staging instance of mozilla.org (www-dev.allizom.org).


Property changes on: tags/stage/includes
If a release is created in Nucleus but the release notes page doesn't have the is_public flag set to true, a "coming soon" page is displayed on mozilla.org.
___________________________________________________________________
Modified: svn:externals
  - product-details -r101880 http://svn.mozilla.org/libs/product-details
certs http://svn.mozilla.org/libs/certs
  + product-details -r102190 http://svn.mozilla.org/libs/product-details
certs http://svn.mozilla.org/libs/certs


There are simplified URLs for release notes that do not contain the version number and will always redirect to the latest version for the channel as provided in product-details:
* Release: https://www.mozilla.org/firefox/notes/
* Beta: https://www.mozilla.org/firefox/beta/notes/
* Nightly: https://www.mozilla.org/firefox/nightly/notes/
* ESR: https://www.mozilla.org/firefox/organizations/notes/


Property changes on: tags/production/includes
Mozilla.org syncs with Nucleus every 15mins, depending on CDN caching it may take up to 30mins for release notes to be available worldwide.
___________________________________________________________________
Modified: svn:externals
  - product-details -r101880 http://svn.mozilla.org/libs/product-details
certs http://svn.mozilla.org/libs/certs
  + product-details -r102190 http://svn.mozilla.org/libs/product-details
certs http://svn.mozilla.org/libs/certs


In Nucleus you should associate each note with a category. The notes will be grouped by category in the templated page on mozilla.org.
{| class="wikitable"
|-
! Tag (Category) !! Use Case
|-
| New || New features
|-
| Fixed || List of known Issues that have been fixed
|-
| Changed  || Important changes to browser interface/behavior that will be valuable for Firefox end-users to know about
|-
| Developer || Issues that are of special interest to Firefox Developer audience
|-
| HTML5 || Issues related to Web platform
|-
| Enterprise || Used to link to the enterprise release notes
|-
| Community || List of bugs fixed by community contributors this release
|-
|}


The ''Is known issue'' checkbox is used for issues that are not resolved in this release. They are categorized under ''Unresolved'' in the templated page on mozilla.org.


% svn ci -m "11.0b4 released"                       
=== Adding Images ===
Sending        tags/production/includes
Release notes can include images as follows:
Sending        tags/stage/includes
* Compress the image png with [https://tinypng.com/ tinypng.com]
Committed revision 102191.
* Use an appropriate filename that includes the release version.
* Commit the image to https://github.com/mozilla/release-notes-media/
** Please see the repo README for additional details.
* Use the image URL in the Nucleus release note with appropriate alt text.
* Example:
** Image Source: 'https://github.com/mozilla/release-notes-media/blob/main/media/115_devtools.png'
** Image URL: 'https://www.mozilla.org/media/img/firefox/releasenotes/note-images/115_devtools.png'
** Release Note: https://nucleus.mozilla.org/admin/rna/note/789608/change/
* The <code><img></code> tag can also be used, which also allows the use of <code>height</code> and <code>width</code> attributes if resizing is necessary.
** NOTE: The <code>height</code> and <code>width</code> attributes <b>must</b> be specified before the <code>alt</code> attribute or the image will not appear in the preview pane. It will still appear as expected in Bedrock, however.


</pre>
[[category:Release_Management|Release Notes]]
 
[[category:Release_Management:Processes|Release Notes]]
=Updating Web Buttons=
Now that the product-details and mozilla.com externals have been updated, you want the buttons on pages like:
 
* Release: https://www.mozilla.org/firefox/new/
* Beta: http://www.mozilla.org/firefox/channel/#beta
* Aurora: https://www.mozilla.org/firefox/channel/#aurora
* ESR: https://www.mozilla.org/firefox/organizations/all/
 
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 [http://bedrockadm.private.phx1.mozilla.com/chief/bedrock.productdetails 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.
 
=Troubleshooting=
* If you get an error like "svn: Entry '/Users/synergy/Dropbox/Mozilla/relman/mozilla-europe.org/trunk/sv-SE' 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.
* If you can't get to bedrock and the big red button, check that:
** you are on the VPN
** you don't have https everywhere installed, and are connecting through http
 
If all else fails ask on #MOC.
 
[[category:Release_Management|R]]

Latest revision as of 14:43, 6 December 2023

This page explains how the release management team prepares release notes for Firefox.


About Firefox Release Notes

Every four weeks, Firefox desktop, Firefox for Android, and Firefox for iOS release a new version of the browser. We publish release notes on mozilla.org for an audience of web developers, tech press, and advanced and technical users of Firefox who want to be informed about the changes in Firefox's latest updates. The release notes page lists notable new features, changes, or unfixed critical bugs for a specific release of Firefox.

For complex software such as Firefox with thousands of patches during a cycle and external contributors, tracking what should be noted in release notes is not always easy. Adding release notes content is the responsibility of the release management team, as requested by engineering/product. Release management monitor patches that land in Central during the nightly cycle and will ask about potential release note inclusion. However, release management also relies on Engineering/Product to nominate when applicable.

See Firefox Release Notes Nomination for information on how to nominate release notes for Firefox.

Examples of past release notes:

Here is the full list of past Firefox release notes.

Release notes on the Nightly channel are published on Merge Day at the start of a new cycle. They are maintained continuously during the Nightly cycle.

Release notes for the Beta channel are published on the day we ship the first Firefox Beta of the cycle. They are maintained continuously during the Beta cycle.

Release notes for the Release channel are published on the day we ship Firefox to our users. They are not maintained continuously during the Release Cycle. A new release note page is published for any dot releases during the release cycle. The release management team maintains release notes for Firefox Desktop, Firefox for Android, and Firefox for iOS only. Release notes for other products are not in our scope at the moment.

For questions on the process please reach out on #release-notes internal Slack channel.

Summarized process

  1. Release management creates a Nightly release notes page in Nucleus, makes the Nightly release notes public on Merge Day, and shares a link to the Nightly release notes on #release-notes.
  2. During the Nightly cycle, Release management monitors the relnote-firefox flag on Bugzilla and adds release notes for Nightly in Nucleus.
  3. Release management creates a Beta release notes page in Nucleus for the upcoming version, copies applicable notes from the Nightly to the Beta release notes, makes the Beta release notes public in Nucleus after pushing Beta 1 live, and shares a link to the Beta release notes on #release-notes.
  4. Release management creates a shared document for an editorial review, copy-pastes notes from Beta Release Notes to the shared document, and shares it on #release-notes and to the release-notes mailing list,
  5. Engineering/Product may add notes directly to the shared document.
  6. Release management continues to monitor the relnote-firefox flag on Bugzilla and add release notes in Nucleus and the shared document.
  7. Release management/Engineering/Product performs an editorial review in the shared document.
  8. Release management creates a release notes page in Nucleus for the upcoming version, and copies the reviewed release notes into Nucleus.
  9. Release management adds links to security advisories and developer documentation for the release, and shares a link to the staging release notes on #release-notes.
  10. Release management makes the release notes public in Nucleus after pushing the release live.

Nightly - Gathering of notes during the Nightly cycle

At the start of the Nightly cycle

  • Make a copy of the previous Nightly Release in Nucleus.
    • Update the version and release date.
    • Remove the release notes from the previous release, leaving only the nightly-only release notes.
      • Ensure the note includes the nightly version that introduced it, for example:
        • “Starting with Firefox 113, nightly builds…”
        • “Starting with Firefox 112, nightly users…”
      • Ensure to rank the nightly carry over release notes at the bottom.
  • Publish the Nightly release notes after central is bumped.
  • Share a link to the Nightly Release Notes on #release-notes internal Slack channel.
  • Create a copy of draft release notes doc template
    • Update the version and dates.
    • Ensure the document is shared with edit access for Mozilla.

Daily during the Nightly cycle

  • Look through all patches that land in central via whattrainisitnow.com
  • Review bugs that were nominated for release note inclusion.
    • Check if the wording is appropriate.
    • Check if the patch is nightly or early beta only.
    • Check the patches that landed. If the changes are behind a pref then check if the pref value is IS_NIGHTLY_BUILD, or IS_EARLY_BETA_OR_EARLIER
    • Add the release note in Nucleus.
      • Add the appropriate Tag.
      • Add the bug number in the Bug field.
      • If the note is Nightly only use a html tag to indicate it’s nightly only.
    • If the release note is not Nightly only comment on the bug to inform it was added to nightly.
      • "Thanks, added to the Nightly release notes. Keeping the relnote? flag open to keep it on the radar for inclusion in our final release notes."
    • If the release note is Nightly only:
      • Set the relnote flag to nightly+ and add a comment:
        • "Thanks, added to the Nightly release notes"

Beta - Refining notes during the Beta cycle

At the start of the Beta cycle

  • Create a new beta release in Nucleus.
    • Copy the release notes from nightly that are riding the train.
  • Copy release notes to the release notes draft document.
  • Publish the release notes after pushing Beta 1 live.
  • Share a link to the Beta Release Notes on #release-notes internal Slack channel.
    • "FxNNN beta preliminary release notes: https://www.mozilla.org/firefox/NNN.0beta/releasenotes/. If you know of anything worth mentioning but is not yet listed, please reach out or nominate it for a release note in Bugzilla. We will follow up with a link to the Firefox NNN Release Notes document."
  • Share a link to the draft release notes doc on #release-notes internal Slack channel. Include a link to the draft document and the submission deadline.
Hi! We're at the start of the FxNNN Beta cycle, which means it is time for a new release notes cycle!

Draft template for the Firefox NNN Release Notes is here. The DEADLINE for submissions is Month Day, Year. This will give us time to make necessary edits and/or changes before publishing on Month Day, Year. Note: We are still monitoring relnote nomination in bugzilla via setting relnote-firefox? for FxNNN.

Daily during the Beta cycle

  • Review bugs that were nominated for release note inclusion.
    • Check if the wording is appropriate.
    • Add the release note in Nucleus and the draft document.
      • Add the appropriate Tag.
      • Add the bug number in the Bug field.
    • Comment on the bug to inform that the note was added to Beta.
  • If an uplift in beta is to enable a feature to ride the train, ensure to remove the nightly only note from the current nightly release notes where applicable.

Midway through the Beta Cycle

  • Send a reminder on the #release-notes internal Slack channel. Include a link to the draft document and the submission deadline.
Hi! We're at the mid-point of the FxNNN Beta cycle, which means it is time for a release notes reminder!

Draft template for the Firefox NNN Release Notes are here. The DEADLINE for submissions is Month Day, Year. This will give us time to make necessary edits and/or changes before publishing on Month Day, Year. Note: We are still monitoring relnote nomination in bugzilla via setting relnote-firefox? for FxNNN.

  • Send a reminder email to the release-notes internal mail group. Include a link to the draft document and the submission deadline.

Release - Finalizing notes

Day before the release notes deadline

  • Send a reminder on the #release-notes internal Slack channel. Reply to a thread of the previous reminder, but select to also send to channel.

Day after the release notes deadline

  • Add a release note for new contributors
  • Review the draft release notes document.
  • Inform the Release Management team the document is ready for peer review.
    • Another member of the team will review the release notes for clarity and/or to suggest improvements.
  • Create a new release in Nucleus for Desktop, Android, and iOS.
  • Add release notes from the draft release notes document.
    • Add the appropriate Tag.
    • Order the release notes via the sort num, the order will be from highest number to lowest. Otherwise, the default order is based when the release notes were added to the release.
    • Group items that belong to a category in the same order. For example, items with WebRTC can be grouped together.
    • If the release note covers a feature that is part of a rollout and not enabled by default then enable Progressive rollout.
      • If rollout is only targetted at specific countries then select Relevant countries from the list of Available relevant countries
  • Set the relnote tracking flag to XXX+
  • Share a link to the staged Release Notes on #release-notes internal Slack channel.
NNN.0 Release notes are now available on the staging server.

If there are any wording suggestions or last minute additions, please reply to this thread.

  • link to staging Desktop release notes
  • link to staging Android release notes
  • link to staging iOS release notes
  • When available add links to security advisories and developer documentation.

Dot-Release Notes

There are a few specifics to release notes for a dot-release.

During dot release preperation

  • Evaluate if an uplift requires a release note
  • Create a release in Nucleus.
    • Add the release notes. Include the bug number indicated in a link between parentheses at the end.
  • Add a link to the reference release notes for the major version e.g.: Reference link to 102.0 release notes.
  • Share a link to the staged Release Notes on #release-notes internal Slack channel.

Known Issues Release Notes

For some defects reported post-release go-live, it should be evaluated if it is useful to add a known issue to the release notes.

  • Update the release notes to add a Known Issue.
    • Include a link to the bug that is tracking the issue.
    • If there are multiple releases on the same version include the Known Issue in the release and all dot release versions.
  • After a fix for the issue has been released, edit the Known Issue:
    • Format the release note text to strikethrough.
    • Append the text with information in a bracket that includes the version that released the fix, for example “(Fixed in 120.0.1)”

Release Notes Style Guide

Readers need to know what features are introduced/changed, the technical meaning of the feature, and the impact the feature will have on users.

  • Aim to write in plain language:
    • Avoid using technical language. We should aim to make it easy for the reader to understand. Some technical terms may be necessary depending on the release note.
    • Avoid using colloquialisms or idioms. These can be confusing for readers depending on their region or their native language.
    • Avoid using abbreviations. For example, "pref" should be "preference".
  • Avoid mentioning about:config prefs
  • For new or changed features focus on how it affects the user’s experience of Firefox, not what the software itself is doing.
    • Example: "To prevent session loss for inexperienced macOS users, Firefox now requests the user’s permission to install itself if it is being run from a mounted .dmg file. This request is only made the first time Firefox is run on a user’s computer."
    • This could be written as "To prevent session loss for macOS users who are running Firefox from a mounted .dmg file, they’ll now be prompted to finish installation. This permission prompt only appears the first time these users run Firefox on their computer."
  • For bugs focus on how the user was impacted. Start the release note with a verb in the past tense, for example Fixed, Added, Removed.
  • For known issues focus on how the user is impacted. If a workaround exists ensure to use clear instructions on how to leverage the workaround.
  • All URLs in release notes should be de-localized. Typically this means removing the 'en-US/' portion of the URL.
  • A release note that applies to both Desktop and Android should be written once and associated with both releases.
  • Don't link to bugs in the finalized release notes.
    • NOTE: Include links to bugs in dot release notes.
  • Use full stops at the end of every note. The MDN Writing Style is a good reference to follow for capitalization, contractions, numbers and numerals, pluralization, apostrophes and quotation marks, commas, hyphens, and spelling.

Nucleus Additonal Information

Release notes are written and managed in Nucleus.

The release notes page on mozilla.org for a specific version will not be available while the is_public flag is not selected in Nucleus but it will be available on the staging instance of mozilla.org (www-dev.allizom.org).

If a release is created in Nucleus but the release notes page doesn't have the is_public flag set to true, a "coming soon" page is displayed on mozilla.org.

There are simplified URLs for release notes that do not contain the version number and will always redirect to the latest version for the channel as provided in product-details:

Mozilla.org syncs with Nucleus every 15mins, depending on CDN caching it may take up to 30mins for release notes to be available worldwide.

In Nucleus you should associate each note with a category. The notes will be grouped by category in the templated page on mozilla.org.

Tag (Category) Use Case
New New features
Fixed List of known Issues that have been fixed
Changed Important changes to browser interface/behavior that will be valuable for Firefox end-users to know about
Developer Issues that are of special interest to Firefox Developer audience
HTML5 Issues related to Web platform
Enterprise Used to link to the enterprise release notes
Community List of bugs fixed by community contributors this release

The Is known issue checkbox is used for issues that are not resolved in this release. They are categorized under Unresolved in the templated page on mozilla.org.

Adding Images

Release notes can include images as follows: