Firefox 109 release notes for developers
This article provides information about the changes in Firefox 109 that will affect developers. Firefox 109 was released on January 17, 2023.
Changes for web developers
>HTML
- The range element supports the
listattribute, which links via an id to a<datalist>to allow Firefox to display tick marks along the range.
CSS
- The
<system-color>CSS data type now supports the valuesMark,MarkText, andButtonBorder(Firefox bug 1638052).
JavaScript
No notable changes.
SVG
Removals
-
SVGGraphicsElement.getTransformToElement()has been removed. This follows its removal from the SVG2 specification in 2015, and from other major browsers. (Firefox bug 1803790). -
The
SVGGraphicsElement.nearestViewportElementandSVGGraphicsElement.farthestViewportElementattributes have been disabled by default in nightly and early beta builds (behind preferencesvg.nearestAndFarthestViewportElement.enabled).SVGElement.viewportElementcan be used as an alternative toSVGGraphicsElement.nearestViewportElement. They have been removed from the SVG2 specification and are likely to be removed entirely from Firefox in a future release. (Firefox bug 1133174).
HTTP
- The
'unsafe-hashes'value forContent-Security-Policysource directives is now supported. For more information, see CSP unsafe-hashes (Firefox bug 1343950).
APIs
DOM
- The
scrollendevents are now supported, which indicate that the user has completed scrolling inElementandDocumentobjects. For more information, see Element:scrollendevent and Document:scrollendevent (Firefox bug 1797013, Firefox bug 1803435).
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- The connection details for WebDriver BiDi are now written to
WebDriverBiDiServer.jsoninstead ofWebDriverBiDiActivePort, which contains both the port (ws_port) and the host (ws_host). This file is located in the Firefox profile folder (Firefox bug 1792875). - Added support for subscribing / unsubscribing to individual
contextswhen usingsession.subscribeandsession.unsubscribe(Firefox bug 1723102). - Added support for serializing
Nodeobjects (Firefox bug 1770731). - Fixed the
columnNumberforexceptionsandstackTracesto be 0-based (Firefox bug 1796073).
Marionette
- Fixed a bug where
WebDriver:NewWindowandWebDriver:SwitchToWindowwere not focusing the new window properly (Firefox bug 1798655). - Fixed a bug where
WebDriver:FindElement(and similar commands) would fail if the Firefox window was occluded by other applications on Windows (Firefox bug 1802473).
Changes for add-on developers
-
Manifest V3 is now supported with the ability to sign and release Manifest V3 extensions on AMO. See the Manifest v3 signing available November 21 on Firefox Nightly blog post for more information. The following preview features are now fully available:
- The
scriptingAPI, although this has been available to Manifest V2 extensions from Firefox 102. - The
actionAPI, and"action"manifest key and_execute_actionspecial shortcut in the manifestcommandskey. - The
"host_permissions"manifest key.
- The
-
The default Content Security Policy (CSP) for Manifest V3 extensions has been updated to include
upgrade-insecure-requests. This means that, by default, all network requests are upgraded to usehttps:. Extensions that need to usehttp:can do so by overriding the default CSP using thecontent_security_policymanifest.json key (Firefox bug 1797086). -
The property
secretKeyLengthhas been added towebRequest.SecurityInfo. This property provides the length in bits of the secret key in the security properties of a web request (Firefox bug 1778473). -
With the introduction of the extensions button, the default value of
default_areain theactionandbrowser_actionmanifest keys has changed from"navbar"to"menupanel"(Firefox bug 1799947). -
Support for
omnibox.onDeleteSuggestionand thedeletableproperty inomnibox.SuggestResult, enabling extensions to react to a user deleting an address bar search result (Firefox bug 1799947). -
Support for the
topandleftparameters to determine positioning ofpanelorpopupwindow usingwindows.create()(Firefox bug 1271047).