Chrome 134  |  Release notes  |  Chrome for Developers (2025)

Stable release date: March 4th, 2025

Unless otherwise noted, the following changes apply to Chrome 134 stable channel release for Android, ChromeOS, Linux, macOS, and Windows.

HTML and DOM

Customizable <select> Element

Customizable <select> allows developers to take complete control of therendering of <select> elements by adding the appearance: base-select CSSproperty and value.

This feature relies on the SelectParserRelaxation flag, which changes the HTMLparser to allow more tags within the <select> tag.

Tracking bug #40146374 | ChromeStatus.com entry | Spec

Select parser relaxation

This change makes the HTML parser allow additional tags in <select> besides<option>, <optgroup>, and <hr>.

This feature is gated by the temporary policy (SelectParserRelaxationEnabled).This is a temporary transition period, and the policy will stop working from Chrome 141.

If you are experiencing problems that you believe are caused by this change,there's a reverse origin trial to disable the parser relaxation.

Tracking bug #335456114 | ChromeStatus.com entry | Spec

Dialog light dismiss

One of the nice features of the Popover API is its light dismiss behavior.This behavior is now part of <dialog>, with a newclosedby attribute controlling the behavior:

  • <dialog closedby="none">: No user-triggered closing of dialogs at all.
  • <dialog closedby="closerequest">: Pressing Esc (or other close trigger) closes the dialog
  • <dialog closedby="any">: Clicking outside the dialog, or pressing Esc, closes the dialog. Akin to popover="auto" behavior.

Tracking bug #376516550 | ChromeStatus.com entry | Spec

CSS

CSS highlight inheritance

With CSS highlight inheritance, the CSS highlight pseudo-classes, such as::selection and ::highlight, inherit their properties through the pseudohighlight chain, rather than the element chain.The result is a more intuitive model for inheritance of properties in highlights.

ChromeStatus.com entry | Spec

PWA

Document subtitle (Fix PWA app titles)

This feature allows to specify complementary information about the currentwindow of an installed running PWA. It adds a subtitle to the page to providecontextual information that is displayed in the window's title bar. Thisreplaces the text contained in the HTML title element.

Tracking bug #1351682 | ChromeStatus.com entry | Spec

User link capturing on PWAs

Web links automatically direct users to installed web apps.To better align with users' expectations around installed experiences,Chrome makes it easier to move between the browser and installed web apps.When the user clicks a link that could be handled by an installed web app,the link will open in that installed web app.Users can change this behavior through the installed web app's settings.Developers can control this behavior with thelaunch_handler manifest property,and can reference thisdeveloper documentationfor more information about howdeep linking works with installed web apps.

ChromeStatus.com entry

Performance

Document-Policy: expect-no-linked-resources

The expect-no-linked-resources configuration point in Document Policy allows adocument to hint to the user agent to better optimize its loading sequence, suchas not using the default speculative parsing behavior.

User Agents have implemented speculative parsing of HTML to speculatively fetchresources that are present in the HTML markup, to speed up page loading. For thevast majority of pages on the Web that have resources declared in the HTMLmarkup, the optimization is beneficial and the cost paid in determining suchresources is a sound tradeoff. However, the following scenarios might result ina sub-optimal performance tradeoff versus the explicit time spent parsing HTML fordetermining sub resources to fetch:

  • Pages that don't have any resources declared in the HTML.
  • Large HTML pages with minimal or no resource loads that could explicitlycontrol preloading resources using other preload mechanisms available.

The expect-no-linked-resources Document-Policy hints the User Agent that it maychoose to optimize out the time spent in such sub resource determination.

Tracking bug #365632977 | ChromeStatus.com entry | Spec

Explicit resource management (async)

These features address a common pattern in software development regarding the lifetime and management of various resources (for example memory and I/O). This pattern generally includes the allocation of a resource and the ability to explicitly release critical resources.

Tracking bug #42203814 | ChromeStatus.com entry | Spec

Explicit resource management (sync)

These features address a common pattern in software development regarding the lifetime and management of various resources (for example memory and I/O). This pattern generally includes the allocation of a resource and the ability to explicitly release critical resources.

Tracking bug #42203506 | ChromeStatus.com entry | Spec

Extend the console.timeStamp API to support measurements and presentation options

Extends the console.timeStamp() API, in a backwards-compatiblemanner, to provide a high-performance method for instrumenting applications andsurfacing timing data to the Performance panel in DevTools.

Timing entries added with the API can have a custom timestamp, duration andpresentation options (track, swimlane, and color).

ChromeStatus.com entry | Spec

Web APIs

Adds an interestGroups() method to the shared storage worklet, to return theProtected Audience interest groups associated with the shared storage origin'sowner, with some additional metadata.

This API provides the Protected Audience buyer with a better picture of what'shappening with their users, allowing for Private Aggregation reports.

ChromeStatus.com entry

Attribution reporting Feature: Remove aggregatable report limit when trigger context ID is non-null

This change is based on API caller feedback and the need for being able to measure a higher number of conversion events for certain user flows.

Currently the API has a limit that allows up to 20 aggregatable reports to be generated per source registration which is restrictive for use cases where a user may have a longer user journey. This change removes the aggregatable report limit when a trigger context ID is provided as part of the registration. The removal of this limit is restricted to only when the trigger context ID is specified, because when it is specified the API applies a higher rate of null reports which helps to protect against cross-site information leaking through report counts.

Additionally, aggregatable reports will still be bound by other limits that restrict the total amount of information that can be measured, such as the L1 contribution budget (65,536) per source and the attribution rate limit.

ChromeStatus.com entry

Bounce tracking mitigations on HTTP Cache

Bounce tracking mitigations for the HTTP cache is an extension to existinganti-bounce-tracking behavior. It removes the requirement that a suspectedtracking site must have performed storage access in order to activate bouncetracking mitigations.

Chrome's initially proposed bounce tracking mitigation solution triggers when asite accesses browser storage (for example, in cookies) during a redirect flow. However,bounce trackers can systematically circumvent such mitigations by using the HTTPcache to preserve data. By relaxing the triggering conditions for bouncetracking mitigations, the browser should be able to catch bounce trackers usingthe HTTP cache.

Tracking bug #40264244 | ChromeStatus.com entry | Spec

LLM-powered on-device detection of abusive notifications on Android

This launch aims to hide the contents of notifications that are suspected to beabusive. The user will then have the options to dismiss, show the notification,or unsubscribe from the origin. This detection is to be done by an on-devicemodel.

ChromeStatus.com entry

OffscreenCanvas getContextAttributes

Add the getContextAttributes interface from CanvasRenderingContext2D toOffscreenCanvasRenderingContext2D.

Tracking bug #388437261 | ChromeStatus.com entry | Spec

Enables Shared Storage callers to customize the number of contributions perPrivate Aggregation report.

This feature enables Shared Storage callers to configure per-contextcontribution limits with a new field, maxContributions. Callers set this fieldto override the default number of contributions per report—larger and smallernumbers will both be permitted. Chrome will accept values of maxContributionsbetween 1 and 1000 inclusive; larger values will be interpreted as 1000.

Due to padding, the size of each report's payload will be roughly proportionalto the chosen number of contributions per report. We expect that opting intolarger reports will increase the cost of operating the Aggregation Service.

Protected Audience callers won't be affected by this feature. However, we areplanning to add support for customizing the number of contributions forProtected Audience reports in future features.

Tracking bug #376707230 | ChromeStatus.com entry | Spec

Integrates the Web Locks API into Shared Storage. This prevents scenarios such as wherecross-site reach measurement can result in duplicate reporting, due to thepotential race conditions within the get() and set() logic.

This change:

  • Introduces navigator.locks.request to the worklet environment.
  • Introduces { withLock: <resource>} option to all modifier methods.
  • Introduces a batch modify method: sharedStorage.batchUpdate(methods,options). This method, with the withLock option, allows multiple modifiermethods to be executed atomically, enabling use cases where a website needsto maintain consistency while updating data organized across multiple keys.

Tracking bug #373899210 | ChromeStatus.com entry

Rendering and graphics

Support ImageSmoothingQuality in PaintCanvas

Add support for the imageSmoothingQuality attribute on Paint Canvas.This lets you choose the quality or performance tradeoff when scaling images.There are three options in total for imageSmoothingQuality: low, medium and high.

Tracking bug #None | ChromeStatus.com entry | Spec

WebGPU subgroups

Adds subgroup functionality to WebGPU. Subgroup operations perform SIMT operations to provide efficient communication and data sharing among groups of invocations. These operations can be used to accelerate applications by reducing memory overheads incurred by inter-invocation communication.

ChromeStatus.com entry | Spec

Origin trials

Digital Credential API

Websites can and do get credentials from mobile wallet apps through a variety of mechanisms today, for example, custom URL handlers and QR code scanning. This feature lets sites request identity information from wallets using Android's IdentityCredential CredMan system. It is extensible to support multiple credential formats (for example, ISO mDoc and W3C verifiable credential) and allows multiple wallet apps to be used. Mechanisms are being added to help reduce the risk of ecosystem-scale abuse of real-world identity.

The origin trial starting in Chrome 134 adds support for this API on desktop platform, where Chrome on Desktop will securely communicate with the digital wallet on the Android phone to fetch the requested credentials.

Origin Trial | Tracking bug #40257092 | ChromeStatus.com entry | Spec

Deprecation trial for SelectParserRelaxation

This is a deprecation trial, which re-enables the old parser behavior for parsing <select> tags. Under that old behavior, non-supported content is silently discarded and not included in the DOM content underneath the <select>. This trial can be used in case the new behavior enabled from Chrome 135 breaks a site.

Origin Trial | ChromeStatus.com entry

Deprecations and removals

Remove nonstandard getUserMedia audio constraints

Blink supports a number of nonstandard goog-prefixed constraints forgetUserMedia from some time before constraints were properly standardized.

Usage has gone down significantly to between 0.000001% to 0.0009% (depending on theconstraint) and some of them don't even have an effect due to changes in theChromium audio-capture stack. Soon none of them will have any effect due toother upcoming changes.

We don't expect any major regressions due to this change. Applications usingthese constraints will continue to work, but will get audio with defaultsettings (as if no constraints were passed). They can opt to migrate to standardconstraints.

Tracking bug #377131184 | ChromeStatus.com entry | Spec

Chrome 134  |  Release notes  |  Chrome for Developers (2025)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Madonna Wisozk

Last Updated:

Views: 5756

Rating: 4.8 / 5 (48 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Madonna Wisozk

Birthday: 2001-02-23

Address: 656 Gerhold Summit, Sidneyberg, FL 78179-2512

Phone: +6742282696652

Job: Customer Banking Liaison

Hobby: Flower arranging, Yo-yoing, Tai chi, Rowing, Macrame, Urban exploration, Knife making

Introduction: My name is Madonna Wisozk, I am a attractive, healthy, thoughtful, faithful, open, vivacious, zany person who loves writing and wants to share my knowledge and understanding with you.