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 64

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

Enabled by default in 64

This release of Chrome had 26 new features.

Animation for offset-path CSS property

Authors using CSS Motion Path can now animate the path that an element moves along by animating the offset-path property #

This feature was specified in this Spec.

Resources

No linked docs

Samples: http://codepen.io/ericwilligers/pen/PpqMqM

CSS transform-box

The transform-box property allows defining which reference box to use when computing 'transform' and 'transform-origin'. It currently only has an effect on SVG elements. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/CSS/transform-box

No linked samples

CSS4 text-decoration-skip-ink

CSS Text Decoration 4: property controls how overlines and underlines are drawn when they cross over a glyph. With the initial, default value "auto" decoration lines skip over where glyphs are drawn: interrupt the decoration line to let the shape of the text show through where the text decoration would otherwise cross over a glyph. The UA must also skip a small distance to either side of the glyph outline. To disable this behavior, use `text-decoration-skip-ink: none` #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://codepen.io/anon/pen/GOadjL

Constructible & Subclassable EventTarget

Make EventTarget constructor callable, allowing them to be constructed on their own or be subclassed. #

This feature was specified in this Spec.

Deprecate and remove chrome.loadTimes

chrome.loadTimes() is a non-standardized API that enables collecting loading related metrics to understand performance in the real world. However the metrics there are now available as standardized APIs, so this API will be deprecated and removed. #

This feature was specified in this Spec.

Deprecate on-by-default Permissions in Cross-origin Iframes

It’s proposed that by default the following permissions cannot be requested or granted to content contained in cross-origin iframes: Geolocation Midi Encrypted media extensions Microphone and Camera In order for a cross-origin frame to get access to these permissions, the embedding page must specify a Feature Policy which enables the feature for the frame. For example, to enable geolocation in an iframe, the embedder could specify the iframe tag as: <iframe src="..." allow="geolocation"> #

This feature was specified in this Spec.

Resources

Docs: https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-permissions-in-cross-origin-iframes

No linked samples

Feature Policy: Autoplay

Allows developers to selectively enable and disable use of autoplay through the feature policy HTTP header or the <iframe> "allow" attribute. By default we will allow autoplay on same origin iframes. If developers have cross origin iframes they will be able to enable autoplay on those frames by enabling the "autoplay" feature. #

This feature was specified in this Spec.

Fetch API: Request.cache

A property which represents the cache mode of a Request. This feature includes RequestInit.cache which sets the property. #

This feature was specified in this Spec.

Fractional coordinates in PointerEvents of type mouse

Make the coordinates in PointerEvents of pointerType=mouse fractional, in order to include the full precision provided by the underlying platform. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://output.jsbin.com/quqoqe/4/quiet

Image Decode API: img.decode()

This change allows web developers to request to decode an img element. The call to a new HTML <img> element’s decode() function returns a promise, which, when fulfilled, ensures that the image can be appended to the DOM without causing a decoding delay on the next frame. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/whatwg/html/issues/1920https://github.com/whatwg/html/issues/2037

Samples: https://drive.google.com/file/d/0B5cKk7MxQ2LsUUotR3RuWUlpSXc/viewhttps://drive.google.com/drive/folders/0B5cKk7MxQ2LsNVQzaVVoWHRnVHc

Image decoding attribute

This feature allows developers to specify decoding attribute on HTMLImageElement and SVGImageElement which would have one of two states: “async”: This indicates that the developer prefers responsiveness and performance over atomic presentation of image and non-image content. “sync”: This indicates that the developer prefers atomic presentation of content over responsiveness. "auto": This indicates a default state where the user-agent can select the behavior. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/whatwg/html/issues/1920

No linked samples

Intl.NumberFormat.prototype.formatToParts()

Intl.NumberFormat.prototype.formatToParts() is scheduled to be added to the ECMAScript Internationalization API specification (Ecma 402). It adds a method to format a number to a list of tokens and their types (e.g. minusSign, integer, decimal, fraction, currency, percentSign, etc). See also the corresponding DateTimeFormat feature here: https://www.chromestatus.com/feature/6319456309477376 #

This feature was specified in this Spec.

Resources

Docs: https://github.com/tc39/ecma402/files/41759/formatToParts.pdfhttps://github.com/zbraniecki/proposal-intl-formatToPartshttps://github.com/tc39/ecma402/issues/30

No linked samples

Media preload defaults to metadata

Set the default preload value for video and audio elements to “metadata”. Note that the preload attribute's hint is still ignored when a MediaSource is attached to the media element. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://googlechrome.github.io/samples/media/preload-metadata

Notifications to be displayed in the platform's Notification Center

Most platforms ship with a notification center of their own - on mobile devices this may be more prominent than on desktops, but they do exist. We're in progress of moving notifications shown by Chrome to be included in those centers as well. - Android (shipped in Chrome 42) - Mac OS X (shipped in 59) - Linux (planned to ship in 64) - Windows (being prototyped) Other browsers already use native notification centers where available. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://tests.peter.sh/notification-generator/

Numeric character reference fallback for file upload characters not representable in form-charset

Change <input type="file"> filename encoding in multipart/form-data uploads in forms with non-Unicode accept-charset to use HTML numeric character references rather than '?' when a filename the user selects contains characters not representable in the target character encoding. This change would align our behavior with the existing behavior of Firefox and Edge. It is hoped that this behavior can eventually achieve cross-browser consensus and standardization. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/whatwg/html/issues/3223https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-datahttps://encoding.spec.whatwg.org/#concept-encoding-processhttps://tools.ietf.org/html/rfc7578#section-4.2https://tools.ietf.org/html/rfc5987#section-3.2

No linked samples

Prevent scrolling in HTMLElement.focus()

Adds an optional argument to existing focus APIs that disable the scroll triggered by focus. #

This feature was specified in this Spec.

RTCRtpSender

This feature tracks RTCPeerConnection methods getSenders(), addTrack(), removeTrack() and the essentials of interface RTCRtpSender. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnectionhttps://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrackhttps://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getSendershttps://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/removeTrack

No linked samples

RegExp named captures

Named captures for ECMAScript regular expressions allow developers to create and refer to named capture groups. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2017/07/upcoming-regexp-features#named_captures

No linked samples

Remove window.event for Shadow DOM

The contex is: https://github.com/whatwg/dom/issues/334 We are trying to standardize certain Microsoft event extensions. One of them is window.event. Blink *supports* window.event. In the discussion, we agreed that window.event should be *undefined* if an Event's target is in a shadow tree. That is effectivery equivalent to *removing* window.event for Shadow DOM. #

This feature was specified in this Spec.

Resize Observer

The Resize Observer API can be used to observe changes to size of Element's content rect. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/10/resizeobserver

Samples: https://ebidel.github.io/demos/dom_resize_events.htmlhttps://jsfiddle.net/atotic/mr47wt1a/

Stronger popup blocker on sites with abusive experiences

On sites with very abusive experiences (see documentation link below), Chrome will start enforcing a more aggressive popup blocker. This will invoke Chrome's popup blocking UI for new windows or tabs regardless of whether there is a user gesture. #

This feature was specified in this Spec.

Resources

Docs: https://support.google.com/webtools/answer/7347327

No linked samples

Throw NotSupportedError when media playbackRate is unsupported

Throw a NotSupportedError DOM exception when a media element’s playbackRate is set to an unsupported value. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://googlechrome.github.io/samples/media/playback-rate-exception

Unicode property escapes in regular expressions

The Unicode Standard assigns various properties and property values to every symbol. For example, to get the set of symbols that are used exclusively in the Greek script, search the Unicode database for symbols whose Script property is set to Greek. Unicode property escapes are a new type of escape sequence available in regular expressions that have the `u` flag set. They enable querying the Unicode database for certain properties and values. E.g. `/\p{Script=Greek}/u.test('π') === true` #

This feature was specified in this Spec.

Resources

Docs: https://mathiasbynens.be/notes/es-unicode-property-escapeshttps://developers.google.com/web/updates/2017/07/upcoming-regexp-features#unicode_property_escapes

No linked samples

X-Content-Type-Options: nosniff

The `X-Content-Type-Options: nosniff` header allows a server to assert that its resources may only be executed as script or applied as style if they're delivered with appropriate `Content-Type` headers. #

This feature was specified in this Spec.

import.meta

The `import.meta` meta-property provides a host-defined object which exposes context-specific metadata to a JavaScript module (e.g. the enclosing module's URL or associated <script> element). #

This feature was specified in this Spec.

Resources

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

No linked samples

install event for Web App Manifest

An event handler to tell a site that it has been installed or added to home screen. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/Window/oninstall

Samples: https://killer-marmot.appspot.com/web/

Origin Trials in-progress in 64

This release of Chrome had 0 new origin trials.

Flagged features in 64

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

Media Capabilities: encoding

This is an API for querying the user agent about a device's encoding capabilities for the purpose of recording or transmitting. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://codepen.io/miguelao/full/bWNwej

Network Information: saveData

The saveData attribute is a boolean that indicates a client’s explicit opt-in for reduced data usage, due to high transfer costs, slow connection speeds, or other reasons. It's use allows JavaScript to make decisions that result in reduced data use, such as to load smaller images and video resources, or reduce buffering or predictive actions. This is expected to be enabled by default in Chrome 65. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://googlechrome.github.io/samples/network-information/

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 64

This release of Chrome had 0 features deprecated.

Removed features in 64

This release of Chrome had 3 features removed.

Multiple Shadow Roots

Enable elements to host more than one Shadow Roots. Dropping this feature from the spec is the resolution at Web Components f2f meeting (https://www.w3.org/wiki/Webapps/WebComponentsApril2015Meeting) This was deprecated in Chrome 45. Removal is anticipated in Chrome 64. This was deprecated in Chrome 45. #

This feature was specified in this Spec.

Remove getMatchedCSSRules

getMatchedCSSRules is a webkit-only API to get a list of all the style rules applied to a particular element. It has been deprecated since 2014. #

This feature was specified in this Spec.

window.alert() will not activate parent page

If a document in a background tab calls window.alert() then the call to alert() will return immediately; the dialog will be shown to the user when they switch to the tab. A UI indicator will be set so the user is aware of the pending alert dialog. This removes the ability to use window.alert() to bring a tab to the front against the user’s will. #

This feature was specified in this Spec.