Firefox 112 for developers
==========================

This article provides information about the changes in Firefox 112 that affect developers. Firefox 112 was released on April 11, 2023.

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

### HTML

* The `HTMLElement` property **`inert`** is now fully enabled. It allows the browser to ignore content or interactive elements that are within an HTMLElement with the `inert` attribute. See Firefox bug 1764263 for more details.
### CSS

* The `overlay` keyword value for the `overflow` property is now supported as a legacy alias of the keyword value `auto` (Firefox bug 1817189).
* The `linear()` easing function is now supported.
 This defines easing functions that interpolate linearly between a set of points and is useful for approximating complex animations (Firefox bug 1819447, Firefox bug 1764126).
### JavaScript

No notable changes.

### APIs

* `navigator.getAutoplayPolicy()` is now supported, allowing developers to configure autoplay of media elements and audio contexts based on whether autoplay is allowed, disallowed, or only allowed if the audio is muted.
 See Firefox bug 1773551 for more details.
* Rounded rectangles can now be drawn in 2D canvases using `CanvasRenderingContext2D.roundRect()`, `Path2D.roundRect()` and `OffscreenCanvasRenderingContext2D.roundRect()`.
 See Firefox bug 1756175 for more details.
* The deprecated and non-standard `CanvasRenderingContext2D.mozTextStyle` attribute is now disabled by default (Firefox bug 1818409).

#### Removals

* Removes support for `IDBMutableFile`, `IDBFileRequest`, `IDBFileHandle`, and `IDBDatabase.createMutableFile()`.
 These interfaces are not present in any specification, have been behind a preference since version 102, and have been removed from the other main browser engines for some years.
 (Firefox bug 1500343.)
### WebDriver conformance (WebDriver BiDi, Marionette)

#### WebDriver BiDi

* Implemented the `browsingContext.print` command, which allows clients to request a rendered PDF document of the browsing context, represented as a Base64-encoded string. See Firefox bug 1806810 for more details.
* Implemented `script.addPreloadScript` and `script.removePreloadScript` commands, which let test clients inject a functionality that's guaranteed to be available for any content scripts that are subsequently loaded, and before any later scripts that WebDriver injects into the context. See Firefox bug 1806420 and Firefox bug 1806465 for more details.
* `Element` and `ShadowRoot` references as stored in the node cache can now be used in both Marionette and WebDriver BiDi by their exact same unique reference. See Firefox bug 1770733 for more details.
* Removed `isRedirect` from the network events base parameters (Firefox bug 1819875).

#### Marionette

* Fixed an issue where the payload of a response was not wrapped within a `value` field based on certain data type. (Firefox bug 1819029).
* Fixed an issue where `WebDriver:ElementClear` was emitting an extra `change` event for content editable elements (Firefox bug 1744925).
Changes for add-on developers
-----------------------------

* The properties `usedDelegatedCredentials`, `usedEch`, `usedOcsp`, and `usedPrivateDns` have been added to `webRequest.SecurityInfo`. These properties provide information about the security of the connection used for a web request (Firefox bug 1804460).
* The property `"type"` is supported in the `"background"` manifest key. Setting this key to `"module"` loads background scripts specified with `"scripts"` as ES modules, avoiding the need to switch to background pages to use ES modules (Firefox bug 1811443).
Older versions
--------------

* 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
* Firefox 81 for developers