Firefox 153 release notes for developers (Beta)

This article provides information about the changes in Firefox 153 that affect developers. Firefox 153 is the current Beta version of Firefox and ships on July 21, 2026.

Note: The release notes for this Firefox version are still a work in progress.

Changes for web developers

Developer Tools

HTML

CSS

  • The ::-webkit-scrollbar pseudo-element selector is now recognized, so the @supports selector(::-webkit-scrollbar) check returns true. Note that this reports the selector as supported even though scrollbar styling via ::-webkit-scrollbar is not truly implemented. This was added to fix an issue where scrollbars of nested scrollable areas could stack on top of each other. For example, when a scrollbar is set to display: none or width: 0 leaving some content unreachable. (Firefox bug 2038877).

JavaScript

APIs

DOM

Media, WebRTC, and Web Audio

WebAssembly

  • JavaScript Promise Integration (JS-PI) is now enabled, allowing WebAssembly modules to interoperate with asynchronous, Promise-based JavaScript APIs. This lets WebAssembly code suspend while waiting for a JavaScript promise and resume when the promise settles. See WebAssembly.Suspending for an explanation and working example. (Firefox bug 2044809).

WebDriver conformance (WebDriver BiDi, Marionette)

General

  • Improved the window manipulation commands in Marionette and WebDriver BiDi to allow individual window geometry properties, such as x, y, width, and height, to be adjusted independently. (Firefox bug 1941404).
  • Fixed a bug where click and pointer action commands could fail if the element's first DOMRect (e.g., inline elements spanning multiple lines) was zero-sized. (Firefox bug 2038932).
  • Restricted navigation to privileged pages (certain about:* pages, chrome://, and resource:// URLs) when operating in content scope. (Firefox bug 1579790).

WebDriver BiDi

  • Extended the emulation.setLocaleOverride command to also apply a locale emulation to dedicated and shared workers. (Firefox bug 2015655).
  • Extended the emulation.setTimezoneOverride command to also apply a timezone emulation to dedicated and shared workers. (Firefox bug 2015657).
  • Updated the browsingContext.create command to no longer emit browsingContext.domContentLoaded and browsingContext.load events for the initial about:blank page when creating new top-level browsing contexts, and to now emit the browsingContext.contextCreated event at the end of the creation process. (Firefox bug 1930594).
  • Fixed a bug where functions created by the script.addPreloadScript command might have stopped working after several navigations. (Firefox bug 2046390).

Marionette

  • Fixed the Take Element Screenshot command from WebDriver Classic to crop screenshots of elements which exceed the viewport. (Firefox bug 2013176).
  • Fixed the Perform Actions command to properly await internal action finalization, preventing potential race conditions. (Firefox bug 2031596).

Changes for add-on developers

Experimental web features

These features are shipping in Firefox 153 but are disabled by default. To experiment with them, search for the appropriate preference on the about:config page and set it to true. You can find more such features on the Experimental features page.

  • JPEG XL image support (Nightly): image.jxl.enabled

    The Rust-based JPEG XL image decoder is now enabled by default in Nightly. (Firefox bug 2040074).

  • Tree counting CSS functions: layout.css.tree-counting-functions.enabled

    The sibling-count() and sibling-index() function are now supported. The sibling-count() function returns the number sibling elements as well as the element itself. The sibling-index() function returns the index number of the element in relation to its siblings, this starts from 1 and not 0. (Firefox bug 2042063).