The Firefox release notes process

From MozillaWiki
Jump to: navigation, search

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: