Chrome Release Summary

Chrome version: 132, 131, 130, 129, 128, 127, 126, 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 87

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

Enabled by default in 87

This release of Chrome had 18 new features.

@font-face descriptors to override font metrics

Introduces new @font-face descriptors ascent-override, descent-override and line-gap-override to override metrics of the font. This allows web authors to (i) achieve interoperable text layout across browsers and platforms, and (ii) reduce layout shifting caused by web fonts. #

This feature was specified in this Spec.

Resources

Docs: https://bit.ly/39qATQ4

No linked samples

Atomics.waitAsync

Adds Atomics.waitAsync, the async version of Atomics.wait. Atomics.waitAsync allows programmers to wait on a SharedArrayBuffer location in the same fashion as Atomics.wait but returns a Promise instead. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1dthXsVHMc1Sd_oYf9a-KZSFOd_a8dUgnt4REAG8YIXA/edit?usp=sharinghttps://docs.google.com/document/d/1aeEGDm1XSqoJkQQKz9F75WqnuAa2caktxGy_O_KpO9Y/edit?usp=sharing

No linked samples

Block HTTP ports 5060 and 5061

Connections to HTTP, HTTPS or FTP servers on ports 5060 or 5061 will fail. This is a mitigation for the slipstream attack: https://samy.pl/slipstream/. It helps developers by keeping the web platform safe for users. #

This feature was specified in this Spec.

Block HTTP ports 69, 137, 161, 1719, 1720, 1723, and 6566

Connections to HTTP, HTTPS or FTP servers on ports 69, 137, 161, 1719, 1720, 1723 or 6566 will fail. This is a mitigation for the NAT Slipstream 2.0 attack: https://www.armis.com/resources/iot-security-blog/nat-slipstreaming-v2-0-new-attack-variant-can-expose-all-internal-network-devices-to-the-internet/. It helps developers by keeping the web platform safe for users. #

This feature was specified in this Spec.

CSS flow-relative shorthand and offset properties

Ship the already implemented properties introduced by CSS Logical Properties. Specifically: - border-block, border-block-color, border-block-style, border-block-width - border-inline, border-inline-color, border-inline-style, border-inline-width - inset-block-start, inset-block-end, inset-inline-start, inset-inline-end - inset, inset-block, inset-inline - margin-block, margin-inline - padding-block, padding-inline #

This feature was specified in this Spec.

Resources

Docs: https://drafts.csswg.org/css-logical/#box

No linked samples

CSS quotes property - support 'auto' value

Support 'auto' for the 'quotes' property. CSS2 specified the initial value for 'quotes' as UA dependent, but WebKit and Blink returns an invalid value (empty string) which will not round-trip. Setting it to the empty string will remove the declaration instead of setting it to the initial value. css-content-3 instead uses an 'auto' keyword for the default UA behavior. #

This feature was specified in this Spec.

Cookie Store API

The Cookie Store API exposes HTTP cookies to service workers and offers an asynchronous alternative to document.cookie. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2018/09/asynchronous-access-to-http-cookieshttps://docs.google.com/document/d/1ak6JzOMMO5q3dXvu4mHFWR-LLvaDc09XDvdeJZLtZd4/

Samples: https://wicg.github.io/cookie-store/explainer.htmlhttps://github.com/web-platform-tests/wpt/tree/master/cookie-store

FileReader - Set Result Only on Load

The feature changes the behavior of FileReader API so that the result attribute is only set right before the Load event is fired. Motivation: This brings the chromium FileReader implementation in line with the FileAPI spec. The existing implementation was identified to possibly cause memory leaks but that scenario was very rarely seen, as evidenced by this experiment. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/w3c/FileAPI/issues/79https://crbug.com/768972https://chromium-review.googlesource.com/c/chromium/src/+/2352610

No linked samples

Intl.Segmenter

Intl.Segmenter implements methods for finding the location of boundaries in text, including grapheme,word and sentence boundary analysis. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1xugLpLmgRFnNXK8ztariTAbD2IXueDw1T3VNuuZCz8k/edit#heading=h.xgjl2srtytjthttps://docs.google.com/presentation/d/1LOOt4WPvQdOK3banHkz1V8sdl8Z-7Z9jXBRRS9Ek8-M/edit#slide=id.gc6f73a04f_0_0

No linked samples

Is-Input-Pending

This API enables developers to complete their work as fast as possible if the user isn't interacting, but respond to user input as fast as possible if input occurs. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/is-input-pending

Samples: https://wicg.github.io/is-input-pending/#examples-of-usage

New TextMetrics object in canvas

We intended to add attributes FontBoundingBoxAscent and fontBoundingBoxDescent to textmetrics in canvas (following spec https://html.spec.whatwg.org/multipage/canvas.html#textmetrics). This feature will help web developers to arrange text better and it has strong user support (https://crbug.com/277215). #

This feature was specified in this Spec.

Pan/Tilt support for Camera

This feature allows developers to pan and tilt the camera using media constraints in getUserMedia(). https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-pan https://w3c.github.io/mediacapture-image/#dom-mediatrackcapabilities-tilt #

This feature was specified in this Spec.

Resources

Docs: https://web.dev/camera-pan-tilt-zoom/

Samples: https://ptz.glitch.me/https://github.com/riju/WebCamera/tree/master/samples/panTilthttps://webrtc.github.io/samples/src/content/getusermedia/pan-tilt-zoom/

Range request header in a Service Worker

Range request header can be passed through a service worker if it's not modified. This enables service workers can work with requests made by media elements such as video and audio. #

This feature was specified in this Spec.

Streams API: transferable streams

The streams APIs provide ubiquitous, interoperable primitives for creating, composing, and consuming streams of data. A natural thing to do with a stream is to pass it to a web worker. This provides a fluent primitive for offloading work to another thread. Transferable streams add this capability by allowing ReadableStream, WritableStream, and TransformStream objects to be passed as arguments to postMessage(). #

This feature was specified in this Spec.

Resources

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

Samples: https://github.com/whatwg/streams/blob/master/transferable-streams-explainer.md

WakeLockSentinel.released Attribute

The WakeLockSentinel object has a new attribute called `released` that indicates whether a sentinel has already been released. Its value is initially false, and it changes to true once a "release" event is dispatched. #

This feature was specified in this Spec.

cross-origin isolation

1. Use origin instead of site as agent cluster key for cross-origin isolated agent clusters. document.domain mutation is no-op for agents in cross-origin isolated agent clusters. 2. Introduce cross-origin isolated permission (https://w3c.github.io/webappsec-feature-policy/). 3. Introduce self.crossOriginIsolated returning whether the surrounding agent cluster is cross-origin isolated and the environment has the cross-origin isolated permission. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1QyAGuwxoX1MrrPqOpAr84zhX0_YB7kOD2w8azvq45ME/edit#https://docs.google.com/document/u/1/d/1OFaz1Txi4ynFLmRqNTLFF3qd6jm4kK4GkJdmgr5_aZA/edit?usp=sharing

No linked samples

ontransition{run, start, cancel} event handler attributes

The ontransitionrun, ontransitionstart, and ontransitioncancel event handler attributes allow developers to add event listeners for 'transitionrun', 'transitionstart', and ‘transitioncancel' events on elements, Document objects, and Window objects. An example of how this might be used: target.ontransitioncancel = () => { console.log('transition was cancelled!'); } #

This feature was specified in this Spec.

Resources

Docs: https://output.jsbin.com/siyenag/quiet

No linked samples

text-decoration-thickness, text-underline-offset and from-font keyword for text-underline-position

Implement CSS text decoration properties text-decoration-thickness and text-underline-offset. Add support for the new from-font keyword for text-underline-position. When from-font keywords are used, support variable font MVAR underline scaling, (tags `unds` and `undo` in the MVAR table overriding underlinePosition and underlineThickness in the OpenType `post` table. #

This feature was specified in this Spec.

Resources

Docs: https://drafts.csswg.org/css-text-decor-4/#text-underline-position-property

No linked samples

Origin Trials in-progress in 87

This release of Chrome had 0 new origin trials.

Flagged features in 87

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 87

This release of Chrome had 0 features deprecated.

Removed features in 87

This release of Chrome had 1 features removed.

-webkit-font-size-delta

Developers should use font-size to control font size. Blink will no longer support the rarely used property -webkit-font-size-delta. #

This feature was specified in this Spec.