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 48

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

Enabled by default in 48

This release of Chrome had 16 new features.

CSS Font Loading API - FontFaceSet interface

Update FontFaceSet to confirm the latest spec. Now, FontFaceSet behaves as setlike<FontFace> with entries(), keys(), values(), and iterator. (crbug.com/392075) Also add() and remove() are changed not to throw InvalidModificationError on handling CSS-connected FontFaces. (crbug.com/510346) #

This feature was specified in this Spec.

Resources

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

Samples: https://googlechrome.github.io/samples/font-face-set/index.html

CSS font-feature-settings

This property provides low-level control over OpenType font features. It is intended as a way of providing access to font features that are not widely used but are needed for a particular use case. Currently available with the -webkit prefix. This is about shipping the unprefixed version AND deprecating the prefix version. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings

No linked samples

Fetch API: data and blob schemes support

Fetch to data or blob schemes: fetch('data:...') fetch('blob:...') #

This feature was specified in this Spec.

Resources

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

No linked samples

Fix Window's members' visibility.

The current behaviors of Blink about name look-up of Window’s members are not conforming to the spec, and they’re different from other browser’s behaviors. Let’s fix them. #

This feature was specified in this Spec.

Resources

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

No linked samples

Implement more KeyboardEvent/MouseEvent getModifierState() identifiers

Currently only getModifierState only supports Alt, Control, Shift, Meta query modifiers. Introduce support for the following query modifier fields: Accel, AltGraph, CapsLock, Fn, NumLock, OS, ScrollLock, Symbol. This leaves: FnLock, Hyper, Super, SymbolLock specified but not supported. These keys typically are not generated on modern OS and keyboards. Nor does FireFox support them. #

This feature was specified in this Spec.

Resources

Docs: https://w3c.github.io/DOM-Level-3-Events-key/#keys-modifier

No linked samples

IndexedDB getAll() methods

Indexed DB "batched get" APIs and two other methods that have been implemented in FF for some time * IDBObjectStore.getAll() * IDBObjectStore.getAllKeys() * IDBIndex.getAll() * IDBIndex.getAllKeys() * IDBObjectStore.openKeyCursor() * IDBTransaction.objectStoreNames #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/getAllhttps://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/getAllKeyshttps://developer.mozilla.org/en-US/docs/Web/API/IDBIndex/getAllhttps://developer.mozilla.org/en-US/docs/Web/API/IDBIndex/getAllKeyshttps://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/openKeyCursorhttps://developer.mozilla.org/en-US/docs/Web/API/IDBTransaction/objectStoreNames

Samples: https://googlechrome.github.io/samples/idb-getall/index.html

MediaStreamTrack.remote attribute

This allows Javascript to know whether a WebRTC MediaStreamTrack is from a remote source or a local one. #

This feature was specified in this Spec.

Resources

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

No linked samples

More correct min-width/height: auto implementation for flex items

The implied minimum size of a flex item (min-width: auto / min-height: auto) will now also work correctly when flex-basis is not auto. #

This feature was specified in this Spec.

Resources

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

No linked samples

Notification action buttons

Support for the NotificationOptions.actions, Notification.actions and Notification.maxActions attributes, which allow authors to show action buttons alongside a notification. These allow users to quickly handle the most common tasks for a particular notification, without having to open the originating website. As of Chrome 53, the `Notification.actions` property is exposed as well. #

This feature was specified in this Spec.

Resources

Docs: https://notifications.spec.whatwg.org/#using-actionshttps://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotificationhttps://developer.mozilla.org/en-US/docs/Web/API/NotificationEvent/action

Samples: https://tests.peter.sh/notification-generator/#actions=3

ServiceWorkerRegistration.update() does not bypass the browser HTTP cache

Before this feature, update() always bypassed the browser cache. Now, it only does so if the previous update check occurred over 24 hours ago. #

This feature was specified in this Spec.

Resources

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

No linked samples

Touch and TouchEvent constructors

The constructor creates a Touch/TouchEvent object from an init dictionary like other event types, also able to initialize UIEvent fields. More favorable than the old "document.create... + e.init..." way. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/Touch/Touchhttps://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/TouchEvent

Samples: https://jsbin.com/lohuwa

UI Events KeyboardEvent |code| attribute

The KeyboardEvent |code| attribute contains information about the key event that can use used identify the physical key being pressed by the user. #

This feature was specified in this Spec.

Resources

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

Samples: https://googlechrome.github.io/samples/keyboardevent-code-attribute/https://w3c.github.io/uievents/tools/key-event-viewer.html

Unprefixed CSS Writing Modes with syntax updates

CSS Writing Modes Level 3 without "webkit" prefix, along with syntax updates to the most recent CR. As part of the work, a non-standard value "horizontal-bt" is removed from -webkit-writing-mode. #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/document/d/1lGrcTSlKMDeOEKZbHqvdLnW_Soywn7oICci2ApBXB00/edit?usp=sharinghttps://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidihttps://developer.mozilla.org/en-US/docs/Web/CSS/writing-modehttps://developer.mozilla.org/en-US/docs/Web/CSS/text-orientationhttps://developer.mozilla.org/en-US/docs/Web/CSS/text-combine-upright

No linked samples

VP9 software encoder/decoder in Chrome for WebRTC

Include a VP9 video codec encoder and decoder in Chrome for use with WebRTC. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://simpl.info/mediarecorder/

WebAudio: Support chaining on AudioNode.connect() and AudioParam automation methods

This is to support ‘method chaining’ on AudioNode.connect() and the automation methods of AudioParam object. The current implementation does not return anything when these methods get executed. It improves the control flow and the readability of Web Audio JS code. #

This feature was specified in this Spec.

Resources

Docs: http://webaudio.github.io/web-audio-api/#the-audionode-interfacehttp://webaudio.github.io/web-audio-api/#AudioParamhttps://github.com/WebAudio/web-audio-api/issues/650https://developer.mozilla.org/en-US/docs/Web/API/AudioNode/connect(AudioNode)https://developer.mozilla.org/en-US/docs/Web/API/AudioParam

Samples: https://googlechrome.github.io/samples/webaudio-method-chaining/index.html

navigator.connection.downlinkMax, wimax, and onchange

Add support for the downlinkMax attribute which provides the maximum theoretical bandwidth that the current connection can support. Also add "wimax" as a connection type. Also adds support for the connection.onchange event. The ontypechange event will be deprecated later. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/downlinkMaxhttps://developer.mozilla.org/en-US/docs/Web/API/NetworkInformationhttps://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/typehttps://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/onchange

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

Origin Trials in-progress in 48

This release of Chrome had 0 new origin trials.

Flagged features in 48

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

Indexed DB: Replace DOMError with DOMException

DOMError has been removed from the DOM standard in favor of DOMException, and the Indexed DB draft spec has been updated to use DOMException for error attributes. The error attribute on IDBRequest and IDBTransaction will now return DOMException instances instead of DOMError instances. Both types have 'name' and 'message' properties, so code that tests properties (e.g. request.error.name) or does logging (e.g. transaction.error.message) will be unaffected. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://developer.mozilla.org/en-US/docs/Web/API/IDBRequest/errorhttps://developer.mozilla.org/en-US/docs/Web/API/IDBTransaction/error

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 48

This release of Chrome had 0 features deprecated.

Removed features in 48

This release of Chrome had 8 features removed.

Deprecate/Remove SVGGraphicsElement.getTransformToElement

Remove the support of SVGGraphicsElement.getTransformToElement #

This feature was specified in this Spec.

Deprecate/remove support for intrinsic and min-intrinsic

intrinsic and min-intrinsic are webkit/blink-specific keywords for the standard fit-content and min-content keywords, recently unprefixed. intrinsic and min-intrinsic were deprecated in Chrome 47 and removed in Chrome 48. #

This feature was specified in this Spec.

HTMLFrameElement.prototype.getSVGDocument()

Per spec the getSVGDocument() method should be only on HTMLEmbedElement, HTMLIFrameElement and HTMLObjectElement. #

This feature was specified in this Spec.

Resources

Docs: https://html.spec.whatwg.org/multipage/embedded-content.html#svg-0

No linked samples

Remove RC4

RC4 is a 28 year old cipher that has done remarkably well, but it is now the subject of several, significant attacks. The IETF has decided that RC4 is sufficiently bad to warrant a statement that it must no longer be used (RFC 7465). When Chrome makes an HTTPS connection it has an implicit duty to do what it can to ensure that the connection is secure. At this point, the use of RC4 in an HTTPS connection is falling below that bar. #

This feature was specified in this Spec.

Resources

Docs: https://groups.google.com/a/chromium.org/forum/#!msg/security-dev/kVfCywocUO8/vgi_rQuhKgAJ

Samples: https://rc4.badssl.com

Remove SVG glyph-orientation-horizontal and glyph-orientation-vertical

Remove SVG glyph-orientation-horizontal and glyph-orientation-vertical properties. CSS Writing Modes evolved since SVG has forked its old specification and add these properties. It now includes better alternatives for these properties, and recommend to deprecate. Since the usage of these properties are low enough that simply removing them should simplify the work for both browser developers and web developers. Web developers can now use CSS text-orientation property for SVG text. #

This feature was specified in this Spec.

Remove darker composite operator

deprecate darker composite operator because Compositing spec [1] doesn't contain "darker" composite operator. [1] http://dev.w3.org/fxtf/compositing-1 #

This feature was specified in this Spec.

Resources

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

No linked samples

SVGPathSeg interfaces

The SVGPathSeg interfaces were part of SVG 1.1, but have been removed. A polyfill is available at https://github.com/progers/pathseg #

This feature was specified in this Spec.

Resources

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

No linked samples

TextTrackList and TextTrackCueList item methods

Per spec the TextTrackList and TextTrackCueList have anonymous indexed getters, but no item method: https://html.spec.whatwg.org/#texttracklist https://html.spec.whatwg.org/#texttrackcuelist #

This feature was specified in this Spec.