Firefox 142 release notes for developers
This article provides information about the changes in Firefox 142 that affect developers. Firefox 142 was released on August 19, 2025.
Changes for web developers
>HTML
Removals
- The
<object>element no longer supports the deprecatedcodebaseattribute. Use thedataattribute instead. (See Firefox bug 1973900 for more details.)
CSS
- The
&selector inside@scopeno longer inherits the specificity of the scope start selector. This makes&selectors in@scopeconsistent with CSS nesting, avoiding unexpected specificity differences (see CSS nesting and specificity). (Firefox bug 1975531).
JavaScript
No notable changes.
APIs
- The URL Pattern API is fully supported, enabling you to match and parse URLs using a standardized pattern syntax. (Firefox bug 1731418).
- The File and Directory Entries API now fully supports the
HTMLInputElement.webkitdirectory(and corresponding HTMLwebkitdirectoryattribute) andFile.webkitRelativePathproperties on Firefox Android. This lets you configure an<input type="file">element to accept directories instead of files (Firefox bug 1973726).
DOM
- The
Selection.getComposedRanges()method is now supported, allowing developers to accurately get selected text ranges across shadow DOM boundaries. In addition, the methodssetBaseAndExtent(),collapse(), andextend()of theSelectioninterface have been modified to accept nodes inside a shadow root. (Firefox bug 1903870). - The
Animation.overallProgressproperty is now supported, allowing developers to track and display progress through an animation. (Firefox bug 1834878). - The
Animation.commitStyles()method no longer requiresfillto be set on an animation to commit the computed styles after the animation has finished. Note that until more browsers support this change, you should continue to setfill. (Firefox bug 1973203). - The Prioritized Task Scheduling API is now supported, providing a standardized mechanism to assign and manage task priorities for an application.
The supported interfaces include:
Scheduler,TaskController,TaskSignal,TaskPriorityChangeEvent(and theprioritychangeevent), and the propertiesWindow.schedulerandWorkerGlobalScope.scheduler. TheSchedulinginterface and theNavigator.schedulingproperty are not supported. (Firefox bug 1966997).
Media, WebRTC, and Web Audio
- The
currentRoundTripTime,totalRoundTripTime, andresponsesReceivedproperties of theRTCIceCandidatePairStatsdictionary are now supported. These return the current round trip time (RTT) and the information needed to calculate the average RTT for the connection. (Firefox bug 1371391). - The
setParameters()andgetParameters()methods of theRTCRtpSenderinterface now support setting and getting the specificcodecused for eachencoding. You can also set acodecfor each encoding in theinit.sendEncodingsarray that's passed to theaddTransceiver()method of theRTCPeerConnectioninterface. (Firefox bug 1894137). - The
estimatedPlayoutTimestamp,framesAssembledFromMultiplePackets,freezeCount,jitterBufferMinimumDelay,jitterBufferTargetDelay,keyFramesDecoded,pauseCount,totalAssemblyTime,totalFreezesDurationandtotalPausesDurationproperties of theRTCInboundRtpStreamStatsinterface are now supported. (Firefox bug 1926622).
WebDriver conformance (WebDriver BiDi, Marionette)
General
- Removed FTP proxy support from WebDriver capabilities (Firefox bug 1972670).
- Updated the expiry value of all the cookies set via WebDriver BiDi and WebDriver classic (Marionette) to be limited to 400 days (Firefox bug 1974394).
WebDriver BiDi
- Implemented the new
emulation.setLocaleOverridecommand which allows clients to override a locale in JavaScript APIs (Firefox bug 1968952). - Improved setting a proxy with
browsingContext.createUserContext: added support for host patterns like.mozilla.orginnoProxyproperty (Firefox bug 1977180) and fixed a bug when setting a HTTP proxy wouldn't allow to navigate to HTTPS URLs (Firefox bug 1977168). - Fixed a bug where
browsingContext.createwould fail after abrowsingContext.printcommand was interrupted by closing a tab with thebrowsingContext.closecommand (Firefox bug 1841125). - Updated the
session.endcommand to resume all requests which were blocked by network interceptions (Firefox bug 1974426).
Marionette
- Updated the
WebDriver:AddCookiecommand to throw an error when a target cookie hassameSite=noneandsecure=falseattributes (Firefox bug 1977205). - Removed the dialog text value from the
unexpected alert openerror message, since the dialog text is available now via thedatafield (Firefox bug 1948236).
Changes for add-on developers
- Cookies created with
cookies.set()in Nightly are now validated, and invalid cookies are rejected. The implementation in Nightly is to enable monitoring for any issues. The intention is to enforce validation in all channels in a future release. (Firefox bug 1976197) - The
cookiesmethods now accept and return milliseconds in the fractional part ofexpirationDate. (Firefox bug 1972757) - Adds the
browserAction.onUserSettingsChangedandaction.onUserSettingsChangedevents that listen for changes in the user-specified settings that affect an extension's action. (Firefox bug 1828220) - Adds
browserSettings.verticalTabs, which enables extensions to control whether the browser displays the tab bar horizontally or vertically. (Firefox bug 1946600)
Experimental web features
-
anchor-size()(Nightly):layout.css.anchor-positioning.enabledThe CSS
anchor-size()function enables setting anchor-positioned element's size, position, and margins relative to the dimensions of anchor elements. (Firefox bug 1972610). -
:headingand:heading():layout.css.heading-selector.enabledThe CSS
:headingpseudo-class allows you to style all heading elements (<h1>-<h6>) at once rather than targeting them individually. The:heading()functional pseudo-class allows you to style heading elements that match the<An+B>notation. (Firefox bug 1974386). -
view-transition-name: match-element(Nightly):dom.viewTransitions.enabledThe
match-elementvalue of the CSSview-transition-nameproperty automatically assigns a unique internalview-transition-nameto each selected element, rather than having to name them individually. (Firefox bug 1956141). -
Integrity-PolicyandIntegrity-Policy-Report-Onlyfor scripts (Nightly):security.integrity_policy.enabledThe
Integrity-PolicyandIntegrity-Policy-Report-OnlyHTTP headers are now supported for script resources. These allow websites to either enforce subresource integrity guarantees for scripts or only report violations of the policy, respectively. (Firefox bug 1976656). -
Integrity-PolicyandIntegrity-Policy-Report-Onlyfor stylesheets:security.integrity_policy.stylesheet.enabledThe
Integrity-PolicyandIntegrity-Policy-Report-OnlyHTTP headers are now supported for stylesheet resources. These allow websites to either enforce or only report violations of the policy, respectively. (Firefox bug 1974247).
These features are shipping in Firefox 142 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.