Firefox 125 for developers

This article provides information about the changes in Firefox 125 that affect developers. Firefox 125 was released on April 16, 2024.

Changes for web developers

HTML

No notable changes.

CSS

  • The align-content property has been updated to work with display: block; layouts. This brings all the layout positions from flex and grid to block, enabling developers to align block-level elements without converting their container to a flex or grid container. (Firefox bug 1882853).
  • The CSS property transform-box now supports the values content-box and stroke-box. For the reference box, the content-box value uses the content box and the stroke-box value uses the stroke bounding box that contains an SVG's shape (Firefox bug 1868374).
  • The content-visibility CSS property value auto is now enabled by default. This allows content to skip rendering if it is not relevant to the user. (Firefox bug 1874874).

JavaScript

  • Intl.Segmenter is now supported, allowing developers to perform locale-sensitive text segmentation of a string. This enables, for example, splitting a string into words in languages that don't use spaces to separate them: Intl.Segmenter("ja-JP", { granularity: "word" }). You can also split strings into graphemes or sentences. (Firefox bug 1423593, Firefox bug 1883914.)

APIs

Media, WebRTC, and Web Audio

Removals

WebAssembly

  • Support has been added for Wasm modules to use multiple independent linear memories. Multiple memories enable more efficient interoperability between modules and better polyfills for upcoming Wasm standards. They can be used, for example, to create separate memory for internal and shared data, ephemeral and persisted data, or data that needs to be shared between threads. The memory can be created in JavaScript and imported into the Wasm module, or created in the Wasm module and exported. Each new linear memory in a Wasm instance is given a sequential index, starting from zero. WebAssembly memory instructions use the index to reference the memory on which they are operating, defaulting to the first memory defined if no index is specified. For more information, see WebAssembly Memory in Understanding WebAssembly text format. (Firefox bug 1860816).

WebDriver conformance (WebDriver BiDi, Marionette)

General

WebDriver BiDi

Changes for add-on developers

Experimental web features

These features are shipping in Firefox 125 but only in developer releases or behind a preference. To try these out, you can search for the related preference on the about:config page to see if they're enabled or disabled. To learn more about these features, see the Experimental features page.

  • CSS transition-behavior: layout.css.transition-behavior.enabled. The transition-behavior property is enabled by default in the Nightly release. Authors can use this property to control whether to apply CSS transitions to properties with a discrete animation type (Firefox bug 1882408, Firefox bug 1805727).
  • UA styles for <h1> nested into sectioning elements: layout.css.h1-in-section-ua-styles.enabled. The <h1> heading doesn't decrease in font size now when nested within sectioning elements <article>, <aside>, <nav>, and <section>. The UA styles for <h1> nested within sectioning elements are no longer relevant since the outline algorithm has been removed from the HTML specification. (Firefox bug 1883896).

    Note: The preference for this feature works in reverse: it's set to false in the Nightly build, which removes the UA styling for headings nested in sectioning elements. It's set to true in all other channels, which retains the existing UA styling for the nested headings.

Older versions