Release Management/Release Notes: Difference between revisions

Included steps for when adding a release note in Nucleus with a rollout
No edit summary
(Included steps for when adding a release note in Nucleus with a rollout)
 
(11 intermediate revisions by 2 users not shown)
Line 2: Line 2:
<p style="font-size: larger; font-weight:bold;">This page explains how the release management team prepares release notes for Firefox.</p>
<p style="font-size: larger; font-weight:bold;">This page explains how the release management team prepares release notes for Firefox.</p>


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


== About Firefox Release Notes ==
== About Firefox Release Notes ==
Every four weeks, Firefox desktop and Firefox for Android 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.
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. Adding release notes content is the responsibility of the release management team, as requested by engineering/product and reviewed by a product writer.
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 [https://wiki.mozilla.org/Release_Management/Release_Notes_Nomination Firefox Release Notes Nomination ] for information on how to nominate release notes for Firefox.'''


Examples of past release notes:
Examples of past release notes:
* [https://www.mozilla.org/en-US/firefox/android/103.0/releasenotes/ Firefox 103 for Android]
* [https://www.mozilla.org/firefox/103.0/releasenotes/ Firefox 103 for Desktop]
* [https://www.mozilla.org/firefox/103.0/releasenotes/ Firefox 103 for Desktop]
* [https://www.mozilla.org/firefox/103.0beta/releasenotes/ Firefox 103 Beta for Desktop]
* [https://www.mozilla.org/firefox/103.0beta/releasenotes/ Firefox 103 Beta for Desktop]
* [https://www.mozilla.org/firefox/103.0a1/releasenotes/ Firefox Nightly 103 for Desktop]
* [https://www.mozilla.org/firefox/103.0a1/releasenotes/ Firefox Nightly 103 for Desktop]
* [https://www.mozilla.org/firefox/android/103.0/releasenotes/ Firefox 103 for Android]
* [https://www.mozilla.org/firefox/ios/103.0/releasenotes/ Firefox 103 for iOS]


Here is the full list of [https://www.mozilla.org/firefox/releases/ past Firefox release notes].
Here is the full list of [https://www.mozilla.org/firefox/releases/ past Firefox release notes].
Line 39: Line 25:


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.
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 and Firefox for Android only. Release notes for other products are not in our scope at the moment.
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 [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel.
For questions on the process please reach out on [https://mozilla.slack.com/archives/C9L102H6X #release-notes] internal Slack channel.


== Gathering of notes during the cycle ==
== Summarized process ==
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.
# 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.
 
== 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 [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"
 
== Beta - Refining notes during the Beta cycle ==


Here is the main list of actions the release management team and product writers do to prepare release notes:
===At the start of the Beta cycle===
* Check bugs nominated for release note addition for Nightly and add them to Nightly release notes if necessary.
* Create a new beta release in Nucleus.
* Check mozilla-central commits daily for features potentially note-worthy. Ping the patch author and ask them to nominate the bug for release notes addition.
** Copy the release notes from nightly that are riding the train.
* Ask people on several engineering mailing lists to tell us what note-worthy fixes are upcoming.
* Copy release notes to the release notes draft document.
* Share the final version of the release notes draft, ask for a review, and if there are any suggested changes.
* 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


== Notes creation ==
===Daily during the Beta cycle===
=== Writing Notes: step by step process ===
* Review bugs that were nominated for release note inclusion.
* Release Management gathers the notes
** Check if the wording is appropriate.
** Check note nominees from Bugzilla's relnote-firefox:? Flag
** Add the release note in Nucleus and the draft document.
** Check with developers and managers as necessary to clarify.
*** Add the appropriate Tag.
* First editing phase - Nightly/Beta
*** Add the bug number in the Bug field.
** Depending on where we are in the release cycle, Release Management adds release notes to Nightly or Beta in Nuclueus.
** Comment on the bug to inform that the note was added to Beta.
** Release Management shares the Beta draft for feedback and incorporates feedback.  
* 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.
* Second editing phase - Release
** Product Writer reviews and edits wording.
** Release Management adds the edited notes into Nucleus.
** Release Management adds a note for security fixes pointing to our security advisories, this link is provided by the Security team:
*** '''Fixed''' - Various [https://www.mozilla.org/security/advisories/mfsa2018-06/ security fixes]
* Final edit phase
** Release Management shares the Release draft for feedback and incorporates feedback.  


=== Dot-Release Notes ===
===Midway through the Beta Cycle===
* 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. 
{| class="wikitable"
|-
| 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.
 
== Release - Finalizing notes ==
 
===Day before the release notes deadline===
* 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. 
 
===Day after the release notes deadline===
* Add a release note for new contributors
** See [https://github.com/mozilla/Relman/wiki/Running-new-contributor-script Running new contributor script] for instructions on the script.
** 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.
 
== Dot-Release Notes ==
There are a few specifics to release notes for a dot-release.
There are a few specifics to release notes for a dot-release.


Example: [https://www.mozilla.org/firefox/102.0.1/releasenotes/ 102.0.1 release notes]
===During dot release preperation===
* Notes do have the bug number indicated (and linked to) between parentheses at the end.
* Evaluate if an uplift requires a release note
* Put 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].
* 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 [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.
 
== 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)”


== Style Guide ==
== 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.  
Readers need to know what features are introduced/changed, the technical meaning of the feature, and the impact the feature will have on users.  


Line 82: Line 176:
** Avoid using colloquialisms or idioms. These can be confusing for readers depending on their region or their native language.
** 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 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.  
* 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.
** 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.
** 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 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.
* 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.
Line 91: Line 186:
* Don't link to bugs in the finalized release notes.
* Don't link to bugs in the finalized release notes.
** NOTE:  Include links to bugs in dot release notes.
** NOTE:  Include links to bugs in dot release notes.
* Group items that belong to a category together. For example, items with WebRTC can be grouped together.
* 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.
* 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: our publishing tool ==
== Nucleus Additonal Information==
Release notes are written and managed in [https://nucleus.mozilla.org Nucleus].
Release notes are written and managed in [https://nucleus.mozilla.org Nucleus].


=== Nucleus and mozilla.org ===
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).
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).


Line 108: Line 201:
* ESR: https://www.mozilla.org/firefox/organizations/notes/
* ESR: https://www.mozilla.org/firefox/organizations/notes/


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


In Nucleus you should associate each note with a category. The notes will be grouped by category in the templated page on mozilla.org.
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"
{| class="wikitable"
|-
! Tag (Category) !! Use Case
|-
|-
| New || New features
| New || New features
Line 125: Line 217:
|-
|-
| HTML5 || Issues related to Web platform
| HTML5 || Issues related to Web platform
|-
| Unresolved || List of known issues that are not resolved in this release
|-
|-
| Enterprise || Used to link to the enterprise release notes
| Enterprise || Used to link to the enterprise release notes
Line 134: Line 224:
|}
|}


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


[[category:Release_Management|Release Notes]]
[[category:Release_Management|Release Notes]]
[[category:Release_Management:Processes|Release Notes]]
[[category:Release_Management:Processes|Release Notes]]
273

edits