Firefox 97 release notes for developers
This article provides information about the changes in Firefox 97 that affect developers. Firefox 97 was released on February 8, 2022.
Changes for web developers
>HTML
No notable changes
CSS
-
The CSS units
capandicare now supported for use with<length>and<length-percentage>data types. For more information, see Firefox bug 1702924 and Firefox bug 1531223. -
The CSS property
color-adjusthas been renamed toprint-color-adjustto match the relevant specification. Thecolor-adjustshorthand name is deprecated. See Firefox bug 747595 for details. -
CSS cascade layers are now available by default. The
@layerrule declares a cascade layer, which allows declaration of styles and can be imported via the@importrule using thelayer()function. See Firefox bug 1699217 for more details. -
The global CSS keyword
revert-layerhas been added to allow rolling back of property values in one cascade layer to the matching rules in the previous cascade layer. This keyword can be applied on any property, including the CSS shorthand propertyall. For more information, see Firefox bug 1699220. -
The CSS
scrollbar-gutterproperty is now supported. This gives developers control over reserved space for the scrollbar, preventing unwanted layout changes as the content grows. See Firefox bug 1715112 for more details.
JavaScript
No notable changes
SVG
- The SVG
dattribute, used to define a path to be drawn, can now be used as a property in CSS. It accepts the values path() ornone. (See Firefox bug 1744599 for details.)
Removals
- A number of
SVGPathSegAPIs are now disabled by default behind a preference, and are expected to be removed in future revisions. This includes:SVGPathSegList, SVGPathElement.getPathSegAtLength(),SVGAnimatedPathData. (See Firefox bug 1388931 for more details.)
APIs
AnimationFrameProvideris now available in aDedicatedWorkerGlobalScope. This means therequestAnimationFrameandcancelAnimationFramemethods can be used within a dedicated worker. (See Firefox bug 1388931 for more details.)
DOM
- The reason for an abort signal can now be set using
AbortController.abort()(orAbortSignal.abort()), and will be available in theAbortSignal.reasonproperty. This reason defaults to being an "AbortError"DOMException. The reason can be thrown or handled via promise rejection as appropriate. (Firefox bug 1737771). - The convenience method
AbortSignal.throwIfAborted()can be used to check if a signal has been aborted, and if so throw theAbortSignal.reason(). This makes it easier for developers to handle abort signals in code where you can't simply pass the signal to an abortable method. (Firefox bug 1745372).
WebDriver conformance (Marionette)
Marionette:Quitaccepts a new boolean parameter,safeMode, to restart Firefox in safe mode (Firefox bug 1144075).- Improved stability for
WebDriver:NewSessionandWebDriver:NewWindowwhen waiting for the current or initial document to be loaded (Firefox bug 1739369, Firefox bug 1747359).
Changes for add-on developers
cookieStoreIdintabs.querysupports an array of strings. This enables queries to match tabs against more than one cookie store ID (Firefox bug 1730931).cookieStoreIdadded tocontentScripts.register. This enables extensions to register container-specific content scripts (Firefox bug 1470651).