Firefox 105 for developers
This article provides information about the changes in Firefox 105 that affect developers. Firefox 105 was released on September 20, 2022.
Changes for web developers
>HTML
No notable changes.
CSS
- Embedded content, such as SVG definitions and content in an
<iframe>
, now respects the theme preferences of the elements in which it is embedded, rather than OS or browser preferences (which may be different). Specifically, embedded content now inherits thecolor-scheme
of the embedding element, andprefers-color-scheme
media queries in the embedded content respect this value rather than the OS/browser level theme setting (Firefox bug 1779457).
JavaScript
- Range restrictions have been relaxed on
formatRange
andselectRange
functions forIntl.DateTimeFormat
,Intl.NumberFormat
, andIntl.PluralRules
objects. This change now allows negative ranges (Firefox bug 1780545).
APIs
DOM
-
The TextDecoderStream and TextEncoderStream interfaces, part of the Encoding API, are now supported (Firefox bug 1486949).
-
The OffscreenCanvas API provides a canvas that can be rendered off-screen in both window and web worker contexts. This allows
<canvas>
elements to be decoupled from the DOM. The OffscreenCanvasRenderingContext2D interface provides support for this and is now enabled by default (Firefox bug 1779009). -
The CSS Font Loading API can now be used in worker threads (Firefox bug 1072107).
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
-
On systems with IPv6 preferred DNS resolution clients will no longer fail to connect when
localhost
is used as host for the WebSocket server (Firefox bug 1769994). -
Improved
RemoteValue
support to allow plain JS objects with simple JSON-serializable fields to be serialized (Firefox bug 1779226).
Marionette
- The
WebDriver:GetElementProperty
command is now able to return node properties as set by web content (Firefox bug 1398792).
Changes for add-on developers
- Support for defining persistent scripts using
scripting
has been added. A script is identified as persistent using thepersistAcrossSessions
property inscripting.RegisteredContentScript
(Firefox bug 1751436). - An extension's resources can no longer be loaded by other extensions by default. To enable other extensions to load resources they must be listed in the extension's
web_accessible_resources
manifest key (Firefox bug 1711168).