Firefox 130 release notes for developers
This article provides information about the changes in Firefox 130 that affect developers. Firefox 130 was released on September 3, 2024.
Changes for web developers
>HTML
- The
nameattribute of the<details>element now allows the grouping of<details>elements, where only one element within a group can be open at a time. This allows you to create an exclusive accordion without using JavaScript (Firefox bug 1856460 and Firefox bug 1909613). - The
dirandlangglobal attributes now have improved inheritance, including how they work with shadow DOM (Firefox bug 1876163).
CSS
- The
hyphensCSS property is now properly supported for Czech and Slovak languages. Among other things, this ensures that words will no longer split on syllables (Firefox bug 1908931).
APIs
- The X25519 digital signature algorithm is supported by the Web Crypto API, and can be used in the
SubtleCryptomethods:deriveKey(),deriveBits(),generateKey(),importKey()andexportKey()(Firefox bug 1904836). - The Web Codecs API is supported on desktop releases, giving web developers low-level access to the individual frames of a video stream and chunks of audio. Android support is enabled in the Nightly release. The new interfaces include:
VideoEncoder,VideoDecoder,EncodedVideoChunk,VideoFrame,VideoColorSpace,AudioEncoder,EncodedAudioChunk,AudioData, andAudioDecoder. (Firefox bug 1908572).
Removals
WebGLRenderingContext.drawingBufferColorSpaceandWebGL2RenderingContext.drawingBufferColorSpacewere prematurely released (without an implementation) in Firefox 127, and have been removed (Firefox bug 1909559).
WebAssembly
General
- System add-ons are now completely disabled by default (Firefox bug 1904310).
- Fixed an issue with the internal prompt listener to correctly select the appropriate user prompt on Android (Firefox bug 1902264).
WebDriver BiDi
- Added support for the
browsingContext.navigationFailedevent, which is triggered when a navigation attempt fails to complete (Firefox bug 1846601). - The
network.setCacheBehaviorcommand now allows defining the network cache behavior both globally and for individual navigables simultaneously (Firefox bug 1905307). - The
network.responseCompletedandnetwork.fetchErrorevents are now emitted when the actual request stops, eliminating a race condition wherebrowsingContext.domContentLoadedandbrowsingContext.loadevents were emitted before thenetwork.responseCompletedevent (Firefox bug 1882803). - Data URLs (e.g., for background images or fetch requests) are now fully supported across all network events (Firefox bug 1904343).
- Fixed an issue where the
network.authRequiredevent was sent out multiple times with each call to thenetwork.continueWithAuthcommand (Firefox bug 1899711).
Marionette
- Fixed an issue in
WebDriver:ElementSendKeysso that it only scrolls the element into view if it is not already visible (Firefox bug 1906095).
Changes for add-on developers
- The
optionsparameter ofwebRequest.getSecurityInfois now optional (Firefox bug 1909474). runtime.getURL(and the deprecatedextension.getURL) now always prepended the extension origin to the path, without further normalization. Previously, when an absolute URL was provided, instead of a relatively URL, the absolute URL was returned. (Firefox bug 1795082).
Experimental web features
These features are newly shipped in Firefox 130 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.
-
Request video frame callback:
media.rvfc.enabled.The
requestVideoFrameCallback()method of theHTMLVideoElementinterface registers a callback function that runs when a new video frame is sent to the compositor. This enables developers to perform efficient operations on each video frame, such as video analysis, painting to a canvas, synchronization with external audio sources, and so on. The method returns a callback handle that can be passed toHTMLVideoElement.cancelVideoFrameCallback()in order to cancel the outstanding callback request. Both methods are enabled by default on the nightly build. (Firefox bug 1800882). -
CSP violation reports using the Reporting API:
dom.reporting.enabled.The Reporting API can be used for reporting Content Security Policy (CSP) violations. This includes support for
Reportobjects that have atypeproperty with the value"csp-violation"andbodyproperty that is an instance of theCSPViolationReportBodyinterface, thereport-todirective of theContent-Security-PolicyHTTP response header, and theReporting-EndpointsandReport-ToHTTP response headers. This feature is disabled by default. (Firefox bug 1391243).