Firefox 113 for developers
==========================

This article provides information about the changes in Firefox 113 that affect developers. Firefox 113 was released on May 09, 2023.

Changes for web developers
--------------------------

### HTML

No notable changes.

### CSS

* The `color()`, `lab()`, `lch()`, `oklab()`, `oklch()`, and `color-mix()` functional notations are now supported, along with the `forced-color-adjust` property.
 For more information on the functional notations, see the CSS color value documentation.
 (Firefox bug 1352753, Firefox bug 1813497, Firefox bug 1818819, Firefox bug 1824526).
* The `:nth-child of <selector>` syntax allows you to target a group of children based upon the `An+B` rule that also matches a defined selector.
 See (Firefox bug 1808229) for more details.
* The `scripting` media feature is now supported. See (Firefox bug 1166581) for more details.
* The `content` property now supports all image type including, `<gradient>`, `image-set()` and `url()`. See (Firefox bug 1684958) for more details. There is currently an issue with the `::before` and `::after` pseudo selectors that means that they don't paint `<gradient>`s. See (Firefox bug 1832901) for more details.
### JavaScript

No notable changes.

### APIs

* `CanvasRenderingContext2D.reset()` and `OffscreenCanvasRenderingContext2D.reset()` are now supported, and can be used to return the associated rendering context to its default state.
 (Firefox bug 1709347).
* The Compression Streams API is now supported.
 The interfaces provided by this API are used to compress and decompress data using the `gzip` and `deflate` formats (Firefox bug 1823619).
* The deprecated and non-standard `mozImageSmoothingEnabled` property is now disabled.
 See the `imageSmoothingEnabled` property for smoothing in scaled images (Firefox bug 1822955).

#### Media, WebRTC, and Web Audio

* The AV1 video codec is now enabled on Android. Hardware accelerated decoding is used if supported by the device (Firefox bug 1672276).
* The following WebRTC methods, properties, and dictionaries are now supported: `RTCRtpSender.getCapabilities()`, `RTCRtpReceiver.getCapabilities()`, `RTCRtpSender.setStreams()`, `RTCSctpTransport` & `RTCPeerConnection.sctp`, `RTCMediaSourceStats`, `RTCPeerConnection.connectionState`, and `RTCPeerConnectionStats`.
 The corresponding bug reports are, respectively: Firefox bug 1531460, Firefox bug 1531461, Firefox bug 1510802, Firefox bug 1278299, Firefox bug 1804678, Firefox bug 1265827, and Firefox bug 1531087.

#### Removals

* The deprecated and non-standard `CanvasRenderingContext2D.mozTextStyle` attribute was permanently removed. This was previously hidden behind a preference. (Firefox bug 1294362).
* The deprecated and non-standard attributes `mozRTCPeerConnection`, `mozRTCIceCandidate`, and `mozRTCSessionDescription` were permanently removed (Firefox bug 1531812).
### WebDriver conformance (WebDriver BiDi, Marionette)

#### WebDriver BiDi

* Added support for serializing `Node` objects within a Shadow DOM and the `shadowRoot` property on `Node` objects (Firefox bug 1802137).
* Added support for cached responses for the `network.responseStarted` and `network.responseCompleted` events (Firefox bug 1806802 and Firefox bug 1806794).
* Fixed an issue where the `browsingContext.domContentLoaded` and `browsingContext.load` events were missing for navigations using `document.open()` and `document.close()` (Firefox bug 1822772).
* Fixed an issue where the `script.callFunction` command was throwing an `invalid argument` error if an unknown object was passed as an argument, instead of the expected `no such handle` error (Firefox bug 1821039).

#### Marionette

* The `moz:useNonSpecCompliantPointerOrigin` capability is now deprecated and will be fully removed in Firefox 116 (Firefox bug 1824911).
* Implemented the `WebDriver:FindElementFromShadowRoot` and `WebDriver:FindElementsFromShadowRoot` commands (Firefox bug 1700095).
* Implemented the `WebDriver:GetComputedLabel` and `WebDriver:GetComputedRole` commands (Firefox bug 1585622).
* Added support for the `background` parameter of the `WebDriver:Print` command (Firefox bug 1783086).
* Added support for the `orientation` parameter of the `WebDriver:Print` command (Firefox bug 1791819).
* Fixed an issue with `DOMTokenList` instances, which are now returned as collections instead of arbitrary objects (Firefox bug 1823464).
Changes for add-on developers
-----------------------------

* When an extension registers multiple listeners for the same event, all the event listeners are called when the event page wakes up, instead of only the first one (Firefox bug 1798655).
* Support is now provided for the `declarativeNetRequest` API (Firefox bug 1782685).
* The `gecko_android` subkey has been added to the `browser_specific_settings` key. This subkey enables an extension to specify the range of Firefox for Android versions it is compatible with (Firefox bug 1824237).
Older versions
--------------

* Firefox 112 for developers
* Firefox 111 for developers
* Firefox 110 for developers
* Firefox 109 for developers
* 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