Firefox 160 release notes for developers (Stable)

This article provides information about the changes in Firefox 160 that affect developers. Firefox 160 was released on November 10, 2026.

Changes for web developers

HTML

No notable changes.

CSS

JavaScript

No notable changes.

APIs

Removals

  • The non-standard MozScrolledAreaChanged event is no longer dispatched to web pages. It used to be fired at the document when the size of the page's scrollable area changed. It is now available only to Firefox user interface. You can restore the event for web pages by setting the layout.scrolled-area-changed.content.enabled preference to true. (Firefox bug 2079865).

WebDriver conformance (WebDriver BiDi, Marionette)

WebDriver BiDi

  • Added machine-readable CDDL for all Firefox WebDriver BiDi vendor extensions (moz: commands, events, parameters, capabilities…). (Firefox bug 2057588).
  • Fixed the context field in the script.message event to return a correct browsing context id when sending the event from a preload script triggered by window.open. (Firefox bug 2079905).
  • Fixed the handling of Set-Cookie response headers so that \n separated values now show up as individual entries instead of a single merged value. Also applies to other "newline-merged" headers: proxy-authenticate and www-authenticate. (Firefox bug 1940389).
  • Updated network events monitoring to stop computing unused security details, which could have visible impacts on the performance, e.g., during a page load. (Firefox bug 2075175).
  • Updated the script.evaluate and script.callFunction commands to stop clearing a pre-existing user activation flag when called with userActivation: false. (Firefox bug 2084107).

Changes for add-on developers

  • runtime.PlatformInfo now returns arch as arm64 for ARM64 platforms. Previously, it returned aarch64. This aligns the value returned by Firefox for ARM64 platforms with Chrome. (Firefox bug 2080310).

Experimental web features

These features are shipping in Firefox 160 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.

  • Render blocking: dom.element.blocking.enabled

    The blocking="render" attribute and value is now supported for the <link>, <script>, and <style> HTML elements. This allows for rendering to be blocked until the element's stylesheet has loaded or its script has run, including for elements that don't block rendering by default, such as scripts and stylesheets added with JavaScript. (Firefox bug 1751383).

  • Lazy loading for video and audio: media.lazy_loading.enabled

    The loading attribute of the <video> and <audio> elements, and the HTMLMediaElement.loading property that reflects it, are now supported. With loading="lazy", the browser defers loading the media, loading the video's poster image, and starting autoplay playback until the element is near the viewport. (Firefox bug 2005072).

  • Speculation rules: Speculation-Rules header: dom.speculation_rules.enabled

    Support for the Speculation-Rules HTTP response header is enabled by default in Nightly. It lists the URLs of external files containing speculation rules, as an alternative to an inline <script type="speculationrules"> element. The header applies to top-level documents only, and each file must be served with the application/speculationrules+json MIME type. (Firefox bug 2020709).

  • CSSNumericValue arithmetic methods: layout.css.typed-om.enabled

    The add(), sub(), mul(), and div() methods of the CSSNumericValue interface in the CSS Typed Object Model API are now supported in Nightly. They add, subtract, multiply, or divide numeric values, respectively; for example, CSS.px(10).add(CSS.px(5)) adds two pixel values. The result is a CSSUnitValue (15px in this example) when it can be simplified to a single unit, or a math expression such as a CSSMathSum when it can't be simplified (for example, when adding px to %). (Firefox bug 2081689).

  • Canvas 2D color space: gfx.canvas.colorspace.enabled

    The colorSpace option of HTMLCanvasElement.getContext() and OffscreenCanvas.getContext() is now supported for 2d contexts. CanvasRenderingContext2D.getContextAttributes() returns the selected color space. Image data also has a color space: the ImageData.colorSpace property returns it. The colorSpace setting of the ImageData() constructor and the createImageData() and getImageData() methods sets it. The supported values are "srgb" and "display-p3". Pixel data isn't converted between color spaces yet, so getImageData() returns the same pixels whichever color space is requested. (Firefox bug 1841326).