- Support font-feature-settings descriptor in @font-face rule with string-based syntax as defined in CSS Fonts Level 4
- Add CSS custom functions that return values based on other custom properties, parameters, and conditionals
- Enable corner-shape styling to express corner shape and curvature as a superellipse, allowing squircles, notches, and scoops
- Support async attribute for SVG <script> element to allow asynchronous script execution
- Add request-close invoker command for declarative control of dialog closure
- Expose new mechanisms in WebXR depth sensing to customize behavior and improve performance, including requesting raw or smooth depth buffers and non-aligned depth buffers
- Add 3D texture support for BC and ASTC compressed formats in WebGPU
- Add securePaymentConfirmationAvailability JavaScript API to check if Secure Payment Confirmation feature is available
- Add Secure Payment Confirmation Browser Bound Keys with additional cryptographic signature over assertions and credential creation
- Add font-width property and descriptor, and make font-stretch a legacy alias
- Short-circuit var() and attr() functions to evaluate without looking for cycles in fallback when fallback is not taken
- Allow active transitions to continue running when transition property is set to none, making Chrome consistent with Safari and Firefox
- Change scroll anchoring algorithm to select the candidate as the scope or root of regular anchor selection instead of as the priority candidate
- Relax validation of JavaScript DOM APIs to match the HTML parser and allow more characters in element and attribute names
Stable release date: August 5th, 2025 Unless otherwise noted, the following changes apply to Chrome 139 stable channel release for Android, ChromeOS, Linux, macOS, and Windows.
CSS and UI
Short-circuiting var() and attr()
When the fallback is not taken, var() and attr() functions evaluate without looking for cycles in that fallback. ChromeStatus.com entry
Support font-feature-settings descriptor in @font-face rule
This feature supports the string-based syntax for font-feature-settings as defined in CSS Fonts Level 4. Invalid or unrecognized feature tags will be ignored per specification. No binary or non-standard forms are supported. As OpenType fonts become more widely adopted, this enhancement will improve typographic control, reduce redundancy, and support a more scalable, modern approach to web design. Tracking bug #40398871 | ChromeStatus.com entry | Spec
CSS custom functions
Custom functions are similar to custom properties, but instead of returning a single, fixed value, they return values based on other custom properties, parameters, and conditionals. Tracking bug #325504770 | ChromeStatus.com entry | Spec
Continue running transitions when switching to initial transition value
When the transition related properties change, they are only supposed to affect newly started transitions. This means that if you change the transition properties, unless you also change the properties which have active transition animations, those transition animations will continue with the previously specified duration and easing. Chrome incorrectly canceled transitions when the transition property was set to none, even though it doesn't cancel them if you only change the transition-duration. This change makes Chrome consistent with Safari and Firefox, allowing active transitions to continue running, until their property value changes triggering a new transition update. ChromeStatus.com entry | Spec
Corner shaping (corner-shape, superellipse, squircle)
Enable styling corners, on top of the existing border-radius, by expressing the shape and curvature of the corner as a superellipse. This allows shapes like squircles, notches, and scoops, and animating between them. Tracking bug #393145930 | ChromeStatus.com entry | Spec
Add font-width property and descriptor and make font-stretch a legacy alias
Support async attribute for SVG element
The SVGScriptElement interface in SVG 2.0 introduces the async attribute, similar to the HTMLScriptElement. This attribute allows scripts to be executed asynchronously, improving the performance and responsiveness of web applications that use SVG. Tracking bug #40067618 | ChromeStatus.com entry | Spec
The request-close invoker command
Dialog elements can be closed through a variety of mechanisms, sometimes developers want to have the ability to prevent closure. To achieve this dialogs fire a cancel event. Originally this was only fired via a close request (for example, an ESC key press), recently a requestClose() JavaScript function was added which also fires the cancel event. The request-close command brings that new ability to the declarative invoker commands API. Tracking bug #400647849 | ChromeStatus.com entry | Spec
Scroll anchoring priority candidate fix
Changes the scroll anchoring algorithm. Instead of selecting the priority candidate as the anchor, choose the candidate as the scope or root of the regular anchor selection algorithm which will select the deepest onscreen element as the anchor. ChromeStatus.com entry
Device
WebXR depth sensing performance improvements
Exposes several new mechanisms to customize the behavior of the depth sensing feature within a WebXR session, with the goal of improving the performance of the generation or consumption of the depth buffer. The key mechanisms exposed are: the ability to request the raw or smooth depth buffer, the ability to request that the runtime stop or resume providing the depth buffer, and the ability to expose a depth buffer that does not align with the user's view exactly, so that the user agent does not need to perform unnecessary re-projections every frame. Tracking bug #410607163 | ChromeStatus.com entry | Spec
DOM
Allow more characters in JavaScript DOM APIs
The HTML parser has always (or for a long time) allowed elements and attributes to have a wide variety of valid characters and names, but the JavaScript DOM APIs to create the same elements and attributes are more strict and don't match the parser. This change relaxes the validation of the javascript DOM APIs to match the HTML parser. Tracking bug #40228234 | ChromeStatus.com entry | Spec
Graphics
WebGPU: 3D texture support for BC and ASTC compressed formats
The texture-compression-bc-sliced-3d and texture-compression-astc-sliced-3d WebGPU features add respectively 3D texture support for BC and ASTC compressed formats. Tracking bug #342840940 | ChromeStatus.com entry | Spec
Secure Payment Confirmation (SPC)
The securePaymentConfirmationAvailability API
This is a JavaScript API to provide an easier way to check if the Secure Payment Confirmation (SPC) feature is available. With this API, the only way to determine SPC's availability was to create a PaymentRequest with the required parameters, which is clunky and difficult in the case where a developer wants to check for SPC before starting to process a payment. Tracking bug #40258712 | ChromeStatus.com entry | Spec
Secure Payment Confirmation: Browser Bound Keys
Adds an additional cryptographic signature over Secure Payment Confirmation assertions and credential creation. The corresponding private key is not synced across devices. This helps web developers meet requirements for device binding for payment transactions. Tracking bug #377278827 | ChromeStatus.com entry | Spec
On-device AI
On-device Web Speech API
This feature adds on-device speech recognition support to the Web Speech API, allowing websites to ensure that neither audio nor transcribed speech are sent to a third-party service for processing. Websites can query the availability of on-device speech recognition for specific languages, prompt users to install the necessary resources for on-device speech recognition, and choose between on-device or cloud-based speech recognition as needed. ChromeStatus.com entry | Spec
Navigation
Clear window name for cross-site navigations that switches browsing context group
Clears the value of the window.name property when navigation switches browsing context groups, to avoid leaking information that could be used as a tracking vector. Tracking bug #1090128 | ChromeStatus.com entry | Spec
Network
Reduce fingerprinting in Accept-Language header information
Reduces the amount of information the Accept-Language header value string exposes in HTTP requests and in navigator.languages. Instead of sending a full list of the user's preferred languages on every HTTP request using the Accept-Language header, Chrome only sends the user's most preferred language. Tracking bug #1306905 | ChromeStatus.com entry
Randomize TCP port allocation on Windows
This launch enables TCP port randomization on versions of Windows (2020 or later) where we don't expect to see issues with re-use of prior ports occurring too fast (causing rejection due to timeouts on port re-use). The rapid port re-use issue arises from the Birthday problem, where the probability of randomly re-picking a port already seen rapidly converges with 100% for each new port chosen when compared to port re-use in a sequential model. Tracking bug #40744069 | ChromeStatus.com entry
Performance
Faster background freezing on Android
Shortens the time to freezing background pages (and associated workers) from five minutes to one minute on Android. Tracking bug #435623337 | ChromeStatus.com entry
Security
Fire error event for Content Security Policy (CSP) blocked worker
Makes Chrome conform to the specification, checking the CSP during fetch and firing the error event asynchronously instead of throwing exception when script runs "new Worker(url)" or "new SharedWorker(url)". Tracking bug #41285169 | ChromeStatus.com entry | Spec
WebRTC
Audio level for RTC encoded frames
This feature exposes to the web the audio level of an encoded frame transmitted using RTCPeerConnection and exposed using WebRTC encoded transform. Tracking bug #418116079 | ChromeStatus.com entry | Spec
Web APIs
Web app scope extensions
Adds a scope_extensions web app manifest field that enables web apps to extend their scope to other origins. This allows sites that control multiple subdomains and top level domains to be presented as a single web app. Requires listed origins to confirm association with the web app using a .well-known/web-app-origin-association configuration file. Tracking bug #detail?id=1250011 | ChromeStatus.com entry | Spec
Specification-compliant JSON MIME type detection
Chrome now recognizes all valid JSON MIME types as defined by the WHATWG mimesniff specification. This includes any MIME type whose subtype ends with +json, in addition to application/json and text/json. This change ensures that web APIs and features relying on JSON detection behave consistently with the web platform standard and other browsers. ChromeStatus.com entry | Spec
WebGPU core-features-and-limits
The core-features-and-limits feature signifies a WebGPU adapter and device support the core features and limits of the spec. Tracking bug #418025721 | ChromeStatus.com entry | Spec
Crash Reporting API: Specify crash-reporting to receive only crash reports
This feature ensures developers receive only crash reports by specifying the endpoint named crash-reporting. By default, crash reports are delivered to the default endpoint which receives many other kinds of reports besides crash reports. Developers can supply a separate URL to the well-known endpoint named crash-reporting, to direct crash reports there, instead of the default endpoint. Tracking bug #414723480 | ChromeStatus.com entry | Spec
Origin trials
Prompt API
An API designed for interacting with an AI language model using text, image, and audio inputs. It supports various use cases, from generating image captions and performing visual searches to transcribing audio, classifying sound events, generating text following specific instructions, and extracting information or insights from text. It supports structured outputs which ensure that responses adhere to a predefined format, typically expressed as a JSON schema, to enhance response conformance and facilitate seamless integration with downstream applications that require standardized output formats. This API is also exposed in Chrome Extensions. This feature entry tracks the exposure on the web. An enterprise policy (GenAILocalFoundationalModelSettings) is available to disable the underlying model downloading which would render this API unavailable. Origin Trial | Origin trial blog post | Tracking bug #417530643 | ChromeStatus.com entry
Extended lifetime shared workers
This adds a new option, extendedLifetime: true, to the SharedWorker constructor. This requests that the shared worker be kept alive even after all current clients have unloaded. The primary use case is to allow pages to perform asynchronous work that requires JavaScript after a page unloads, without needing to rely on a service worker. Origin Trial | Origin trial blog post | Tracking bug #400473072 | ChromeStatus.com entry
SoftNavigation performance entry
Exposes the (experimental) soft navigation heuristics to web developers, using both PerformanceObserver and the performance timeline. This feature reports two new performance entries:
- soft-navigation, for user interactions which navigate the page. Defines a new timeOrigin to help slice the performance timeline. …