Firefox 131 for developers

This article provides information about the changes in Firefox 131 that affect developers. Firefox 131 was released on October 1, 2024.

Changes for web developers

CSS

JavaScript

HTTP

  • A Set-Cookie HTTP header with the attribute value of SameSite=None must now also include the Secure attribute. This ensures that cookies set with SameSite=None are only ever sent over HTTPS channels. In addition, since Firefox interprets an unspecified SameSite value as SameSite=None, cookies that don't specify SameSite will have the same restriction. (Firefox bug 1909673).
  • Cookies Having Independent Partitioned State (CHIPS), or "partitioned cookies", are now supported. This feature allows developers to opt a cookie into partitioned storage using the partitioned directive of the Set-Cookie HTTP header. When set, cookies have separate storage for each top-level site and can only be read within the same top-level site they were set on and its subdomains. This blocks cross-site tracking while still enabling legitimate uses of third-party cookies, such as persisting state of embedded maps or chat widgets across different subdomains of a site. (Firefox bug 1908160).

APIs

  • The altitudeAngle and azimuthAngle properties of the PointerEvent interface are now supported. These provide the angle between the pointer/stylus and the screen (X-Y plane), and the rotation of the stylus over the screen relative to its x-axis, respectively. (Firefox bug 1656377).
  • Text fragments are now supported, allowing users to link to and highlight specific portions of text in a web page. This feature uses a particular syntax in the URL fragment that identifies the target based on patterns in the rendered text. Developers can now also use the existence of the Document.fragmentDirective property (an instance of the FragmentDirective interface) to feature-check for text fragment support. Additionally, the ::target-text pseudo-element can be used to select and style text that has been selected using a text fragment link. (Firefox bug 1914877)
  • The caretPositionFromPoint() method of the Document interface has been updated to return the text node and offset for a caret position within a shadow DOM, provided the shadow root corresponding to the point has been supplied to the method. ShadowRoot objects can be passed to the method using the shadowRoots property of the newly added options argument. (Firefox bug 1914596).

WebAssembly

WebDriver conformance (WebDriver BiDi, Marionette)

General

  • For both WebDriver Classic and BiDi, the keyUp and keyDown actions will no longer accept multiple characters for the value. (Firefox bug 1910352).

WebDriver BiDi

  • Added support for remaining arguments of the network.continueResponse command:
  • The browsingContext.navigate command will now return if the wait argument is none and a beforeunload prompt is triggered. (Firefox bug 1763134).
  • The browsingContext.navigate command will return an unknown error in all cases where a navigation failure occurs, as required by the specification. (Firefox bug 1905083).
  • The session.new command will no longer include the unhandledPromptBehavior capability in its response if it was not specified by the client as an argument. (Firefox bug 1909455).

Changes for add-on developers

Experimental web features

These features are newly shipped in Firefox 131 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.

  • Regular expression (?ims-ims:...) modifiers: javascript.options.experimental.regexp_modifiers.

    The (?ims-ims:...) regular expression modifiers allow you to make changes that take effect only in a specific part of a regex pattern. (Firefox bug 1899813).

  • Permissions for microphone and camera: permissions.media.query.enabled.

    The microphone and camera permissions can now be used in the Permissions.query() method to test whether access to the corresponding hardware has been granted, denied, or still requires user approval. (Firefox bug 1609427 and Firefox bug 1915222).

Older versions