Back to Content

Firefox 127 release notes for developers

files/en-us/mozilla/firefox/releases/127/index.md

latest10.1 KB
Original Source

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

  • Firefox now installs extensions that specify the "split" value of the manifest.json "incognito" key. However, as Firefox doesn't support split mode and to preserve the integrity of incognito browsing "split" is treated as an alias of the "not_allowed" value (Firefox bug 1876924).
  • {{WebExtAPIRef("management.ExtensionInfo")}} now returns the install_type of "admin" when an add-on is installed using an enterprise policy (Firefox bug 1895341).
  • Addition of a filter parameter to {{WebExtAPIRef("declarativeNetRequest.getDynamicRules")}} and {{WebExtAPIRef("declarativeNetRequest.getSessionRules")}}, which enables the list of returned rules to be filtered by ID (Firefox bug 1820870).
  • host_permissions for Manifest V3 extensions are now displayed to users during installation (Firefox bug 1889402). However, if an extension update requests new host permissions, these are not shown to the user. See (Firefox bug 1893232).
  • Addition of the {{WebExtAPIRef("runtime.getContexts")}} function that returns information about the contexts associated with the extension (Firefox bug 1875480).
  • For Manifest V3 extensions, adds fall back to the user-defined shortcuts for the special _execute_browser_action command if there are no user-defined shortcuts for _execute_action. This enables extensions migrating from Manifest V2 to V3 to preserve any user-defined shortcuts for the browser action (Firefox bug 1797811).
  • Extensions with an embedded options page now support automatic switching to the dark theme based on user preferences (Firefox bug 1888866).

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 {{cssxref("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.

    {{jsxref("Float16Array")}} typed arrays are now supported, along with {{jsxref("DataView.prototype.getFloat16()")}} and {{jsxref("DataView.prototype.setFloat16()")}} for reading and setting Float16Array values from a {{jsxref("DataView")}}, and the {{jsxref("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.)