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 52

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

Enabled by default in 52

This release of Chrome had 28 new features.

-webkit-appearance:none for METER element

Web authors had no way to completely disable UA rendering of METER element, and were unable to render them with pure CSS. This feature is to implement the standard appearance:none behavior for METER element as -webkit-appearance:none. -webkit-appearance:none removes UA rendring at all, and renders the content of <meter> element. #

This feature was specified in this Spec.

Resources

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

Samples: http://www.am530.de/lab/html5/meter.php

Alternative Services

Alternative services allow an origin serving an http:// or https:// resource to nominate additional (protocol, host, port) tuples that the client can choose to request the resource from instead of the origin when making subsequent requests. This can be used, for example, as a protocol upgrade mechanism, for connection pooling, or for load balancing. #

This feature was specified in this Spec.

CSP3: The 'strict-dynamic' source expression.

The 'strict-dynamic' source expression allows script loaded via nonce- or hash-based whitelists to load other script, simplifying the requirements for deployment, and (hopefully!) making it more likely that CSP can reach more sites. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives

Samples: https://csp-experiments.appspot.com/unsafe-dynamic

CSS Containment

A primitive for isolating style, layout, and paint. This allows authors to explicitly opt into a set of restrictions that enables user agent optimizations. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/06/css-containmenthttps://developer.mozilla.org/en-US/docs/Web/CSS/contain

No linked samples

CSS Flexbox: New behavior for absolute-positioned children

A previous version of the Flexbox spec set the static position of abspos children as if they were a 0x0 flex item. However, the latest version of the spec takes them fully out of flow and sets the static position based on align and justify properties. (The static position is used when there are no top: or left: or related properties used to position the absolute-positioned element. See the sample below.) #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/06/absolute-positioned-children

Samples: https://googlechrome.github.io/samples/css-flexbox-abspos/index.htmlhttp://jsbin.com/sikiqedemo/3/edit?html,output

Exponentiation Operator (** / **=)

Provides an arithmetic operator equivalent of Math.pow(), in which the lefthand-side expression serves as the base value, and the righthand-side expression serves as the exponent. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Exponentiation

Samples: http://www.2ality.com/2016/02/exponentiation-operator.htmlhttps://blog.mariusschulz.com/2015/11/24/the-exponentiation-operator-in-javascript

Fetch API: Response construction with ReadableStream

Developers can now construct their own ReadableStream instances, and use one as a body for constructing a Response object. It enables streaming composed body data from a ServiceWorker to a page controlled by it. #

This feature was specified in this Spec.

Resources

Docs: https://streams.spec.whatwg.org/#rshttps://developers.google.com/web/updates/2016/06/sw-readablestreams

Samples: https://jakearchibald.com/2016/streams-ftw/

Fetch API: referrer policy

This feature enables users to get / set a Request's referrer policy which affect's the "Referer" HTTP header. #

This feature was specified in this Spec.

Resources

Docs: https://hacks.mozilla.org/2016/03/referrer-and-cache-control-apis-for-fetch/https://developer.mozilla.org/en-US/docs/Web/API/GlobalFetch/fetch

Samples: https://googlechrome.github.io/samples/fetch-api/fetch-referrer-policy.html

Filters in 2D canvas

Add a string attribute called 'filter' to CanvasRenderingContext2D to apply effects to primitives drawn to the canvas. The attributes is parsed the same way as CSS filters. #

This feature was specified in this Spec.

Resources

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

No linked samples

H.264 software encoder/decoder in Chrome for WebRTC

Include a H.264 video codec encoder and decoder in Chrome for use with WebRTC. At IETF in late november 2014, a compromise was reached with the main contributors to WebRTC to ship both VP8 and H.264. This launch is to follow up in this public commitment. The plan is to use the OpenH264 (same lib as Firefox uses) for encoding and FFmpeg (which is already used elsewhere in Chrome) for decoding. #

This feature was specified in this Spec.

HTMLMediaElement.srcObject attribute

The srcObject attribute allows associating a MediaStream to a media element using a simple assignment. Previously, achieving this required first obtaining a URL associated to the MediaStream, and then associating this URL to the media element. #

This feature was specified in this Spec.

Resources

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

No linked samples

IDBKeyRange.includes()

Test whether or not a key exists within the bounds of an IDBKeyRange. #

This feature was specified in this Spec.

Resources

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

No linked samples

ImageBitmapOptions

An ImageBitmapOptions is a dictionary object passed to the createImageBitmap(), such that an ImageBitmap can be created with specific format, for example, premultiplyAlpha = false. #

This feature was specified in this Spec.

Resources

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

No linked samples

Invalid values behave like "metadata", not "subtitles"

Invalid values for <track kind> are currently treated as "subtitles". This means that any new values will be treated as subtitles by old UAs. Instead use "metadata" as the "invalid value default", to avoid UAs showing <track>s with unrecognized values. #

This feature was specified in this Spec.

Resources

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

No linked samples

Node.isConnected

The isConnected attribute’s getter returns true, if context object is in a shadow-including document, and false otherwise. #

This feature was specified in this Spec.

Resources

Docs: See the discussion here: https://github.com/w3c/webcomponents/issues/81

No linked samples

Pause event loop during modal dialogs

When using alert(), confirm() or onbeforeunload, Chromium's old behavior was to block JS waiting for the result, but allows all declarative animations to continue. This change is to make all main-thread tasks (such as <marquee> and CSS 2d animations) also pause during this interval. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: http://jsfiddle.net/sfc75sg6/10/

Performance Observer

Used to observe the Performance Timeline (http://w3c.github.io/performance-timeline) and be notified of new performance entries as they are recorded by the user agent #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/06/performance-observer

No linked samples

Push subscription restrictions, Web Push protocol

Supporting server authentication and subscription restrictions from the following IETF draft, that will allow developers to provide a public key when subscribing for push upon which Chrome will return a Web Push protocol-compatible endpoint. https://tools.ietf.org/html/draft-thomson-webpush-vapid-02 This will enable us to move away from our current GCM implementation requirements. #

This feature was specified in this Spec.

Resources

Docs: https://tools.ietf.org/html/draft-thomson-webpush-vapid-02https://developer.mozilla.org/en-US/docs/Web/API/PushManager/subscribe

No linked samples

Streams API

APIs for creating, composing, and consuming streams of data, that map efficiently to low-level I/O primitives, and allow easy composition with built-in backpressure and queuing. #

This feature was specified in this Spec.

Resources

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

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

Stricter user gestures for touch

Don't allow opening popups (and other sensitive operations) on touch events which don't correspond to a tap from inside of cross-origin iframes (Chrome 52). #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/interventions/issues/13https://developers.google.com/web/updates/2016/06/chrome-52-deprecations#block-pop-ups-from-cross-origin-iframes-during-touch-events-except-during-a-tap-gesture

Samples: http://rbyers.net/touch-popup-crossorigin.html

The 'SecureContext' WebIDL attribute.

The 'SecureContext' WebIDL attribute controls the exposure of a given interface, method, attribute, etc. If present, it ensures that the given item will be exposed only in a "Secure Context", as defined by https://w3c.github.io/webappsec-secure-contexts/ #

This feature was specified in this Spec.

WebAudio: AudioParams include min/max attributes to specify the nominal range

All AudioParams have a readonly min and max attribute to specify the minimum and maximum value the AudioParam can have. The value is clamped to lie in this range. This allows easy introspection for the developer to determine the valid ranges for a parameter. #

This feature was specified in this Spec.

Resources

Docs: http://webaudio.github.io/web-audio-api/#attributes-5https://developer.mozilla.org/en-US/docs/Web/API/AudioParam

No linked samples

WebAudio: Add Automation Support to PannerNode and AudioListener

Automation methods for the position and orientation coordinates of PannerNode and the position, up, and forward vectors of the AudioListener are added. This allows smooth changes in the coordinates via AudioParam methods. This effectively undeprecates the PannerNode and AudioListener. The old methods such as setPosition, setOrientation, etc., are retained, but deprecated because they have obvious equivalents with just setting the individual coordinate values. #

This feature was specified in this Spec.

Resources

Docs: http://webaudio.github.io/web-audio-api/#the-pannernode-interfacehttps://developer.mozilla.org/en-US/docs/Web/API/AudioListenerhttps://developer.mozilla.org/en-US/docs/Web/API/PannerNode

No linked samples

WebAudio: DynamicsCompressor.reduction is a float not AudioParam

Chrome implements the reduction attribute for a DynamicsCompressorNode as an AudioParam. The WebAudio spec says it should be a readonly float. Change Chrome to implement the specification. #

This feature was specified in this Spec.

Resources

Docs: http://webaudio.github.io/web-audio-api/#widl-DynamicsCompressorNode-reductionhttps://developer.mozilla.org/en-US/docs/Web/API/DynamicsCompressorNodehttps://developer.mozilla.org/en-US/docs/Web/API/DynamicsCompressorNode/reduction

Samples: https://github.com/GoogleChrome/web-audio-samples/wiki/DynamicsCompressor.reduction

WebRTC: Storing RTCCertificate in IndexedDB

RTCCertificates are self-signed certificates used in the DTLS handshake for when setting up a connection with an RTCPeerConnection. This feature allows RTCCertificates to be persisted to storage by an application by implementing the structured clone algorithm. This means RTCCertificates can be saved and loaded from an IndexedDB database, saving the cost of generating new certificates for new sessions. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/06/webrtc-ecdsa

No linked samples

addEventListener AddEventListenerOptions API

EventListenerOptions API was added in https://www.chromestatus.com/features/5718574840676352 The spec was revised to add AddEventListenerOptions which is a dictionary only for addEventListener(...) so that fields could be added that did not make up the matching key. This change is to move the add the AddEventListenerOptions dictionary definition, change the API and move the 'passive' field from EventListenerOptions to AddEventListenerOptions #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/EventListenerOptions/issues/27Relevant spec changes: https://github.com/whatwg/dom/commit/e002d7811533e276c9927b237748c4e170f4cb10https://github.com/whatwg/dom/commit/a13a3c7fc14732691b50c51316b16de0915a61f2

No linked samples

font-variant-caps

Space separated CSS value keywords for activating OpenType features related to small-caps, all-small-caps, etc. Using the CSS keywords for feature selection is at candidate recommendation status in the CSS Fonts Module level 3 and is the spec recommended way to activate common features. Signals from content developers and font foundries indicate that the CSS font-variant-* value keywords are easier to work with and less cryptic than font-feature settings. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en/docs/Web/CSS/font-variant-caps

No linked samples

font-variant-numeric

Space separated CSS value keywords for activating OpenType features related to numeric forms. Using the CSS keywords for feature selection is at candidate recommendation status in the CSS Fonts Module level 3 and is the spec recommended way to activate common features. Signals from content developers and font foundries indicate that the CSS font-variant-* value keywords are easier to work with and less cryptic than font-feature settings. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en/docs/Web/CSS/font-variant-numeric

No linked samples

Origin Trials in-progress in 52

This release of Chrome had 0 new origin trials.

Flagged features in 52

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 52

This release of Chrome had 1 features deprecated.

Deprecate and remove: WebKit legacy window.postMessage() overload

WebKit/Blink supports three overloads of window.postMessage(): "postMessage(message, targetOrigin)", "postMessage(message, targetOrigin, transferables)" and "postMessage(message, transferables, targetOrigin)" The last one being an accident of history as implementation and spec initially evolved, but an overload that got stuck. As it has little or no actual use (Link1), it will be deprecated and removed. Any remaining uses will have to swap arguments. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/06/chrome-52-deprecations#deprecate-overload-of-postmessagehttps://html.spec.whatwg.org/multipage/#dom-window-postmessagehttps://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

No linked samples

Removed features in 52

This release of Chrome had 2 features removed.

Deprecate 'X-Frame-Options' support inside ''.

Intent to Deprecate and Remove: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/R1gkjKZI0J8 #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/06/chrome-52-deprecations#remove-support-for-x-frame-options-in-meta-tags

No linked samples

Remove density property from Manifest's icons

Remove density property from Manifest's icons #

This feature was specified in this Spec.

Resources

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

No linked samples