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 67

Enabled (12) | Origin Trial (0) | Behind a flag (0) | Deprecated (0) | Removed (2)

Enabled by default in 67

This release of Chrome had 12 new features.

will be a stacking context

SVG2 specifies that <foreignObject> to be a stacking context (*). Previously, Chrome did not follow the SVG2 spec. Making <foreignObject> a stacking context allows developers to place HTML content underneath a <foreignObject> without confusion. For example, it wouldn't make much sense to place content at z-index:1 above the containing SVG. Gecko and Edge already implement this behavior. (*) https://svgwg.org/svg2-draft/single-page.html#render-EstablishingStackingContex #

This feature was specified in this Spec.

Resources

No linked docs

Samples: with z-index: http://output.jsbin.com/takesol>Example of elements under with z-index: http://output.jsbin.com/takesol

BigInt: arbitrary-precision integers

JavaScript gets a new numeric primitive that provides support for arbitrary-precision integers. `Number`s in JavaScript are represented as double-precision floats, giving them limited precision. `BigInt`s, on the other hand, can safely store and operate on large integers even beyond the safe integer limit for `Number`s. #

This feature was specified in this Spec.

Resources

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

No linked samples

Boolean return value of DOMTokenList replace()

The DOM specification was updated so that DOMTokenList replace() returns a boolean value. This is useful for code which takes different paths depending on whether a replacement occurred, avoiding the need for an extra condition using contains(). #

This feature was specified in this Spec.

Cross-Origin Read Blocking (CORB)

Cross-Origin Read Blocking (CORB) is an algorithm that can identify and block dubious cross-origin resource loads in web browsers before they reach the web page. CORB reduces the risk of leaking sensitive data by keeping it further from cross-origin web pages. In most browsers, it keeps such data out of untrusted script execution contexts. In browsers with Site Isolation, it can keep such data out of untrusted renderer processes entirely, helping even against side channel attacks like Spectre. #

This feature was specified in this Spec.

Resources

Docs: https://chromium.googlesource.com/chromium/src/+/master/services/network/cross_origin_read_blocking_explainer.mdhttps://www.chromium.org/Home/chromium-security/corb-for-developershttps://github.com/whatwg/fetch/issues/681

Samples: https://anforowicz.github.io/xsdb-demo/index.html

Customized built-in elements

Authors can now create custom elements which inherit from the semantics of native, built-in elements. This is helpful when web authors want to add features to their custom elements, but they cannot be implemented in CSS or JavaScript though the features are available in built-in elements. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/fundamentals/web-components/customelements#extendhtml

No linked samples

Fixes to modifier flags on AltGraph-shifted keydown/keypress/keyup events under Windows.

In Windows the right-hand Alt key serves as AltGraph (ISO-Level-3-Shift) on some layouts (for example, many European language layouts), to allow generating additional printable characters. Internally the key generates Ctrl+Alt modifiers, so that Chrome reports all of Control, Alt and AltGraph in the flags for these keys. In this change, Chrome distinguishes AltGraph from Ctrl+Alt under Windows for consistency with modifiers on other platforms. See the comments for how this helps developers. #

This feature was specified in this Spec.

Motion sensors APIs based on Generic Sensor API

Motion sensors extends the Generic Sensor API to expose a set of low-level and fusion sensors. This feature includes JS interfaces representing accelerometers, linear acceleration sensors, gyroscopes, absolute orientation sensors and relative orientation sensors. #

This feature was specified in this Spec.

Resources

Docs: https://www.w3.org/TR/generic-sensor/https://w3c.github.io/accelerometer/https://w3c.github.io/gyroscope/https://w3c.github.io/orientation-sensor/https://w3c.github.io/motion-sensors/https://developers.google.com/web/updates/2017/09/sensors-for-the-web

Samples: https://intel.github.io/generic-sensor-demos/

RTCRtpSender/RTCRtpReceiver.getStats and RTCPeerConnection.getStats(MediaStreamTrack?)

New WebRTC implementations provided a filtered view of the statistics returned by getStats() in RTCRtpSender, RTCRtpReceiver, and RTCPeerConnection, returning only stats that are relevant to the sender, receiver, or track. This change adds convenience for developers by requiring less code for filtering. Because this is based on the spec it increases cross-browser compatibility. #

This feature was specified in this Spec.

Send mouse back/forward buttons to javascript

Web pages can now process mouse events (mousedown, auxclick, mouseup) for back and forward buttons on mice with five or more buttons. This allows back and forward mouse buttons to be prevented by applications that wish to override them. For example they may be useful for games. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/w3c/pointerevents/issues/191

No linked samples

Slots in a flat tree

The <slot> element can now participate in a flat (layout) tree, with UA style: display: contents. Before this change, applying a CSS selector to a <slot> element had no effect. Not only is this fixed, when selectors are applied to a <slot> element, it's children inherit its styles. #

This feature was specified in this Spec.

Streams API: TransformStream

TransformStream is part of the Streams API for creating, composing, and consuming streams of data. It enables transforming data in stream form. It is typically used in a pipe between a ReadableStream and a WritableStream. #

This feature was specified in this Spec.

Resources

Docs: https://streams.spec.whatwg.org/#ts-intro

Samples: https://streams.spec.whatwg.org/demos/

Web Authentication API for Chrome

The Credential Management API (Chrome 51 and later) defined a framework for retrieving credentials, including semantics for creating, getting, and storing them. It did this through two credential types: PasswordCredential and FederatedCredential. The Web Authentication API adds a third credential type, PublicKeyCredential, which allows web applications to create and use strong, cryptographically attested, and application-scoped credentials to strongly authenticate users. #

This feature was specified in this Spec.

Origin Trials in-progress in 67

This release of Chrome had 0 new origin trials.

Flagged features in 67

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 67

This release of Chrome had 0 features deprecated.

Removed features in 67

This release of Chrome had 2 features removed.

-webkit-box-flex-group, -webkit-box-lines, % values of -webkit-line-clamp

-webkit-box-flex-group - This property has virtually zero usage based on the UseCounter on stable. % values of -webkit-line-clamp - There is interest in finding a standards based solution to the number values usecase, but we haven’t seen demand for the %-based values. -webkit-box-lines - This property was never fully implemented. It was originally intended such that a “vertical”/”horizontal” -webkit-box can have multiple rows/columns. #

This feature was specified in this Spec.

Intent to Deprecate & Remove: Change how New Formatting Contexts sized and positioned off a shape area.

The shape-outside property allows web developers to wrap text around a float with a non-rectangular area. In our implementation this also currently affects how new formatting contexts are sized and positioned. We want to change how they are sized and positioned, similar to how floats are positioned (based off the bounding area instead). #

This feature was specified in this Spec.