Firefox 123 release notes for developers
This article provides information about the changes in Firefox 123 that affect developers. Firefox 123 was released on February 20, 2024.
Changes for web developers
>Developer Tools
>HTML
- The
<template>element now supports ashadowrootmodeattribute that allows declarative creation of a shadow DOM subtree. The attribute can be set to eitheropenorclosed, which expose or hide JavaScript in the shadow DOM from external code, respectively. These are the same values as themodeoption of theattachShadow()method. (Firefox bug 1870052)
CSS
No notable changes.
JavaScript
- The
Date.parse()global object has had a number of bug fixes to bring it into line with how other browsers parse the values being passed.- Incorrect day of month (e.g., "31 April") now skips over to the following month (e.g., "1 May"). (Firefox bug 1872333).
- Incomplete time zone (e.g., "1/1/70 gm") or AM/PM (e.g., "1/1/70 10:00 a") are no longer accepted. (Firefox bug 1870570).
- Single number dates are now accepted (e.g.,
Date.parse("0")now returns946684800000- Sat Jan 01 2000 00:00:00). (Firefox bug 1870434).
SVG
- The
<linearGradient>and<radialGradient>SVG elements now support changing the color space to belinearRGBorsRGBvia thecolor-interpolationattribute. This can also be applied to the SVG elements via thecolor-interpolationCSS property.
HTTP
- The
103 Early HintsHTTP informational response status code is now enabled for preloading resources that the page is likely to need while the server is still preparing the full response. This can significantly reduce page load time. Note that support for using the103 Early Hintsheader for preconnecting was added in Firefox 120. For more details see Firefox bug 1874445.
APIs
- The Web Authentication API now supports cross-origin credential creation.
Specifically
navigator.credentials.create({publicKey})can now be called in nested browsing contexts loaded from a different origin to the top-most document, if allowed by aFeature-Policy: publickey-credentials-createon the top level nesting<iframe>. (Firefox bug 1870863).
DOM
- Custom locale support for the IndexedDB API has been deprecated, including the
options.localeparameter toIDBObjectStore.createIndex(), and theIDBIndexpropertiesisAutoLocaleandlocale. (Firefox bug 1872675 and Firefox bug 1730706).
Media, WebRTC, and Web Audio
Removals
The IDBLocaleAwareKeyRange interface has been removed (Firefox bug 1730706).
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- Added the network.fetchError event that is emitted when a network request ends in an error (Firefox bug 1790375).
- Support for the browsingContext.locateNodes command has been introduced to find elements on the given page. Supported locators for now are
CssLocator(Firefox bug 1855023) andXPathLocator(Firefox bug 1869536). - Improved the browsingContext.create command on Android to seamlessly switch to opening a new tab if the
typeargument is specified aswindow(Firefox bug 1875086). - Fixed an issue with the deserialization process of a
DateRemoteValue, where the presence of a non-standard (ISO 8601) date string such as200009did not trigger an error (Firefox bug 1872116). - Fixed an issue with the script.evaluate, script.callFunction, and script.disown commands where specifying both the
contextandrealmarguments would result in aninvalid argumenterror, rather than simply ignoring therealmargument as intended (Firefox bug 1873688).
Marionette
- Fixed a bug with Element Send Keys where sending text containing surrogate pairs would fail (Firefox bug 1866431).
Changes for add-on developers
- Addition of the
contextualIdentities.movefunction enables items to be moved in the list of contextual identities. This function enables extensions to customize the order in which contextual identities display in the UI (Firefox bug 1333395).
Experimental web features
These features are newly shipped in Firefox 123 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.
-
Web Codecs API:
dom.media.webcodecs.enabled.The video interfaces of the Web Codecs API are supported on Linux desktop on Nightly. These include:
VideoEncoder,VideoDecoder,EncodedVideoChunk,VideoFrame,VideoColorSpace. (Firefox bug 1874445).