Back to Content

Firefox 147 release notes for developers

files/en-us/mozilla/firefox/releases/147/index.md

latest9.8 KB
Original Source

This article provides information about the changes in Firefox 147 that affect developers. Firefox 147 was released on January 13, 2026.

Changes for web developers

Developer Tools

  • When you select a pseudo-element (such as {{cssxref("::before")}} or {{cssxref("::after")}}) in the HTML pane of the Inspector, you can now edit the selector of the corresponding rule in the CSS pane. (Firefox bug 1998704).
  • During a view transition, {{cssxref("::view-transition")}} pseudo-elements now appear in the elements view. (Firefox bug 1996608).
  • During a view transition, the associated animations now appear in the animations panel. (Firefox bug 1995296).
  • Elements with a valid {{cssxref("anchor-name")}} get an 'anchor' badge in the elements view. (Firefox bug 1895196).
  • A highlighted element's associated {{cssxref("@position-try")}} rules are now displayed in the CSS rules panel. (Firefox bug 1895176).
  • JSON payloads can be imported into Firefox Profiler from the JSON viewer using a new button. This provides a breakdown of the size of the resource. (Firefox bug 1997209).

HTML

No notable changes.

SVG

  • When an SVG file is used as an image source (for example, embedded into a page via an {{htmlelement("img")}} element or as a CSS {{cssxref("background-image")}}), the SVG URL now supports media fragments. (Firefox bug 1999989). This means that:
    • When the SVG includes a SMIL animation, you can use temporal dimension syntax to play a portion of the animation from a specific start time to a specific end time, after which the animation will pause.
    • You can use spatial dimension syntax to display a specific area of the SVG document.

CSS

  • CSS anchor positioning is now enabled by default. (Firefox bug 1988225).
    • The anchor-center value, which provides a convenient way to center an anchor-positioned element on its anchor, was added in version 147. It is available on the {{cssxref("align-items")}}, {{cssxref("align-self")}}, {{cssxref("justify-items")}}, {{cssxref("justify-self")}}, {{cssxref("place-items")}}, and {{cssxref("place-self")}} properties. (Firefox bug 1909339)
    • The {{cssxref("position-anchor")}} value none was added in version 147, which enables an implicit or explicit association between a CSS anchor and an anchor-positioned element to be removed. (Firefox bug 1999972).
  • The -webkit- prefixed version of the {{cssxref("perspective")}} property is now supported with unitless values — for example -webkit-perspective: 800 — for increased compatibility. (Firefox bug 1362499).
  • View transition types are now supported, which provide a mechanism by which different types can be specified for active view transitions. CSS can then be used to apply animations to DOM elements when their content updates, depending on the transition type specified. Firefox 147 adds support for single-page app (SPA) view transition types only, not cross-document view transition types. (Firefox bug 2001878).
  • The {{cssxref("counter-increment")}}, {{cssxref("counter-reset")}}, {{cssxref("counter-set")}}, and {{cssxref("quotes")}} properties are now supported on the {{cssxref("::marker")}} pseudo-element. (Firefox bug 2000404).
  • The following relative length units based on root element's font are now supported: rcap, rch, rex, and ric. These units allow you to define <length> values based on the size of a particular character or font attribute of the root element. (Firefox bug 1740584).

JavaScript

  • CSS module scripts are now supported, allowing a stylesheet to be loaded into a script as a {{domxref("CSSStyleSheet")}} instance using the import keyword and the type import attribute set to type="css". (Firefox bug 1986681).
  • The {{jsxref("Iterator.concat()")}} method is now supported. This method enables you to create a new iterator that combines multiple input iterables into a single sequence. (Firefox bug 1986672).

APIs

  • The {{domxref("Document.activeViewTransition")}} property is now supported, which returns a {{domxref("ViewTransition")}} instance representing the view transition currently active on the document. This provides a consistent way to access an active view transition in any context without having to manually store a reference to it for later use. (Firefox bug 2001836).
  • WebGPU API support is now enabled for all macOS versions on devices with Apple Silicon processors (previously only macOS Tahoe support was enabled). (Firefox bug 1993341).
  • The Navigation API is now supported. This provides the ability to initiate, intercept, and manage browser navigation actions, and to examine an application's history entries. This is a successor to previous web platform features such as the {{domxref("History API", "", "", "nocode")}} and {{domxref("window.location")}}, which solves their shortcomings and is specifically aimed at the needs of {{glossary("SPA", "single-page applications (SPAs)")}}. (Firefox bug 1997962).
  • Brotli compression is now supported for both CompressionStream and DecompressionStream. (Firefox bug 1921583).
  • Service workers can now be ECMAScript module scripts. To load a service worker module, specify a type of 'module' when calling {{domxref("ServiceWorkerContainer.register()")}}. (Firefox bug 1360870).

WebDriver conformance (WebDriver BiDi, Marionette)

General

  • Fixed the new session response to include the required setWindowRect property. (Firefox bug 1916522).

WebDriver BiDi

  • Implemented the input.fileDialogOpened event, which is emitted whenever a file picker is triggered by the content page, for instance after clicking on an input with type="file". (Firefox bug 1855045).
  • Implemented the emulation.setScreenSettingsOverride command to allow clients to emulate the screen dimensions for a list of browsing contexts or user contexts. (Firefox bug 2000651).
  • Fixed an issue where browsingContext.navigate with wait=none didn't always contain the real target URL. (Firefox bug 2004191).
  • Updated script.evaluate and script.callFunction to bypass Content Security Policy (CSP). (Firefox bug 1941780).
  • Fixed missing script.realmCreated event for new browsing contexts created via window.open. (Firefox bug 2002721).
  • Updated emulation.setLocaleOverride to override the Accept-Language header. (Firefox bug 1995691).
  • Updated emulation.setLocaleOverride to throw an error when called with the locale argument equal to undefined. (Firefox bug 2003992).

Marionette

Changes for add-on developers

Experimental web features

No experimental features were added in this release. Check the Experimental features page for features from other releases.