files/en-us/mozilla/firefox/releases/127/index.md
This article provides information about the changes in Firefox 127 that affect developers. Firefox 127 was released on June 11, 2024.
data: and javascript: URLs are now forbidden in the href attribute of the <base> element (Firefox bug 1850967).<color-interpolation-method> is now supported in gradients created with conic-gradient(), linear-gradient(), and radial-gradient() functions and the repeating-conic-gradient(), repeating-linear-gradient(), and repeating-radial-gradient() functions for repeating gradients (Firefox bug 1861363).Set methods are now supported (Firefox bug 1868423):
Set.prototype.intersection() — Returns a new set containing elements in both this set and the given set.Set.prototype.union() — Returns a new set containing all elements in this set and the given set.Set.prototype.difference() — Returns a new set containing elements in this set but not in the given set.Set.prototype.symmetricDifference() — Returns a new set containing elements that are in either this set or the given set, but not in both.Set.prototype.isSubsetOf() — Returns a boolean indicating if all elements of this set are in the given set.Set.prototype.isSupersetOf() — Returns a boolean indicating if all elements of the given set are in this set.Set.prototype.isDisjointFrom() — Returns a boolean indicating if this set has no elements in common with the given set.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).read() and write() methods of the {{domxref('Clipboard')}} interface, have been enabled. (Firefox bug 1887845, Firefox bug 1858788).wheel actions in both WebDriver classic and BiDi to correctly handle modifiers such as ctrl, shift, etc. (Firefox bug 1885542).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).name and role as locators for the browsingContext.locateNodes command (Firefox bug 1885577).devicePixelRatio argument to browsingContext.setViewport which allows to emulate the behavior of the screens with different device pixel ratio (Firefox bug 1857961).browsingContext.navigate to avoid race conditions leading to wait unnecessarily before resolving the command (Firefox bug 1894305).WebDriver:ElementClear for elements located in a disabled fieldset (Firefox bug 1863266).WebDriver:GetElementText failed to correctly capitalize text containing an underscore (Firefox bug 1888004).WebDriver:SwitchToFrame which could fail if the tab was in the middle of a navigation (Firefox bug 1817820)."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).install_type of "admin" when an add-on is installed using an enterprise policy (Firefox bug 1895341).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)._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).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.)