Chrome Release Summary

Chrome version: 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0

Chrome 122

Enabled (13) | Origin Trial (0) | Behind a flag (5) | Deprecated (0) | Removed (0)

Enabled by default in 122

This release of Chrome had 13 new features.

Allow setting IDP login status from same-site subresources

We now also allow same-site (same eTLD+1) subresources to set a login status (for the origin of the subresource). This is useful for IdPs where the IdP login happens on one subdomain, but the FedCM endpoint is on a different subdomain. To make sure that FedCM works correctly, the login status needs to be set on the FedCM subdomain. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/fedidcg/FedCM/issues/537

No linked samples

CSS @container with unsupported Features never match

@container selectors that contain unsupported queries will never select any containers, meaning they will never match. That means this query will never match any container even if there is a size container that will match the width query that would otherwise make the selector match in cases like this: @container (width > 0px) or (unknown) {} This is a recent change to the specification to avoid forward-compatibility issues. #

This feature was specified in this Spec.

CSS Pseudo Element ::backdrop inheriting from Originating Element

The ::backdrop pseudo element used to inherit from initial values. That meant ::backdrop could not use custom property values unless specified directly on the ::backdrop rule. The specification has now changed so that ::backdrop inherits from the originating element, and with that the implementation. #

This feature was specified in this Spec.

CSS supports() condition for @import

It allows to import stylesheets and layers conditioned on supports(). If the support() doesn't match, the import will not be fetched. #

This feature was specified in this Spec.

Do not delete File kind objects in dataTransfer.clearData()

As per the spec https://html.spec.whatwg.org/multipage/dnd.html#dom-datatransfer-cleardata, clearData() does not affect the File objects. It only deletes the `text` kind objects. More info: https://docs.google.com/document/d/1Y8WW9kxQQ6Q0YCo3FQkLQBIJWb2c9fZBBOOT7YUkU8o/edit?usp=sharing #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1Y8WW9kxQQ6Q0YCo3FQkLQBIJWb2c9fZBBOOT7YUkU8o/edit?usp=sharinghttps://html.spec.whatwg.org/multipage/dnd.html#dom-datatransfer-cleardata

No linked samples

FedCM: disconnect

Allows disconnecting a federated login account via the relying party website. With the disconnect API, a relying party may notify the identity provider that a previously used account is now disconnected, and hence using that account again via federated login would require treating it as a new account. #

This feature was specified in this Spec.

Interoperable mousedown event cancellation in iframe

Make mouse event targets agnostic to mousedown event cancellation when the pointer is dragged out of an iframe. When the mouse is dragged out of an iframe, all browsers (including Chrome) send mousemove and mouseup events to the iframe. However, if the mousedown event is cancelled, Chrome today maintains an old WebKit exception that mousemove and mouseup events are sent to the outer frame. WebKit removed this exception last year, and Mozilla never showed this behavior in recent years. This feature will remove the Chrome-only exception for this special case. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://mustaqahmed.github.io/web/interop/cancel-mousedown-in-iframe-top.htmlhttps://codepen.io/mustaqahmed/full/yLjBraJ

Iterator helpers

Iterator helpers are new methods on iterator prototype to allow general usage and consumption of iterators. #

This feature was specified in this Spec.

RTCRtpSender setParameters() extensions for requesting the generation of a key frame

Adds an optional second parameter to WebRTC's RTCRtpSender.setParameters call which can be used to ask the associated encoder to generate a key frame. #

This feature was specified in this Spec.

Resources

Docs: https://fippo.github.io/webrtc-explainers/rtcrtpsender-setparameters

No linked samples

Set methods

Set methods are new methods like union and intersection that are added to JavaScript's built-in `Set` class. #

This feature was specified in this Spec.

Storage Buckets API

Storage Buckets gives sites the ability to organize on-device data into separate "buckets", allowing user agents to evict the grouped data independently of that which is in other buckets, and enabling sites to ergonomically manage semantically related data. Each storage bucket can contain data associated with established storage APIs such as IndexedDB and CacheStorage. #

This feature was specified in this Spec.

URLPattern: hasRegExpGroups

Allows easy inspection of whether a URLPattern uses one or more ECMAScript regular expression groups, and therefore may not be suitable for use in cases where an ECMAScript engine is not available (such as some upcoming planned APIs). Strictly speaking this reflects back something developers could know anyway from inspecting the pattern, but having easy access to the UA's implementation of this check makes that more straightforward. #

This feature was specified in this Spec.

WebGL drawingBufferStorage

WebGL allows rendering into textures and renderbuffers of many different pixel formats (e.g, 8-bit, floating-point, sRGB-encoded, etc). The drawing buffer of WebGL (the buffer that is passed to the compositor) is 8-bit by default. This feature allows WebGL to configure the pixel format of this drawing buffer. This feature enables WebGL developers to: * avoiding an an extra copy convert their rendering to the default drawing buffer pixel format * draw content that has a more than 8 bits of precision The latter feature unlocks several additional applications * very wide color gamut content without loss of precision * medical applications which require >8 bits of precision * high dynamic range applications (when available) #

This feature was specified in this Spec.

Origin Trials in-progress in 122

This release of Chrome had 0 new origin trials.

Flagged features in 122

This release of Chrome had 5 are available behind a flag.

Async Clipboard API: Read unsanitized HTML.

This proposal provides an `unsanitized` option in read() method to get unsanitized HTML format.. Unless sites choose to adopt the new API, reading from the clipboard will be sanitized. Currently, when we read text/html MIME types using the async API, the sanitizer is invoked to strip out contents from the HTML markup due to security concerns, and styles are inlined in the HTML, which leads to a bloated HTML payload and loss of fidelity of HTML content when read by web authors or native apps. Currently, Firefox provides access to unsanitized HTML via DataTransfer APIs, which matches Chromium's behavior, and Safari only allows access to unsanitized HTML if it's being read within the same origin. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/w3c/editing/blob/gh-pages/docs/clipboard-unsanitized/explainer.md

Samples: https://github.com/w3c/editing/blob/gh-pages/docs/clipboard-unsanitized/unsanitized-html-demo.html

Enable clipboard access via Async Clipboard API in event handlers

This change removes the requirement for the "clipboard-read" permission when using the Async Clipboard API from within a "paste" event handler. It also applies to writing to the clipboard inside a "copy" or "cut" event, although writing plain text to the clipboard was already permitted on ANY user gesture, so this is a less notable change. Browser vendors differ in the details of how they permit access to the Async Clipboard API, but this change brings Chromium into alignment with other vendors and the specification [1] which states that read access is to be permitted when > the current script is running as a result of user interaction with a "Paste" element created by the user agent or operating system. [1] https://www.w3.org/TR/clipboard-apis/ #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://jsfiddle.net/evanstade/zbp98vj5/8

InputDeviceInfo.getCapabilities() for unavailable devices

Make InputDeviceInfo.getCapabilities() return empty for cameras that are unavailable to the UA because they are opened in exclusive mode by other applications. The only platform affected in practice is Windows, which is the only platform that exhibits the issue. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1gwAF4qMXvHLQH-Fb6MxOgiSxXzK47AwiVPvnvJIccaE/r/0-T1AP5YsdFksujPUY7rJV1Q/edit?tab=t.0

Samples: https://guidou.github.io/enumdemo8.html

Navigational prefetch: follow redirects

Today, Chromium does not follow redirects when prefetching for navigation (most notably from speculation rules). With this change, it will follow redirects, even cross-origin and cross-site redirects. This is consistent with following redirects during other kinds of fetches, though additional privacy constraints apply to cross-site navigational prefetches. #

This feature was specified in this Spec.

Set IndexedDB transaction durability to `relaxed` by default

IndexedDB offers two durability modes for readwrite transactions: `relaxed` and `strict`. This may be specified via the optional `options` struct when creating a transaction. See https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase/transaction for more details. If not specified, the current default in Chromium is `strict`. Due to performance considerations, we plan to change the default to `relaxed`, which also aligns Chromium with FireFox and Safari. Blog post: https://developer.chrome.com/blog/indexeddb-durability-mode-now-defaults-to-relaxed #

This feature was specified in this Spec.

Deprecations and Removals

Deprecation policy

To keep the platform healthy, we sometimes remove APIs from the Web Platform which have run their course. There can be many reasons why we would remove an API, such as:

Some of these changes will have an effect on a very small number of sites. To mitigate issues ahead of time, we try to give developers advanced notice so they can make the required changes to keep their sites running.

Chrome currently has a process for deprecations and removals of API's, essentially:

You can find a list of all deprecated features on chromestatus.com using the deprecated filter and removed features by applying the removed filter. We will also try to summarize some of the changes, reasoning, and migration paths in these posts.

Deprecated features in 122

This release of Chrome had 0 features deprecated.

Removed features in 122

This release of Chrome had 0 features removed.