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 62

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

Enabled by default in 62

This release of Chrome had 21 new features.

element

<data> element #

This feature was specified in this Spec.

<time> element #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time

No linked samples

API for customizing HTMLMediaElement.seekable for Media Source live streams

This API lets MediaSource apps more effectively customize the HTMLMediaElement.seekable range logic by providing (or removing) a single seekable range that is union'ed with the current buffered ranges to result in a single seekable range which fits both, when media duration is infinite. #

This feature was specified in this Spec.

Resources

Docs: https://www.w3.org/TR/media-source/#dom-mediasource-setliveseekablerangehttps://www.w3.org/TR/media-source/#dom-mediasource-clearliveseekablerangehttps://www.w3.org/TR/media-source/#htmlmediaelement-extensions

Samples: https://googlechrome.github.io/samples/media/live-seekable-range.html

Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors

Update the CSS color parser to support 8/4-digit hex color. Legacy HTML attribute color parsing, per the "rules for parsing a legacy colour value" of the HTML micro syntax (http://bit.ly/1WF2Yre), will not be changed (see http://bit.ly/1UEDbiO), nor will the CSS hashless color quirk (https://quirks.spec.whatwg.org/#the-hashless-hex-color-quirk). #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#rgba

Samples: https://codepen.io/malyw/pen/wGNOrd

Accept-Language Headers Fix

We want to fix an issue in how Chrome generates the Accept-Language HTTP headers from user language preferences. As websites sometimes only accept languages without region (i.e. “en” vs “en-AU”), a user could receive websites in an unexpected language. We plan to add the base language in the correct position so that users receive webpages in their preferred language. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/10eGUww_2Ufv-YyGwnmr9ke_89Q6By_94v02FM_NTU24

No linked samples

Dispatch mouse transition events after layout

Mouse events are not sent when the nodes under the mouse change during layout. This then represents an incorrect state in that the hover state of where the mouse actually doesn't match the current hover state of the document. To fix a variety of issues we will start dispatching mouse transitional events and update the hover state shortly after layout has been executed. This will match Firefox behavior. #

This feature was specified in this Spec.

Resources

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

Samples: http://jsfiddle.net/mrwb605v/5/http://jsfiddle.net/Uf3xQ/25/

Feature Policy: Fullscreen

Allow developers to selectively enable and disable use of Fullscreen through the Feature-Policy HTTP header or the <iframe> "allow" attribute. The identifier for the feature in policies is "fullscreen". By default, fullscreen is allowed in all top-level documents, and in same-origin frames. This is similar to the existing <iframe> "allowfullscreen" attribute, but allows control over which origins will be allowed to use the feature when hosted inside of the frame. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://fullscreen.featurepolicy.rocks/https://fullscreen.featurepolicy.rocks/allow.html

Implement visibility:collapse for table rows and row-groups

visibility:collapse is supposed to hide table rows while preserving their contribution to column widths. Right now blink treats visibility:collapse as visibility:hidden, which merely skips painting the rows, leaving blank space in their place instead of allowing their space to be used for other content. #

This feature was specified in this Spec.

Resources

Docs: https://www.w3.org/TR/CSS2/tables.html#dynamic-effectshttps://github.com/w3c/csswg-drafts/issues/478https://developer.mozilla.org/en-US/docs/Web/CSS/visibilityhttps://docs.google.com/a/google.com/document/d/1G3lheD7HeXNyTo0K1bv4p1XAgDhZYAII-gzx0_2AvLI/edit?usp=sharing

Samples: https://www.quirksmode.org/css/visibility.html

Intervention: Image replacement for Data Saver users on slow connections

If a Data Saver user is on a 2G-speed or slower network according to the NetInfo API, Chrome replaces images with placeholders and sends an intervention header on every resource request. Placeholders are the same dimensions as the original image to maintain site layout. Users are shown a Lite Mode UI in the omnibox. Users can load the image by long-pressing on the placeholder, or load all images by tapping “Show original” in the UI. An intervention report is sent when this optimization occurs. #

This feature was specified in this Spec.

Resources

Docs: https://wicg.github.io/netinfo/#dfn-effective-connection-typeshttps://developers.google.com/web/updates/2018/09/reportingapihttps://www.w3.org/TR/reporting/#intervention-report

No linked samples

Loosen up escape sequence restrictions in template literals

The restriction on escape sequences in template literals has been loosened. This enables new use cases for template tags, such as writing a LaTeX processor. #

This feature was specified in this Spec.

Media Capture from HTML Media Element (

“Media Capture from DOM Elements” document by W3C defines captureStream() method that allows the capture of a <video>/<audio> element in the form of a MediaStream. We want to implement the necessary Blink and Chromium sections that would create this stream by accessing the <video>/<audio> output according to the given play back constraints. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/10/capture-streamhttps://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API

Samples: https://rawgit.com/Miguelao/demos/master/videoelementcapture.html

Network Information: Network Quality signals

This API provides network performance information to developers, as perceived by the UA, in a format that’s easy to consume and act upon: UA monitors latency and throughput of recent requests and provides estimates for effective RTT, throughput, and connection type that developers should optimize for - e.g. if the recently observed latency and/or throughput is low, the effective connection type will be mapped to a “low” value like 2G or 3G, regardless of the underlying network technology. #

This feature was specified in this Spec.

Resources

No linked docs

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

OpenType variable font support

OpenType variable fonts integration in the layout engine affects at least the following aspects: 1) Axis value assignments from font-variation-settings 2) Integration of variable fonts axis parameters into layout operations 3) Font matching for: * Matching based on canonical scalable axes such as width or weight or optical sizing. * Matching named instances 4) Feature resolution of CSS props, feature-settings and variation settings #

This feature was specified in this Spec.

Resources

Docs: https://medium.com/@tiro/https-medium-com-tiro-introducing-opentype-variable-fonts-12ba6cd2369https://www.microsoft.com/en-us/Typography/OpenTypeSpecification.aspx

Samples: https://jsfiddle.net/k6pkvj66/1/

PaymentDetailsModifier.data

Need to support modifiers with the same identifier but different data. One use case for this is to support card payments with different modifiers for credit vs. debit cards. This change adds the PaymentDetailsModifier.data field to supply the different data. #

This feature was specified in this Spec.

Resources

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

No linked samples

Performance.timeOrigin

Performance.timeOrigin was defined in High Resolution Time 3. The attribute is useful for developers to be able to compare timings of objects (like windows or workers) with different time origins. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/Performancehttps://developer.mozilla.org/en-US/docs/Web/API/Performance/timeOrigin

No linked samples

RegExp `dotAll` mode / `s` flag

The new `s` flag for ECMAScript regular expressions makes `.` match any character, including line terminators. #

This feature was specified in this Spec.

Resources

Docs: https://mathiasbynens.be/notes/es-regexp-proposals#dotAllhttps://developers.google.com/web/updates/2017/07/upcoming-regexp-features#dotall_flag

No linked samples

RegExp lookbehind assertions

Lookarounds are zero-width assertions that match a string without consuming anything. ECMAScript has lookahead assertions that does this in forward direction, but the language is missing a way to do this backward which the lookbehind assertions provide. With lookbehind assertions, one can make sure that a pattern is or isn't preceded by another, e.g. matching a dollar amount without capturing the dollar sign. #

This feature was specified in this Spec.

Resources

Docs: https://mathiasbynens.be/notes/es-regexp-proposals#lookbehindshttps://developers.google.com/web/updates/2017/07/upcoming-regexp-features#lookbehind_assertions

No linked samples

Support FLAC in ISO-BMFF with MSE

FLAC is a lossless audio coding format, already supported in regular Chrome HTML5 playback. This feature adds support for FLAC in ISO-BMFF to Chrome HTML5 Media Source Extensions (MSE). #

This feature was specified in this Spec.

Resources

Docs: https://www.w3.org/TR/mse-byte-stream-format-isobmff/https://github.com/xiph/flac/issues/38https://github.com/w3c/media-source/issues/188

Samples: https://googlechrome.github.io/samples/media/flac-in-mp4-for-mse.html

Update ol.start default value as 1

As per the spec, "The start IDL attribute must reflect the content attribute of the same name, with a default value of 1. This means that the start IDL attribute does not necessarily match the list's starting value, in cases where the start content attribute is omitted and the reversed content attribute is specified." #

This feature was specified in this Spec.

WebAudio: OfflineAudioContext constructor with dictionary

The constructor for an OfflineAudioContext now accepts a dictionary argument to specify the options needed to construct the context. This is an addition to the existing constructor that takes three arguments. #

This feature was specified in this Spec.

Resources

Docs: https://webaudio.github.io/web-audio-api/#OfflineAudioContexthttps://webaudio.github.io/web-audio-api/#offlineaudiocontextoptions

No linked samples

visualViewport attribute event handlers

Adding attribute event handlers to visualViewport. i.e. visualViewport.onresize and visualViewport.onscroll (This is a minor fix to the shipped implementation) #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/VisualViewporthttps://developer.mozilla.org/en-US/docs/Web/API/VisualViewport/onresizehttps://developer.mozilla.org/en-US/docs/Web/API/VisualViewport/onscroll

No linked samples

Origin Trials in-progress in 62

This release of Chrome had 0 new origin trials.

Flagged features in 62

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

document.rootScroller

Allow a non-document (or <body>) element to hide URL bar, generate overscroll glow, etc. on scrolling, effects normally reserved for "viewport scrolling" only. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/bokand/NonDocumentRootScroller

Samples: http://bokand.github.io/rs/div.htmlhttp://bokand.github.io/totese.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 62

This release of Chrome had 1 features deprecated.

PaymentMethodData.supportedMethods should not be a sequence

PaymentMethodData is used in the PaymentRequest constructor, the PaymentRequestEvent, and the CanMakePaymentEvent. It's supportedMethods property holds and identifier indicating the payment methods a merchant accepts. Currently, this property takes either a string or array. After this change, it will only take a string. #

This feature was specified in this Spec.

Removed features in 62

This release of Chrome had 5 features removed.

Deprecate SVGPathElement.getPathSegAtLength

This interface is removed from the spec. https://svgwg.org/svg2-draft/paths.html#InterfaceSVGPathElement. #

This feature was specified in this Spec.

Resources

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

No linked samples

RTCPeerConnection.getStreamById

The getStreamById method on RTCPeerConnection is being removed. See https://crbug.com/698163#c10 for a replacement if you depend on this. #

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/getStreamById

No linked samples

Remove Insecure usage of Notifications

Remove access to the Notifications API on insecure origins. This will prevent sites from requesting notification permission or creating non-persistent local notifications over HTTP. Sites using the Notification API for web push must already be on secure origins due to the requirement for a service worker. Removal is anticipated in Chrome 62. #

This feature was specified in this Spec.

Resources

Docs: http://www.w3.org/TR/powerful-features/

No linked samples

Remove Usage of Notifications from iFrames

Remove the ability to call Notification.requestPermission() from non-main frames. This change will align the requirements for notification permission with that of push notifications, easing friction for developers. It allows us to unify notification and push permissions. #

This feature was specified in this Spec.

SharedWorker: Remove workerStart

SharedWorker.workerStart has been deprecated for a while in the spec, and is not supported by other major browsers. #

This feature was specified in this Spec.