Firefox 109 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
list
attribute, 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.nearestViewportElement
andSVGGraphicsElement.farthestViewportElement
attributes have been disabled by default in nightly and early beta builds (behind preferencesvg.nearestAndFarthestViewportElement.enabled
).SVGElement.viewportElement
can 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-Policy
source directives is now supported. For more information, see CSP unsafe-hashes (Firefox bug 1343950).
APIs
DOM
- The
scrollend
events are now supported, which indicate that the user has completed scrolling inElement
andDocument
objects. For more information, see Element:scrollend
event and Document:scrollend
event (Firefox bug 1797013, Firefox bug 1803435).
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- The connection details for WebDriver BiDi are now written to
WebDriverBiDiServer.json
instead 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
contexts
when usingsession.subscribe
andsession.unsubscribe
(Firefox bug 1723102). - Added support for serializing
Node
objects (Firefox bug 1770731). - Fixed the
columnNumber
forexceptions
andstackTraces
to be 0-based (Firefox bug 1796073).
Marionette
- Fixed a bug where
WebDriver:NewWindow
andWebDriver:SwitchToWindow
were 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
scripting
API, although this has been available to Manifest V2 extensions from Firefox 102. - The
action
API, and"action"
manifest key and_execute_action
special shortcut in the manifestcommands
key. - 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_policy
manifest.json key (Firefox bug 1797086). -
The property
secretKeyLength
has 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_area
in theaction
andbrowser_action
manifest keys has changed from"navbar"
to"menupanel"
(Firefox bug 1799947). -
Support for
omnibox.onDeleteSuggestion
and thedeletable
property inomnibox.SuggestResult
, enabling extensions to react to a user deleting an address bar search result (Firefox bug 1799947).
Older versions
- 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
- Firefox 78 for developers