Firefox 104 for developers
==========================

This article provides information about the changes in Firefox 104 that will affect developers. Firefox 104 was released on August 23, 2022.

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

### HTML

No notable changes.

### CSS

No notable changes.

### JavaScript

* The methods `Array.prototype.findLast()`, `Array.prototype.findLastIndex()`, `TypedArray.prototype.findLast()`, and `TypedArray.prototype.findLastIndex()` are now supported.
 These are used to find the value and index (respectively) of the last element in an `Array` or `TypedArray` that matches a supplied test function.
 (See Firefox bug 1775026 for more details.)
* Serialization of native Error types additionally includes the `stack` property when used with `window.postMessage()` and `structuredClone()` (on error types that include `stack`).
 The `stack` is not yet serialized when errors are sent using other APIs, such as `Worker.postMessage()`
 (See Firefox bug 1774866 for more details.)
### HTTP

No notable changes.

### Security

No notable changes.

### APIs

#### DOM

* `HTMLElement.focus()` now supports the parameter `option.focusVisible`, which can be used force a browser to display visual indication after the element is focused.
 Note that browsers may automatically provide visual indication on focused elements if the implementation determines that it will improve accessibility.
 (See Firefox bug 1765083 for more details.)

#### Canvas

* The `fontKerning` property is now supported on `CanvasRenderingContext2D` and `OffscreenCanvasRenderingContext2D`, enabling developers to specify how kerning is used when text is drawn to a canvas or an offscreen canvas (Firefox bug 1778908).

#### SVG

* The `SVGStyleElement.disabled` property can now be used to disable or enable an SVG style element, or to check its disabled state.
 This mirrors the behavior of `HTMLStyleElement.disabled`.
 (See Firefox bug 1712623 for more details.)

#### Removals

* The `options` argument to the `IDBFactory.open()` method has been removed.
 This option provided a non-standard, and Firefox-only way to make the indicated database persistent.
 The option was previously deprecated, and users that need this functionality should already have migrated to `StorageManager.persist()`.
 (See Firefox bug 1354500 for more details.)
### WebAssembly

No notable changes.

### WebDriver conformance (WebDriver BiDi, Marionette)

#### WebDriver BiDi

* Added support for `source` to the `log.entryAdded` event (Firefox bug 1770792).
* Updated the `url` sent for `browsingContext.contextCreated` events to be `about:blank` for newly opened browsing contexts (Firefox bug 1775141).

#### Marionette

* Improved stability and performance when minimizing or restoring windows on Linux (Firefox bug 1780212).
* Added support for `touch` actions (Firefox bug 1543337).
Changes for add-on developers
-----------------------------

No notable changes.

Older versions
--------------

* 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
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
* Firefox 74 for developers
* Firefox 73 for developers