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 91

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

Enabled by default in 91

This release of Chrome had 17 new features.

Block HTTP port 10080

Connections to HTTP, HTTPS or FTP servers on port 10080 will fail. This is a mitigation for the NAT Slipstream 2.0 attack. It helps developers by keeping the web platform safe for users. #

This feature was specified in this Spec.

CSS custom counter styles

The CSS @counter-style rule allows web authors to specify and use custom counter styles in list markers and CSS counters. This helps web internationalization. #

This feature was specified in this Spec.

Resources

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

No linked samples

Class static initializer blocks

The classic static block proposal adds the ability for JavaScript classes to have one or more static initialization blocks. These blocks are initialized once per evaluation of the class definition. ``` class C { static s_field; static { this.s_field = doSomeInitialization(); } } ``` #

This feature was specified in this Spec.

Clipboard: read-only files support

This proposes to expose read-only files on the clipboard to renderers using a similar approach to drag-and drop. Renderers will have access to read files from the clipboard, but not write files to the clipboard. For files on the clipboard, renderers will have read-only access. async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); } #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1eHAs3R5UeWkAlOC0sJyULXRYUwWLPcFry_Wh9ThJ_CE/edit

No linked samples

Disable Double Tap to Zoom when mobile viewport is set

Disables Double Tap to Zoom (DTZ) when meta viewport tag is set to optimize the web page for mobile devices. In some situations Chrome enables DTZ even if the meta viewport tag is specified correctly which is unexpected to web developers. Having DTZ enabled introduces a 300ms delay between touchend and click events which degrades the user experience on mobile devices.DTZ should be disabled in all cases when a proper meta viewport tag is specified. #

This feature was specified in this Spec.

Resources

Docs: https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/speed/metrics_changelog/2021_05_fid.md#disable-double_tap_to_zoom-on-mobile-viewports

No linked samples

ES Modules for service workers ('module' type option)

JavaScript will support modules in service workers. Setting 'module' type by the constructor's type attribute, worker scripts are loaded as ES modules and the import statement is available on worker contexts. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1SeQ085YdBTtW3D_ygSpO0Wz2DAe8QiS1gj37IG5lstg/edit#

No linked samples

Ergonomic brand checks for private fields

This JavaScript feature adds the capability for testing the existence of a private field in an object: "#foo in obj" Proposal: https://github.com/tc39/proposal-private-fields-in-in The feature has reached Stage 3 in TC39. #

This feature was specified in this Spec.

GravitySensor API

Expose the GravitySensor API, which provides a 3-axis reading of the gravity force, to users. #

This feature was specified in this Spec.

Honor media HTML attribute for link icon

The link element’s “media” attribute will be honored for link[rel="icon"] so that web developers can define multiple equally appropriate icons based on a media query (dark and light modes for instance). The last one that matches will be picked. Browsers don’t currently honor the media attribute for link[rel="icon"] even though the HTML specification says they should. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://media-link.glitch.me

Import Assertions

Import Assertions are an inline syntax for module import statements to pass on more information alongside the module specifier. The syntax is as follows (shown here is the proposed method for importing a JSON module): import json from "./foo.json" assert { type: "json" }; #

This feature was specified in this Spec.

JSON Modules

JSON modules allow statically importing JSON instead of consuming JSON dynamically through fetch(). JSON modules, like JavaSCript modules, are fetched using “cors” mode and strict MIME type checking. They also share the same module import syntax, for example: import data from "./resource.json”. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/SyntheticModules/designDoc.mdhttps://groups.google.com/a/chromium.org/d/topic/blink-dev/ojwkySW-bpQ/discussion

No linked samples

Run PWA on OS Login

Provides a mechanism to allow users to configure a Progressive Web Application (PWA) to be launched automatically when a user logs in to the operating system. #

This feature was specified in this Spec.

Resources

Docs: Pending

No linked samples

Suggested file name and location for the File System Access API

When initially shipping the File System Access API we shipped a bare minimum API surface for showing file and directory pickers. We're now proposing adding a couple of frequently requested (and commonly supported in other file picker APIs) options to let websites provide a couple more opportunities to influence the behavior of the file and directory pickers. In particular we want to let websites give suggestions for the name and location of files and directories that are being saved or loaded. #

This feature was specified in this Spec.

WebAssembly SIMD

WebAssembly SIMD will expose hardware SIMD instructions to WebAssembly applications in a platform-independent way. The SIMD proposal introduces a new 128-bit value type that can be used to represent different types of packed data, and several vector operations that operate on packed data. SIMD can boost performance by exploiting data level parallelism and is also useful when compiling native code to WebAssembly #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WebAssembly/simd/tree/master/proposals/simd

No linked samples

WebOTP API: cross-origin iframe support

Adds support for WebOTP API calls from cross-origin iframes if enabled by a permission policy. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1dR-5-1O3SqAbQCRj_cBaQ7nQD5YlWzExcusmPcO2Xqs/edit?usp=sharing

Samples: https://output.jsbin.com/gilusuq/quiet

WebSockets over HTTP/2

Supports WebSockets over HTTP/2 in Chromium as specified in RFC 8441 https://tools.ietf.org/html/rfc8441. This is only used for secure WebSockets requests, and only when there is already an HTTP/2 connection where the server has already advertised support for WebSockets over HTTP/2 via the HTTP/2 SETTINGS parameter defined in the specification. #

This feature was specified in this Spec.

Resources

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

No linked samples

adaptivePtime property for RTCRtpEncodingParameters

Adds the adaptivePtime property to RTCRtpEncodingParameters(https://w3c.github.io/webrtc-pc/#rtcrtpencodingparameters). This new flag sets a sender in a real-time communication (RTC) system to enable/disable adaptive packet rate. #

This feature was specified in this Spec.

Resources

Docs: https://w3c.github.io/webrtc-extensions/explainer#a-new-flag-in-rtcrtpencodingparameters-for-adaptive-packet-rate

No linked samples

Origin Trials in-progress in 91

This release of Chrome had 0 new origin trials.

Flagged features in 91

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

Managed configuration for Web Applications

This new API will help clients who are still using Chrome Apps to migrate to the Web, by using a simliar API to chrome.storage.managed Extensions API. #

This feature was specified in this Spec.

Resources

Docs: http://go/pwa-api-config-dd

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 91

This release of Chrome had 0 features deprecated.

Removed features in 91

This release of Chrome had 1 features removed.

Remove webkitBeforeTextInserted & webkitEditableContentChanged JS events

The webkitBeforeTextInserted and webkitEditableContentChanged JS events are Blink internal events and are non standard events. There are better replacement of these events which Browser vendors have been actively working on such as Input events(https://w3c.github.io/input-events/). #

This feature was specified in this Spec.