files/en-us/mozilla/firefox/releases/145/index.md
This article provides information about the changes in Firefox 145 that affect developers. Firefox 145 was released on November 11, 2025.
No notable changes.
The {{cssxref("text-autospace")}} property is now supported, allowing automatic spacing adjustments between characters from different scripts (Firefox bug 1981086, Firefox bug 1869577).
The math generic font family is now supported as a value of the font-family property, allowing mathematical expressions to use appropriate fonts.
(Firefox bug 1788937).
Separators can appear in {{htmlelement("select")}} menus since {{htmlelement("hr")}} in <select> was implemented.
These are now also supported in Firefox for Android. (Firefox bug 1867045, Firefox bug 1830909).
endpoints key is not yet supported (violations are logged to console).
(Firefox bug 1984973).source property will contain the element that triggered the popover.
(Firefox bug 1968987).style property on {{domxref("HTMLElement.style", "HTMLElement")}}, {{domxref("MathMLElement.style", "MathMLElement")}}, {{domxref("SVGElement.style", "SVGElement")}}, and {{domxref("CSSStyleRule.style", "CSSStyleRule")}}, and the {{domxref("Window.getComputedStyle()")}} method. Previously a {{domxref("CSSStyleDeclaration")}} instance was returned.
(Firefox bug 1989925){{domxref("RTCEncodedVideoFrame")}} and {{domxref("RTCEncodedAudioFrame")}} are now {{glossary("Serializable object", "serializable objects")}}, and {{domxref("RTCEncodedAudioFrame/RTCEncodedAudioFrame", "RTCEncodedAudioFrame()")}} and {{domxref("RTCEncodedVideoFrame/RTCEncodedVideoFrame", "RTCEncodedVideoFrame()")}} copy constructors are supported. These changes allow frames to be cloned, and to be shared between workers and the main thread. (Firefox bug 1868223 and Firefox bug 1975032).
The Matroska container (.mkv) is now supported for the most commonly-used codecs: AVC, HEVC, VP8, VP9, AV1, AAC, Opus, and Vorbis. (Firefox bug 1991752).
emulation.setUserAgentOverride command, which allows to override the user-agent string used by the browser either for a set of contexts, user contexts or globally. (Firefox bug 1987935).browsingContext.downloadEnd event, which is emitted when a download finishes (whether it is successful or canceled) (Firefox bug 1970293).destination property of the network.beforeRequestSent event to document for top-level navigations. (Firefox bug 1985552).browsingContext download events to reuse the same navigation id as the previous browsingContext.navigationStarted event. (Firefox bug 1986938).network.getData command, which would fail requests with an empty response body. (Firefox bug 1986025).network events could be flagged as blocked even if they were not. (Firefox bug 1989919).These features are shipping in Firefox 145 but are disabled by default.
To experiment with them, search for the appropriate preference on the about:config page and set it to true.
You can find more such features on the Experimental features page.
CSS anchor positioning (Nightly): layout.css.anchor-positioning.enabled
Nightly builds now support CSS anchor positioning by default, which allows you to tether elements together. The anchor-positioned elements can then have their size and position set relative to the size and location of the anchor elements to which they are bound. (General: Firefox bug 1988224, {{cssxref("position-area")}}: Firefox bug 1924086, custom {{cssxref("@position-try")}} fallbacks: Firefox bug 1962598).
CSS module scripts: (Nightly) and layout.css.module-scripts.enabled.
CSS module scripts are now supported, allowing a stylesheet to be loaded into a script as a {{domxref("CSSStyleSheet")}} instance using the import keyword and the type import attribute set to type="css". (Firefox bug 1720570).
text-decoration-trim: layout.css.text-decoration-trim.enabled
The CSS text-decoration-trim property is supported but currently disabled by default.
It allows you to specify {{cssxref("text-decoration")}} start and end offsets to shorten, lengthen, or shift the position of text decorations with respect to the text (Firefox bug 1979915).
Trusted Types API for scripts (Nightly/Early Beta): dom.security.trusted_types.enabled
The Trusted Types API is now enabled in early beta releases. (Firefox bug 1976656).
The changes include:
Addition of the {{domxref("TrustedTypePolicyFactory")}}, {{domxref("TrustedTypePolicy")}}, {{domxref("TrustedHTML")}}, {{domxref("TrustedScript")}}, {{domxref("TrustedScriptURL")}} interfaces, and the trustedTypes property on {{domxref("Window/trustedTypes", "Window")}} and {{domxref("WorkerGlobalScope/trustedTypes", "WorkerGlobalScope")}}.
TrustedHTML, TrustedScript, TrustedScriptURL to be passed as well as strings.require-trusted-types-for and trusted-types directives, and the 'trusted-types-eval' keyword, of the {{HTTPHeader("Content-Security-Policy")}} HTTP header.
These can be used to enforce trusted types instead of strings, name the specific policies that are allowed, and to enable eval() and similar functions to be used when Trusted Types are supported and enforced.Storage Access headers (Nightly): dom.storage_access.headers.enabled.
The {{httpheader("Sec-Fetch-Storage-Access")}} and {{httpheader("Activate-Storage-Access")}} HTTP headers are now supported, enabling a more efficient Storage Access API workflow. (Firefox bug 1991688).