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 65

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

Enabled by default in 65

This release of Chrome had 23 new features.

Block cross-origin

To avoid what is essentially user-mediated cross-origin information leakage, Blink will start to ignore the presence of the download attribute on anchor elements with cross origin attributes. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en/docs/Web/HTML/Element/a

No linked samples

CSS Color 4 HSL/HSLA syntax

Update parsing of HSL() and HSLA() to the syntax described in CSS Color 4. The functions were synonymized, along with allowing whitespace to separate the parameters instead of commas, introducing a backslash as a new way to separate the alpha parameter, allowing angles to be specified as the hue, and allowing percent values for the alpha parameter. #

This feature was specified in this Spec.

Resources

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

No linked samples

CSS Color 4 RGB/RGBA syntax

Update parsing of RGB() and RGBA() to the syntax described in CSS Color 4. The functions were synonymized, along with allowing whitespace to separate the channels instead of commas, introducing a backslash as a new way to separate the alpha parameter, and allowing percent values for the alpha parameter. #

This feature was specified in this Spec.

Resources

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

No linked samples

CSS Paint API (Houdini)

CSS Paint API defines a new callback which is designed to allow developers to write code which produces a CSS <image> during the paint phase of the rendering engine. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2018/01/paintapi

Samples: https://github.com/GoogleChrome/houdini-samples/tree/master/paint-worklet

CSS Selectors 4 Pseudo-Class :any-link

The :any-link pseudo-class represents an element that acts as the source anchor of a hyperlink. #

This feature was specified in this Spec.

Do not create layout objects for elements inside display:none iframes.

The original HTML/CSS specifications were unclear about the intended behavior for elements inside display:none iframes. [Do they get CSS boxes? Are they rendered?] This has led to a divergence in behavior between UAs. The specs are in the process of being clarified, and the new spec matches the behavior of Edge and Gecko [which do not perform box construction or layout]. Note that Chrome's current behavior has negative performance implications. https://github.com/whatwg/html/issues/1813 #

This feature was specified in this Spec.

Feature Policy: control Synchronous XMLHttpRequest

Allows developers to selectively enable and disable use of Synchronous XMLHttpRequest requests through the feature policy HTTP header or the <iframe> "allow" attribute. The identifier for the feature in policies is "sync-xhr". By default, synchronous XHR is allowed in all frames. If developers wish to disable this on any page, they can include a header like: Feature-Policy: sync-xhr 'none' Or embed content in an frame with sync XHR disabled like: <iframe src="..." allow="sync-xhr 'none'"> #

This feature was specified in this Spec.

Resources

Docs: https://xhr.spec.whatwg.org/https://github.com/whatwg/xhr/pull/177https://github.com/whatwg/xhr/issue/178

Samples: https://wpt.fyi/xhr/xmlhttprequest-sync-default-feature-policy.sub.htmlhttps://feature-policy-demos.appspot.com/sync-xhr.html?on

KeyboardEventInit keyCode, charCode support

Add support for initializing keyCode, charCode via KeyboardEventInit. #

This feature was specified in this Spec.

NTLMv2

Support NTLMv2 authentication. Currently on non-Windows platforms only NTLMv1 is used. #

This feature was specified in this Spec.

Resources

Docs: Official Microsoft Spec - https://msdn.microsoft.com/en-us/library/cc236621.aspxDetailed Description of V1 vs V2 protocol Differences - https://docs.google.com/document/d/18kQ_TFQns2HZ9KGs4bGDfiiOIRmOhI12oJBttvUlYLY/editAdditional NTLM Reference - http://davenport.sourceforge.net/ntlm.htmlAdditional EPA Reference - https://blogs.msdn.microsoft.com/openspecification/2013/03/26/ntlm-and-channel-binding-hash-aka-extended-protection-for-authentication/Implementation - https://cs.chromium.org/chr

No linked samples

PerformanceObserver takeRecords()

The takeRecords method returns a copy of the performance entries in the PerformanceObserver’s buffer, and also clears this buffer. This aligns PerformanceObserver with other *Observer implementations, like MutationObserver and IntersectionObservers, which have similar methods. #

This feature was specified in this Spec.

RTCRtpSender and RTCRtpReceiver extensions to RTCPeerConnection

This feature encapsulates the addition of the following methods to RTCPeerConnection: getSenders(), getReceivers(), addTrack(MediaStreamTrack track, MediaStream... streams), and removeTrack(RTCRtpSender sender). The RTCRtpSender and RTCRtpReceiver objects will initially be limited to supporting the "track" attribute, with RTCRtpSender also supporting "replaceTrack(MediaStreamTrack withTrack)". #

This feature was specified in this Spec.

RTCRtpSender.replaceTrack

This allows you to seamlessly change which track is being sent without having to renegotiate at the expense of another offer/answer cycle. For example, you might want to switch which video to send or to temporarily not send video, without any disruption in audio or at the cost of an RTT delay. It can also be used to control whether or not to send with replaceTrack(null). #

This feature was specified in this Spec.

Request.destination

The `Request.destination` getter enables Service Worker code knowledge regarding which type of resource it is fetching. #

This feature was specified in this Spec.

ServerTiming API

Add the PerformanceServerTiming Interface which makes Server-Timing header timing values available to JavaScript running in the browser. #

This feature was specified in this Spec.

Support HTMLAnchorElement.relList property

The HTMLAnchorElement.relList read-only property reflects the rel attribute. It is a live DOMTokenList containing the set of link types indicating the relationship between the resource represented by the <a> element and the current document. #

This feature was specified in this Spec.

Support HTMLAreaElement.relList property

The HTMLAreaElement.relList read-only property reflects the rel attribute. It is a live DOMTokenList containing the set of link types indicating the relationship between the resource represented by the <area> element and the current document. #

This feature was specified in this Spec.

TLS 1.3 (draft versions)

The latest version of the Transport Layer Security (TLS) protocol. For M65, draft-23 of the protocol will be rolled out to Chrome users via a field trial. #

This feature was specified in this Spec.

Wheel scroll latching and async wheel events

Latch to a single element for the duration of a wheel scroll. Only the first wheel event in a scrolling sequence is cancel-able. #

This feature was specified in this Spec.

Resources

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

No linked samples

Worklets

Worklets define a new javascript execution context which is designed to allow developers to write code which is intended to be run synchronously within the rendering engine, however independent of the main user javascript. This feature was released in two stages. Worklets for paint were released in Chrome 65/Opera 52. Worklets for audio were released for Chrome 66/Opera 53. #

This feature was specified in this Spec.

assignedElements on

Add assignedElements on <slot>, similar to assignedNodes(), but returning Element nodes only. The method returns elements that are assigned to a given slot. #

This feature was specified in this Spec.

display: contents

"display: contents" allows you to control the box generation of an element. The element with "display: contents" won't generate any box, but its children and pseudo-elements will still do it as normal. It's like the element has been replaced by its children and pseudo-elements. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://rachelandrew.co.uk/archives/2016/01/29/vanishing-boxes-with-display-contents/

document.all is no longer [Replaceable].

It has been possible for web developers to overwrite document.all for a long time, but according to the web standard, document.all will be no longer overwritable, i.e. it will be readonly. [before the change] document.all = 42; console.log(document.all); // prints 42 [after the change] document.all = 42; console.log(document.all); // prints a HTMLAllCollection #

This feature was specified in this Spec.

toJSON for Performance and PerformanceEntry

Ever since serializer was deprecated in favor of toJSON [1], the Performance and PerformanceEntry specs added a mandatory toJSON method. This method should just call the default toJSON operation [2]. [1] https://github.com/w3c/resource-timing/issues/112 [2] https://heycam.github.io/webidl/#default-tojson-operation The following interfaces will have toJSON added: PerformanceResourceTiming PerformanceLongTaskTiming TaskAttributionTiming #

This feature was specified in this Spec.

Origin Trials in-progress in 65

This release of Chrome had 0 new origin trials.

Flagged features in 65

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

CSP's `prefetch-src` directive.

CSP allows developers to control the set of resources which can be preloaded by specifying a `prefetch-src` directive. The directive has the same format as other fetch directives; developers write an allowlist which defines the set of hosts from which resources can be preloaded. If `prefetch-src` is not specified, `default-src` will apply. #

This feature was specified in this Spec.

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 65

This release of Chrome had 0 features deprecated.

Removed features in 65

This release of Chrome had 1 features removed.

`<meta http-equiv="set-cookie" ...>` provides a mechanism for manipulating a host's cookies via markup. Ideally, we would require access to a host's HTTP headers, or script-execution capabilities to modify this data. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/whatwg/html/pull/3011#issuecomment-331187136

No linked samples