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 55

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

Enabled by default in 55

This release of Chrome had 22 new features.

Async/await functions

Async functions make it easy to write code which needs to "block" on certain asynchronous events JavaScript. Async/await does this by providing a simpler and more ergonomic way to use Promises. To block on a value, use the 'await' keyword. Async/await can be implemented based on a desugaring to generators, as described in the following design doc: https://docs.google.com/document/d/1K38ct2dsxG_9OfmgErvFld4MPDC4Wkr8tPuqmSWu_3Y/edit?usp=sharing #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/fundamentals/getting-started/primers/async-functionshttps://jakearchibald.com/2014/es7-async-functions/

Samples: https://blogs.msdn.microsoft.com/eternalcoding/2015/09/30/javascript-goes-to-asynchronous-city

Block script execution for non-script MIME types.

Script should not execute if it is delivered with a MIME type of 'audio/*', 'image/*', 'video/*', or 'text/csv'. #

This feature was specified in this Spec.

Block the load of cross-origin, parser-blocking scripts inserted via document.write() for users on 2G

For users on slow connections such as 2G, the performance penalty from third-party scripts loaded via document.write() is often so severe as to delay display of main page content for tens of seconds. This feature will block the load of cross-origin, parser-blocking scripts inserted via document.write() in case of an HTTP cache miss for users on a 2G connection. The feature will only be applicable to such scripts in the main frame. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/08/removing-document-writehttps://developer.mozilla.org/en-US/docs/Web/API/Document/writehttps://docs.google.com/document/d/1dMJRQKTw75ZNdknP3pirSBH3koPl_IWHnxlcBuu4t_c/edit?usp=sharinghttps://docs.google.com/document/d/1FSegTIN91btRwPCIrt6s3X63cdOJmNjcr0p2mhlOAW8/edit?usp=sharinghttps://docs.google.com/document/d/1AtS83d9joGj-xmt_pZB4Uvvn_9d1aEReRg0rI_5runw/edit

No linked samples

CSS hyphens property

This CSS property controls automatic hyphenations. The automatic hyphenation is strongly demanded as seen in crbug.com/47083, and is already supported by all other major browsers. Blink enables the following values on all platforms: "manual" - the initial value. "none" - disables soft hyphens. and the following value on Android and Mac: "auto" - enables the automatic hyphenation for languages where the underlying operating system has dictionaries. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1ZgMnNxYxvPJYMOeyxJs8MsfGMNFiDKrz64AySxlCzpk/edit?usp=sharinghttps://developer.mozilla.org/en-US/docs/Web/CSS/hyphens

Samples: https://googlechrome.github.io/samples/css-hyphens/

EME: onwaitingforkey, onkeystatuseschange, & onmessage event handler attributes

Add the following EventHandler attributes for existing EME events: * HTMLMediaElement: * onwaitingforkey * (onencrypted is already implemented) * MediaKeySession: * onkeystatuseschange * onmessage #

This feature was specified in this Spec.

Resources

Docs: Spec issue: https://github.com/w3c/encrypted-media/issues/176

No linked samples

GREASE for TLS

TLS clients offer lists of 16-bit code points (e.g. cipher suites) that servers select from. To remain extensible, servers must ignore unknown values. However, servers may have bugs and reject unknown values. These servers will interoperate with existing clients, so the mistake may spread unnoticed, breaking extensibility for the whole ecosystem. We will reserve some values to advertise at random, to prevent such mistakes before broken servers are widespread. #

This feature was specified in this Spec.

Intervention: Web Audio user gesture requirement on cross origin iframes on Android

This will require a user gesture in order to start playback using Web Audio in a cross origin iframe, the same way a user gesture is required to play an audio or video element. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WICG/interventions/issues/28https://github.com/WebAudio/web-audio-api/issues/836

No linked samples

Make Event.composedPath() behavior on window match that on document

The spec is: https://dom.spec.whatwg.org/#dom-event-composedpath The relevant change of the spec: https://github.com/whatwg/dom/pull/327 Before: event.composedPath() on window object returns [window] in Blink, which does not include nodes in a document. After: event.composedPath() on window behaves the same way as that on document. It would include a node in a document tree. #

This feature was specified in this Spec.

MediaStream constructor

A prefixed constructor webkitMediaStream has been available since 2012. It will now be available without the prefix as MediaStream. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en/docs/Web/API/MediaStream

No linked samples

MediaStreamTrackEvent constructor

This is a standard event constructor. Previously, the event interface was hidden, so that scripts could not create instances. #

This feature was specified in this Spec.

Resources

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

No linked samples

New "auxclick" event for non-primary button click behavior

The new input event type "auxclick" introduced here provides web developers a way to listen to the click behavior of non-primary buttons, and potentially cancel their effect (eg. opening a new tab when middle clicking on a link). This new input type is needed because the "click" event is restricted to primary button only according to the spec https://w3c.github.io/uievents/#event-type-click. So after this change "click" event will no longer be dispatched for non-primary buttons. #

This feature was specified in this Spec.

Resources

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

No linked samples

Persistent Storage Permission (Durable Storage)

Allow sites to request that web storage be treated as "persistent", preventing Chrome's automatic storage eviction from clearing storage for that site. The permission is automatically granted when the site: - Is bookmarked (if the user has <= 5 bookmarks) - Is added to homescreen - Has push notification permissions - Has high site engagement (Launched as Origin Trial in M52) #

This feature was specified in this Spec.

Persistent storage

Allow origins to opt out of the browser's storage-eviction logic that is run when the user's storage space is running low. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/06/persistent-storage

No linked samples

Pointer Events

Unified pointer input API subsuming MouseEvent and TouchEvents which addresses several existing problems (especially on touchscreen laptops) and provides future extensibility. Intent-to-implement thread: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/ODWmcKNQl0I This was behind a flag starting in Chrome 52. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/10/pointer-eventshttps://developer.mozilla.org/en-US/docs/Web/API/PointerEvent

No linked samples

Support "once" event listener option

Support adding event listeners with the "once" option set to true. When set to true, options’s once member indicates that the callback will only be invoked once after which the event listener will be removed. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2016/10/addeventlistener-once

No linked samples

Support dataset property on SVGElement

Dataset is supported on HTMLElement. Recently spec was modified to support for SVGElement as well. https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement #

This feature was specified in this Spec.

Resources

No linked docs

Samples: http://jsbin.com/butikiromu/edit?html,js,console

Touch-action: pan-up pan-down pan-left pan-right CSS properties

The touch-action CSS property determines whether touch input may trigger default behavior supplied by user agent. This includes, but is not limited to, behaviors such as panning or zooming. Additional keywords indicating: pan-up, pan-down, pan-left, pan-right have been added to the specification. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: http://dtapuska.github.io/touch-action/carousel.html

Unprefixed CSS Clipping Paths

The CSS Clipping Path (CSS Masking specification) property without the "webkit" prefix. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/CSS/clip-pathhttp://docs.webplatform.org/wiki/css/properties/clip-path

Samples: https://css-tricks.com/clipping-masking-css/https://sarasoueidan.com/blog/css-svg-clipping/https://developer.mozilla.org/en-US/docs/Web/SVG/Applying_SVG_effects_to_HTML_content#Example_Clipping

Update