Firefox 90 for developers

This article provides information about the changes in Firefox 90 that will affect developers. Firefox 90 was released on July 13th, 2021.

Note

See also Getting lively with Firefox 90 on Mozilla Hacks.

Changes for web developers

Developer Tools

HTML

  • A fix to the way that form payloads are handled around newline normalization and escaping in multipart/formdata. This meets the updated specification, and matches other browser implementations. (bug 1686765).
  • Firefox now sets an image's intrinsic size and resolution based on EXIF information (if present and self-consistent). This allows a server to, for example, send a low-quality placeholder image to speed up loading. It also enables a number of other use cases (bug 1680387).

CSS

JavaScript

HTTP

  • The HTTP fetch metadata request headers (Sec-Fetch-*) are now supported. These headers provide servers with additional context about requests, including whether they are same-origin, cross-origin, same-site, or user-intiated, and where/how the requested data is to be used. This allows servers to mitigate against several types of cross-origin attacks (bug 1695911).

Removals

APIs

DOM

WebDriver conformance (Marionette)

  • Marionette now restricts to a single active WebDriver session (bug 1691047).
  • Added support for the new type of user prompts in Firefox (bug 1686741)
  • Window handles make use of a unique id now, and don't change for process swaps as caused by cross-group navigations (bug 1680479).
  • Fixed an inappropriate abortion of the current WebDriver command when a new user prompt was opened in a background tab (bug 1701686).
  • Fixed the WebDriver:GetWindowHandles command to now correctly handle unloaded tabs (bug 1682062).
  • Fixed the WebDriver:NewSession command to always return the proxy capability even if empty (bug 1710935).

Removals

Changes for add-on developers

  • The matrix URI scheme is now supported and can be defined as a protocol within the protocol_handlers key in an extensions manifest.json
  • Starting with this version, the Cache API can be used in the extension pages and worker globals. For more details, see (bug 1575625).

Older versions