- 01
High Dynamic Range (HDR) video playback is now available on Windows - this feature needs HDR mode enabled for the display in Windows Settings - Display . Laptop displays that only offer "HDR video streaming" are not supported at this time. Some videos recorded on phones in certain orientations are currently not shown as HDR.
- 02
Containers let you keep separate parts of your online life (work, shopping, personal, banking) logged into different accounts in the same browser window, but keep your cookies and ad tracking isolated inside each container.
- 03
Share any open page with a QR code. Right-click a tab, select Share > Generate QR Code . Great for posters, invitations, banners, and other printed materials.
- 04
It is now possible to merge multiple PDFs by dragging a PDF into the PDF sidebar.
- 05
It is now possible to add images as new pages within PDFs using the Firefox PDF editor.
- 06
Quickly pick and copy a color from any page by typing "pick color", "color picker", or "eyedropper" in the address bar and selecting the "Pick a color" quick action.
- 07
Added support for Apple's system-wide full-screen keyboard command (Globe-F).
- 08
Firefox now verifies and displays Qualified Website Authentication Certificates (QWACs) in accordance with eIDAS regulations.
- 09
Added improved support for videos with overlays so users can more easily access video actions from context menus.
- 10
Firefox now highlights the location permission icon in red whenever a website has access to your location. The permission icon is also now visible on search results pages where it was previously hidden.
- 11
Smart Window : See and choose AI models directly from the Smart Window assistant.
- 12
Firefox Labs can now be opened quickly by typing "labs" or "experiment" in the address bar and selecting the Open Firefox Labs quick action.
- 13
Firefox now offers experimental support for the new JPEG XL image format , which generally provides better compression than WebP, JPEG, PNG, and GIF and is designed to supersede them. You can enable it from the Firefox Labs panel in Settings .
- 01
Extensions can no longer access local files by default. Users can grant or revoke this access via the new "Access local files on your computer" permission, separate from "Access your data for all websites".
- 02
Local Network Access restrictions are now enabled by default for all users. Firefox requires websites to request permission before connecting to devices on your local network or to apps and services on your device.
- 03
Outdated cookie settings have been removed from the Settings UI. Users still in that mode should switch to default behavior "Isolate cross-site cookies". More information
- 04
Some Windows users may experience a crash on startup after updating, caused by an incomplete update leaving the Firefox installation in an inconsistent state ( Bug 1681745 ). If you are affected, downloading Firefox from firefox.com and installing it over your existing installation will repair it. Your bookmarks, passwords and other data are stored separately and will not be affected.
- 01
Various security fixes .
- 01
You can find information about policy updates and enterprise-specific bug fixes in the Firefox for Enterprise 153 Release Notes .
- 01
Developer Information
- 02
A new "Local Mode" setting in the options panel allows developers to load local directories via custom origins. This simplifies testing for APIs that do not function over standard file:// URLs, removing the need to run a local web server. Multiple directory mappings are supported.
- 03
With the release of Firefox 153, we are pleased to welcome the developers who contributed their first code change to Firefox in this release, 15 of whom were brand new volunteers! Please join us in thanking each of these diligent and enthusiastic individuals, and take a look at their contributions: Alan Liu: 2009570
- 04
Extensions now require explicit user permission to access file:// URLs. Previously, access to local files was covered by the "Access your data for all websites" host permission. This change introduces a separate "Access local files on your computer" option in the extension's permissions settings (desktop only), and file access is turned off by default for all extensions, including existing ones. The extension.isAllowedFileSchemeAccess() method now correctly returns true if the user has granted file scheme access; previously, Firefox always returned false . Additionally, calling devtools.inspectedWindow.eval() on file:// URLs now requires this permission. ( Firefox bug 2034168 )
- 05
Supports the userScripts.execute() method, enabling extensions to inject user scripts on demand into a tab or frame. Unlike userScripts.register() , this method supports one-off injection of multiple script sources executed in a defined order. ( Firefox bug 1930776 )
- 06
Adds the publicSuffix API, enabling extensions to determine the registrable domain (eTLD+1) and public suffix of a hostname using the browser's built-in Public Suffix List . The API provides three synchronous methods: publicSuffix.isKnownSuffix() , publicSuffix.getKnownSuffix() , and publicSuffix.getDomain() . ( Firefox bug 1315558 )
- 07
Adds documentId to a range of WebExtension APIs, including a new runtime.getDocumentId() method, webNavigation events and methods, webRequest events, scripting injection targets, and messaging APIs. See Work with documentId for the full list of supported events and methods, along with guidance on using documentId . ( Firefox bug 1891478 )
- 08
Extension content scripts can now read and modify constructed stylesheets in document.adoptedStyleSheets and ShadowRoot.adoptedStyleSheets , without .wrappedJSObject . ( Firefox bug 1751346 )
- 09
The theme manifest key's images.additional_backgrounds property now supports CSS gradients in addition to image URLs. A new properties.additional_backgrounds_size property controls the size of each additional background item. ( Firefox bug 2036647 )
- 10
For contextual identities (containers):
- 11
Adds the contextualIdentities.getSupportedColors() and contextualIdentities.getSupportedIcons() methods to retrieve the supported colors and icons, avoiding the need to hardcode those values. ( Firefox bug 2044712 )
- 12
Updates the colors available. "turquoise" is renamed to "cyan" , "toolbar" is renamed to "gray" , and "violet" is added. The legacy names "turquoise" and "toolbar" are accepted for backward compatibility. To avoid hardcoding color names, use contextualIdentities.getSupportedColors() to retrieve the available colors. ( Firefox bug 2044354 )
- 13
JPEG XL image support (Nightly): image.jxl.enabled The Rust-based JPEG XL image decoder is now enabled by default in Nightly. ( Firefox bug 2040074 ).
- 14
Tree counting CSS functions : layout.css.tree-counting-functions.enabled The sibling-count() and sibling-index() function are now supported. The sibling-count() function returns the number sibling elements as well as the element itself. The sibling-index() function returns the index number of the element in relation to its siblings, this starts from 1 and not 0 . ( Firefox bug 2042063 ).
- 15
Updating attributes of external recourses : layout.css.link-parameters.enabled The link-parameters CSS property and param() CSS function are now supported. This allows the user to update attributes of external resources, such as SVGs, that have their attributes set with the env() CSS function. This means that single external resource can be used rather than creating multiple variations that only have different colors or other values. ( Firefox bug 2046153 ).
- 16
CSS basic shapes allow farthest-corner and closest-corner keywords (Nightly): layout.css.ellipse-corners.enabled The farthest-corner and closest-corner keywords can now be used for specifying the radii values of the ellipse() and circle() CSS basic shapes. ( Firefox bug 2037673 ).
- 01
Firefox now supports a limited subset of the non-standard ::-webkit-scrollbar pseudo-element to improve web compatibility: Rules with non-zero width / height disable overlay scrollbars for the affected container.
- 02
The vertical-align property was converted into a shorthand for baseline-source , alignment-baseline , and baseline-shift in Firefox 149. Now, alignment-baseline supports the new keywords alphabetic , ideographic , central , mathematical , and hanging , extending the variety of baselines to choose for alignment .
- 03
Implemented the new popover=hint spec, which removes a series of inconsistent and unexpected behaviors.
- 04
The circle() and ellipse() functions accept two new keywords closest-corner and farthest-corner for their radial size.
- 05
The newly added Error.stackTraceLimit property allows to set the maximal depth of the captured JavaScript error stack as a performance optimization.
- 06
Developers can now use the text import attribute to import text files using the module system.
- 07
The Picture In Picture API exposes a way for web developers to make use of user agent Picture-In-Picture functionality.
- 08
The Intl.LocaleInfo proposal adds the ability to query Locale information , such as week data (first day in a week, weekend start day, weekend end day), text direction and hour cycle used in the Locale.
- 09
The MediaCapabilities.decodingInfo() and MediaCapabilities.encodingInfo() methods now accept the "webrtc" configuration type. This allows a site to query whether a given audio or video configuration can be decoded or encoded for WebRTC and whether doing so will be smooth and/or powerEfficient.
- 10
HTTP Compression Dictionaries is enabled via rollout in 153, it will be made permanent in a future release. This can greatly reduce network traffic size for sites that use it. This feature is part of a progressive roll out. What is a progressive roll out? Certain new Firefox features are released gradually. This means some users will see the feature before everyone does. This approach helps to get early feedback to catch bugs and improve behavior quickly, meaning more Firefox users overall have a better experience.
- 11
The developer tools now provide the heading level for a heading element in the accessibility highlighter and accessibility tree (previously just the fact that it was a heading was shown). The information can be found in the Accessibility Inspector panel . ( Firefox bug 1588784 and Firefox bug 2044904 ).
- 12
HTML parsing rules for <select> elements have been updated to allow all nested elements to be parsed into DOM rather than just <option> , <optgroup> , and <hr> . This enables possible future support of customizable select elements . ( Firefox bug 2019977 ).
- 13
The muted attribute has now been updated for the <audio> and <video> elements to reflect when it is added to or removed from the DOM. This attribute now also matches the state of the :muted CSS pseudo-class. ( Firefox bug 2037015 ).
- 14
The ::-webkit-scrollbar pseudo-element selector is now recognized, so the @supports selector(::-webkit-scrollbar) check returns true . Note that this reports the selector as supported even though scrollbar styling via ::-webkit-scrollbar is not truly implemented. This was added to fix an issue where scrollbars of nested scrollable areas could stack on top of each other. For example, when a scrollbar is set to display: none or width: 0 leaving some content unreachable. ( Firefox bug 2038877 ).
- 15
The TC39 Intl.Locale info proposal is now supported. This includes all the instance methods on Intl.Locale that are prefixed with "get" — getCalendars() , getCollations() , getHourCycles() , getNumberingSystems() , getTextInfo() , getTimeZones() , and getWeekInfo() . ( Firefox bug 2037069 ).
- 16
The Error.stackTraceLimit static data property is supported for setting or getting the maximum number of stack frames captured in an error stack trace. Setting the value smaller than the default can improve performance. ( Firefox bug 2037856 ).
- 17
Text modules can now be imported into a string using with { type: "text" } . Unlike for JavaScript or CSS modules, the media type of the response is ignored, and the content is parsed as text even if the file contains scripts or other executable code. ( Firefox bug 2039881 ).
- 18
The import source syntax (part of the TC39 source phase imports proposal) is now supported. It is similar to the normal import declaration, but instead of loading and evaluating a module, it produces an object representing the module's source code that can be evaluated later. Note that this feature is not yet useful for developers, as only the syntax is currently supported: the source representation of WebAssembly modules is implemented separately and is not yet available. ( Firefox bug 2043242 ).
- 19
The IDBObjectStore.getAllRecords() and IDBIndex.getAllRecords() methods are now supported. These retrieve all records (or a specified subset of records) from an object store and index, respectively. ( Firefox bug 1927945 ).
- 20
The Picture-in-Picture API is now supported on desktop platforms. This provides a convenient mechanism for websites to toggle display of a <video> element between a page and a floating always-on-top video window, allowing users to continue watching while they interact with other sites or applications. ( Firefox bug 1463402 ).
- 21
The Popover API now has more consistent behavior when hint and auto popovers are opened and closed . This follows the specification update in whatwg/html#12345 . ( Firefox bug 2029974 ).
- 22
The RTCDtlsTransport.getRemoteCertificates() method gets the certificates used by the remote peer to secure the DTLS communication. These can be used for application-layer authentication of a remote peer. ( Firefox bug 1805446 ).
- 23
The decodingInfo() and encodingInfo() methods of the MediaCapabilities interface now accept the "webrtc" configuration type. This allows a site to query whether a given audio or video configuration can be decoded or encoded using WebRTC, and whether doing so will be smooth, power efficient, or both. Support for the non-standard transmission type, which was used as an alias for webrtc , is removed. ( Firefox bug 2037610 and Firefox bug 2032075 ).
- 24
All mandatory and some optional WebRTC "transport" statistics can now be reported in a RTCStatsReport . The returned object is a RTCTransportStats with the following properties: dtlsCipher , dtlsRole , dtlsState , iceLocalUsernameFragment , iceRole , iceState , id , selectedCandidatePairId , srtpCipher , timestamp , tlsVersion , and type . In addition the transportId property is now available on RTCOutboundRtpStreamStats , RTCRemoteOutboundRtpStreamStats , RTCRemoteInboundRtpStreamStats and RTCInboundRtpStreamStats . ( Firefox bug 1225723 and Firefox bug 2019389 ).
- 25
JavaScript Promise Integration (JS-PI) is now enabled, allowing WebAssembly modules to interoperate with asynchronous, Promise -based JavaScript APIs. This lets WebAssembly code suspend while waiting for a JavaScript promise and resume when the promise settles. See WebAssembly.Suspending for an explanation and working example. ( Firefox bug 2044809 ).
- 26
Improved the window manipulation commands in Marionette and WebDriver BiDi to allow individual window geometry properties, such as x, y, width, and height, to be adjusted independently. ( Firefox bug 1941404 ).
- 27
Fixed a bug where click and pointer action commands could fail if the element's first DOMRect (e.g., inline elements spanning multiple lines) was zero-sized. ( Firefox bug 2038932 ).
- 28
Restricted navigation to privileged pages (certain about:* pages, chrome:// , and resource:// URLs) when operating in content scope. ( Firefox bug 1579790 ).
- 29
Extended the emulation.setLocaleOverride command to also apply a locale emulation to dedicated and shared workers. ( Firefox bug 2015655 ).
- 30
Extended the emulation.setTimezoneOverride command to also apply a timezone emulation to dedicated and shared workers. ( Firefox bug 2015657 ).
- 31
Updated the browsingContext.create command to no longer emit browsingContext.domContentLoaded and browsingContext.load events for the initial about:blank page when creating new top-level browsing contexts, and to now emit the browsingContext.contextCreated event at the end of the creation process. ( Firefox bug 1930594 ).
- 32
Fixed a bug where functions created by the script.addPreloadScript command might have stopped working after several navigations. ( Firefox bug 2046390 ).
- 33
Fixed the Take Element Screenshot command from WebDriver Classic to crop screenshots of elements which exceed the viewport. ( Firefox bug 2013176 ).
- 34
Fixed the Perform Actions command to properly await internal action finalization, preventing potential race conditions. ( Firefox bug 2031596 ).