Release Management/Release Notes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (→‎Troubleshooting: added note on irc channels)
(Included steps for when adding a release note in Nucleus with a rollout)
 
(31 intermediate revisions by 4 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.  


It's good to skim through the whole list of fixed bugs for a release to find possible release notes. Notable fixes and new features can also be found at https://developer.mozilla.org/en-US/Firefox/Releases
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.  


==Aurora and Beta Cycles==
'''See [https://wiki.mozilla.org/Release_Management/Release_Notes_Nomination Firefox Release Notes Nomination ] for information on how to nominate release notes for Firefox.'''


For the first aurora release, from the nucleus interface:
Examples of past release notes:
* Create a new aurora release
* [https://www.mozilla.org/firefox/103.0/releasenotes/ Firefox 103 for Desktop]
* Copy the requirements and description from the previous aurora release
* [https://www.mozilla.org/firefox/103.0beta/releasenotes/ Firefox 103 Beta for Desktop]
* Make sure that is_public is disabled
* [https://www.mozilla.org/firefox/103.0a1/releasenotes/ Firefox Nightly 103 for Desktop]
* Ask for review to the various relevant teams (the list is available in the Release Team Calendar)
* [https://www.mozilla.org/firefox/android/103.0/releasenotes/ Firefox 103 for Android]
* Enable is_public on the aurora release day
* [https://www.mozilla.org/firefox/ios/103.0/releasenotes/ Firefox 103 for iOS]


For the first beta release, from the nucleus interface:
Here is the full list of [https://www.mozilla.org/firefox/releases/ past Firefox release notes].
* Copy the aurora release (is_public is going to be disabled)
* Update the title
* Update the date
* Update the description text (since aurora Text links to information about what Developer Edition is)
* Ask for review (cf aurora)
* Enable is_public on the beta release day


During the aurora/beta cycle:
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.
* Scan the relnote-firefox "?" flags
* Try to find some important unresolved bugs
* Check if some features have not been disabled


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


=Product Details=
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.
* These live in [http://viewvc.svn.mozilla.org/vc/libs/product-details/ svn]
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.
* (Add a link to how to get access)


==How to update productdetails==
For questions on the process please reach out on [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel.
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: Currently we can't update product details for RC builds. (See [https://bugzilla.mozilla.org/show_bug.cgi?id=1192197 Bug 1192197]).  
== Summarized process ==
# 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.


Updating for esr:
===At the start of the Nightly cycle===
modify FIREFOX_ESR.php (and potentially FIREFOX_ESR_NEXT), then modify history/firefoxHistory.class.php to add the esr number to the section listing security and stability releases.  
* 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"


Note that in the history classes, there's a stability release section for .1s  (and esrs) and a release section for .0s.
== 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 [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


<pre>
===Daily during the Beta cycle===
Need to checkout libs/product-details:
* Review bugs that were nominated for release note inclusion.
    svn co svn+ssh://'youremail'@svn.mozilla.org/libs/product-details product-details
** Check if the wording is appropriate.
### in product-details
** Add the release note in Nucleus and the draft document.
*** Add the appropriate Tag.
% ls
*** Add the bug number in the Bug field.
README                      json                        regionDetails.class.php
** Comment on the bug to inform that the note was added to Beta.
export_json.php              localeDetails.class.php      regions
* 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.
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
===Midway through the Beta Cycle===
# update to most recent version
* 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 LATEST_FIREFOX_DEVEL_VERSION = '33.0b4';
{| class="wikitable"
+    const LATEST_FIREFOX_DEVEL_VERSION = '33.0b5';
|-
| 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 LATEST_FIREFOX_RELEASED_DEVEL_VERSION.php
== Release - Finalizing notes ==
# update to most recent version
-   const LATEST_FIREFOX_RELEASED_DEVEL_VERSION = '33.0b4';
+    const LATEST_FIREFOX_RELEASED_DEVEL_VERSION = '33.0b5';


% vim mobile_beta_version.php
===Day before the release notes deadline===
# bump the const
* 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.
-const beta_version_ = '33.0b2';
+const beta_version_ = '33.0b4';


% vim history/firefoxHistory.class.php
===Day after the release notes deadline===
# add the newest version
* Add a release note for new contributors
                '11.0b3' => '2012-02-17',
** See [https://github.com/mozilla/Relman/wiki/Running-new-contributor-script Running new contributor script] for instructions on the script.
+                '11.0b4' => '2012-02-24',
** Use the Community category when adding the release note.
* 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.


% vim history/mobileHistory.class.php
== Dot-Release Notes ==
# add the newest version
There are a few specifics to release notes for a dot-release.
                '11.0b3' => '2012-02-17',
+                '11.0b4' => '2012-02-24',


% svn status
===During dot release preperation===
M      history/mobileHistory.class.php
* Evaluate if an uplift requires a release note
M      history/firefoxHistory.class.php
* Create a release in Nucleus.
M      firefoxDetails.class.php
** Add the release notes. Include the bug number indicated in a link between parentheses at the end.
M      mobileDetails.class.php
* 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].
* Share a link to the staged Release Notes on [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel.


% ./export_json.php
== Known Issues Release Notes ==
% svn status
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.  
M      history/mobileHistory.class.php
* Update the release notes to add a Known Issue.
M      history/firefoxHistory.class.php
** Include a link to the bug that is tracking the issue.
M      firefoxDetails.class.php
** If there are multiple releases on the same version include the Known Issue in the release and all dot release versions.
M      mobileDetails.class.php
* After a fix for the issue has been released, edit the Known Issue:
M      json/firefox_primary_builds.json
** Format the release note text to strikethrough.
M      json/firefox_history_development_releases.json
** Append the text with information in a bracket that includes the version that released the fix, for example “(Fixed in 120.0.1)”
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"
== Release Notes Style Guide ==
Sending        firefoxDetails.class.php
Readers need to know what features are introduced/changed, the technical meaning of the feature, and the impact the feature will have on users.  
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


* 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 [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.


== Nucleus Additonal Information==
Release notes are written and managed in [https://nucleus.mozilla.org Nucleus].


==Edit properties on mozilla.com==
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).
### Now edit the mozilla.com repo
### you will need to go up a directory and checkout mozilla.com
### svn co svn+ssh://'youremail'@svn.mozilla.org/projects/mozilla.com mozilla.com
### you can make sure you have the current commit number that has your changes, by checking on http://svn.mozilla.org/libs/product-details/


% svn propedit svn:externals 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.
# 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
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:
# paste in the new commit rev from the libs/product-details push & save
* Release: https://www.mozilla.org/firefox/notes/
Set new value for property 'svn:externals' on 'tags/production/includes'
* Beta: https://www.mozilla.org/firefox/beta/notes/
* Nightly: https://www.mozilla.org/firefox/nightly/notes/
* ESR: https://www.mozilla.org/firefox/organizations/notes/


# probably want to update before trying to commit these
Mozilla.org syncs with Nucleus every 15mins, depending on CDN caching it may take up to 30mins for release notes to be available worldwide.
% svn up


% svn diff
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
|-
|}


Property changes on: tags/stage/includes
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.
___________________________________________________________________
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


=== Adding Images ===
Release notes can include images as follows:
* Compress the image png with [https://tinypng.com/ tinypng.com]
* 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.


Property changes on: tags/production/includes
[[category:Release_Management|Release Notes]]
___________________________________________________________________
[[category:Release_Management:Processes|Release Notes]]
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
 
 
% svn ci -m "11.0b4 released"                       
Sending        tags/production/includes
Sending        tags/stage/includes
Committed revision 102191.
 
 
# Mozilla.org updates the product details every 5 (or so) minutes
</pre>
 
=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. 
 
 
After you update product details, within 30 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 or #www
 
[[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: