Mozilla’s popular web browser Firefox has received a new update. Firefox reaches its 97.0 version, getting one step closer to Firefox 100 which might cause some troubles. The new version is distributed via automatic update inside Firefox and it is available to download from their website.
What is new in Firefox 97.0?
Looking through the user side, there are a few changes mostly related to the visuals of the browser. Firefox 97.0 brings the new scrollbar style of Windows 11; making it look integrated into the operating system in a better way. It brings six new colorway themes to choose from, but it also expires the colorway themes of Firefox 94.0. However, users who choose and use a colorway theme from Firefox 94.0 will be able to keep it forever.
There are some improvements for the macOS version as well. The performance problem with system font loading while opening or switching to new tabs in certain situations is now fixed. Firefox version 97.0 has several security patches for known flaws/bugs too, ranging from moderate severity to high severity vulnerabilities. You can see the full list of the security patches here.
Firefox 97.0 changes for web developers
- The CSS units cap and ic are now supported for use with <length> and <length-percentage> data types.
- The @scroll-timeline at-rule and animation-timeline property are now supported. This allows you to define an AnimationTimeline, of which time values are determined by scrolling progress within a scroll container and not by minutes or seconds. Once specified, a scroll timeline is associated with a CSS Animation by using the animation-timeline property.
- The CSS property color-adjust has been renamed to print-color-adjust to match the relevant specification. The color-adjust shorthand name is deprecated.
- CSS cascade layers are now available by default. The @layer rule declares a cascade layer, which allows declaration of styles and can be imported via the @import rule using the layer() function.
- The CSS scrollbar-gutter property is now supported. This gives developers control over reserved space for the scrollbar, preventing unwanted layout changes as the content grows.
- The SVG d attribute, used to define a path to be drawn, can now be used as a property in CSS. It accepts the values path() or none.
- A number of SVGPathSeg APIs are now disabled by default behind a preference, and are expected to be removed in future revisions. This includes: SVGPathSegList, SVGPathElement.getPathSegAtLength(), SVGAnimatedPathData.
- AnimationFrameProvider is now available in a DedicatedWorkerGlobalScope. This means the requestAnimationFrame and cancelAnimationFrame methods can be used within a dedicated worker.
- The reason for an abort signal can now be set using AbortController.abort() (or AbortSignal.abort()), and will be available in the AbortSignal.reason property. This reason defaults to being an “AbortError” DOMException. The reason can be thrown or handled via promise rejection as appropriate.
- The convenience method AbortSignal.throwIfAborted() can be used to check if a signal has been aborted, and if so throw the AbortSignal.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.
WebDriver conformance (Marionette)
- Marionette:Quit accepts a new boolean parameter, safeMode, to restart Firefox in safe mode.
- Improved stability for WebDriver:NewSession and WebDriver:NewWindow when waiting for the current or initial document to be loaded.
For add-on developers
- cookieStoreId in tabs.query supports an array of strings. This enables queries to match tabs against more than one cookie store ID.
- cookieStoreId added to contentScripts.register. This enables extensions to register container-specific content scripts.
Download Firefox 97.0
It is possible to perform a self-update via “About Firefox” window under Help menu for all versions. You can also go through Mozilla Firefox download webpages to download the latest version. Linux users might need to wait for a little for Firefox 97.0 to land their related repository if they decide to perform the update via updating tools of the operating system.