Chrome version: 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 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
This release of Chrome had 14 new features.
navigator.cookieEnabled currently indicates if “the user agent attempts to handle cookies” in a given context. A change in Chrome, shipping as part of third-party cookie deprecation (3PCD), would cause it to indicate whether unpartitioned cookie access is possible (causing it to return false in most cross-site iframes). We should restore the prior behavior of navigator.cookieEnabled which indicated only if cookies were enabled/disabled for the site and rely on the cross-vendor function document.hasStorageAccess to indicate if unpartitioned cookie access is possible. #
This feature was specified in this Spec.
We are landing the following changes to the Attribution Reporting API focused on: * applying element-level referrer policy for specific html elements
Auto Sizes allows developers to set the sizes attribute to auto (sizes=auto) for lazy loaded image elements with srcset. For this use case the image's width and height should be provided. The browser will use the layout width of the image in order to select the source url from the srcset. #
This feature was specified in this Spec.
Let CSSPageRule inherit from CSSGroupingRule instead of CSSRule. The spec [1] says that CSSPageRule interface should inherit from CSSGroupingRule, but Blink inherits from CSSRule instead. In order to support @page margins [2] (CSSMarginRule), CSSPageRule needs to support child rules. [1] https://drafts.csswg.org/cssom/#the-csspagerule-interface [2] https://drafts.csswg.org/css-page-3/#syntax-page-selector #
This feature was specified in this Spec.
"Close requests" are a new concept that encompasses user requests to close something currently open, using the Esc key on desktop or the back gesture/button on Android. Integrating them into Chromium comes with two changes: * CloseWatcher, a new API for directly listening and responding to close requests. * Upgrades to <dialog> and popover="" to use the new close request framework, so that they respond to the Android back button. #
This feature was specified in this Spec.
Samples: https://close-watcher-demo.glitch.me
Extend the GamepadHapticActuator interface to expose the trigger-rumble capability in the Web for compatible gamepads. This extension will allow web applications that take advantage of the Gamepad API to also vibrate the triggers of gamepad devices that come equipped with this functionality. #
This feature was specified in this Spec.
Samples: https://nondebug.github.io/gamepad-explorer
Adds support for muxing audio/video into MP4 containers with MediaRecorder. Developer can record media format, container, with MP4 of H264 video and AAC audio codecs in the MediaRecorder API. #
This feature was specified in this Spec.
Docs: https://www.w3.org/TR/mediastream-recordinghttps://docs.google.com/document/d/1WV795DHY3Jf2p_htuAKZ9DXUefiGdQs29mCb8vRiHt8/edit?usp=sharing
No linked samples`OpusEncoderConfig.signal` and `OpusEncoderConfig.application` were recently added to the WebCodecs spec [1]. Both parameters are mapped directly to implementation specific encoder knobs. These allow web authors to provide hints as to what type of data is being encoded, and in which context the data is being used. `signal` can be one of {"auto", "music", "voice"}. It configures the encoder for the best performance in encoding the specified type of data. `application` can be one of {"voip", "audio", "lowdelay"}. It configures the encoder to favor speech intelligibility, faithful reproduction of the original input, or minimal latency. [1] : https://github.com/w3c/webcodecs/pull/777
This feature was specified in this Spec.
Allow web app windows to have a tab strip. This adds a new display mode "tabbed" and a new manifest field to allow customizations to the tab strip. #
This feature was specified in this Spec.
Samples: https://paint-rightful-patch.glitch.me
Parsing url string and returning URL object. If it's invalid url format, returning null instead of throwing Error. #
This feature was specified in this Spec.
Docs: https://github.com/whatwg/url/pull/825
No linked samplesThe first phase of the View Transitions API, explained in https://groups.google.com/a/chromium.org/g/blink-dev/c/7SMI3IklO4g/m/JS-JojxNAwAJ, allows authors to define visual transitions in SPAs (DOM state changes in the same Document). This intent is about expanding the API to support MPAs. MPA implies same-origin navigations that replace the document with another document (in the main frame or nested iframe). This is a highly requested additional feature. Examples are: https://chriscoyier.net/2022/11/08/astro-stands-to-benefit-highly-from-view-transitions/, https://adactio.com/journal/19578. #
This feature was specified in this Spec.
The WebGL specification has defined a WebGLObject superinterface for many years, but Chromium's implementation never exposed it. This did not significantly affect applications in practice, but prevented enabling WebGL IDL tests in the Interop suite. The WebGL working group also aims to finally utilize this superinterface to improve application-level debugging. This feature exposes the WebGLObject type in the same contexts where the WebGL API is exposed - on the main thread and workers.
This feature was specified in this Spec.
Add .toJSON() methods to the GeolocationCoordinates and GeolocationPosition interfaces. These methods will aid in developing automated tests for the Geolocation API and may be useful for debugging as well. If the API were developed today, these WebIDL interfaces would likely be WebIDL dictionaries instead. However, given compatibility constraints, this is the next best option for making these types serializable.
This feature was specified in this Spec.
Scrollend is a JavaScript event that fires to signal that a scrolling operation has come to an end. Similar to the Element interface[1], the visualViewport interface[2] includes an onscrollend event handler that should be invoked when a scrolling operation on the visualViewport has ended. Chromium already supports adding a scrollend event listener via `visualViewport.addEventListener("scrollend")`. This just makes it possible to also add an event listener using `visualViewport.onscrollend`. [1]https://html.spec.whatwg.org/multipage/webappapis.html#handler-onscrollend [2]https://drafts.csswg.org/cssom-view/#dom-visualviewport-onscrollend. #
This feature was specified in this Spec.
This release of Chrome had 3 new origin trials.
Reconciles the FedCM and Storage Access APIs by making a prior FedCM grant a valid reason to automatically approve a storage access request. When a user grants permission for using their identity with a 3rd party Identity Provider (IdP) on a Relying Party (RP), many IdPs require third-party cookies to function correctly and securely. This proposal aims to satisfy that requirement in a private and secure manner by updating the Storage Access API (SAA) permission checks to not only accept the permission grant that is given by a storage access prompt, but also the permission grant that is given by a FedCM prompt. A key property of this mechanism is limiting the grant to cases explicitly allowed by the RP via the FedCM permissions policy, enforcing a per-frame control for the RP and preventing passive surveillance by the IdP beyond the capabilities that FedCM already grants, as outlined in the Privacy Considerations. #
This feature was specified in this Spec.
Allow coordination between sites using Page Embedded Permissions Controls and concurrent experiments with the camera and microphone permissions UI in Chrome. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1ZnX2JROjr9l4y2_OPMpfVlLOo-A5cQzD4mWarj9kXQ0/edit
No linked samplesIntroduces the <geolocation> element, a declarative, user-activated control for accessing the user's location. It streamlines the user and developer journey by not only handling the permission flow but also directly providing location data to the site, often eliminating the need for a separate JavaScript API call. This addresses the long-standing problem of permission prompts being triggered directly from JavaScript without a strong signal of user intent. By embedding a browser-controlled element in the page, the user's click provides a clear, intentional signal. This enables a much better prompt UX and, crucially, provides a simple recovery path for users who have previously denied the permission. Note: This feature was previously developed and tested in an Origin Trial as the more generic <permission> element. Based on feedback from developers and other browser vendors, it has evolved into the capability-specific <geolocation> element to provide a more tailored and powerful developer experience. Explainer: https://github.com/WICG/PEPC/blob/main/geolocation_explainer.md Instructions: https://github.com/WICG/PEPC/blob/main/HOWTO.md #
This feature was specified in this Spec.
Samples: https://permission.site/pepc
This release of Chrome had 2 are available behind a flag.
Auto Sizes allows developers to set the sizes attribute to auto (sizes=auto) for lazy loaded image elements with srcset. For this use case the image's width and height should be provided. The browser will use the layout width of the image in order to select the source url from the srcset. #
This feature was specified in this Spec.
**ServiceWorkerAutoPreload** is a mode where the browser issues the network request in parallel with the service worker bootstrap. If the fetch handler returns the response with `respondWith()`, the browser consumes the network request result inside the fetch handler. If the fetch handler result is fallback, it passes the network response directly to the browser. ServiceWorkerAutoPreload is an optional browser optimization that changes the existing service worker behavior. Admins can control this feature using an enterprise policy called [ServiceWorkerAutoPreloadEnabled](https://chromeenterprise.google/policies/#ServiceWorkerAutoPreloadEnabled). #
This feature was specified in this Spec.
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.
This release of Chrome had 1 features deprecated.
TC39 has consensus for trying to deprecate and remove the `assert` keyword in favor of the new `with` keyword in import attribute syntax. That is, `import m from 'foo' assert { type: 'json' }` will now throw a SyntaxError, and developers must change to `import m from 'foo' with { type: 'json' }`. https://github.com/tc39/proposal-import-attributes/issues/135
This feature was specified in this Spec.
This release of Chrome had 0 features removed.