Firefox 110 for developers
This article provides information about the changes in Firefox 110 that will affect developers. Firefox 110 was released on February 14, 2023.
Changes for web developers
HTML
No notable changes.
CSS
- Container queries and container query length units are now supported by default. For more information on these queries and the related units of length, see the CSS Container Queries documentation (Firefox bug 1809720).
- The color-gamut media query is now supported (Firefox bug 1422237).
- The
listattribute is supported in<input>elements withtype="color"on Windows and Linux (Firefox bug 960984). - The
@pageat-rule now supports named pages, which allows a user to create page breaks for specific selectors using thepageproperty (Firefox bug 1787947)
JavaScript
-
Serialization of native Error types now includes the
stackproperty in workers when usingWorker.postMessage()andstructuredClone(). With this addition, cloning native error stacks now works for all methods that use the structured clone algorithm, in both the main thread and workers. (See Firefox bug 1774866 for more details.)
APIs
-
The
midipermission of the Permission API is now supported. This allows the permission status for using the Web MIDI API to be queried usingnavigator.permissions.query()(Firefox bug 1772166). ReadableStreamnow supports asynchronous iteration over the chunks in a stream using thefor await...ofsyntax (Firefox bug 1734244).-
WebRTC now supports sending the set of available encodings when adding a transceiver to a peer connection, and also getting the active encoding associated with a sender.
Specifically,
RTCPeerConnection.addTransceiver()now supports using thesendEncodingsoption in theinitparameter object, andRTCRtpEncodingParameters.activecan be used to determine whether or not the encoding is being used to send data. (See Firefox bug 1676855 for more details.) - WebRTC methods
RTCRtpSender.getParameters(),RTCRtpSender.setParameters(), andRTCRtpReceiver.getParameters()are now compliant with the specification (Firefox bug 1401592).
DOM
CSSContainerRuleis supported, allowing JavaScript to access the name and query used in an@containerat-rule definition (Firefox bug 1787173).-
Elements now lose focus if a style is applied that makes them ineligible to hold focus, such as
hidden, and theblurevent is fired. Focus then moves to the viewport. Previously focus would remain with the element. (See Firefox bug 1810077 for more details.)
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- Added support for the
network.beforeRequestSent(Firefox bug 1790368), thenetwork.responseStarted(Firefox bug 1790370), and thenetwork.responseCompleted(Firefox bug 1790372) events. - Added support for the
browsingContext.captureScreenshotcommand to capture full page screenshots (Firefox bug 1800086). - Added support for serialization and deserialization of generic platform objects (Firefox bug 1792524), and for
NodeListandHTMLCollectionplatform objects (Firefox bug 1802284). - Added a
timestampfield to thebrowsingContext.domContentLoadedandbrowsingContext.loadevents (Firefox bug 1790378). - Added a
typefield to the response forscript.evaluateandscript.callFunctionto indicate eithersuccessorexceptionresults (Firefox bug 1803599).
Marionette
- The cache for known nodes (element and shadow root references) has been moved from the parent to the web content process following recent WebDriver classic changes (Firefox bug 1692468).
- Improved the JSON serialization and deserialization algorithms to be compliant with the WebDriver classic specification (Firefox bug 1794078).
Changes for add-on developers
- Added the
"webRequestFilterResponse"API permission. This permission provides access towebRequest.filterResponseData. This permission can be provided as an optional permission. SeewebRequest.filterResponseDatafor more information on using this permission (Firefox bug 1809235). - The
defaultZoomFactorproperty oftabs.ZoomSettingsnow returns the value of the default zoom factor setting (Firefox bug 1772166)
Older versions
- 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
- Firefox 95 for developers
- Firefox 94 for developers
- Firefox 93 for developers
- Firefox 92 for developers
- Firefox 91 for developers
- Firefox 90 for developers
- Firefox 89 for developers
- Firefox 88 for developers
- Firefox 87 for developers
- Firefox 86 for developers
- Firefox 85 for developers
- Firefox 84 for developers
- Firefox 83 for developers
- Firefox 82 for developers
- Firefox 81 for developers
- Firefox 80 for developers
- Firefox 79 for developers