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 97

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

Enabled by default in 97

This release of Chrome had 11 new features.

Content-Security-Policy delivery via response headers for dedicated workers.

Dedicated workers should be governed by the Content Security Policy delivered in their script response headers. Chrome incorrectly used to instead apply the Content Security Policy of the owner document. We would like to change chrome's behaviour to adhere to what is specified. #

This feature was specified in this Spec.

Feature policy for Keyboard API

getLayoutMap() used in conjunction with code solves the problem of identifying the actual key pressed in keyboard with different layout maps such as English vs French keyboards, but since getLayoutMap() isn't available in all contexts (can't be used inside iframes), Office web apps like Excel, Word, PowerPoint, etc. that show up as embedded experiences in Outlook Web, Teams, etc. and are running in iframes, can't use this API. Adding keyboard-map to the allow attribute list solves this problem. #

This feature was specified in this Spec.

HTMLScriptElement.supports(type) method

Provides a unified way to detect new features that use script elements. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/horo-t/explainers/blob/main/script_element_supports.md

Samples: https://horo-t.github.io/explainers/script_element_supports_sample.html

Late newline normalization in form submission

Before this change, newlines in form entries were normalized early in the form submission process (during the entry list construction), with an additional late normalization happening as the form payload was encoded with the application/x-www-form-urlencoded enctype. With this change, the early normalization is removed and the late normalization is extended to all enctypes. #

This feature was specified in this Spec.

Resources

Docs: https://blog.whatwg.org/newline-normalizations-in-form-submission

No linked samples

PermissionStatus.prototype.name

Adds a read only attribute "name" to the `PermissionStatus` interface, allowing the name of the permission to be gotten after a `PermissionStatus` is created. When querying multiple permissions simultaneously via the Permissions API, it was not possible to identify which PermissionStatus was which, as they were lacking a way to identify them (i.e., their "name"). The only way around this was to use something like array order or some other external index, which is less than ideal. #

This feature was specified in this Spec.

Propagate request origin and redirect chain in passthrough service workers.

This feature will cause service workers that handle navigation requests by calling `fetch(evt.request)` to use the origin and redirect chain from `FetchEvent.request`. Previously this information was always set to the service worker's origin with no redirect chain. This information is used to control the origin header and SameSite cookies sent with the request to the server. #

This feature was specified in this Spec.

Standardize existing client hint naming

Client Hints, a method to request information about the user's device or conditions, have been implemented in Chrome, but since the initial implementation the naming scheme has changed. If implemented, this proposal would add new client hints with a `sec-ch-` prefix to re-implement the following: `dpr`, `width`, `viewport-width`, `device-memory`, `rtt`, `downlink`, and `ect`. #

This feature was specified in this Spec.

Support calc() where only accepts

CSS math functions that resolve to <number> can be used in any place that only accepts <integer>. (It gets rounded to the nearest integer, as specified in https://drafts.csswg.org/css-values-4/#calc-range) #

This feature was specified in this Spec.

WebAssembly Content Security Policy

Enhancements to Content Security Policy to improve interoperability with WebAssembly. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WebAssembly/content-security-policy/blob/master/proposals/CSP.md

No linked samples

WebTransport

WebTransport is a protocol framework that enables clients constrained by the Web security model to communicate with a remote server using a secure multiplexed transport. #

This feature was specified in this Spec.

Resources

Docs: https://web.dev/webtransport/https://docs.google.com/document/d/1UgviRBnZkMUq4OKcsAJvIQFX6UCXeCbOtX_wMgwD_es/edit

No linked samples

transform: perspective(none)

Implement support for a 'none' argument to the perspective() function within the syntax of the CSS transform property. This provides the perspective() function with a value that gives the identity matrix. Its effect is as though the perspective() function was given an argument that is infinite. This makes it easier (or, in some cases, possible) to do animations involving the perspective() function where one of the endpoints of the animation is the identity matrix. #

This feature was specified in this Spec.

Origin Trials in-progress in 97

This release of Chrome had 0 new origin trials.

Flagged features in 97

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

Array and TypedArray findLast and findLastIndex

This is a Stage 3 TC39 proposal that adds the methods findLast and findLastIndex to Array.prototype and the various TypedArray.prototypes. These methods are the "from the end" versions of find and findIndex. #

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 97

This release of Chrome had 0 features deprecated.

Removed features in 97

This release of Chrome had 0 features removed.