Firefox 86 for developers
=========================

This article provides information about the changes in Firefox 86 that will affect developers. Firefox 86 was released on February 23, 2021.

**Note:** See also A Fabulous February Firefox — 86! on Mozilla Hacks.

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

### Developer Tools

* The `cd()` web console helper function, which was deprecated in Firefox 74, has now been removed. The `<iframe>` context picker tool described in Working with iframes serves the same purpose, but is much better! For more information see Firefox bug 1607741.
* The different `margin` and `padding` shorthand and longhand properties are now marked as inactive on internal table elements because they have no effect on them. (Firefox bug 1551569).
* The `order` property was previously incorrectly marked as inactive for grid items. This got fixed in Firefox bug 1579017.
### HTML

*No changes.*

### SVG

* SVG filters can now use the `<feComposite>` element with the `lighter` operator (Firefox bug 1518099). This operator sums the pixels of two source graphics.
### CSS

* The `:autofill` pseudo-class is now enabled, with `-webkit-autofill` as an alias (Firefox bug 1685675) and (Firefox bug 1475316).
* The `list-style-image` property now accepts any valid `<image>` (Firefox bug 1685078).
### JavaScript

* The `Intl.DisplayNames` built-in object has been enabled by default. This enables the consistent translation of language, region, and script display names:

```js
// Get English currency code display names
let currencyNames = new Intl.DisplayNames(["en"], { type: "currency" });
// Get currency names
currencyNames.of("USD"); // "US Dollar"
currencyNames.of("EUR"); // "Euro"
```

For more information see Firefox bug 1654116.
### APIs

#### DOM

* `Window.name` is now reset to an empty string if a tab loads a page from a different domain, and restored if the original page is reloaded (e.g. by selecting the "back" button). This prevents an untrusted page from accessing any information that the previous page might have stored in the property (potentially the new page might also modify such data, which might then be read by the original page if it was reloaded). For more information see Firefox bug 1685089.
* `EventTarget.addEventListener()` now supports the `signal` option. This option allows an `AbortSignal` to be passed to the method. The `AbortSignal` can later be used to remove the listener by calling `abort()`. For more information see Firefox bug 1679204.
### WebDriver conformance (Marionette)

* Updated `WebDriver:ElementClick` to synthesize a `mousemove` event before the actual `click` event (Firefox bug 1684002).

#### Known bugs

* WebDriver commands following a call to `WebDriver:SwitchToFrame` can fail with a "no such window" error
 if the frame's content hasn't yet finished loading (Firefox bug 1691348).
* After a cross-group page navigation, accessing a previously-retrieved element might not always raise a "stale element" error, and
 can also lead to a "no such element" error. To prevent this, set the `marionette.actors.enabled`
 preference to `false` (Firefox bug 1690308).

#### Removals

* Removed support for the deprecated `Marionette:ActionChain` and `Marionette:MultiAction` commands (Firefox bug 1683755).
Changes for add-on developers
-----------------------------

* Host permissions now grant access to privileged parts of the tabs API (Firefox bug 1679688).
* `focused: false` is now ignored when set as an option in a `windows.create()` call (Firefox bug 1253129).
* `identity.getRedirectURL` now supports a loopback address, see Getting the redirect URL for details (Firefox bug 1614919).
* The page ID is now returned as part of `history.onTitleChanged` (Firefox bug 1678611).
Older versions
--------------

* 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
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
* Firefox 74 for developers
* Firefox 73 for developers
* Firefox 72 for developers
* Firefox 71 for developers
* Firefox 70 for developers
* Firefox 69 for developers
* Firefox 68 for developers
* Firefox 67 for developers
* Firefox 66 for developers
* Firefox 65 for developers
* Firefox 64 for developers
* Firefox 63 for developers
* Firefox 62 for developers
* Firefox 61 for developers
* Firefox 60 for developers
* Firefox 59 for developers
* Firefox 58 for developers
* Firefox 57 for developers
* Firefox 56 for developers
* Firefox 55 for developers