Firefox 117 for developers
This article provides information about the changes in Firefox 117 that affect developers. Firefox 117 was released on August 29, 2023.
Changes for web developers
HTML
No notable changes.
CSS
- The CSS Nesting module is now supported in Firefox, along with the
&
nesting selector. This allows developers to write nested CSS, which helps with the readability, modularity, and maintainability of CSS stylesheets. It also potentially helps reduce CSS file size, decreasing download sizes. (Firefox bug 1835066, Firefox bug 1840781) - The
math-style
andmath-depth
properties are now supported, as well as themath
value for thefont-size
property (Firefox bug 1845516). -
The
contain-intrinsic-size: auto none
syntax is now supported, which allows for using the last-remembered size of an element if possible and falls back tocontain-intrinsic-size: none
otherwise. This is useful for grid and multi-column layouts to allow elements to be laid out as though they have no contents instead of 0px height (Firefox bug 1835813).
JavaScript
No notable changes.
SVG
-
Inline SVGs now support
<script>
elements withtype="module"
,defer
, andasync
attributes. This allows SVGs to use modern JavaScript features, including ES modules, and to load scripts asynchronously (Firefox bug 1839954).
HTTP
-
Fixed a bug where the Content-Security-Policy
'strict-dynamic'
source expression was not being enforced indefault-src
directives. The behavior now matches the specification wheredefault-src
directive values are used as a fallback whenscript-src
is not provided (Firefox bug 1313937). -
The
Range
header is now a CORS-safelisted request header when the value is a single byte range (e.g.,bytes=100-200
). This allows theRange
header to be used in cross-origin requests without triggering a preflight request, which is useful for requesting media and resuming downloads (Firefox bug 1733981).
APIs
- The
CanvasRenderingContext2D.getContextAttributes()
method can now be used to get the 2D context attributes being used by the browser (Firefox bug 1517786). - The
ReadableStream.from()
static member is now supported, allowing developers to construct a readable stream from any iterable or async iterable object (Firefox bug 1772772). -
WebRTC Encoded Transforms are now supported, allowing web applications to modify incoming and outgoing WebRTC encoded video and audio frames using a
TransformStream
running in a worker. The supported interfaces include:RTCRtpScriptTransform
,RTCRtpScriptTransformer
,RTCRtpSender.transform
,RTCRtpReceiver.transform
,RTCEncodedVideoFrame
, andRTCEncodedAudioFrame
, and theRTCTransformEvent
and workerrtctransform
event (Firefox bug 1631263). CSSStyleRule
now inherits fromCSSGroupingRule
instead of directly fromCSSRule
. As a result, it additionally implements the propertycssRules
and the methodsdeleteRule()
andinsertRule()
(Firefox bug 1846251).
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- Added the
browser.close
command that allows users to terminate all WebDriver sessions and close the browser (Firefox bug 1829334). - Added the
browsingContext.setViewport
command that allows users to change the dimensions of a top level browsing context (Firefox bug 1838664). - Added the
browsingContext.fragmentNavigated
event which is emitted for same-document navigations (Firefox bug 1841039). - Added support for the
background
argument of thebrowsingContext.create
command, which will force the new context to be created in the background. This argument is optional and defaults tofalse
, meaning thatbrowsingContext.create
now opens new contexts in the foreground by default (Firefox bug 1843507). - Added support for the
clip
argument of thebrowsingContext.captureScreenshot
command, which allows to restrict the screenshot either to a specific area or to an element. When clipping to an element, you can optionally scroll the element into view before taking the screenshot (Firefox bug 1840998). - All commands and events related to a navigation will now provide a
navigation
id, which is aUUID
identifying a specific navigation. This property is available in thebrowsingContext.navigate
response, in thebrowsingContext.load
,browsingContext.domContentLoaded
,browsingContext.fragmentNavigated
events, as well as in allnetwork
events created for a navigation request (Firefox bug 1763122, Firefox bug 1789484, Firefox bug 1805405). headers
andcookies
innetwork
events are now serialized asnetwork.BytesValue
, which will provide a better support for non-UTF8 values (Firefox bug 1842619).- The
browsingContext.create
command will now wait until the created context has a valid size (Firefox bug 1847044).
Developer tools
- The Network Monitor now shows information about proxied requests, including the proxy address, the proxy status, and the proxy HTTP version in the Headers tab (Firefox bug 1707192).
- The area selected by the Measuring Tool can now be resized and moved using keyboard shortcuts. Pressing the arrow keys moves the selected area, while pressing Ctrl + arrow keys (or Cmd + arrow keys on a Mac) resizes the selected area. Holding down the Shift key accelerates the moving and resizing actions when using these key combinations (Firefox bug 1262782).
- Properties that are not supported in highlight pseudo-elements (
::highlight()
,::target-text
,::spelling-error
,::grammar-error
, and::selection
) are now reported in the Page Inspector CSS rules panel (Firefox bug 1842157).
Older versions
- 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
- 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