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.
Align the behavior of transform-style: preserve-3d (which allows child elements to participate in the same 3D scene) and the perspective property (which applies a perspective transform to child elements) with the spec by making them apply only to child elements. Before this change, Chromium applies both of these effects based on the containing block hierarchy rather than the DOM tree, and also allows them to extend through elements without transform-related properties on them. #
This feature was specified in this Spec.
The "scrollbar-gutter" property provides control over the presence of scrollbar gutters (the space which may be reserved to display a scrollbar), allowing authors to prevent layout changes as content expands while avoiding unwanted visuals when scrolling isn't needed. Note that the presence of the scrollbars themselves is determined by the "overflow" property and the decision of whether to use classical or overlay scrollbars is up to the User Agent. #
This feature was specified in this Spec.
Formalize that the default color space for 2D canvases and ImageData is sRGB. Clarify that 2D canvas is fully color managed (that all inputs are converted to the canvas color space). These were previously convention and not clearly specified. Add parameters to specify a non-sRGB color space when creating a 2D canvas or an ImageData. Add support for the Display P3 color space for these parameters. #
This feature was specified in this Spec.
Implement the display-capture feature policy from the Screen Capture spec. https://w3c.github.io/permissions/#dom-permissionname-display-capture This policy allows restricting access to the getDisplayMedia() API in embedded resources. #
This feature was specified in this Spec.
The Idle Detection API notifies developers when a user is idle, indicating such things as lack of interaction with the keyboard, mouse, screen, activation of a screensaver, locking of the screen, or moving to a different screen. A developer-defined threshold triggers the notification. #
This feature was specified in this Spec.
Docs: https://web.dev/idle-detection/https://github.com/WICG/idle-detection/blob/main/mdn-drafts/QUICK-REFERENCE.md
Samples: https://web.dev/idle-detection/https://github.com/WICG/idle-detection/blob/master/HOWTO.mdhttps://reillyeon.github.io/scraps/idle.html
The ImageDecoder API intends to provide web authors random access to decoded images (as ImageBitmap) for each frame in a given image. The returned ImageBitmap objects can be used for drawing to canvas or WebGL (as well as any other future ImageBitmap use cases). Since the API is not bound to the DOM it may also be used in workers. #
Docs: https://developer.mozilla.org/en-US/docs/Web/API/ImageDecoder
No linked samplesAdds a web-exposed sampling profiler for measuring client JavaScript execution time. Gathering JS profiles from real users can help developers debug slow observed performance without the need for invasive manual instrumentation. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1NGrU6xVWHq8uLfSFRfDWh1v_UiXLiOgr2FDb2KIaoL0/edit?usp=sharinghttps://docs.google.com/document/d/1OTwlBnAMXZEaOICtuz16c01QnkPPdqHBoHpfGwnk5SY/edit?usp=sharing
Samples: https://wicg.github.io/js-self-profiling/#examples
This feature defines an API surface for manipulating raw media carried by MediaStreamTracks such as the output of a camera, microphone, screen capture, or the decoder part of a codec and the input to the decoder part of a codec. It uses WebCodecs interfaces to represent raw media frames and exposes them using streams, similarly to the way the WebRTC Insertable Streams spec exposes encoded data from RTCPeerConnections. #
This feature was specified in this Spec.
Docs: https://alvestrand.github.io/mediacapture-transform/https://github.com/w3c/mediacapture-insertable-streams/blob/main/explainer.md
Samples: https://webrtc.github.io/samples/src/content/insertable-streams/video-processing/
With the removal of Flash, there is no longer the need to return anything for navigator.plugins and navigator.mimeTypes. These APIs were used primarily for a) probing for Flash player support, or b) fingerprinting. Some sites use these APIs to probe for PDF viewer support. With this change, these arrays will return fixed lists containing a standard list of PDF viewer plugins. #
This feature was specified in this Spec.
Samples: https://output.jsbin.com/nebaruc
Gives developers the ability to add more data (descriptions and screenshots) to their PWA install dialog and gives users more insight into the apps they are about to install. #
This feature was specified in this Spec.
Userspace tasks often have varying degrees of importance (related to user experience), but the Platform lacks a unified API to schedule prioritized work. The postTask API allows developers to schedule tasks (javascript callbacks) with a native browser scheduler at 3 levels of priority: user-blocking, user-visible, and background. It also exposes a TaskController, which can be used to dynamically cancel tasks and change their priority. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1Apz-SD-pOagGeyWxIpgOi0ARNkrCrELhPdm18eeu9tw/edit?usp=sharing
Samples: https://github.com/WICG/scheduling-apis/blob/main/explainers/prioritized-post-task.mdhttps://github.com/WICG/main-thread-scheduling/tree/master/sample-code
The virtual keyboard is the on-screen keyboard used for input in scenarios where a hardware keyboard may not be available. The VirtualKeyboard interface has APIs to provide authors with more control over when the virtual keyboard is shown or hidden. It also fires events with the size of the virtual keyboard when it occludes content in the page. #
This feature was specified in this Spec.
Docs: https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/VirtualKeyboardPolicy/explainer.mdhttps://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/VirtualKeyboardAPI/explainer.mdhttps://docs.google.com/document/d/1I0LUNxK_gP5IaNQsbYN6gL6Zpm71XzduCKkublU5o5Q/edit?usp=sharing
No linked samplesProvides efficient, low-level access to built-in (software and hardware) media encoders and decoders. #
This feature was specified in this Spec.
Docs: https://github.com/WICG/web-codecs/blob/master/explainer.md
No linked samplesYou can now specify the keywords 'content', 'min-content', 'max-content', or 'fit-content' as the value of the 'flex-basis' property and its 'flex' shorthand. 'content' makes flex base size use the default sizing rules as if 'flex-basis' and preferred size property ('width' or 'height') are both 'auto', ignoring any specified 'width' or 'height' in the main axis dimension when 'flex-basis' is 'auto'. The other keywords are same as usual and give more options for specifying the flex base size. #
This feature was specified in this Spec.
We introduce a dictionary member to MediaStreamConstraints called preferCurrentTab. It's a boolean defaulting to false. When getDisplayMedia() is called with preferCurrentTab=true, the browser should offer the current tab as the most prominent capture source. #
This feature was specified in this Spec.
This release of Chrome had 6 new origin trials.
Support 103 Early Hints informational responses during top-level frame navigation. When a 103 response includes link headers Chromium tries to preload specified resources (including modulepreload) or preconnect to specified origins before the final response is received. This gives Web developers a way to optimize Core Web Vitals such as Largest Contentful Paint (LCP). #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1gCh_CnfrJq_VL7aGoq6skc7sn4yn5pKsM0gkHe5B9go/edit?usp=sharing
Samples: https://early-hints.fastlylabs.com/
Updated functionality for the Canvas2D API. Adds nine new features/functions to CanvasRenderingContext2D: - "ContextLost" and "ContextRestored" events - "willReadFrequently" option for canvases where lots of readback is expected - More CSS text modifier support - A reset function - A roundRect draw primitive - Conic gradients - Better support for SVG filters https://github.com/fserb/canvas2d #
Requires that private network requests for subresources from public websites may only be initiated from a secure context. Examples include internet to intranet requests and internet to loopback requests. This is a first step towards fully implementing Private Network Access: https://wicg.github.io/private-network-access/ #
This feature was specified in this Spec.
Prerendering loads a web page before it is needed, so that when the actual navigation to that page occurs, it can be shown instantly. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
Samples: https://prerender2-specrules.glitch.me
WebGPU is the successor to the WebGL and WebGL 2 graphics APIs for the Web. It provides modern features such as “GPU compute” as well as lower overhead access to GPU hardware and better, more predictable performance. WebGPU is developed by the “GPU for the Web” W3C community group. #
This feature was specified in this Spec.
Docs: https://gpuweb.github.io/gpuwebhttps://gpuweb.github.io/gpuweb/wgslhttps://gpuweb.github.io/gpuweb/explainer
Samples: https://github.com/austinEng/webgpu-samples
WebGPU is the successor to the WebGL and WebGL 2 graphics APIs for the Web. It provides modern features such as “GPU compute” as well as lower overhead access to GPU hardware and better, more predictable performance. WebGPU is developed by the “GPU for the Web” W3C community group. WebGPU previously launched on Windows, MacOS, and ChromeOS in M113. See https://chromestatus.com/feature/6213121689518080 for details.
This feature was specified in this Spec.
Docs: https://gpuweb.github.io/gpuwebhttps://gpuweb.github.io/gpuweb/wgslhttps://gpuweb.github.io/gpuweb/explainer
Samples: https://github.com/austinEng/webgpu-samples
This release of Chrome had 8 are available behind a flag.
This is a Stage 3 TC39 proposal that adds the methods findLast and findLastIndex to Array.prototype and the various TypedArray.prototypes. These methods are the "from the end" versions of find and findIndex. #
This feature was specified in this Spec.
Add 4 new values "shortGeneric", "longGeneric", "shortOffset", and "longOffset" for Intl.DateTimeFormat timeZoneName option #
This feature was specified in this Spec.
Docs: https://github.com/tc39/proposal-intl-extend-timezonenamehttps://tc39.es/proposal-intl-extend-timezonename/https://docs.google.com/presentation/d/1N4QoCxFVM4ZKr9gDnaDDnrHb-5_rPTy-wydp-f90xBMhttps://docs.google.com/presentation/d/1a4cp-Jw_k47iv3oHFDC2rhkNPHbZbTzrZOSVR_4_QlM
No linked samplesAdds a media query to CSS which allows a page to detect the current display device’s support for HDR. This feature adds the query: 'dynamic-range' which may be one of 'standard' or 'high'. Chrome will resolve this query according to the capabilities of the display device the browser window is currently positioned on, allowing pages to toggle CSS rules accordingly or respond in Javascript via 'window.matchMedia()'. #
This feature was specified in this Spec.
Samples: https://willcassella.github.io/blink-hdr/demos/css-dynamic-range.html
Extend the Intl.DisplayNames API to include "calendar" and "dateTimeField" names and add "languageDisplay" option. see https://github.com/tc39/intl-displaynames-v2 for the proposal The proposal advanced to Stage 3 on 2021-05-25 Spec: https://tc39.es/intl-displaynames-v2/ #
This feature was specified in this Spec.
Docs: spec: https://tc39.es/intl-displaynames-v2/design doc: https://docs.google.com/document/d/17hQz4nOC7PJYhxc_MU-BRoT6BnYGZv66XlU1iGX0ywQ/edit#
No linked samplesThe Origin Private File System (OPFS, part of the File System Access API) is augmented with a new surface that brings very performant access to data. This new surface differs from existing ones by offering in-place and exclusive write access to a file’s content. This change, along with the ability to consistently read unflushed modifications and the availability of a synchronous variant on dedicated workers, significantly improves performance and unblocks new use cases. #
Define an optional id field in app manifest that's used to globally identify the web app. If the id is not specified, start_url will be used as the default id. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1f9xQR1msTxiYvzFguKMkqSfrXMo_cT2yvhCEM3SYIt0/edit?usp=sharing
No linked samplesSplits the reporting cache into a per-document cache for document-generated reports, and the existing cache for network reports. There is currently a single reporting cache per profile, which means that reports from unrelated documents can potentially be sent in a single request. This also introduces the Reporting-Endpoints HTTP response header for non-persistent configuration of document-generated reports. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1dls0BWp5K-g0tbPUkbm5yEBZ5ye1ErZTz4FB6M62lI8/edit?usp=sharinghttps://docs.google.com/document/d/1RmEz17pGSUQITPoRKV4s3IBgbyHjv-HLZqtVYYZ4lMg/edit?usp=sharing
No linked samplesPrerendering loads a web page before it is needed, so that when the actual navigation to that page occurs, it can be shown instantly. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
Samples: https://prerender2-specrules.glitch.me
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 1 features removed.
AppCache was standardized in the Offline Web applications section of the HTML specification. The standard is formally referred to as application caches. New Web applications should be built around Service Workers. Existing applications that use AppCache should migrate to Service Workers. AppCache access was removed from insecure origins in M70. This intent addresses AppCache usage in secure origins. #
This feature was specified in this Spec.