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 12 new features.
Suppresses the "Reload this page" infobar if the top-level frame is subscribed to the `PermissionStatus.onchange` event, which is taken as an indication that the application wishes to dynamically react to camera/microphone permission changes initiated through the page info dialog. Regardless of the presence of the event listener, the pre-existing behavior remains unchanged that media streams are terminated immediately once the permission is revoked. #
Updates the CSSContainerRule interface to match the specs. For @container Implements containerName and containerQuery, updates conditionText to contain both (if @container with containerName exists). #
This feature was specified in this Spec.
Allow passing a submit button to the FormData constructor. If the button has a name or is an image button, it will contribute to the form data set. This makes it possible to create a FormData object with the same data set as a vanilla form submission triggered by the button. #
This feature was specified in this Spec.
Make :has() unforgiving - ':has()' will be invalid if there is an invalid selector in its argument. CSSWG issue resolution: https://github.com/w3c/csswg-drafts/issues/7676#issuecomment-1341347244
This feature was specified in this Spec.
Some functional selectors are parsed forgivingly. (e.g. :is(), :where()) If an argument of the functional selectors is unknown or invalid, the argument is dropped but the selector itself is not invalidated. To provide a way of detecting the unknown or invalid arguments in those functional selectors, this feature applies the CSS Working Group issue resolution: - @supports uses non-forgiving parsing for all selectors (https://github.com/w3c/csswg-drafts/issues/7280#issuecomment-1143852187)
This feature was specified in this Spec.
Add the ability to nest CSS style rules inside other style rules, combining selectors from the outer with the inner rule for increasing modularity and maintainability of style sheets. #
This feature was specified in this Spec.
Implement animation-composition property. Allows to specify the composite operation to use when multiple animations affect the same property simultaneously. #
This feature was specified in this Spec.
Add set operations, string literals, nested classes and unicode properties of strings to regular expression character classes. Set operations and unicode properties of strings allow developers to create regular expressions matching strings with certain unicode characters with ease. E.g. /[\p{Script_Extensions=Greek}&&\p{Letter}]/v matches all greek letters.
This feature was specified in this Spec.
Samples: https://v8.dev/features/regexp-v-flag
A replacement for the `prefetch-src` directive, which never got traction. Instead of relying on a bespoke CSP directive, <link rel=prefetch> (and later preconnect/dns-prefetch) would be allowed if *any* directive in the policy would allow fetching this URL for any reason. This is because prefetching/preconnecting does not actually do anything with the resource, but only fetches it for a later reason. This allows developer to use resource hints without needing to tweak their content security policy, while giving a tool to prevent exfiltration by having default-src block prefetches. For example: default-src * default-src 'none' script-src * would allow prefetch While default-src 'none' would not. #
This feature was specified in this Spec.
Support <link rel=preload as=fetch> in navigation early hints. This allows web developers to preload resources that are fetched by the fetch() API. #
This feature was specified in this Spec.
Add an explicit tail call and indirect tail call opcodes to WebAssembly. #
This feature was specified in this Spec.
Docs: https://github.com/WebAssembly/tail-call/blob/master/proposals/tail-call/Overview.md
No linked samplesThe WebGLContextEvent type has been defined in Khronos' WebGL specification for a number of years, but it was not noticed until recently that in Blink, this type is not exposed on web workers. (Most applications simply add an event listener for the type, and do not look for its prototype in the global scope.) This is a simple fix to Blink's Web IDL for WebGLContextEvent, but is a web exposed change.
This feature was specified in this Spec.
This release of Chrome had 3 new origin trials.
This is a refresh of the browser UI associated with the Payment Handler API. Although there are no changes to the API surface with this feature, we'd like to run an origin trial starting in M112 to give payment handler providers a chance to experiment with the new UI ahead of the launch.
Docs: https://crbug.com/1385136
No linked samplesThe GC proposal adds efficient support for high-level managed languages to WebAssembly, via struct and array types that enable language compilers targeting Wasm to integrate with a garbage collector in the host VM. In Chrome, enabling this feature implies enabling Typed Function References, which allow function references to be stored in the aforementioned structs and arrays. #
This feature was specified in this Spec.
RTCPeerConnection.getStats() will no longer return stats objects where type == "track" or "stream". Unshipped in M112, with a Deprecation Trial to extend the availability of these metrics to M115. #
This release of Chrome had 7 are available behind a flag.
Suppresses the "Reload this page" infobar if the top-level frame is subscribed to the `PermissionStatus.onchange` event, which is taken as an indication that the application wishes to dynamically react to camera/microphone permission changes initiated through the page info dialog. Regardless of the presence of the event listener, the pre-existing behavior remains unchanged that media streams are terminated immediately once the permission is revoked. #
Updates the CSSContainerRule interface to match the specs. For @container Implements containerName and containerQuery, updates conditionText to contain both (if @container with containerName exists). #
This feature was specified in this Spec.
The standards-track `shadowrootmode` attribute, which enables declarative Shadow DOM, was shipped in Chrome 111 [1]. The older, non-standard `shadowroot` attribute is now deprecated. During the deprecation period, both attributes are functional, however the `shadowroot` attribute does not enable the new streaming behavior, whereas `shadowrootmode` allows streaming of content. There is a straightforward migration path: replace `shadowroot` with `shadowrootmode`. The old `shadowroot` attribute is deprecated as of Chrome M112, and it will be removed (no longer supported) in Chrome M119, which goes to Stable on November 1, 2023. [1] https://chromestatus.com/feature/5161240576393216 #
This feature was specified in this Spec.
Supports "mediation requirements" to provide streamlined re-authentication UX for users who have created federated accounts on websites with FedCM API. #
This feature was specified in this Spec.
Docs: https://github.com/fedidcg/FedCM/issues/429
Samples: https://webid-fcm.glitch.me
This is a refresh of the browser UI associated with the Payment Handler API. Although there are no changes to the API surface with this feature, we'd like to run an origin trial starting in M112 to give payment handler providers a chance to experiment with the new UI ahead of the launch.
Docs: https://crbug.com/1385136
No linked samplesThe memory64 proposal adds support for linear WebAssembly memories with size larger than 2^32 bits. It provides no new instructions, but instead extends the existing instructions to allow 64-bit indexes for memories and tables.
This feature was specified in this Spec.
The Background Blur API allows web developers to use the native platform's API for camera background segmentation. As Background Blur has become one of the most used features on video conferencing apps like Teams, Meet, Zoom, and Webex, we want web apps to leverage the same platform APIs without completely relying on ML frameworks like TensorFlow.js, Mediapipe, WASM libraries or cloud based solutions. #
This feature was specified in this Spec.
Docs: https://github.com/riju/backgroundBlur/blob/main/explainer.mdhttps://googlechrome.github.io/samples/image-capture/background-blur.html
Samples: https://googlechrome.github.io/samples/image-capture/background-blur.html
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 0 features deprecated.
This release of Chrome had 0 features removed.