Firefox 159 release notes for developers (Stable)
This article provides information about the changes in Firefox 159 that affect developers. Firefox 159 was released on October 27, 2026.
Changes for web developers
>HTML
No notable changes.
CSS
- Scroll-driven animations are now enabled by default. They allow you to animate property values along a scroll-based timeline (that is, by scrolling a scroll container) rather than along the default time-based document timeline. (Firefox bug 1324602).
Removals
- The legacy masonry layout syntax has been removed: the
masonryvalue of thegrid-template-columnsandgrid-template-rowsproperties, and themasonry-auto-flowproperty. This syntax was only enabled by default in Nightly, behind thelayout.css.grid-template-masonry-value.enabledpreference. It's superseded by grid lanes layout, which uses thegrid-lanesandinline-grid-lanesvalues of thedisplayproperty. (Firefox bug 2077170).
JavaScript
No notable changes.
APIs
- Methods that sanitize HTML with the HTML Sanitizer API, such as
Element.setHTML(), now remove unwanted elements and attributes as the markup is parsed, instead of parsing all of the markup first and then cleaning up resulting DOM tree afterwards. The result is the same, except that neighboring text now lands in a single text node instead of being split across several. (Firefox bug 2070498). - The WebGL
EXT_clip_controlextension is now available on devices whose graphics driver supports it. ItsclipControlEXT()method changes how clip-space coordinates map to window coordinates: it can move the clip origin to the upper-left corner, and set the depth range in normalized device coordinates to 0 to 1 instead of the default -1 to 1, matching the conventions of Direct3D and WebGPU. The 0 to 1 depth range also makes the reversed-Z technique effective, which improves depth precision with a floating-point depth buffer. (Firefox bug 1885031). - The WebGL
EXT_texture_mirror_clamp_to_edgeextension is now available on devices whose graphics driver supports it. It adds theMIRROR_CLAMP_TO_EDGE_EXTtexture wrapping mode: texture coordinates from -1 to 0 sample a mirror image of the texture, and coordinates below -1 or above 1 clamp to its edge. This allows a symmetric image, such as a glow, to be stored as a texture containing only half of it. (Firefox bug 1908749). - The WebGL 2
EXT_texture_norm16extension is now enabled by default on devices whose graphics driver supports 16-bit normalized formats. It adds 16-bit normalized texture and renderbuffer formats, which store data such as elevation maps and medical images with more precision than 8-bit formats. (Firefox bug 1735401).
DOM
- Scoped custom element registries are now supported, this allows a shadow tree to create an independent
CustomElementRegistrywhose definitions only apply to that specific DOM subtree. This can be used to avoid collisions where multiple web components declare elements with the same name. ThecustomElementRegistryproperty can be used onDocument,Element, andShadowRoot. TheCustomElementRegistry()constructor creates a newCustomElementRegistryobject for scoped usage. (Firefox bug 2070506)
WebDriver conformance (WebDriver BiDi, Marionette)
General
- Recommended preferences are now set as default values instead of user values, so they no longer remain in
prefs.jsafter an unclean shutdown. (Firefox bug 2074275). - Removed the
--remote-allow-system-accesscommand line argument. To enable system access, set theMOZ_REMOTE_ALLOW_SYSTEM_ACCESSenvironment variable to1instead. (Firefox bug 2054896). - Fixed a memory leak where internal polling operations kept running until shutdown after timing out with an error. This could affect a variety of commands (e.g., WebDriver BiDi's
browsingContext.traverseHistory). (Firefox bug 2079758).
WebDriver BiDi
- Implemented the
emulation.setMediaFeaturesOverridecommand, which allows clients to override the values of CSS media features. Currently onlyprefers-color-schemeis supported. (Firefox bug 2064354). - Added a machine-readable CDDL (Concise Data Definition Language) file for the Firefox-specific extensions to WebDriver BiDi. (Firefox bug 2057588).
Experimental web features
These features are shipping in Firefox 159 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.
-
CSS numeric factory functions exposed in workers and worklets:
layout.css.namespace.exposed-in-workers-and-workletsThe numeric factory functions of the
CSSnamespace, such asCSS.px(), are now exposed in workers and paint worklets, not only onWindow. They're part of the CSS Typed Object Model API, so outside Nightly they also need thelayout.css.typed-om.enabledpreference set totrue. (Firefox bug 2079188). -
New
MathMLAnchorElementproperties:mathml.a.element.enabledThe
MathMLAnchorElementinterface now supports thedownload,ping,rel,relList, andreferrerPolicyproperties. (Firefox bug 2064612).