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 79

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

Enabled by default in 79

This release of Chrome had 14 new features.

Autofocus support for any focusable HTML/SVG element

Adds the 'autofocus' attribute to any focusable HTML or SVG element. #

This feature was specified in this Spec.

CSS min(), max() and clamp()

Adds the comparison functions min(), max(), and clamp() to math expressions for numeric CSS values. #

This feature was specified in this Spec.

Resources

Docs: http://bit.ly/31Yfkm6

No linked samples

Compute img/video aspect ratio from width and height HTML attributes

Computes the aspect ratio of an image using the HTML width and height attributes so that it can be used for sizing an image using CSS before it loads. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/intrinsicsize-attribute/issues/16#issuecomment-500941775

No linked samples

Maskable App Icons (PWA - Android)

Allow Maskable ("Adaptive") icons for installed WebAPKs on Android. #

This feature was specified in this Spec.

Resources

Docs: https://web.dev/maskable-icon/

No linked samples

Out-Of-Renderer Cross-Origin Resource Sharing (aka OOR-CORS or OutOfBlinkCors)

Cross-Origin Resource Sharing (CORS) is an established web standard protocol to protect servers from unexpected cross-origin network accesses. Chrome implemented the CORS protocol in the rendering engine, Blink, running in a renderer process before this change. However, once the OOR-CORS feature is enabled, it inspects network accesses in the network service, running in a separate process. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORShttps://developer.chrome.com/extensions/webRequesthttps://docs.google.com/document/d/1JNmUcvbw2UcjfdI2uyUpveHXCbae-DQ1n8d_sVs5fLg/edit?usp=sharinghttps://docs.google.com/document/d/1Aqhx9dOkv0ZI5CDg8zxafPC-JTA66Cu6e_Tu9i5G6wQ/edit?usp=sharinghttps://docs.google.com/document/d/1M5GwH27os-Q3nNmBeZFMsZVThz49wQKCrC6xXFL9oR4/edit?usp=sharing

No linked samples

Reject Worklet.addModule() with a more specific error

When Worklet.addModule() fails, a promise rejects with a more specific error object than it did previously. Worklet.addModule() can fail for various reasons, including, for example, network errors and syntax errors. Before this change, Worklet.addModule() rejected with AbortError regardless of the actual cause. That made it difficult for developers to debug worklets. After this change, Worklet.addModule() rejects with a clearer error such as SyntaxError. #

This feature was specified in this Spec.

Remove [NoInterfaceObject] from Geolocation API interfaces

The [NoInterfaceObject] annotation is being removed from WebIDL. The Geolocation API specification has been updated to remove this annotation from all interfaces and perform the following renames to avoid polluting the global namespace with generic interface names, Coordinates -> GeolocationCoordinates Position -> GeolocationPosition PositionError -> GeolocationPositionError #

This feature was specified in this Spec.

ServiceWorkerGlobalScope#serviceWorker to get a service worker object corresponding to a worker itself

This allows a service worker to get its ServiceWorker object with self.serviceWorker in a service worker script and its current state with self.serviceWorker.state in the script. #

This feature was specified in this Spec.

Resources

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

Samples: https://github.com/web-platform-tests/wpt/blob/master/service-workers/service-worker/global-serviceworker.https.any.js

Stop evaluating script elements moved between Documents during fetching

Do not evaluate scripts or fire error/load events, if <script> elements are moved between Documents during fetching. Script elements can be still moved between Documents, but they won't be executed. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/whatwg/html/issues/2469https://github.com/whatwg/html/pull/2673https://github.com/web-platform-tests/wpt/pull/5911https://www.chromestatus.com/metrics/feature/timeline/popularity/2528

No linked samples

Web Bluetooth requestLEScan for surrounding devices

Enables Bluetooth Low Energy Scanning #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1N_zWN10qqCsut2-i3JBhTxgV6lgASu7WoslEtm-vyms/edit#https://docs.google.com/document/d/1YdjdjQxl7acSQ3EeuMVroLfVKuoGjrtig6FbjvPQ7pg/edit#heading=h.xzptrog8pyxf

Samples: https://googlechrome.github.io/samples/web-bluetooth/scan.htmlhttps://github.com/dougt/webbluetooth-examples

WebXR Device API

Provides access to input and output capabilities commonly associated with Virtual Reality (VR). This API is intended to completely replace the WebVR API (https://www.chromestatus.com/feature/4532810371039232). It has been designed to address the issues found in the prior API based on developer, web platform, hardware manufacturer, and implementer feedback. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/immersive-web/webxr/blob/master/explainer.md

Samples: https://immersive-web.github.io/webxr-samples/

WebXR Gamepads Module - Level 1

The WebXR Gamepad Module defines how the Gamepad API integrates with WebXR to communicate the state of various physical inputs (such as buttons, touch pads, and triggers) of an XRInputSource. Previously the Gamepad API was used in conjunction with the deprecated WebVR API, and was adopted by WebXR with additional ergonomic improvements to support it's input needs. It is being shipped as a module rather than part of the WebXR core API to allow it to evolve more flexibly. #

This feature was specified in this Spec.

Resources

Docs: go/webxr-vrc-dd (Design doc for WebXR Device API, which includes materials for the Gamepads module).

Samples: See the "Controller State" demo from this page:https://immersive-web.github.io/webxr-samples/

font-optical-sizing

The font-optical-sizing property automatically sets the font-size to the opsz - optical sizing axis of variable fonts that support optical sizing. This improves styling and legibility of fonts depending on font size because the font chooses a glyph shape that works optimally at the given font size. For example, the glyph contrast is improved in fonts in heading sizes when compared to the same font at body text size. See the spec link for an illustration of optical sizing. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/CSS/font-optical-sizing

No linked samples

list-style-type:

Allows a stylesheets to use an arbitrary character for the list style marker. Examples include "-", "+", "★" and "▸". Since CSS Level 2, list-style-type has supported keywords like "disc" or "decimal" to define the appearance of the list item marker. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type#%3Cstring%3E

No linked samples

Origin Trials in-progress in 79

This release of Chrome had 0 new origin trials.

Flagged features in 79

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

WebXR Anchors

This API is an extension to the WebXR Device API that provides a way to indicate to the underlying XR system that a 3D pose is meant to be kept up to date. Tracked poses may be arbitrary or attached to real world geometry. In current AR systems, poses evolve over time as the system understands more of the real world that surrounds it. As the system's understanding evolves, anchors enable the application to update poses of virtual objects so that they maintain their relationship to real world. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/immersive-web/anchors/blob/master/explainer.md

Samples: https://storage.googleapis.com/chromium-webxr-test/latest.html?target=proposals/phone-ar-hit-test.htmlhttps://storage.googleapis.com/chromium-webxr-test/latest.html?target=proposals/phone-ar-plane-detection-anchors.html

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 79

This release of Chrome had 1 features deprecated.

aria-help

Remove the aria-help attribute. #

This feature was specified in this Spec.

Removed features in 79

This release of Chrome had 1 features removed.

-webkit-appearance keywords for arbitrary elements

Changes -webkit-appearance keywords to work only with specific element types. If a keyword is applied to a non-supported element, the element has the default appearance. #

This feature was specified in this Spec.