Back to Content

Firefox 103 release notes for developers

files/en-us/mozilla/firefox/releases/103/index.md

latest5.2 KB
Original Source

This article provides information about the changes in Firefox 103 that will affect developers. Firefox 103 was released on July 26, 2022.

Changes for web developers

HTML

Removals

  • Support for the <menuitem> element has been removed along with the dom.menuitem.enabled preference. For more details, see Bug 1372276.

MathML

Removals

  • The deprecated scriptminsize and scriptsizemultiplier attributes have been removed (Firefox bug 1772697).

CSS

  • The {{CSSxRef("backdrop-filter")}} property (which can be used to apply graphical effects such as blurring or color shifting to the area behind an element) is now available by default. It was earlier behind a preference setting (Firefox bug 1578503).
  • The {{CSSxRef("scroll-snap-stop")}} property is now available (Firefox bug 1312165). You can use this property's always and normal values to specify whether or not to pass the snap points, even when scrolling fast.
  • Support has been added for the {{CSSxRef(":modal")}} pseudo class. It selects all elements that are in a state in which they exclude all interaction with other elements until the interaction has been dismissed (Firefox bug 1768535).
  • The style value for the contain property is now supported. You can use this value for properties that can have effects on more than just an element and its descendants for effects don't escape the containing element. For more information, see (Firefox bug 1463600).

JavaScript

  • Native Error types can now be serialized using the structured clone algorithm. This includes {{JSxRef("Error")}}, {{JSxRef("EvalError")}}, {{JSxRef("RangeError")}}, {{JSxRef("ReferenceError")}}, {{JSxRef("SyntaxError")}}, {{JSxRef("TypeError")}}, {{JSxRef("URIError")}} and {{JSxRef("AggregateError")}}. Serialized properties include the name, message, cause, fileName, lineNumber and columnNumber. For {{JSxRef("AggregateError")}} the message, name, cause and errors properties are serialized. See Firefox bug 1556604 for more details.

APIs

  • ReadableStream, WritableStream, TransformStream are now Transferable objects, which means that ownership can be transferred when sharing the objects between a window and workers using postMessage, or when using {{DOMxRef("Window.structuredClone", "structuredClone()")}} to copy an object. After transferring, the original object cannot be used. See Firefox bug 1659025 for more details.

  • {{domxref("Window.caches")}}, {{domxref("WorkerGlobalScope.caches")}}, {{domxref("CacheStorage")}}, and {{domxref("Cache")}} now require a secure context; the properties/interfaces are not defined if used in an insecure context. Previously cache would return a CacheStorage that would throw an exception if used outside of a secure context. See Firefox bug 1112134 for more details.

WebDriver conformance (WebDriver BiDi, Marionette)

WebDriver BiDi

  • Added a preference to disable experimental BiDi commands and events remote.experimental.enabled (Firefox bug 1777951).
  • Added a script module with an experimental implementation of the evaluate command. Only available if remote.experimental.enabled is set to true (Firefox bug 1742979).
  • Added serialization support for collections with simple values and complex objects, used for instance for the event data of log.entryAdded or the return value of script.evaluate (Firefox bug 1770752).
  • Fixed an edge case for browsingContext.navigate when navigating to a cached image (Firefox bug 1763133).

Marionette

Changes for add-on developers

Removals

  • Removed the ServiceWorker API in WebExtensions ('serviceWorker' in navigator now returns false when run inside an extension) (Firefox bug 1593931).