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 94

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

Enabled by default in 94

This release of Chrome had 14 new features.

Align transform-style: preserve-3d and perspective property with the spec

Align the behavior of transform-style: preserve-3d (which allows child elements to participate in the same 3D scene) and the perspective property (which applies a perspective transform to child elements) with the spec by making them apply only to child elements. Before this change, Chromium applies both of these effects based on the containing block hierarchy rather than the DOM tree, and also allows them to extend through elements without transform-related properties on them. #

This feature was specified in this Spec.

CSS Overflow: scrollbar-gutter

The "scrollbar-gutter" property provides control over the presence of scrollbar gutters (the space which may be reserved to display a scrollbar), allowing authors to prevent layout changes as content expands while avoiding unwanted visuals when scrolling isn't needed. Note that the presence of the scrollbars themselves is determined by the "overflow" property and the decision of whether to use classical or overlay scrollbars is up to the User Agent. #

This feature was specified in this Spec.

Canvas color management

Formalize that the default color space for 2D canvases and ImageData is sRGB. Clarify that 2D canvas is fully color managed (that all inputs are converted to the canvas color space). These were previously convention and not clearly specified. Add parameters to specify a non-sRGB color space when creating a 2D canvas or an ImageData. Add support for the Display P3 color space for these parameters. #

This feature was specified in this Spec.

Feature Policy: display-capture

Implement the display-capture feature policy from the Screen Capture spec. https://w3c.github.io/permissions/#dom-permissionname-display-capture This policy allows restricting access to the getDisplayMedia() API in embedded resources. #

This feature was specified in this Spec.

Idle Detection

The Idle Detection API notifies developers when a user is idle, indicating such things as lack of interaction with the keyboard, mouse, screen, activation of a screensaver, locking of the screen, or moving to a different screen. A developer-defined threshold triggers the notification. #

This feature was specified in this Spec.

Resources

Docs: https://web.dev/idle-detection/https://github.com/WICG/idle-detection/blob/main/mdn-drafts/QUICK-REFERENCE.md

Samples: https://web.dev/idle-detection/https://github.com/WICG/idle-detection/blob/master/HOWTO.mdhttps://reillyeon.github.io/scraps/idle.html

ImageDecoder API extension for WebCodecs

The ImageDecoder API intends to provide web authors random access to decoded images (as ImageBitmap) for each frame in a given image. The returned ImageBitmap objects can be used for drawing to canvas or WebGL (as well as any other future ImageBitmap use cases). Since the API is not bound to the DOM it may also be used in workers. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/ImageDecoder

No linked samples

JS Self-Profiling API

Adds a web-exposed sampling profiler for measuring client JavaScript execution time. Gathering JS profiles from real users can help developers debug slow observed performance without the need for invasive manual instrumentation. #

This feature was specified in this Spec.

Resources

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

Samples: https://wicg.github.io/js-self-profiling/#examples

MediaStreamTrack Insertable Streams (a.k.a. Breakout Box)

This feature defines an API surface for manipulating raw media carried by MediaStreamTracks such as the output of a camera, microphone, screen capture, or the decoder part of a codec and the input to the decoder part of a codec. It uses WebCodecs interfaces to represent raw media frames and exposes them using streams, similarly to the way the WebRTC Insertable Streams spec exposes encoded data from RTCPeerConnections. #

This feature was specified in this Spec.

Resources

Docs: https://alvestrand.github.io/mediacapture-transform/https://github.com/w3c/mediacapture-insertable-streams/blob/main/explainer.md

Samples: https://webrtc.github.io/samples/src/content/insertable-streams/video-processing/

Return fixed lists for navigator.plugins and navigator.mimeTypes

With the removal of Flash, there is no longer the need to return anything for navigator.plugins and navigator.mimeTypes. These APIs were used primarily for a) probing for Flash player support, or b) fingerprinting. Some sites use these APIs to probe for PDF viewer support. With this change, these arrays will return fixed lists containing a standard list of PDF viewer plugins. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://output.jsbin.com/nebaruc

Richer Install UI for PWAs

Gives developers the ability to add more data (descriptions and screenshots) to their PWA install dialog and gives users more insight into the apps they are about to install. #

This feature was specified in this Spec.

Scheduling APIs: Prioritized scheduler.postTask

Userspace tasks often have varying degrees of importance (related to user experience), but the Platform lacks a unified API to schedule prioritized work. The postTask API allows developers to schedule tasks (javascript callbacks) with a native browser scheduler at 3 levels of priority: user-blocking, user-visible, and background. It also exposes a TaskController, which can be used to dynamically cancel tasks and change their priority. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1Apz-SD-pOagGeyWxIpgOi0ARNkrCrELhPdm18eeu9tw/edit?usp=sharing

Samples: https://github.com/WICG/scheduling-apis/blob/main/explainers/prioritized-post-task.mdhttps://github.com/WICG/main-thread-scheduling/tree/master/sample-code

VirtualKeyboard API

The virtual keyboard is the on-screen keyboard used for input in scenarios where a hardware keyboard may not be available. The VirtualKeyboard interface has APIs to provide authors with more control over when the virtual keyboard is shown or hidden. It also fires events with the size of the virtual keyboard when it occludes content in the page. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/VirtualKeyboardPolicy/explainer.mdhttps://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/VirtualKeyboardAPI/explainer.mdhttps://docs.google.com/document/d/1I0LUNxK_gP5IaNQsbYN6gL6Zpm71XzduCKkublU5o5Q/edit?usp=sharing

No linked samples

WebCodecs

Provides efficient, low-level access to built-in (software and hardware) media encoders and decoders. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/web-codecs/blob/master/explainer.md

No linked samples

preferCurrentTab

We introduce a dictionary member to MediaStreamConstraints called preferCurrentTab. It's a boolean defaulting to false. When getDisplayMedia() is called with preferCurrentTab=true, the browser should offer the current tab as the most prominent capture source. #

This feature was specified in this Spec.

Origin Trials in-progress in 94

This release of Chrome had 0 new origin trials.

Flagged features in 94

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

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 94

This release of Chrome had 0 features deprecated.

Removed features in 94

This release of Chrome had 1 features removed.

Application Cache

AppCache was standardized in the Offline Web applications section of the HTML specification. The standard is formally referred to as application caches. New Web applications should be built around Service Workers. Existing applications that use AppCache should migrate to Service Workers. AppCache access was removed from insecure origins in M70. This intent addresses AppCache usage in secure origins. #

This feature was specified in this Spec.

Resources

Docs: https://web.dev/appcache-removal/

No linked samples