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 100

Enabled (12) | Origin Trial (0) | Behind a flag (1) | Deprecated (0) | Removed (1)

Enabled by default in 100

This release of Chrome had 12 new features.

AbortSignal.prototype.throwIfAborted

Throws an AbortSignal's reason if the signal is aborted. This convenience method can be used by signal-handling functions to check a signal's abort status and propagate the abort reason, e.g. after async operations that might change a signal's state. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/throwIfAborted#examples

Capability Delegation

Capability delegation means allowing a frame to relinquish its ability to call a restricted API and transfer the ability to another (sub)frame it trusts. If an app wants to delegate its ability to call a restricted JS capability (e.g. popups, fullscreen, etc) to a known+trusted third-party frame, the app would utilize a Capability Delegation API to "transfer" the ability to the target frame in a time-constrained manner (unlike static mechanisms like <iframe allow> attributes). #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1IYN0mVy7yi4Afnm2Y0uda0JH8L2KwLgaBqsMVLMYXtk/edit?usp=sharing

Samples: https://wpt.fyi/results/payment-request/delegate-request.https.sub.html?label=experimental&label=master&aligned

Digital Goods API

An API for querying and managing digital products to facilitate in-app purchases from web applications, in conjunction with the Payment Request API (which is used to make the actual purchases). The API would be linked to a digital distribution service connected to via the user agent. In Chromium, this is specifically a web API wrapper around the Android Play Billing API. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/digital-goods/blob/master/explainer.mdhttps://docs.google.com/document/d/1Jbt2Mzt-xg1cWVlFScBQsoX_pE8Kg1gYpulxUSV8FM0/edit

No linked samples

HIDDevice forget()

The HIDDevice forget() method allows web developers to voluntarily revoke a permission to a HIDDevice that was granted by a user. #

This feature was specified in this Spec.

Markup based Client Hints delegation for third-party content

To support content negotiation use cases such as differential serving of variable fonts, color vector fonts, responsive images, and other third-party content which requires client information lost by user agent reduction. For example: variable fonts allow significantly less font information to be transferred without loss of functionality, but only works on specific operating systems. #

This feature was specified in this Spec.

Omnibox prerendering

With this feature, Chrome will start prerendering the high-confidence omnibox autocomplete suggestions. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/nav-speculation/blob/main/ua-initiated-prerendering.md

No linked samples

SerialPort integration with WritableStream controller AbortSignal

This integration prevents a situation in which aborting a SerialPort's WritableStream can be blocked on waiting for a partially-written chunk of data to be written to the port. If the port is waiting for the peer device to provide a flow control signal it could be blocked indefinitely. The intent of aborting a WritableStream is to immediately stop trying to write data to the underlying sink. The introduction of an AbortSignal to the controller was done to fix bugs like this. #

This feature was specified in this Spec.

TLS ALPN extension in wss-schemed WebSockets connections

This is a PSA about a small tweak to an existing feature. The change is to include the TLS ALPN extension when initiating a new connection for wss-schemed WebSockets, offering just the default "http/1.1" protocol. Currently, unlike HTTPS connections, such connections do not offer ALPN at all. Changing this aligns with Firefox and Safari, hardens against cross-protocol attacks (see ALPACA), and makes wss eligible for the False Start optimization. It also simplifies work on the HTTPS DNS record. #

This feature was specified in this Spec.

Web NFC: NDEFReader makeReadOnly()

The NDEFReader makeReadOnly() method allows web developers to make NFC tags permanently read-only with Web NFC. #

This feature was specified in this Spec.

Resources

Docs: https://web.dev/nfc/#make-read-only

Samples: https://googlechrome.github.io/samples/web-nfc/

WebTransport serverCertificateHashes option

In WebTransport, the serverCertificateHashes option allows the website to connect to a WebTransport server by authenticating the certificate against the expected certificate hash instead of using the Web public key infrastructure (PKI). This feature allows Web developers to connect to WebTransport servers that would normally find obtaining a publicly trusted certificate challenging, such as hosts that are not publically routable, or virtual machines that are ephemeral in nature. #

This feature was specified in this Spec.

Window Management

Previously named "Multi-Screen Window Placement". Adds new screen information APIs and makes incremental improvements to existing window placement APIs, allowing web applications to offer compelling multi-screen experiences. The existing singular window.screen offers a limited view of available screen space, and window placement functions generally clamp bounds to the current screen. This feature unlocks modern multi-screen workspaces for web applications. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/Window_Management_APIhttps://web.dev/multi-screen-window-placement

Samples: https://michaelwasserman.github.io/window-placement-demohttps://web.dev/multi-screen-window-placement/#demo

mix-blend-mode: plus-lighter

This proposal adds a plus-lighter value to the mix-blend-mode property. Plus-lighter adds the source and destination colors multiplied by their respective alphas. This operation is useful when cross fading between two elements that may contain common pixels. In that case, plus-lighter ensures that the common pixels do not change in appearance as opacity changes from 0 to 1 on one element and from 1 to 0 on the other. #

This feature was specified in this Spec.

Origin Trials in-progress in 100

This release of Chrome had 0 new origin trials.

Flagged features in 100

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

Allow cookie domain attributes to be the empty string

Updates the parsing of cookie strings to allow a cookie's domain attribute to be set to the empty string. This change will also correct the failing web-platform tests related to an empty string domain. Additionally, it brings Chrome in alignment with the draft RFC6265bis specification, and will improve interoperability with Safari and Firefox by matching their treatment of an empty cookie domain attribute. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1oyG_OF9YrMR1icbvh9rAT6dFcb7qiKOf2wCngKIWNto/edit?usp=sharing

No linked samples

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 100

This release of Chrome had 0 features deprecated.

Removed features in 100

This release of Chrome had 1 features removed.

The "basic-card" method of PaymentRequest API

Deprecate the "basic-card" payment method from PaymentRequest API. #

This feature was specified in this Spec.