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 86

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

Enabled by default in 86

This release of Chrome had 22 new features.

A well-known URL for changing passwords

Websites can set a well-known URL for changing password `/.well-known/change-password` to be redirected to its change password page to help users change their password quickly. Chrome leverages this URL to help users change their passwords when it detects a weak password in the user's password storage. #

This feature was specified in this Spec.

Altitude/Azimuth for PointerEvents v3

Adds Altitude/Azimuth angles to PointerEvents. Adds TiltX/TiltY to Altitude/Azimuth transformation and Altitude/Azimuth to TiltX/TiltY transformation depending which pair is available from the device. #

This feature was specified in this Spec.

Resources

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

No linked samples

Autoupgrade Image Mixed Content

This feature will autoupgrade optionally-blockable mixed content (HTTP content in HTTPS sites) by rewriting the URL to HTTPS, without a fallback to HTTP if the content is not available over HTTPS. Image mixed content autoupgrades by default are targeted for M86. Audio/Video mixed content autoupgrades are separately tracked in https://www.chromestatus.com/feature/5557268741357568 #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1dp-kuN25wnEbMPNWBxM8LvOjyeydWpXPklNnGcsWK1o/edit

No linked samples

Back-forward cache on Android

Creates a cache for pages which allows for instant navigations to previously-visited pages after cross-site navigations. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1mrgp7XzR16rd1xqFYOJgC1IP0NPLZFaRU5Ukj3-TlLwhttps://web.dev/bfcache/https://github.com/rakina/bfcache-explainer#what-is-bfcache

No linked samples

CSS ::marker pseudo-element

The ::marker pseudo-element represents the automatically generated marker box of a list item. Like ::before and ::after, ::marker is a tree-abiding pseudo-element, so it always fit within the box tree. But unlike ::before and ::after, currently it only accepts a small subset of safe properties, because the marker box layout is mostly undefined. Note this intent only covers ::marker, not ::before::marker nor ::after::marker (see crbug.com/1097992). #

This feature was specified in this Spec.

Resources

Docs: https://drafts.csswg.org/css-pseudo-4/#marker-pseudohttps://drafts.csswg.org/css-lists-3/#marker-pseudo

No linked samples

CSS Selectors 4 Pseudo-Class :focus-visible

The :focus-visible pseudo-class makes it easier for developers to create focus styles that appropriately match the user's input modality. It is designed to help prevent a common anti-pattern where developers remove focus outlines for mouse users, and inadvertently make their sites inaccessible to keyboard users. #

This feature was specified in this Spec.

Change MediaSettingsRange & PhotoCapabilities interfaces to dictionaries

Aggregates and logs media settings ranges and photo capabilities in JSON. Changing MediaSettingsRange and PhotoCapabilities interfaces to dictionaries will improve developer ergonomics by allowing web developers to easily log and aggregate exposureCompensation, exposureTime, colorTemperature, iso, brightness, contrast, saturation, sharpness, focusDistance, pan, tilt, zoom, and photo capabilities (redEyeReduction, imageHeight, imageWidth, fillLightMode). #

This feature was specified in this Spec.

Resources

Docs: N/A

No linked samples

Document-Policy header

Document Policy restricts the surface area of the web platform on a per-document basis, similar to iframe sandboxing, but more flexibly. It can do things like: - Restrict the use of poorly-performing images - Disable slow synchronous JS APIs - Configure iframe, image, or script loading styles - Restrict overall document sizes or network usage - Restrict patterns which cause page re-layout This is just the HTTP header used to set a policy on a document, separate from any features. #

This feature was specified in this Spec.

Resources

Docs: https://w3c.github.io/webappsec-permissions-policy/document-policy.htmlhttps://github.com/w3c/webappsec-permissions-policy/blob/master/document-policy-explainer.md

No linked samples

Document-Policy: force-load-at-top

ForceLoadAtTop provides an opt-out for Scroll To Text (and other load-on-scroll behaviors as they are also affected by the issues raised in https://github.com/WICG/scroll-to-text-fragment/issues/76) for privacy sensitive sites, as discussed in https://github.com/WICG/scroll-to-text-fragment/issues/80. The ForceLoadAtTop feature allows sites to indicate that they should always be loaded at the top of the page, blocking any scroll-on-load behaviors including text fragments, element fragments, and #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/scroll-to-text-fragment#opting-out

No linked samples

FetchEvent.handled

A FetchEvent dispatched to a service worker is in a loading pipeline, which is performance sensitive. The new FetchEvent.handled property returns a promise that resolves when a response is returned from a service worker to its client. This enables a service worker to delay tasks that can only run after responses are complete. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/w3c/ServiceWorker/issues/1397

Samples: https://github.com/w3c/ServiceWorker/issues/1397#issuecomment-479036562

File System Access

This API enables developers to build powerful apps that interact with other (non-Web) apps on the user’s device via the device’s file system. After a user grants a web app access, this API allows the app to read or save changes directly to files and folders selected by the user. Beyond reading and writing files, this API provides the ability to open a directory and enumerate its contents, as well as store file and directory handles in IndexedDB to later regain access to the same content. #

This feature was specified in this Spec.

Resources

Docs: https://web.dev/file-system-access/https://web.dev/browser-nativefs/

Samples: https://github.com/GoogleChromeLabs/text-editorhttps://googlechromelabs.github.io/text-editor/

HTMLMediaElement.preservesPitch

Adds a property to determine whether the pitch of an audio or video element should be preserved when adjusting the playback rate. #

This feature was specified in this Spec.

Resources

Docs: N/A

No linked samples

Imperative Shadow DOM Distribution API

Web developers can specify node-to-slot assignments imperatively in Shadow DOM slotting. Please see the spec discussion [1] and the explainer [2]. - [1] https://github.com/whatwg/html/issues/3534 - [2] https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Imperative-Shadow-DOM-Distribution-API.md #

This feature was specified in this Spec.

Resources

Docs: https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Imperative-Shadow-DOM-Distribution-API.md

No linked samples

Intensive throttling of Javascript timer wake ups

In a Window whose top Window has been hidden for 5 minutes and which is not opted out from intensive wake up throttling, a timer task with non-zero timeout can run: - on a 1-second aligned wake up if: - the timer task's nesting level is < 5, or, -the Window is same-origin with the top Window and at least 1 minute has elapsed since the last timer task with nesting level >= 5 has run in any Window in the tree that is same-origin with the top Window - on a 1-minute aligned wake up, otherwise. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/11FhKHRcABGS4SWPFGwoL6g0ALMqrFKapCk5ZTKKupEk/edit?usp=sharing

No linked samples

ParentNode.replaceChildren() Method

Replaces all children of the ParentNode with the passed-in nodes. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/whatwg/dom/issues/478

No linked samples

Percent-encode U+007F DELETE when parsing URLs

When parsing URLs, encode the character U+007F DELETE as "%7F". This improves readability, reduces spoofing risk, makes Chrome's behavior more consistent, interoperable with other browsers and compliant with the specification. #

This feature was specified in this Spec.

Safelist distributed web schemes for registerProtocolHandler()

Extend the list of URL schemes that can be overridden via registerProtocolHandler() to include "cabal", "dat", "did", "dweb", "ethereum", "hyper", "ipfs", "ipns", and "ssb". #

This feature was specified in this Spec.

Resources

Docs: https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

No linked samples

Third-party origin trials

Origin trials can now be enabled by embedded scripts, based on tokens matching their third-party origin. Previously, it was possible for scripts to enable origin trials, but only when the token matches the origin of the containing document. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/GoogleChrome/OriginTrials/blob/gh-pages/explainer.mdhttps://docs.google.com/document/d/1xALH9W7rWmX0FpjudhDeS2TNTEOXuPn4Tlc9VmuPdHA/edithttps://web.dev/third-party-origin-trials

No linked samples

WebRTC Insertable Streams

This API enables the insertion of user-defined processing steps in the encoding and decoding of a WebRTC MediaStreamTrack. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/w3c/webrtc-insertable-streams

No linked samples

display:inline-grid/grid/inline-flex/flex for

The FIELDSET element will support 'inline-grid', 'grid', 'inline-flex' and 'flex' keywords for CSS 'display' property. #

This feature was specified in this Spec.

document.fragmentDirective

This change moves window.location.fragmentDirective to document.fragmentDirective which seems like a more appropriate and safer place. It is a small change to the text-fragments feature in https://chromestatus.com/feature/4733392803332096. Text-fragments introduced an empty object at window.location.fragmentDirective as a means to feature detect the newly added text-fragment capability. window.location turns out to be a bad place for this functionality, see https://crbug.com/1057795. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/scroll-to-text-fragment/

No linked samples

text/html support for async clipboard api

The async clipboard api currently does not support the text/html format. This feature adds support for copying and pasting html from the clipboard. The HTML is sanitized when it is read and written to the clipboard. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1tzjfckWUKAAxEbKcUjg21uz7LFDMQ7ZDzfTTj3Lp93Y/

Samples: https://hyper-silly-cross.glitch.me/

Origin Trials in-progress in 86

This release of Chrome had 0 new origin trials.

Flagged features in 86

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 86

This release of Chrome had 0 features deprecated.

Removed features in 86

This release of Chrome had 1 features removed.

EME persistent-usage-record session

Support a new MediaKeySessionType “persistent-usage-record session”, for which the license and key(s) are not persisted and for which a record of key usage is persisted when the keys available within the session are destroyed. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/w3c/encrypted-media/pull/462

No linked samples