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
list
attribute is supported in<input>
elements withtype="color"
on Windows and Linux (Firefox bug 960984). - The
@page
at-rule now supports named pages, which allows a user to create page breaks for specific selectors using thepage
property (Firefox bug 1787947)
JavaScript
-
Serialization of native Error types now includes the
stack
property 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
midi
permission 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). ReadableStream
now supports asynchronous iteration over the chunks in a stream using thefor await...of
syntax (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 thesendEncodings
option in theinit
parameter object, andactive
can 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
CSSContainerRule
is supported, allowing JavaScript to access the name and query used in an@container
at-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 theblur
event 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.captureScreenshot
command to capture full page screenshots (Firefox bug 1800086). - Added support for serialization and deserialization of generic platform objects (Firefox bug 1792524), and for
NodeList
andHTMLCollection
platform objects (Firefox bug 1802284). - Added a
timestamp
field to thebrowsingContext.domContentLoaded
andbrowsingContext.load
events (Firefox bug 1790378). - Added a
type
field to the response forscript.evaluate
andscript.callFunction
to indicate eithersuccess
orexception
results (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.filterResponseData
for more information on using this permission (Firefox bug 1809235). - The
defaultZoomFactor
property oftabs.ZoomSettings
now 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