Firefox 154 release notes for developers (Stable)
This article provides information about the changes in Firefox 154 that affect developers. Firefox 154 was released on August 18, 2026.
Changes for web developers
>Developer Tools
- The JSON Viewer now displays a breadcrumb at the bottom of the panel indicating the location of the selected entry within the JSON structure. (Firefox bug 1850288).
HTML
No notable changes.
CSS
- The
sibling-count()andsibling-index()functions are now supported. Thesibling-count()function returns the number of sibling elements as well as the element itself. Thesibling-index()function returns the index number of the element in relation to its siblings. The index starts at1, not0. (Firefox bug 2045706). - The
text-box-edgeandtext-box-trimproperties and thetext-boxshorthand are now supported. These properties make it easier to control text spacing in the block direction, especially when a block contains multiple fonts. Thetext-box-edgeproperty allows you to specify the amount of space to trim from the text element's block container. Thetext-box-trimproperty allows you to specify which edges to trim: the over edge, the under edge, both, or neither. Thetext-boxshorthand combines these two properties. (Firefox bug 2050141).
JavaScript
- The
Iterator.prototype.includes()method is now supported, allowing developers to check whether an iterator contains a given value. (Firefox bug 2034104). - The
Iterator.prototype.join()method is now supported, returning a string that is the concatenation of all elements produced by the iterator, separated by commas or a specified separator string. This is similar toArray.prototype.join(). (Firefox bug 2047995). - The
Iterator.prototype.chunks()andIterator.prototype.windows()methods are now supported. These both return an Iterator helper object that can be iterated to yield a number of elements from the original iterator as an array. The difference between the methods is that thechunks()helper splits the elements from the original iterator into consecutive array chunks, while thewindows()helper returns an array that is a sliding window over the original iterator (each iteration yields an array that slides forward one element: dropping the first element in the previous iteration and fetching a new element from the original iterator). (Firefox bug 2047997).
APIs
Media, WebRTC, and Web Audio
- The
RTCIceTransport.getSelectedCandidatePair()method andselectedcandidatepairchangeevent are now supported for getting the currentRTCIceCandidatePairfor the transport. (Firefox bug 2019332). - The
errorevent is now fired onRTCDtlsTransportto report DTLS and fingerprinting errors. (Firefox bug 1805447). - The
rtcpproperty is now included in the object returned fromRTCRtpReceiver.getParameters()andRTCRtpSender.getParameters(), and can be set in the object passed toRTCRtpSender.setParameters(). This provides the RTCP configuration parameters for the connection. (Firefox bug 1584318). - Firefox now reports all WebRTC
certificatestatistics defined in theRTCCertificateStatsdictionary, and the following additional WebRTCtransportstatistics defined in theRTCTransportStatsdictionary:remoteCertificateId,localCertificateId,packetsSent,packetsReceived,bytesSent, andbytesReceived. (Firefox bug 2019349 and Firefox bug 2019333).
WebDriver conformance (WebDriver BiDi, Marionette)
General
- Improved the handling of
deltaXanddeltaYproperties for asynchronous widget wheel scroll events by taking the layout viewport into account. (Firefox bug 1971979). - Fixed a bug where a navigation would resolve prematurely for subframes when calling
history.replaceStateor when navigating to an error page (e.g., blocked by X-Frame-Options). (Firefox bug 2051908).
WebDriver BiDi
- Added a download id to
browsingContext.downloadWillBeginandbrowsingContext.downloadEndevents to make it easier to identify which events belong to the same download. (Firefox bug 2040936). - Added support for an
ignorestate for theunhandledPromptBehaviorproperty for file pickers when creating a new session with thesession.newcommand. With this state, file pickers will not be handled automatically by the protocol. (Firefox bug 1999693). - Added a
userContextfield (a.k.a. Firefox container) to the payload of several WebDriver BiDi events and commands, which makes it easier to filter out incoming data for clients subscribing to events by user context id. (Firefox bug 2018611). - Implemented the
browsingContext.startScreencastandbrowsingContext.stopScreencastcommands, which will record a browsing context and save the result as a video file. (Firefox bug 2042671). - Updated the
emulation.setLocaleOverridecommand to allow overriding theAccept-Languageheader for fetch andWebSocketrequests in workers. (Firefox bug 2052932). - Fixed a bug where the
script.realmDestroyedevent was missing for a worker after cross-process navigation. (Firefox bug 2018154).
Changes for add-on developers
- Adds support for the
sandboxmanifest key, enabling extensions to designate pages that load with an opaque origin, without direct access to extension APIs. A sandboxed page can useeval()and similar constructs that are otherwise blocked by the extension's content security policy. (Firefox bug 1685123)
Experimental web features
These features are shipping in Firefox 154 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.
-
Truncating content with
line-clamp:layout.css.line-clamp.enabledThe
line-clampCSS property now works without the-webkit-vendor prefix, though at this stage it does not support theno-ellipsisand<string>values. (Firefox bug 2042986). -
Percentage values for
text-decoration-inset:layout.css.text-decoration-inset-percentage.enabledThe
text-decoration-insetCSS property now supports percentages as values. The percentage value specifies the size of the inset as a percentage of thefont-size. (Firefox bug 2044602). -
Calculating a value based upon
progress():layout.css.progress-function.enabledThe
progress()CSS function is now supported. This allows the user calculate a<number>based upon a value (or progress) in between a minimum and maximum value. (Firefox bug 2047015). -
CSS Typed Object Model Level 1 (Nightly):
layout.css.typed-om.enabledThe CSS Typed Object Model API (as defined in the CSS Typed Object Model Level 1 specification) is now implemented. This simplifies CSS property manipulation by exposing CSS values as typed JavaScript objects rather than strings. (Firefox bug 2051047).