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 99

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

Enabled by default in 99

This release of Chrome had 11 new features.

"audioworklet" destination for AudioWorklet

Sets the destination of script requests for AudioWorklet to "audioworklet". The specification defines script requests for AudioWorklet have "audioworklet" destination, but previously they had "script" destination. The destination is exposed to the `Sec-Fetch-Dest` HTTP request header and `FetchEvent.request.destination` on Service Workers. This helps servers to decide how to handle the requests. #

This feature was specified in this Spec.

"paintworklet" destination for PaintWorklet

Sets the destination of script requests for PaintWorklet to "paintworklet". The specification defines script requests for PaintWorklet have "paintworklet" destination, but previously they had "script" destination. The destination is exposed to the `Sec-Fetch-Dest` HTTP request header and `FetchEvent.request.destination` on Service Workers. This helps servers to decide how to handle the requests. #

This feature was specified in this Spec.

Allow infinity, -infinity and NaN in CSS calc()

CSS calc() math function should allow infinity and NaN values by 'infinity', '-infinity', 'NaN' keywords or expressions that could be evaluated into infinity or NaN such as 'calc(1/0)'. #

This feature was specified in this Spec.

Resources

Docs: https://bit.ly/349gXjq

No linked samples

Allow simple Range header values without preflight

Allows requests with simple range headers to go through without preflight. CORS requests will be able to use the Range header in limited ways (only one valid range) without triggering a preflight. #

This feature was specified in this Spec.

CSS cascade layers

CSS cascade layers (@layer rule and layered @import syntax) provide a structured way to organize and balance concerns within a single origin. Rules within a single cascade layer cascade together without interleaving with style rules outside the layer. This allows authors to achieve a certain cascade ordering for same-origin rules in a proper way. #

This feature was specified in this Spec.

Resources

Docs: https://bit.ly/2SGjPlu

No linked samples

Convert adoptedStyleSheets to use ObservableArray

The prior specification for adoptedStyleSheets used a FrozenArray backing array. The spec was recently changed, so that the backing array is an ObservableArray. This makes the API easier to use and understand, since it is a true mutable JS array object. For example, normal array operations such as adoptedStyleSheets.push(sheet) can be used. #

This feature was specified in this Spec.

HTMLInputElement showPicker()

The HTMLInputElement showPicker() method allows web developers to programmatically show a browser picker for input elements (temporal, color, file, and those with suggestions like datalist or autofill). #

This feature was specified in this Spec.

Resources

Docs: https://developer.chrome.com/blog/show-picker/

Samples: https://show-picker.glitch.me/demo.html

Handwriting Recognition API

An API for web applications to make use of advanced handwriting recognition services (e.g. those on operating systems) to recognize text from handwriting drawings (inks) in real time. In this context, handwriting drawing means the temporal and positional information used to describe a human handwriting process. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/handwriting-recognition/blob/main/explainer.md

No linked samples

New Canvas 2D API

Updated functionality for the Canvas2D API. Adds nine new features/functions to CanvasRenderingContext2D: - "ContextLost" and "ContextRestored" events - "willReadFrequently" option for canvases where lots of readback is expected - More CSS text modifier support - A reset function - A roundRect draw primitive - Conic gradients - Better support for SVG filters https://github.com/fserb/canvas2d #

This feature was specified in this Spec.

Resources

Docs: https://github.com/GoogleChromeLabs/puppy-content/blob/puppy/content/en-US/api/canvasrenderingcontext2d/CanvasRenderingContext2D.md

No linked samples

Replace GamepadList with sequence for navigator.getGamepads() return value

We intend to replace GamepadList with sequence<Gamepad?> for the navigator.getGamepads() return value to follow the spec and match current Gecko and WebKit implementations. #

This feature was specified in this Spec.

Unprefixed text-emphasis properties

This feature introduces 'text-emphasis', 'text-emphasis-color', 'text-emphasis-position', and 'text-emphasis-style' CSS properties. They are unprefixed versions of '-webkit-text-emphasis', '-webkit-text-emphasis-color', '-webkit-text-emphasis-position', and '-webkit-text-emphasis-style'. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis

Origin Trials in-progress in 99

This release of Chrome had 0 new origin trials.

Flagged features in 99

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

Autofill in ShadowDOM

This feature allows autofill to look into ShadowDOM when collecting form controls within a form element. With the adoption of web components, it is common to wrap form controls like input elements in ShadowDOM. When autofill traverses the children of form elements to collect form controls, it currently skips ShadowDOM, and makes these form controls never get autofilled. This feature will make autofill also traverse into ShadowDOM when collecting form controls. #

This feature was specified in this Spec.

Intl Enumeration API

Intl Enumeration API Specification is a new ECMA402 Stage 3 proposal which lists supported values of options in pre-existing API. #

This feature was specified in this Spec.

Resources

Docs: design dochttps://docs.google.com/document/d/1lbj_YVW-xhzYNMQeHB-qDjVkf4SA-eTHYpYXx3Oaud8Update slides for TC39 2021-Dec-15https://docs.google.com/presentation/d/1wR8Yg3JVwa1RAPgQGqUPsRtP0EeMXy_Q8zqgRIKRiQI

No linked samples

Intl Locale Info in ECMA402

Intl Locale Info API is a new Stage ECMAScript TC39 proposal to enhance the Intl.Locale object by exposing Locale information, such as week data (first day in a week, weekend start day, weekend end day, minimun day in the first week), and text direction hour cycle used in the locale. https://github.com/tc39/proposal-intl-locale-info #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1OwEsvs8VQwvR-ug01xLyIwpgcvUfaP24u9owc7aBKJ4Update slides for TC39 2021-Dec-15https://docs.google.com/presentation/d/1PZ0_WiE9PNInY2bgyHGJH0DbKd0PKL9RApXxVPKJjUY

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 99

This release of Chrome had 0 features deprecated.

Removed features in 99

This release of Chrome had 1 features removed.

Remove font-family -webkit-standard

Remove support for the font-family value "-webkit-standard". This essentially behaves as an alias to the proprietary keyword "-webkit-body" and is only exposed as historical implementation details inherited from WebKit. #

This feature was specified in this Spec.