Firefox 127 for developers

This article provides information about the changes in Firefox 127 that affect developers. Firefox 127 was released on June 11, 2024.

Changes for web developers

HTML

CSS

JavaScript

SVG

  • The lh and rlh line height units, first supported in CSS in Firefox 120, are now supported in SVG as well. They can be used both in CSS property values stroke-width: 0.5lh and SVG attributes values stroke-width="0.5lh". (Firefox bug 1892089).

Security

  • Firefox will now automatically upgrade requests for audio, video, and image subresources from HTTP to HTTPS in secure content, and block HTTP requests for other kinds of media. If an upgraded request fails because the media's host doesn't support HTTPS, the media is not found. This ensures that if content is served securely over HTTPS, then all its subresources are also served securely or not served at all. As pages no longer display mixed content, Firefox has also removed the icon to indicate when a page contains mixed-content, and the mixed-content console warning has been replaced with one that indicates when requests are upgraded. (Firefox bug 1779757).

APIs

WebDriver conformance (WebDriver BiDi, Marionette)

General

  • Fixed support for wheel actions in both WebDriver classic and BiDi to correctly handle modifiers such as ctrl, shift, etc. (Firefox bug 1885542).

WebDriver BiDi

  • Added the permissions.setPermission command which allows to update browser permissions (such as geolocation). The permissions module is an extension to the WebDriver BiDi specification defined in the Permissions specification (Firefox bug 1875065).
  • Added support for a11y attributes name and role as locators for the browsingContext.locateNodes command (Firefox bug 1885577).
  • Added support for the devicePixelRatio argument to browsingContext.setViewport which allows to emulate the behavior of the screens with different device pixel ratio (Firefox bug 1857961).
  • Improved browsingContext.navigate to avoid race conditions leading to wait unnecessarily before resolving the command (Firefox bug 1894305).

Marionette

  • Fixed WebDriver:ElementClear for elements located in a disabled fieldset (Firefox bug 1863266).
  • Fixed a bug where WebDriver:GetElementText failed to correctly capitalize text containing an underscore (Firefox bug 1888004).
  • Fixed a bug in WebDriver:SwitchToFrame which could fail if the tab was in the middle of a navigation (Firefox bug 1817820).

Changes for add-on developers

Experimental web features

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

  • Symmetrical spacing with CSS letter-spacing: layout.css.letter-spacing.model.

    The CSS letter-spacing property now splits the specified letter spacing evenly on both sides of each character. This is unlike the current behavior where spacing is added primarily to one side (Firefox bug 1891446).

  • calc() color channel support in relative colors: layout.css.relative-color-syntax.enabled.

    The CSS calc() function can now parse color channels in relative colors (Firefox bug 1889561).

  • JavaScript Float16Array typed array: javascript.options.experimental.float16array.

    Float16Array typed arrays are now supported, along with DataView.prototype.getFloat16() and DataView.prototype.setFloat16() for reading and setting Float16Array values from a DataView, and the Math.f16round() static method that can be used to round numbers to 16 bits. The new type is useful for sharing data with a GPU, in particular for use cases where it makes sense to trade off precision for memory consumption. (Firefox bug 1833647.)

Older versions