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 74

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

Enabled by default in 74

This release of Chrome had 22 new features.

Add scaleResolutionDownBy to RTCRtpEncodingParameters

This setting scales down the resolution of a video’s layers in each dimension by the given value before sending. For example, setting the value to 2.0 scales each dimension by a factor of 2, sending a video a quarter of its size. The value must be greater than or equal to 1.0 (the default). The default value applies no scaling. #

This feature was specified in this Spec.

AudioContextOptions.sampleRate

Allows developers to set the "sampleRate" for an AudioContext at the time it is created. This allows developers to set an arbitrary sample rate for audio processing in Web Audio API. #

This feature was specified in this Spec.

Resources

Docs: https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-samplerate

No linked samples

Background Fetch API

Background Fetch API provides a service worker based download and upload mechanism which is persistent across service worker and browser restarts. The system will provide a developer-controllable interface to schedule, query, pause, and cancel background downloads and uploads. After a scheduled fetch completes, the system will notify the developer of the outcome of the operation. In-progress fetches will be visible to users in a notification. #

This feature was specified in this Spec.

Resources

Docs: https://developers.google.com/web/updates/2018/12/background-fetchhttps://github.com/WICG/background-fetch/blob/master/README.md

Samples: https://github.com/jakearchibald/background-fetch

CSS Transition Events

The CSS Transitions specification specifies that transition events are sent when a transition is enqueued, starts, ends, or is canceled as transitionrun, transitionstart, transitionend, and transitioncancel respectively. These events mirror the CSS animation events which allow developers to observe CSS animations. #

This feature was specified in this Spec.

CSS prefers-reduced-motion media query

Support will be added for the CSS prefers-reduced-motion media query. The prefers-reduced-motion media query detects whether the user has requested that the system minimize the amount of motion it uses; in particular motion-based animation. This is for users who either require or prefer minimized motion. For example people with vestibular disorders often desire animation motion to be kept to a minimum. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://webkit.org/blog-files/prefers-reduced-motion/prm.htm

Disallow opener navigation downloads from cross origin popups

If a popup navigates its opener to a URL which results in a download, the download will be blocked and the navigation cancelled, if the popup is cross-origin to its opener. This resolves a long standing security issue. #

This feature was specified in this Spec.

Feature Policy: JavaScript API

A JavaScript API will be exposed for feature policy. This API contains three functions. document.featurePolicy.allowedFeatures() // What are the allowed features in this document? document.featurePolicy.allowsFeature('geolocation', <origin>?) // Is geolocation allowed in this document or origin? document.featurePolicy.getAllowlistForFeature('geolocation') // What origins are allowed to use geolocation? #

This feature was specified in this Spec.

Resources

Docs: https://docs.google.com/a/chromium.org/document/d/1wvk3cXkblNnbkMcsKayseK-k0SMGiP9b9fQFgfpqQpc/edit?usp=sharing

No linked samples

Hashbang interpreter line

Allows the first line of a script or module source file to specify an interpreter to evaluate the script. e.g. ``` #!/path/to/v8/v8-shell print('Hello, world!'); ``` #

This feature was specified in this Spec.

IntersectionObserver V2

Augment IntersectionObserver to report information about occlusion and visual effects. Currently, IntersectionObserver does not consider whether a target element has been painted over (“occluded”) by other content or whether any visual effects have been applied which may alter or obscure the element’s display. This change adds a boolean field to IntersectionObserverNotification, indicating whether the UA can guarantee that the target will be displayed unoccluded and without visual effects. #

This feature was specified in this Spec.

Resources

Docs: https://groups.google.com/a/chromium.org/d/msg/blink-dev/tudxAHN9-AY/vz91o_aNDwAJhttps://github.com/szager-chromium/IntersectionObserver/blob/v2/explainer.md

Samples: https://szager-chromium.github.io/IntersectionObserver/demo/cashbomb/hidden/http://szager-chromium.github.io/IntersectionObserver/demo/svg/

Intl.Locale

Intl.Locale class allows the following: Parsing and manipulating the language, region and script of a locale; Reading or writing the Unicode extension tags in a locale; Storing user locale preferences for this API in a serializable, standard format (rather than using a combination of language and the options object). #

This feature was specified in this Spec.

Make MediaDevices and related functions and types secure context only

Make the MediaDevices interface and its related functions and types, including getUserMedia(), enumerateDevices() and getDisplayMedia() available only in secure contexts. #

This feature was specified in this Spec.

Resources

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

Samples: https://webrtc.github.io/samples/

PaymentRequest.hasEnrolledInstrument()

The PaymentRequest.hasEnrolledInstrument() method returns a boolean indicating whether the user has a payment instrument in their profile that matches the payment identifier in a PaymentRequest and whether it is ready to handle payment at the time PaymentRequest.show() is called. #

This feature was specified in this Spec.

Private class fields

This feature introduces private fields to classes in ECMAScript. Note: This entry only pertains to the private fields part of the proposal, not the public fields. #

This feature was specified in this Spec.

Resources

Docs: https://v8.dev/features/class-fields#private-class-fieldshttp://2ality.com/2017/07/class-fields.htmlhttps://github.com/tc39/proposal-class-fields/blob/master/README.md

No linked samples

RTCIceCandidate and RTCIceCandidateInit

RTCIceCandidate and RTCIceCandidateInit will be made spec-compliant. The RTCIceCandidate interface describes an ICE candidate in WebRTC. It is available in Chrome, but it is not spec compliant as it is missing some fields. There are also some deviations from the spec in terms of nullable and read-only attributes and errors thrown by the constructor. #

This feature was specified in this Spec.

Resources

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

No linked samples

Reflect redirects to worker global scope's URL

Worker global scope's URL (self.location, referrer, and base URL) should reflect redirects (i.e. should be the response URL, not the request URL), according to the spec. The worker global scope's URL has been the response URL in Firefox and the request URL in Chromium/Safari/Edge. Chromium is changing it to the response URL to match with the spec. Spec issue: https://github.com/whatwg/html/issues/3760 #

This feature was specified in this Spec.

Resources

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

No linked samples

Remove [NoInterfaceObject] from DeviceOrientation Event interfaces

The [NoInterfaceObject] annotation is being removed from WebIDL. The DeviceOrientation Event specification has been updated to remove this annotation from the Acceleration and RotationRate interfaces and rename them to DeviceMotionEventAcceleration and DeviceMotionEventRotationRate in order to avoid polluting the global namespace with generic interface names. #

This feature was specified in this Spec.

Signed Exchange Reporting for distributors

Signed Exchange Reporting for distributors extends the Network Error Logging to enable the distributors of signed exchanges to investigate signed exchange loading errors such as certificate verification errors. #

This feature was specified in this Spec.

TextEncoder encodeInto() method

TextEncoder's encodeInto() method allows an encoded string to be written directly "into" a supplied pre-allocated buffer, offering a performant alternative to using encode() to produce a buffer, and copying its contents into an existing buffer. #

This feature was specified in this Spec.

WebAssembly Worker Based Threads

The WebAssembly Threads feature allows multiple WebAssembly instances in separate Web Workers to share a single WebAssembly.Memory object. As with SharedArrayBuffers in JavaScript, this allows very fast communication between the Workers. This can be used to offload computation to another thread to keep the main thread and its UI responsive. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WebAssembly/threads

No linked samples

XHR fallbacks UTF-8 when invalid encoding is specified

When an invalid encoding is specified for XMLHttpRequest (via overrideMimeType() or the response's mime type), UTF-8 is used e.g. for responseText, which is spec conformant. Previously Latin-1 was used. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/web-platform-tests/wpt/pull/14090

No linked samples

service worker: client.postMessage() is buffered until the document is ready.

To prevent messages from being delivered before the destination is ready, client.postMessage() does not dispatch the message until one of the following has occurred on the destination: - 'DOMContentLoaded' event is fired. - onmessage is set. - startMessages() is called. #

This feature was specified in this Spec.

Resources

Docs: https://w3c.github.io/ServiceWorker/#dfn-client-message-queue

No linked samples

type in PerformanceObserver's observe() dictionary

The addition of the 'type' member will allow passing in parameters specific to one entry type when calling observe() within PerformanceObserver. Right now, 'entryTypes' is used to specify potentially multiple entry types to be observed at the same time. An observer can only use 'entryTypes' or 'type'. An observer can only specify additional parameters when using 'type'. An observer can still observe multiple entry types by calling observe() with 'type' multiple times. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: See Example 2 in https://w3c.github.io/performance-timeline/#introduction

Origin Trials in-progress in 74

This release of Chrome had 0 new origin trials.

Flagged features in 74

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

Face Detection API

The Face Detection API is a subset of the Shape Detection API which provides the ability to detect human faces and facial landmarks in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag. #

This feature was specified in this Spec.

Resources

Docs: https://web.dev/shape-detectionhttps://docs.google.com/document/d/1QeCDBOoxkElAB0x7ZpM3VN3TQjS1ub1mejevd2Ik1gQ/edit

Samples: https://paul.kinlan.me/face-detectionhttps://web.dev/shape-detection/#facedetector

Text Detection API

The Text Detection API is a subset of the Shape Detection API which provides the ability to detect and optionally transcribe text in an image provided by script. The image may come from any type of image buffer source such as an <image>, <video> or <canvas> tag. #

This feature was specified in this Spec.

Resources

Docs: https://web.dev/shape-detection/https://docs.google.com/document/d/1QeCDBOoxkElAB0x7ZpM3VN3TQjS1ub1mejevd2Ik1gQ/edit

Samples: https://paul.kinlan.me/detecting-text-in-an-image/https://web.dev/shape-detection/#textdetector

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 74

This release of Chrome had 0 features deprecated.

Removed features in 74

This release of Chrome had 1 features removed.

Remove PaymentAddress's languageCode property

PaymentAddress's languageCode property is browser's best guess for the language of the text in the shipping, billing, delivery, or pickup address in Payment Request API. #

This feature was specified in this Spec.