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
data:
andjavascript:
URLs are now forbidden in thehref
attribute of the<base>
element (Firefox bug 1850967).
CSS
- Using a
<color-interpolation-method>
is now supported in gradients created withconic-gradient()
,linear-gradient()
, andradial-gradient()
functions and therepeating-conic-gradient()
,repeating-linear-gradient()
, andrepeating-radial-gradient()
functions for repeating gradients (Firefox bug 1861363).
JavaScript
- The following
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.
SVG
- The
lh
andrlh
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 valuesstroke-width: 0.5lh
and SVG attributes valuesstroke-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
- The async Clipboard API is now fully supported. The
ClipboardItem
interface, along with theread()
andwrite()
methods of theClipboard
interface, have been enabled. (Firefox bug 1887845, Firefox bug 1858788). - All HTML character references are now supported in Web Video Text Tracks Format (WebVTT) cues, title text, comments, annotations, and so on. (Firefox bug 1395924).
WebGLRenderingContext.drawingBufferColorSpace
andWebGL2RenderingContext.drawingBufferColorSpace
are now supported. (Firefox bug 1885491).
WebDriver conformance (WebDriver BiDi, Marionette)
General
- Fixed support for
wheel
actions in both WebDriver classic and BiDi to correctly handle modifiers such asctrl
,shift
, etc. (Firefox bug 1885542).
WebDriver BiDi
- Added the
permissions.setPermission
command which allows to update browser permissions (such asgeolocation
). 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
androle
as locators for thebrowsingContext.locateNodes
command (Firefox bug 1885577). - Added support for the
devicePixelRatio
argument tobrowsingContext.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). management.ExtensionInfo
now returns theinstall_type
of"admin"
when an add-on is installed using an enterprise policy (Firefox bug 1895341).- Addition of a
filter
parameter todeclarativeNetRequest.getDynamicRules
anddeclarativeNetRequest.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
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).
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 CSSletter-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 CSScalc()
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 withDataView.prototype.getFloat16()
andDataView.prototype.setFloat16()
for reading and settingFloat16Array
values from aDataView
, and theMath.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
- Firefox 126 for developers
- Firefox 125 for developers
- Firefox 124 for developers
- Firefox 123 for developers
- Firefox 122 for developers
- Firefox 121 for developers
- Firefox 120 for developers
- Firefox 119 for developers
- Firefox 118 for developers
- Firefox 117 for developers
- Firefox 116 for developers
- Firefox 115 for developers
- Firefox 114 for developers
- Firefox 113 for developers
- Firefox 112 for developers
- Firefox 111 for developers
- Firefox 110 for developers
- Firefox 109 for developers
- Firefox 108 for developers
- Firefox 107 for developers
- Firefox 106 for developers
- Firefox 105 for developers
- Firefox 104 for developers
- Firefox 103 for developers
- Firefox 102 for developers
- Firefox 101 for developers
- Firefox 100 for developers
- Firefox 99 for developers
- Firefox 98 for developers
- Firefox 97 for developers
- Firefox 96 for developers