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 15 new features.
AudioContext.setSinkId sets the ID of the audio device to use for output. This allows the AudioContext to route audio to a connected output device of user's choosing. #
This feature was specified in this Spec.
Enables a typographic decoration called "initial letter" or "drop caps." Initial letters are large, decorative letters that have been used to start new sections of text since before the invention of printing. In fact, their use predates lowercase letters entirely. #
This feature was specified in this Spec.
Docs: https://bit.ly/3KzJ27G
Samples: https://output.jsbin.com/basukanebo/1
Adds a CSS pseudo-class to help web developers customize the media player when videos enter and exit Picture-in-Picture. #
This feature was specified in this Spec.
Docs: https://wicg.github.io/picture-in-picture/#css-pseudo-class
Samples: https://googlechrome.github.io/samples/picture-in-picture/css-pseudo-class
Adds cross-origin iframe support for the FedCM API via a permissions policy. It enables websites to sandbox the scripts from identity providers which trigger the FedCM API in a cross-origin iframe, so that they do not have full control over the whole page. This also allows use cases where it is the iframe itself which requires a sign-in from the user. In both cases, the parent frame must provide the iframe with the permissions policy 'identity-credentials-get'. #
This feature was specified in this Spec.
Samples: https://fedcm-main-frame.glitch.me
A "remove self" method for a FileSystemHandle. Currently, it is not possible to remove a file or directory given its handle. You must obtain the handle of the parent directory and call FileSystemDirectoryHandle.removeEntry(). This method enables the common use case where you obtain a file handle from showSaveFilePicker(), but then decide you don't want to save after all, and delete the file. #
This feature was specified in this Spec.
Iframe credentialless give developers a way to load documents in third party iframes using new and ephemeral contexts. Iframe credentialless are a generalization of COEP credentialless to support 3rd party iframes that may not deploy COEP. Like with COEP credentialless, we replace the opt-in of cross-origin subresources by avoiding to load non-public resources. This will remove the constraint that 3rd party iframes must support COEP in order to be embedded in a COEP page and will unblock developers looking to adopt cross-origin-isolation. This way, developers using COEP can now embed third party iframes that do not. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1poI75BaQ9aqcMGJn_K01-QHsQQbEOwRWvg3Af4VWTmY/edit
Samples: https://anonymous-iframe.glitch.me
Provides additional methods on Array.prototype and TypedArray.prototype to enable changes on the array by returning a new copy of it with the change. #
This feature was specified in this Spec.
Prefetching fetches the main resource for a future navigation, keeping it in memory so that it can be used to speed up the next navigation. This launch includes both same-site prefetching, and cross-site prefetching in the case where no credentials are present for the destination site. #
This feature was specified in this Spec.
Applies Private Network Access checks to web workers: dedicated workers, shared workers and service workers. These checks apply to all worker-specific fetches: - initial worker script fetch - fetch within workers - service worker script update fetch If the fetch is from an insecure context, we'd show a warning in DevTools. If the fetch is from a secure context, we'd send a preflight. If the preflight fails, we'll also show a warning in DevTools. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1fFSY8bExYZvKTDBBS0flry6E6Ihn63HOr0JhD2fB7ko/edit
No linked samplesAdds an 'opt-out' flow to Secure Payment Confirmation. When the (optional) input flag is set, the SPC UXes will render an 'opt-out' link of some sort that the user can interact with to indicate to the relying party that they wish to be opted out. See https://github.com/w3c/secure-payment-confirmation/issues/172 #
This feature was specified in this Spec.
Docs: https://github.com/w3c/secure-payment-confirmation/issues/172
Samples: https://rsolomakhin.github.io/pr/spc-opt-out
Speculation rules are inlined in script tags, but their use will be restricted by Content Security Policy as unsafe inline scripts even if the speculation rules are safe. So, we extend the Content Security Policy to have a new source keyword, ‘inline-speculation-rules’, for inline uses of speculation rules. With this new keyword, we can permit inline speculation rules without permitting inline scripts.
This feature was specified in this Spec.
Randomize the order of TLS ClientHello extensions, to reduce potential ecosystem brittleness. This change is only visible to HTTPS server implementers. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/13hbMJDFU8kZ_qtLukNYoWZOEnr0wRKeP6XBmY_TQ0B4/edithttps://github.com/dadrian/clienthello-randomization/blob/main/EXPLAINER.md
No linked samplesEnable IDNA 2008 in Non-Transitional Mode for URL processing, aligning Chrome's behavior with Firefox and Safari. Chrome currently uses IDNA 2008 in Transitional Mode in URL processing. The main difference between Transitional and Non-Transitional Mode is the handling of four characters known as deviation characters: ß (LATIN SMALL LETTER SHARP S), ς (GREEK SMALL LETTER FINAL SIGMA), ZWJ (Zero width joiner) and ZWNJ (Zero width non-joiner). In Transitional mode, deviation characters are handled the same as IDNA2003: ß is mapped to ss, ς is mapped to σ, and ZWJ and ZWNJ are deleted. In Non-Transitional mode, domains containing these characters are allowed in domain names without mapping, and thus can resolve to different IP addresses. For example, typing "faß.de" in Chrome and Firefox opens different sites today. Enabling Non-Transitional IDNA in Chrome will allow deviation characters in domain names. Firefox and Safari already made this change in 2016 and continue to use Non-Transitional URL processing. #
This feature was specified in this Spec.
Add a "launch_handler" web app manifest member that enables web apps to customize their launch behavior across all types of app launch triggers. Example usage: { "name": "Example app", "start_url": "/index.html", "launch_handler": { "client_mode": "navigate-existing" } } This will cause all launches of the Example app to focus an existing app window and navigate it (if it exists) instead of always launching a new app window. #
This feature was specified in this Spec.
Controls access to navigator.share(). By default, third-party iframes do not have permission to use the Web Share API. #
This feature was specified in this Spec.
Docs: https://w3c.github.io/web-share
Samples: https://scrawny-bottlenose-somersault.glitch.me/share-from-iframes.html
This release of Chrome had 5 new origin trials.
Enables prefetch to match even if URL query parameters change. The No-Vary-Search HTTP response header declares that some or all parts of a URL's query can be ignored for cache matching purposes. It can declare that the order of query parameter keys should not cause cache misses, that specific query parameters should not cause cache misses or that only certain known query parameters should cause cache misses. It could apply to multiple caches, but this entry refers to support for prefetch cache. #
This feature was specified in this Spec.
Expose information about how a resource was delivered. For example, resources which were delivered from the cache (currently exposed through transferSize) and navigations which were prefetched by the previous page are useful to identify. #
This feature was specified in this Spec.
ServiceWorkerBypassFetchHandlerForMainResource (ServiceWorker fetch fast-path), is a change to the service worker implementation designed to let the browser bypass fetch handlers when appropriate. With this feature, the request for the main resource will immediately happen without waiting for the ServiceWorker bootstrap and will also bypass the fetch handlers. The ServiceWorker is started at the same time as the request happens, but won’t intercept the request/response in the fetch handler. As a result, the browser can mitigate the bootstrap cost and the fetch handler execution. #
Currently developers can only specify speculation rules using inline script tags. The proposed feature provides an alternative through the "Speculation-Rules" header. Its value must be a URL to a text resource with "application/speculationrules+json" MIME type. The resource's rules will be added to the document's rule set. #
An extension to speculation rules syntax that lets the browser obtain URLs for speculation from link elements in a page. They may include criteria which restrict which of these links can be used. #
This feature was specified in this Spec.
This release of Chrome had 9 are available behind a flag.
Adds "previousslide" and "nextslide" actions to the existing Media Session API. #
This feature was specified in this Spec.
Samples: https://googlechrome.github.io/samples/media-session/slides.html
Enables prefetch to match even if URL query parameters change. The No-Vary-Search HTTP response header declares that some or all parts of a URL's query can be ignored for cache matching purposes. It can declare that the order of query parameter keys should not cause cache misses, that specific query parameters should not cause cache misses or that only certain known query parameters should cause cache misses. It could apply to multiple caches, but this entry refers to support for prefetch cache. #
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
ServiceWorkerBypassFetchHandlerForMainResource (ServiceWorker fetch fast-path), is a change to the service worker implementation designed to let the browser bypass fetch handlers when appropriate. With this feature, the request for the main resource will immediately happen without waiting for the ServiceWorker bootstrap and will also bypass the fetch handlers. The ServiceWorker is started at the same time as the request happens, but won’t intercept the request/response in the fetch handler. As a result, the browser can mitigate the bootstrap cost and the fetch handler execution. #
Currently developers can only specify speculation rules using inline script tags. The proposed feature provides an alternative through the "Speculation-Rules" header. Its value must be a URL to a text resource with "application/speculationrules+json" MIME type. The resource's rules will be added to the document's rule set. #
This extends the speculation rules [1] syntax to allow developers to specify the referrer policy to use with speculative requests triggered by speculation rules. This also reintroduces the "sufficiently-strict referrer policy" requirement [2]. [1] https://chromestatus.com/feature/5740655424831488 [2] https://github.com/WICG/nav-speculation/blob/main/fetch.md#stripping-referrer-information #
This feature was specified in this Spec.
Storage Buckets gives sites the ability to organize on-device data into separate "buckets", allowing user agents to evict the grouped data independently of that which is in other buckets, and enabling sites to ergonomically manage semantically related data. Each storage bucket can contain data associated with established storage APIs such as IndexedDB and CacheStorage. #
This feature was specified in this Spec.
Enable IDNA 2008 in Non-Transitional Mode for URL processing, aligning Chrome's behavior with Firefox and Safari. Chrome currently uses IDNA 2008 in Transitional Mode in URL processing. The main difference between Transitional and Non-Transitional Mode is the handling of four characters known as deviation characters: ß (LATIN SMALL LETTER SHARP S), ς (GREEK SMALL LETTER FINAL SIGMA), ZWJ (Zero width joiner) and ZWNJ (Zero width non-joiner). In Transitional mode, deviation characters are handled the same as IDNA2003: ß is mapped to ss, ς is mapped to σ, and ZWJ and ZWNJ are deleted. In Non-Transitional mode, domains containing these characters are allowed in domain names without mapping, and thus can resolve to different IP addresses. For example, typing "faß.de" in Chrome and Firefox opens different sites today. Enabling Non-Transitional IDNA in Chrome will allow deviation characters in domain names. Firefox and Safari already made this change in 2016 and continue to use Non-Transitional URL processing. #
This feature was specified in this Spec.
As previously detailed in https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html, we intend to proceed with Phase 6 of the User-Agent Reduction plan. In Android, we change the <deviceModel> token to “K” and change the <androidVersion> token to a static “10” string., and will no longer be updated. Additionally, the values for navigator.platform is frozen to "Linux armv81" on Android platform (see https://www.chromium.org/updates/ua-reduction/#reduced-navigatorplatform-values-for-all-versions). This is phase 6 of the User-Agent reduction plan as described in https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html. For use cases requiring high-entropy OS version, CPU architecture, bitness, developers are encouraged to request that via the User Agent Client Hints API, in particular the Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, and Sec-CH-UA-Bitness client hints. #
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 0 features deprecated.
This release of Chrome had 2 features removed.
We intend to deprecate and remove usage of WebSQL in non-secure contexts. Deprecation: M105 Removal: M110 #
This feature was specified in this Spec.
We propose to remove support for the legacy storage quota API, window.webkitStorageInfo. Originally introduced in 2011, Chrome implemented the prefixed quota API which was immediately succeeded by the Quota API which as since been deprecated as well. The legacy storage quota API was never implemented by any other browser, and has been marked deprecated since 2013. #
This feature was specified in this Spec.