diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1a42aab..9663656 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -5,4 +5,6 @@ # For more information, see: # https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-code-owners -* @bsmth \ No newline at end of file +* @bsmth + +/release-notes/ @bsmth @mkaply diff --git a/.github/workflows/schema-sync.yml b/.github/workflows/schema-sync.yml index 9fb2822..449acc7 100644 --- a/.github/workflows/schema-sync.yml +++ b/.github/workflows/schema-sync.yml @@ -1,8 +1,8 @@ -name: Weekly schema sync +name: Daily schema sync on: schedule: - # Mondays at 07:00 UTC + # Daily at 08:30 UTC - cron: "30 8 * * *" workflow_dispatch: @@ -59,9 +59,9 @@ jobs: else gh pr create \ --title "chore(schema): sync from upstream" \ - --body "Automated weekly sync of \`schema/policies-schema.json\`. + --body "Automated daily sync of \`schema/policies-schema.json\`. - Review the diff for new, removed, or changed policies before merging. + Review the diff for new, removed, or changed policies before merging. A new policy here usually needs a matching entry in \`release-notes/firefox.md\`. _Opened by the [\`.github/workflows/schema-sync.yml\`](https://github.com/${{ github.repository }}/tree/main/.github/workflows/schema-sync.yml) workflow._" \ --label schema-sync \ diff --git a/.vscode/project-words.txt b/.vscode/project-words.txt index 3702760..43612a3 100644 --- a/.vscode/project-words.txt +++ b/.vscode/project-words.txt @@ -36,6 +36,7 @@ Intune Jamf jnlp knowledgebase +ksecdd localfilelinks managedfirefox mathml @@ -66,17 +67,21 @@ sitepermission socksproxy SPNEGO sslproxy +SSPI subkeys subresources +SUMO systemconfig topsites topstories trackingprotection +Trellix ublock unsubmitted urlbar userprefs videocontrols +webauthn webrtc webserial whattrainisitnow diff --git a/CHANGELOG.md b/CHANGELOG.md index f8ca70c..5762fa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,89 +1,11 @@ -# enterprise-firefox-admin-docs +# Changelog - +Release notes for Firefox administrators live in +[`release-notes/firefox.md`](release-notes/firefox.md), published at +. -## Unreleased +They are organized by major Firefox release rather than by release train, so a single entry covers +everything enterprise-relevant in that release cycle, including any Firefox point releases and the +Firefox ESR release that shipped alongside it. -### Added - -- `DefaultBrowserSettingEnabled` policy: Control whether the user can set Firefox as the default browser. -- `DisableLocalPolicies` policy: Disable all local policy sources (policies.json, Windows GPO and macOS plist). [#216](https://github.com/mozilla/enterprise-admin-reference/pull/216) - -### Changed - -- `CrashReportsSubmit` policy: Update policy structure to remove `ForceAutoSubmit` key in favor of `Enabled` key ([#222](https://github.com/mozilla/enterprise-admin-reference/pull/222)) -- Replace the hand-maintained `Windows (Intune)` sections with an `OMA-URI` link to the [Firefox ADMX OMA-URIs for Intune](https://mozilla.github.io/policy-templates/oma-uris) reference, which is generated from `firefox.admx`. - - - -## esr-153.0.0 - -### Added - -- `AIControls`: Configure AI controls. ([#103](https://github.com/mozilla/enterprise-admin-reference/pull/103)) -- `BrowserDataBackup`: Disable backup or restore of profile data. ([#33](https://github.com/mozilla/enterprise-admin-reference/pull/33)) -- `DefaultSerialGuardSetting`: Control use of the Web Serial API. ([#125](https://github.com/mozilla/enterprise-admin-reference/pull/125)) -- `DisableRemoteImprovements`: Prevent Firefox from applying performance, stability, and feature changes between updates. ([#64](https://github.com/mozilla/enterprise-admin-reference/pull/64)) -- `DisableRemoteSettingsAndAcceptSecurityConsequences`: Disable Remote Settings updates, stopping Firefox from receiving updated data such as blocklists, and accept the resulting security consequences. ([#236](https://github.com/mozilla/enterprise-admin-reference/pull/236)) -- `IPProtectionAvailable`: Prevent the built-in VPN from being available to users. ([#112](https://github.com/mozilla/enterprise-admin-reference/pull/112)) -- `LocalNetworkAccess`: Configure local network access security features. ([#67](https://github.com/mozilla/enterprise-admin-reference/pull/67)) -- `RelaunchRequired`: Require Firefox to be relaunched within a given period and notify the user of the upcoming relaunch. ([#127](https://github.com/mozilla/enterprise-admin-reference/pull/127)) -- `SitePolicies`: Defines policies scoped to specific sites. ([#82](https://github.com/mozilla/enterprise-admin-reference/pull/82)) -- `VisualSearchEnabled`: Enable or disable visual search. ([#33](https://github.com/mozilla/enterprise-admin-reference/pull/33)) -- `XSLTEnabled`: Enable or disable support for the XSLTProcessor JavaScript API and the XSLT processing instruction. ([#128](https://github.com/mozilla/enterprise-admin-reference/pull/128)) - -## fx-151.0.0 - -### Added - -- `DefaultSerialGuardSetting`: Control use of the Web Serial API. ([#125](https://github.com/mozilla/enterprise-admin-reference/pull/125)) -- `XSLTEnabled`: Enable or disable support for the XSLTProcessor JavaScript API and the XSLT processing instruction. ([#128](https://github.com/mozilla/enterprise-admin-reference/pull/128)) - -## fx-150.0.0 - -### Added - -- `RelaunchRequired`: Require Firefox to be relaunched within a given period and notify the user of the upcoming relaunch. ([#127](https://github.com/mozilla/enterprise-admin-reference/pull/127)) -- `SitePolicies`: Defines policies scoped to specific sites. ([#82](https://github.com/mozilla/enterprise-admin-reference/pull/82)) - -## fx-149.0.2 - -### Added - -- `AIControls` policy: Configure AI controls. [#103](https://github.com/mozilla/enterprise-admin-reference/pull/103) -- `IPProtectionAvailable` policy: Prevent the built-in VPN from being available to users. [#112](https://github.com/mozilla/enterprise-admin-reference/pull/112) - -## fx-148.0.0 - -### Added - -- `DisableRemoteImprovements`: Prevent Firefox from applying performance, stability, and feature changes between updates. ([#64](https://github.com/mozilla/enterprise-admin-reference/pull/64)) - -## fx-145.0.0 - -### Added - -- `LocalNetworkAccess`: Configure local network access security features. ([#67](https://github.com/mozilla/enterprise-admin-reference/pull/67)) - -## fx-119.0.0 - -### Added - -- `DisableAccounts`: Disable account-based services, including sync. ([#68](https://github.com/mozilla/enterprise-admin-reference/pull/68)) +See the Release notes section of [`CONTRIBUTING.md`](CONTRIBUTING.md) before editing. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6f77ec2..12553ba 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -85,42 +85,69 @@ Two lists hardcode policies that get no addition: - `MISSING_UPSTREAM` — may need one but missing from `firefox.admx`. These log a build warning. Remove a name once it lands upstream and the link starts rendering. -## Changelog +## Release notes -The changelog is based on **Firefox versions**, not documentation versions. -If something changes, it should be recorded under the software version where an admin would expect to see those changes. +Release notes live in `release-notes/firefox.md` and are published at `/release-notes/`. +We publish **one page per major Firefox release**, covering everything enterprise-relevant in that release cycle: the major release itself, any point releases, and the Firefox ESR release that ships alongside it. -### Version prefixes +That means a page for release 153 has a `New in Firefox 153` section and a `New in Firefox ESR 153.0.0` section, because Firefox ESR 153.0.0 shipped alongside Firefox 153. +The 149 page covers Firefox 149.0.2, which shipped later in the same cycle. -Each version heading must include a release channel prefix so it's clear which release train it belongs to: +### Release note file structure -| Prefix | Channel | Example | -| ------ | ------------------ | ---------------- | -| `fx-` | Firefox | `## fx-119.0.0` | -| `esr-` | Firefox ESR | `## esr-128.0.0` | -| `ent-` | Firefox Enterprise | `## ent-150.0.0` | +For each release, follow this convention: -An `## Unreleased` section at the top of the file can be used for upcoming changes. -When a version ships, the unreleased entries can be moved out of the `## Unreleased` section as level 2 headings to be published: +```md +## 154 -### Entries + -Changelog entries are user-facing to Firefox admins, meaning any changes specific to the docs site itself are mostly irrelevant. -Use the following sections per release and omit any that don't apply: +_Released 18 August 2026._ -- `### Added`: new policies or functionality relating to the policy engine -- `### Changed`: anything that modifies policy behavior or defaults -- `### Fixed`: bug fixes, or corrections to documentation -- `### Removed`: removed policies or deprecated functionality + -### Example +These changes apply to Firefox 154 and Firefox ESR 153.1.0 unless explicitly stated. +Firefox ESR 153 is the current ESR. -The following entry is for Firefox release version 119: +### New in Firefox 154 -```md -## fx-119.0.0 +- [`CNSA2KeyAgreementEnabled`](/reference/policies/cnsa2keyagreementenabled/): Enable the CNSA 2.0 ML-KEM-1024 … Does not apply to the ESR. ([bug 2000001](https://bugzilla.mozilla/show_bug.cgi?id=2000001)) + +### Changes + +- `SomePolicy`: Now defaults to `false`. ([bug 2000000](https://bugzilla.mozilla/show_bug.cgi?id=2000000)) + +### Fixes + +- [`SearchEngines`](/reference/policies/searchengines/): `PreventInstalls` did not prevent users from manually… ([bug 2052965](https://bugzilla.mozilla.org/show_bug.cgi?id=2052965)) + + -### Added +### Notes -- `DisableAccounts` policy: Disable account-based services, including sync. ([#68](https://github.com/mozilla/enterprise-admin-reference/pull/68)) +- Firefox ESR 115 support for Windows 7/8 and macOS 10.12, 10.13 and 10.14 extends to August 2026. ``` + +The following details matter for the generated pages: + +- Headings are the version number only: a `process` hook prefixes the headings with `Firefox`, so `## 154` is published as `Firefox 154` at `/release-notes/version/firefox-154/`. +- Link each policy to its reference page, at the lowercased policy name. + Builds fail on broken internal links, so a policy with no reference page yet can be left unlinked. +- Anything that deviates from co-shipping needs a scope note, like `Firefox 154 only.`, `Does not apply to the ESR.` at the end of the sentence before the bug link. + +### Fact checking + +The following things should be checked: + +- **Which ESR version shipped with a Firefox release**. + Check . +- **Ship dates** come from , or the `future` endpoint for releases that haven't shipped. +- **Whether something reached ESR**. + For a new policy or option, check whether it's in `browser/components/enterprisepolicies/schemas/policies-schema.json` at the ESR release tag, like `FIREFOX_140_11_0esr_RELEASE`. + For a fix, check the bug's `cf_status_firefox_esr140` or `cf_status_firefox_esr153` flag on Bugzilla. +- **Sub-properties or options**. + The policy's block in `Policies.sys.mjs` at the release tag is a good primary source, because it shows the options the build reads. + For example, the `NewTabOnRestore` sub-property was added in Firefox 153, but the compat table currently describes a policy as a whole rather than its options. + You can fetch a file at a tag with `https://hg-edge.mozilla.org/releases//raw-file//browser/components/enterprisepolicies/Policies.sys.mjs`, using branches like `mozilla-release` or `mozilla-esr153` and tags like `FIREFOX_154_0_RELEASE` or `FIREFOX_153_1_0esr_RELEASE`. + +The daily `schema-sync` workflow opens a PR when upstream adds or changes a policy, which is the prompt to add a release note. diff --git a/astro.config.mjs b/astro.config.mjs index 39f217f..ffd5e31 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -28,6 +28,7 @@ export default defineConfig({ "/reference/policies/searchengines--remove/": "/reference/policies/searchengines/", "/reference/policies/securitydevices--deprecated/": "/reference/policies/securitydevices/", "/reference/policies/disablepocket_deprecated_/": "/reference/policies/disablepocket/", + "/changelog/": "/release-notes/", }, devToolbar: { enabled: false, @@ -85,6 +86,8 @@ gtag('config', 'G-LMXJXH34WG');`, : [], lastUpdated: true, plugins: [starlightGitHubAlerts(), starlightChangelogs(), starlightLinksValidator()], + // Gives each generated release note page its own title. + routeMiddleware: "./src/starlightRouteData.ts", sidebar: [ { label: "Reference", @@ -99,13 +102,18 @@ gtag('config', 'G-LMXJXH34WG');`, items: [{ label: "Support", slug: "support" }], }, { - label: "Changelog", + label: "Release notes", items: [ ...makeChangelogsSidebarLinks([ + { + type: "all", + base: "release-notes", + label: "All releases", + }, { type: "recent", - base: "changelog", - count: 10, + base: "release-notes", + count: 6, }, ]), ], diff --git a/release-notes/firefox.md b/release-notes/firefox.md new file mode 100644 index 0000000..b1c5e04 --- /dev/null +++ b/release-notes/firefox.md @@ -0,0 +1,280 @@ + + + +# Firefox release notes for enterprise admins + +## 154 + +_Released 18 August 2026._ + +These changes apply to Firefox 154 and Firefox ESR 153.1.0 unless explicitly stated. +Firefox ESR 153 is the current ESR. + +> **Firefox moves from a four-week to a two-week release cycle beginning with Firefox 155.** +> Bug fixes, updates and features reach users more quickly once they are ready to ship. + +### New in Firefox 154 + +- [`CNSA2KeyAgreementEnabled`](/reference/policies/cnsa2keyagreementenabled/): Enable the CNSA 2.0 ML-KEM-1024 key agreement for TLS. Does not apply to the ESR. ([bug 2052296](https://bugzilla.mozilla.org/show_bug.cgi?id=2052296)) +- [`DefaultBrowserSettingEnabled`](/reference/policies/defaultbrowsersettingenabled/): Prevent users from changing the default browser. ([bug 2051921](https://bugzilla.mozilla.org/show_bug.cgi?id=2051921)) + +### Changes + +- [`SanitizeOnShutdown`](/reference/policies/sanitizeonshutdown/): Added an `Exceptions` option to configure sites whose data should not be cleared on shutdown. Firefox 154 only. ([bug 2049937](https://bugzilla.mozilla.org/show_bug.cgi?id=2049937)) + +### Fixes + +- [`SearchEngines`](/reference/policies/searchengines/): `PreventInstalls` did not prevent users from manually adding search engines in Settings or from the context menu. ([bug 2052965](https://bugzilla.mozilla.org/show_bug.cgi?id=2052965)) +- The `-width` and `-height` command-line options did not correctly set the Firefox window size. Firefox 154 only. ([bug 1635927](https://bugzilla.mozilla.org/show_bug.cgi?id=1635927)) +- Extended Protection (channel and service binding) for Windows SSPI authentication worked when using SPNEGO but not when using Kerberos directly. ([bug 1179722](https://bugzilla.mozilla.org/show_bug.cgi?id=1179722)) + +## 153 + +_Released 21 July 2026._ + +These changes apply to Firefox 153 and Firefox ESR 153 unless explicitly stated. +Firefox ESR 153 is the new ESR - enterprise changes are no longer backported to Firefox ESR 140. +Policies listed under Firefox ESR 153.0.0 became available to ESR admins for the first time in this release. + +### New in Firefox 153 + +- [`DisableRemoteSettingsAndAcceptSecurityConsequences`](/reference/policies/disableremotesettingsandacceptsecurityconsequences/): Disable Remote Settings updates and accept the resulting security consequences. Only use this policy when the consequences are fully understood. + +### Changes + +- [`Containers`](/reference/policies/containers/): Updated for the new container color palette. Existing color names are migrated to the new names automatically. +- [`Cookies`](/reference/policies/cookies/): `Behavior` and `BehaviorPrivateBrowsing` accept `partition-foreign`, the new name for the `reject-tracker-and-partition-foreign` cookie behavior. Configurations using the old name continue to work. +- [`ExtensionSettings`](/reference/policies/extensionsettings/): Control extension host permissions using `runtime_allowed_hosts` and `runtime_blocked_hosts`, and control which permissions extensions may request using `allowed_permissions`. +- Users can no longer change the host permissions of Manifest V3 extensions installed using `force_installed`. +- [`ExtensionSettings`](/reference/policies/extensionsettings/): `force_installed` and `normal_installed` extensions can be installed directly from addons.mozilla.org when `install_url` is omitted. +- [`Homepage`](/reference/policies/homepage/): Added a `NewTabOnRestore` option to open the default start page or `about:newtab` after restoring a previous session. +- [`ManagedBookmarks`](/reference/policies/managedbookmarks/): Bookmarklets using `javascript:` URLs are now supported. +- Automatically discovered printers are now listed after manually configured printers in the print destination list. ([bug 1996569](https://bugzilla.mozilla.org/show_bug.cgi?id=1996569)) +- Firefox installed from a macOS `.pkg` package can now update without prompting for administrator credentials. ([bug 1812480](https://bugzilla.mozilla.org/show_bug.cgi?id=1812480)) + +### Fixes + +- AutoConfig can once again set the `browser.startup.homepage` preference to a `data:` URL, fixing a regression introduced in Firefox 152. ([bug 2047962](https://bugzilla.mozilla.org/show_bug.cgi?id=2047962)) +- [`DisableSecurityBypass`](/reference/policies/disablesecuritybypass/): The **Allow download** button was still shown when `SafeBrowsing` was set to `false`. ([bug 1894373](https://bugzilla.mozilla.org/show_bug.cgi?id=1894373)) +- [`ExtensionSettings`](/reference/policies/extensionsettings/): Extensions that were no longer permitted by `allowed_types` were not removed or blocked when the setting changed. ([bug 2008100](https://bugzilla.mozilla.org/show_bug.cgi?id=2008100)) +- [`ExtensionSettings`](/reference/policies/extensionsettings/): Individual Windows registry `REG_SZ` values overrode the JSON policy configuration when both were present. ([bug 2048696](https://bugzilla.mozilla.org/show_bug.cgi?id=2048696)) +- [`FirefoxHome`](/reference/policies/firefoxhome/): The policy was not reflected correctly in the redesigned Settings. ([bug 2048048](https://bugzilla.mozilla.org/show_bug.cgi?id=2048048)) +- [`PasswordManagerEnabled`](/reference/policies/passwordmanagerenabled/): The policy did not disable the Passwords sidebar panel. ([bug 2041232](https://bugzilla.mozilla.org/show_bug.cgi?id=2041232)) +- [`PopupBlocking`](/reference/policies/popupblocking/): The policy did not lock all of the pop-up permission controls. ([bug 1888477](https://bugzilla.mozilla.org/show_bug.cgi?id=1888477)) +- [`SanitizeOnShutdown`](/reference/policies/sanitizeonshutdown/): The policy now correctly locks the History settings when configured. ([bug 1888451](https://bugzilla.mozilla.org/show_bug.cgi?id=1888451)) +- The Bookmarks and History sidebars could not be opened while the sidebar was hidden and [`PasswordManagerEnabled`](/reference/policies/passwordmanagerenabled/) was set to `false`. This regressed in Firefox 153.0 and was fixed in a later Firefox 153 release. ([bug 2056857](https://bugzilla.mozilla.org/show_bug.cgi?id=2056857)) + +### New in Firefox ESR 153.0.0 + +- [`AIControls`](/reference/policies/aicontrols/): Configure AI controls. +- [`BrowserDataBackup`](/reference/policies/browserdatabackup/): Disable backup or restore of profile data. +- [`DefaultSerialGuardSetting`](/reference/policies/defaultserialguardsetting/): Control use of the Web Serial API. +- [`DisableRemoteImprovements`](/reference/policies/disableremoteimprovements/): Prevent Firefox from applying performance, stability, and feature changes between updates. +- [`DisableRemoteSettingsAndAcceptSecurityConsequences`](/reference/policies/disableremotesettingsandacceptsecurityconsequences/): Disable Remote Settings updates and accept the resulting security consequences. +- [`IPProtectionAvailable`](/reference/policies/ipprotectionavailable/): Prevent the built-in VPN from being available to users. +- [`LocalNetworkAccess`](/reference/policies/localnetworkaccess/): Configure local network access security features. +- [`RelaunchRequired`](/reference/policies/relaunchrequired/): Require Firefox to be relaunched within a given period and notify the user of the upcoming relaunch. +- [`SitePolicies`](/reference/policies/sitepolicies/): Fine-grained control over policies for specific sites. +- [`VisualSearchEnabled`](/reference/policies/visualsearchenabled/): Enable or disable visual search. +- [`XSLTEnabled`](/reference/policies/xsltenabled/): Enable or disable support for the XSLTProcessor JavaScript API and the XSLT processing instruction. + +## 152 + +_Released 16 June 2026._ + +These changes apply to Firefox 152 unless explicitly stated. +Firefox ESR 140.12.0 shipped the same day, but most of these changes were not backported to it. + +### Changes + +- [`DefaultSerialGuardSetting`](/reference/policies/defaultserialguardsetting/): Web Serial support is now disabled by default when Firefox is managed by enterprise policies. +- [`ExtensionSettings`](/reference/policies/extensionsettings/): Force-installed extensions are now always updated automatically, regardless of the `updates_disabled` setting. ([bug 2037243](https://bugzilla.mozilla.org/show_bug.cgi?id=2037243)) +- [`FirefoxHome`](/reference/policies/firefoxhome/): Allow configuration of the Weather experience. Also in Firefox ESR 140.12.0. +- [`ManagedBookmarks`](/reference/policies/managedbookmarks/): Allow specifying favicons directly for managed bookmarks. +- Chatbot content is now available to extensions from content scripts. ([bug 1980404](https://bugzilla.mozilla.org/show_bug.cgi?id=1980404)) +- Firefox now accepts TURN server responses whose `XOR-MAPPED-ADDRESS` does not match the ICE check, improving compatibility with some TURN server implementations. ([bug 2034159](https://bugzilla.mozilla.org/show_bug.cgi?id=2034159)) + +### Fixes + +- [`DisableBuiltinPDFViewer`](/reference/policies/disablebuiltinpdfviewer/): Setting the policy to `false` overrode the PDF handling configured in `handlers.json`. Also in Firefox ESR 140.12.0. ([bug 1983032](https://bugzilla.mozilla.org/show_bug.cgi?id=1983032)) +- [`DisableFirefoxAccounts`](/reference/policies/disablefirefoxaccounts/): The policy also disabled Backup and other unrelated settings after the Settings redesign. ([bug 2023825](https://bugzilla.mozilla.org/show_bug.cgi?id=2023825)) +- [`DisableProfileImport`](/reference/policies/disableprofileimport/): The **Import Bookmarks** button on the Bookmarks Toolbar bypassed the policy. ([bug 1828282](https://bugzilla.mozilla.org/show_bug.cgi?id=1828282)) +- [`DisableProfileImport`](/reference/policies/disableprofileimport/): The import option in `about:logins` was not covered by the policy. ([bug 1830463](https://bugzilla.mozilla.org/show_bug.cgi?id=1830463)) + +## 151 + +_Released 19 May 2026._ + +These changes apply to Firefox 151 and Firefox ESR 140.11.0 unless explicitly stated. +Firefox ESR 140 is the current ESR, and enterprise changes are no longer backported to Firefox ESR 128. + +Firefox 153 will be the next ESR. +As that transition approaches, fewer non-security fixes and policy changes will be backported to Firefox ESR 140. +If you use the ESR, we recommend testing with Firefox Beta or Nightly to identify issues before Firefox ESR 153 ships. + +### New in Firefox 151 + +- [`DefaultSerialGuardSetting`](/reference/policies/defaultserialguardsetting/): Control use of the Web Serial API. Does not apply to the ESR. +- [`XSLTEnabled`](/reference/policies/xsltenabled/): Enable or disable support for the XSLTProcessor JavaScript API and the XSLT processing instruction. Does not apply to the ESR. + +### Changes + +- Policy documentation has officially moved to . Update any existing bookmarks. +- [`Preferences`](/reference/policies/preferences/): Allow setting preferences under the `devtools.` and `sidebar.` branches. +- [`ExtensionSettings`](/reference/policies/extensionsettings/): Support overriding update URLs. Firefox 151 only. + +### Fixes + +- [`DisableRemoteImprovements`](/reference/policies/disableremoteimprovements/): The policy was not reflected correctly in preferences. Firefox 151 only. +- Sites blocked by enterprise policy did not display the correct error message. Firefox 151 only. + +## 150 + +_Released 21 April 2026._ + +These changes apply to Firefox 150 and Firefox ESR 140.10.0 unless explicitly stated. +Firefox ESR 140 is the current ESR. + +### New in Firefox 150 + +- [`RelaunchRequired`](/reference/policies/relaunchrequired/): Require Firefox to be relaunched within a given period and notify the user of the upcoming relaunch. Does not apply to the ESR. +- [`SitePolicies`](/reference/policies/sitepolicies/): Fine-grained control over policies for specific sites. Does not apply to the ESR. + +### Changes + +- Policy documentation has officially moved to . + +### Fixes + +- [`Homepage`](/reference/policies/homepage/): The policy was not working correctly in Firefox 149. Fixed in Firefox 149.0.2. Does not apply to the ESR. + +### Notes + +- Firefox ESR 115 support for Windows 7/8 and macOS 10.12, 10.13 and 10.14 is extended to August 2026. + +## 149 + +_Released 24 March 2026._ + +These changes apply to Firefox 149 and Firefox ESR 140.9.0 unless explicitly stated. + +### New in Firefox 149.0.2 + +- [`AIControls`](/reference/policies/aicontrols/): Configure AI controls. Does not apply to the ESR. +- [`IPProtectionAvailable`](/reference/policies/ipprotectionavailable/): Prevent the built-in VPN from being available to users. Does not apply to the ESR. + +## 148 + +_Released 24 February 2026._ + +These changes apply to Firefox 148 unless explicitly stated. +Firefox ESR 140.8.0 shipped the same day, but these changes were not backported to it. + +### New in Firefox 148 + +- [`DisableRemoteImprovements`](/reference/policies/disableremoteimprovements/): Prevent Firefox from applying performance, stability, and feature changes between updates. + +### Changes + +- [`GenerativeAI`](/reference/policies/generativeai/): Updated to cover PDF alt text generation and translations. ([bug 2013938](https://bugzilla.mozilla.org/show_bug.cgi?id=2013938)) +- AI Controls settings now respect enterprise policy and locale or region restrictions. ([bug 2005805](https://bugzilla.mozilla.org/show_bug.cgi?id=2005805)) +- Firefox now reports whether a profile is managed by enterprise policy, as `policies.is_enterprise` in the baseline telemetry ping. ([bug 1997959](https://bugzilla.mozilla.org/show_bug.cgi?id=1997959)) + +## 147 + +_Released 13 January 2026._ + +These changes apply to Firefox 147 and Firefox ESR 140.7.0 unless explicitly stated. +Firefox ESR 140 is the current ESR, so enterprise changes are no longer backported to Firefox ESR 128. + +### Fixes + +- Private Window options were still available from the Firefox View tab when private browsing was disabled. ([bug 2004669](https://bugzilla.mozilla.org/show_bug.cgi?id=2004669)) +- A performance regression affecting extension native messaging reached the ESR in Firefox ESR 140.7.0. In earlier Firefox 140-series builds, native messaging operations could experience significantly increased latency, affecting enterprise extensions that communicate with external processes. The release channel received this fix in Firefox 146. ([bug 2002517](https://bugzilla.mozilla.org/show_bug.cgi?id=2002517)) + +### Known issues + +- Using Trellix DLP Endpoint for Windows can cause crashes when dragging and dropping files. + Set the `security.sandbox.content.close-ksecdd-handle` preference to `false` as a workaround. + +## 146 + +_Released 9 December 2025._ + +These changes apply to Firefox 146 and Firefox ESR 140.6.0 unless explicitly stated. + +### New in Firefox 146 + +- [`BrowserDataBackup`](/reference/policies/browserdatabackup/): Disable backup or restore of profile data. + Does not apply to the ESR. + +### Changes + +- The version number, architecture and language were removed from the Windows uninstall registry key, improving compatibility with third-party tools. Does not apply to the ESR. ([bug 1995769](https://bugzilla.mozilla.org/show_bug.cgi?id=1995769)) +- Firefox Labs can now be enabled regardless of the status of [`DisableTelemetry`](/reference/policies/disabletelemetry/) or [`DisableFirefoxStudies`](/reference/policies/disablefirefoxstudies/). Does not apply to the ESR. ([bug 1972647](https://bugzilla.mozilla.org/show_bug.cgi?id=1972647)) + +### Fixes + +- Private Window options were still available when private browsing was disabled. ([bug 2001191](https://bugzilla.mozilla.org/show_bug.cgi?id=2001191)) +- [`DisableProfileImport`](/reference/policies/disableprofileimport/): Data could still be imported in Firefox View when the policy was set. ([bug 1993863](https://bugzilla.mozilla.org/show_bug.cgi?id=1993863)) +- [`DisplayMenuBar`](/reference/policies/displaymenubar/): User choice was not maintained. Did not affect the ESR. ([bug 1996449](https://bugzilla.mozilla.org/show_bug.cgi?id=1996449)) +- [`DisablePasswordReveal`](/reference/policies/disablepasswordreveal/): The policy had stopped working. ([bug 2001459](https://bugzilla.mozilla.org/show_bug.cgi?id=2001459)) + +## 145 + +_Released 11 November 2025._ + +These changes apply to Firefox 145 and Firefox ESR 140.5.0 unless explicitly stated. + +Mozilla has introduced Firefox Support for Organizations, a support offering for enterprise deployments of Firefox. + +### New in Firefox 145 + +- [`LocalNetworkAccess`](/reference/policies/localnetworkaccess/): Configure local network access security features. Does not apply to the ESR. + +### Changes + +- [`GenerativeAI`](/reference/policies/generativeai/): Added an option to enable or disable all generative AI features. +- [`EnableTrackingProtection`](/reference/policies/enabletrackingprotection/): `BaselineExceptions` and `ConvenienceExceptions` can now be set in strict mode. Does not apply to the ESR. + +### Fixes + +- [`GenerativeAI`](/reference/policies/generativeai/): The `Chatbot` option did not turn off generative AI in the page context menu. ([bug 1994791](https://bugzilla.mozilla.org/show_bug.cgi?id=1994791)) + +## 144 + +_Released 14 October 2025._ + +These changes apply to Firefox 144 and Firefox ESR 140.4.0 unless explicitly stated. + +### New in Firefox 144 + +- [`GenerativeAI`](/reference/policies/generativeai/): Configure generative AI features. `Chatbot` is the only option that applies to the ESR. +- [`VisualSearchEnabled`](/reference/policies/visualsearchenabled/): Enable or disable visual search. Does not apply to the ESR. + +### New in Firefox ESR 140.4.0 + +- [`GenerativeAI`](/reference/policies/generativeai/): Configure generative AI features. Only the `Chatbot` option is available on the ESR. + +### Changes + +- [`Preferences`](/reference/policies/preferences/): Allow setting the `security.webauthn.always_allow_direct_attestation` preference. + +### Fixes + +- Some print options were still shown when printing was disabled. ([bug 1889569](https://bugzilla.mozilla.org/show_bug.cgi?id=1889569)) +- Windows Kerberos authentication with Extended Protection did not work with a SHA384 SSL certificate. ([bug 1895277](https://bugzilla.mozilla.org/show_bug.cgi?id=1895277)) + +### Notes + +- Firefox ESR 115 support for Windows 7/8 and macOS 10.12, 10.13 and 10.14 is extended to March 2026. + +## 143 + +_Released 16 September 2025._ + +These changes apply to Firefox 143 and Firefox ESR 140.3.0 unless explicitly stated. + +### Notes + +- Firefox ESR 128 goes out of support with this release. Firefox ESR 128 users are upgraded to Firefox ESR 140. diff --git a/src/content.config.ts b/src/content.config.ts index 95fcc5c..60d6156 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -1,6 +1,6 @@ import { defineCollection, z } from "astro:content"; -import { docsLoader } from "@astrojs/starlight/loaders"; -import { docsSchema } from "@astrojs/starlight/schema"; +import { docsLoader, i18nLoader } from "@astrojs/starlight/loaders"; +import { docsSchema, i18nSchema } from "@astrojs/starlight/schema"; import { changelogsLoader } from "starlight-changelogs/loader"; export const collections = { @@ -16,16 +16,14 @@ export const collections = { loader: changelogsLoader([ { provider: "keep-a-changelog", - base: "changelog", - changelog: "CHANGELOG.md", - // see https://starlight-changelogs.netlify.app/providers/keep-a-changelog/#process - process: ({ title }) => { - if (title.startsWith("ent-")) return `Firefox Enterprise ${title.slice(4)}`; - if (title.startsWith("esr-")) return `Firefox ESR ${title.slice(4)}`; - if (title.startsWith("fx-")) return `Firefox ${title.slice(3)}`; - return title; - }, + base: "release-notes", + title: "Firefox Release Notes for Enterprise", + changelog: "release-notes/firefox.md", + pageSize: 20, + // See https://starlight-changelogs.netlify.app/providers/keep-a-changelog/#process + process: ({ title }) => (/^\d/.test(title) ? `Firefox ${title}` : title), }, ]), }), + i18n: defineCollection({ loader: i18nLoader(), schema: i18nSchema() }), }; diff --git a/src/content/docs/guides/firefox-channels.md b/src/content/docs/guides/firefox-channels.md index abab208..aefb1ca 100644 --- a/src/content/docs/guides/firefox-channels.md +++ b/src/content/docs/guides/firefox-channels.md @@ -5,14 +5,14 @@ sidebar: label: Firefox and Firefox ESR --- -Firefox is made available in multiple versions known as **release channels**. +Firefox is available in multiple **release channels** which have different features and release schedules. This article describes the difference between the channels and the tradeoffs to consider when choosing one. -The two channels that are most appropriate for enterprise usage are **Firefox** and **Firefox Extended Support Release (ESR)**. +The channels that are most appropriate for enterprise usage are **Firefox** and **Firefox Extended Support Release (ESR)**. -## Firefox Release channel +## Firefox release channel -The **Firefox** release channel is primarily used by consumers, but it is also applicable as an enterprise browser. -A new major ([semver](https://semver.org/)) version is made available every four weeks. +The **Firefox** release channel is mostly used by consumers, but it is also possible for people to use policies to manage the browser for enterprise use. +Beginning with Firefox 155 (September 2026), a new major release is made [every two weeks](https://whattrainisitnow.com/release/?version=release). Releases include new features, enhancements, and bug fixes. The following resources are useful for tracking what's changed in Firefox releases: @@ -22,7 +22,7 @@ The following resources are useful for tracking what's changed in Firefox releas This contains details on new or updated web platform features, APIs, and tools that developers use. > [!NOTE] -> This release channel is best suited for organizations that want the latest and features as soon as they are available. +> The Firefox release channel is best suited for organizations that want the latest fixes and features as soon as they are available. > Because this release channel contains more frequent updates than ESR, UI changes, privacy or security changes may require testing with your environment in a more frequent cadence than the Extended Support Release. ## Firefox Extended Support Release (ESR) @@ -38,10 +38,10 @@ Other features, such as UI or UX improvements, are excluded from the ESR channel ## Firefox release schedule -Detailed information about the release schedule for Firefox can be tracked on [whattrainisitnow](https://whattrainisitnow.com/about/). +Detailed information about the release schedule for Firefox, including APIs for programmatic access to release data, can be found on [whattrainisitnow](https://whattrainisitnow.com/about/). This website provides a release calendar that describes upcoming releases for all Firefox release channels. ## See also - [Firefox downloads](https://www.firefox.com/en-US/download/all/) -- [Enterprise group policies](/reference/policies/) +- [Enterprise policies](/reference/policies/) diff --git a/src/content/docs/reference/policies.mdx b/src/content/docs/reference/policies.mdx index 978c0f5..5637ab8 100644 --- a/src/content/docs/reference/policies.mdx +++ b/src/content/docs/reference/policies.mdx @@ -5,7 +5,7 @@ sidebar: label: All policies --- -The following page lists all policies (also called "enterprise policies" or "group policies") available for Firefox that can be used to apply browser configuration for enterprise use cases. +The following page lists all policies (or "enterprise policies") available for Firefox that can be used to apply browser configuration for enterprise use cases. Each policy outlines its intended function, the settings you can adjust, examples of valid configurations, and any platform limitations. import CategoryList from "../../../components/CategoryList.astro"; diff --git a/src/content/docs/reference/policies/Homepage.mdx b/src/content/docs/reference/policies/Homepage.mdx index 07dde74..ef140f5 100644 --- a/src/content/docs/reference/policies/Homepage.mdx +++ b/src/content/docs/reference/policies/Homepage.mdx @@ -13,7 +13,7 @@ It does not change what a new tab shows: use the [`NewTabPage`](/reference/polic -`StartPage` was added in Firefox 60, Firefox ESR 60.4, `homepage-locked` added in Firefox 78, `NewTabOnRestore` added in Firefox 154. +`StartPage` was added in Firefox 60, Firefox ESR 60.4, `homepage-locked` added in Firefox 78, `NewTabOnRestore` added in Firefox 153, Firefox ESR 153. **CCK2 Equivalent:** `homePage`,`lockHomePage`\ **Preferences Affected:** `browser.startup.homepage`, `browser.startup.page`, `browser.sessionstore.newTabOnRestore`, `browser.sessionstore.newTabOnRestore.showSetting` @@ -35,7 +35,7 @@ The following members are configurable: - `homepage`: Start with the homepage in `URL` policy. - `previous-session`: Restore the previous session (all tabs and windows reopen). - `homepage-locked`: Always force the homepage at startup, users cannot choose session restore. (Firefox 78) -- `NewTabOnRestore` (Firefox 154) controls the "Also open new tab" option under Settings, in the Startup section. When it is enabled, Firefox opens an extra tab whenever it restores your previous windows and tabs at startup. Firefox may turn this option on for your users on its own, so set `NewTabOnRestore` to `false` to keep it off, or `true` to always enable it. +- `NewTabOnRestore` (Firefox 153) controls the "Also open new tab" option under Settings, in the Startup section. When it is enabled, Firefox opens an extra tab whenever it restores your previous windows and tabs at startup. Firefox may turn this option on for your users on its own, so set `NewTabOnRestore` to `false` to keep it off, or `true` to always enable it. > [!NOTE] > Firefox may turn on "Also open new tab" for your users on its own. If you don't want your users to suddenly get an extra tab when their previous windows and tabs are restored, set `NewTabOnRestore` to `false`. diff --git a/src/content/i18n/en.json b/src/content/i18n/en.json new file mode 100644 index 0000000..3907a41 --- /dev/null +++ b/src/content/i18n/en.json @@ -0,0 +1,3 @@ +{ + "starlightChangelogs.version.title": "{{version}}" +} diff --git a/src/starlightRouteData.ts b/src/starlightRouteData.ts new file mode 100644 index 0000000..75bd804 --- /dev/null +++ b/src/starlightRouteData.ts @@ -0,0 +1,22 @@ +import { defineRouteMiddleware } from "@astrojs/starlight/route-data"; + +const versionPagePath = /^\/release-notes\/version\/firefox-(?[^/]+)\/$/; + +export const onRequest = defineRouteMiddleware((context) => { + const version = context.url.pathname.match(versionPagePath)?.groups?.version; + // Skip the `154...latest` comparison pages, which cover a range of releases. + if (!version || version.includes("...")) return; + + const { starlightRoute } = context.locals; + const title = `Firefox ${version} release notes for enterprise admins`; + + starlightRoute.entry.data.title = title; + + for (const tag of starlightRoute.head) { + if (tag.tag === "title") { + tag.content = `Firefox ${version} release notes | ${starlightRoute.siteTitle}`; + } else if (tag.tag === "meta" && tag.attrs?.property === "og:title") { + tag.attrs.content = title; + } + } +});