Firefox 144 release notes for developers (Stable)
This article provides information about the changes in Firefox 144 that affect developers. Firefox 144 was released on October 14, 2025.
Changes for web developers
>HTML
- The
commandandcommandforattributes of the<button>element are now supported. Thecommandattribute lets you define the action to perform, and thecommandforattribute lets you associate the button with another element that the command acts on. The command can be a predefined value such ascloseor a custom value defined by you. (Firefox bug 1983523).
MathML
Removals
- Support for the deprecated MathML STIXGeneral font has now been removed. The setting
mathml.stixgeneral_operator_stretching.disabledhas also been removed. (Firefox bug 1336058).
CSS
- CSS features for view transitions in single-page applications (SPAs) are now supported. This provides a way to style the parts of a view transition animation. (Firefox bug 1985809). These include:
:active-view-transitionpseudo-classview-transition-classpropertyview-transition-nameproperty::view-transitionpseudo-element::view-transition-group()pseudo-element::view-transition-image-pair()pseudo-element::view-transition-new()pseudo-element::view-transition-old()pseudo-element
JavaScript
- The
Map.prototype.getOrInsert(),Map.prototype.getOrInsertComputed(),WeakMap.prototype.getOrInsert(), andWeakMap.prototype.getOrInsertComputed()instance methods are now supported. All the methods return the value corresponding to a specified key if the key is present. If the key is not present,getOrInsert()inserts and returns an element for the key and a given default value, whilegetOrInsertComputed()inserts and returns a value computed in a supplied callback function. (Firefox bug 1979917).
APIs
- The
lock()andunlock()methods of theScreenOrientationinterface are now supported for Android and for Windows tablets. (Firefox bug 1983483). - The View Transition API is now supported for SPAs (single-page applications). This provides a mechanism for easily creating animated transitions between different website views. (Firefox bug 1985809).
- The
CSSStylePropertiesinterface of the CSS Object Model (CSSOM) is now implemented (this was renamed from a non-standard interfaceCSS2Properties). The new interface is present but not yet used. (Firefox bug 1919582). - The
interactionIdproperty of thePerformanceEventTiminginterface is a unique identifier that associates related events belonging to a single user interaction. This can be used to calculate the Interaction to next paint metric, which helps analyze responsiveness to user interaction over the lifetime of a page. (Firefox bug 1956809).
DOM
- The
moveBefore()method is now supported on theElement,DocumentFragmentandDocumentinterfaces. This allows moving of an immediate child element of the object, before another of its child elements. Unlike withNode.insertBefore(), moved elements retain their state. (Firefox bug 1983688).
Media, WebRTC, and Web Audio
- Cross-origin
<iframe>s now require either user interaction (sticky activation) or explicit permission to redirect the top-level page usingwindow.top.location. See Top navigation in cross-origin frames for more information. (Firefox bug 1419501). RTCDataChannelinstances are now transferrable objects, and hence can be passed to workers. (Firefox bug 1209163).- The
closingevent and theonclosing()event handler are now supported on theRTCDataChannelinterface. (Firefox bug 1611953). - The
getUserMedia()andgetDisplayMedia()methods of theMediaDevicesinterface now support theresizeModeconstraint. This constraint allows developers to request video that matches other constraints, such as resolution and frame rate, even if the requested constraints are not supported by the underlying hardware. The browser may then crop, downscale, or reduce the frame rate of the video captured from a camera, or downscale (but not crop) the video captured from a screen or window. (Firefox bug 1286945).
Removals
- The following deprecated and non-standard events have been removed:
afterscriptexecuteevent andbeforescriptexecuteevent of theDocumentinterface, and theafterscriptexecuteevent andbeforescriptexecuteevent of theElementinterface. (Firefox bug 1584269).
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
-
Implemented the new
browsingContext.downloadWillBeginevent, which is emitted when a new download is initiated, either by clicking a link with thedownloadattribute, or in response to a network request with aContent-Dispositionheader indicating a file attachment. (Firefox bug 1874365). -
Implemented the new
emulation.setScreenOrientationOverridecommand, which allows clients to emulate different screen orientations. This command is not limited to mobile devices, but also works for desktop applications. (Firefox bug 1974167). -
Implemented the new
emulation.setTimezoneOverridecommand, which allows clients to simulate a specific timezone setting. (Firefox bug 1978027). -
Enhanced the
emulation.setLocaleOverridecommand to also apply the specified settings to sandboxes previously created via WebDriver BiDi. (Firefox bug 1983807). -
Fixed a bug where the locale override set via
emulation.setLocaleOverridewas sometimes incorrectly shared between different browsing contexts within the same process. (Firefox bug 1980211). -
Enhanced the
browsingContext.navigatecommand to avoidNS_BINDING_ABORTEDerrors caused by redirects or interruptions occurring after the navigation was already committed. (Firefox bug 1914407).
Marionette
- Reverted the
Scroll Into ViewWebDriver algorithm as used by several WebDriver classic commands in Marionette to always use theinstantscroll behavior. This undoes the change introduced in Firefox 97, which had switched the behavior toauto. The reversion addresses potential race conditions when scrolling elements that usesmoothbehavior. (Firefox bug 1986238).
Changes for add-on developers
- Adds the ability to specify the style origin for CSS injections from
"content_scripts"manifest key, inscripting.registerContentScripts()with thecssOriginproperty onscripting.RegisteredContentScript, and thecssOriginproperty incontentScripts.register. The style origin can be"user", to add the CSS as a user stylesheet, or"author", to add it as an author stylesheet. Default, to the"author"origin. These properties are case-insensitive. In addition, the value of theoriginproperty ofscripting.insertCSS()is now case insensitive. (Firefox bug 1679997). - Adds support for
getBytesInUse()tostorage.localandstorage.managed. (Firefox bug 1385832).
Experimental web features
These features are shipping in Firefox 144 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.
-
datetime-local time picker:
dom.forms.datetime.timepicker.HTML datetime-local input elements (
<input type="datetime-local">) now includes a time picker. (Firefox bug 1726108).