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 20 new features.
As the Privacy Sandbox relevance and measurement APIs start ramping up for general availability, we want to make sure these technologies are used as intended and with transparency. The APIs include Attribution Reporting, the Protected Audience API, Topics, Private Aggregation and Shared Storage. PSB is introducing a new Developer Enrollment process for Privacy Sandbox relevance and measurement APIs. Chrome will fetch the enrolled-sites list from the enrollment server (via component updater) and use it to gate access to the Privacy Sandbox APIs. #
Allows authors to scope style rules to a given scoping root, and style elements according to the proximity of that scoping root. #
This feature was specified in this Spec.
Updates how control characters in cookies set via JavaScript are handled. Specifically, all control characters cause the entire cookie to be rejected (previously a NULL character, a carriage return character, or a line feed character in a cookie line caused it to be truncated instead of rejected entirely, which could have enabled malicious behavior in certain circumstances). This behavior aligns Chrome with the behavior indicated by the latest drafts of RFC6265bis. This change can be disabled using the `--disable-features=BlockTruncatedCookies` or the BlockTruncatedCookies enterprise policy, which will exist for several milestones in case this change causes any breakage. #
This feature was specified in this Spec.
Add these new values to existing CSS properties: 'float: inline-start', 'float: inline-end', 'clear: inline-start', 'clear: inline-end', 'resize: block', 'resize: inline'. These flow-relative directional keywords resolve to a physical value depending on the writing mode or direction of the element or its containing block. #
This feature was specified in this Spec.
Docs: https://developer.mozilla.org/docs/Web/CSS/CSS_logical_properties_and_values
No linked samplesChanges the default setting for the “Minimum font size” of the 7 languages (Arabic, Farsi, Japanese, Korean, Thai, Simplified and Traditional Chinese) to be off by default to improve the interoperability and the accessibility. Before this change, this setting is off by default for all languages except the 7 languages. This change makes these languages consistent with other languages. Note, this is not about changing the “Minimum font size” feature itself. It will be available without any changes for the accessibility and for readability. #
Docs: https://docs.google.com/document/d/180f-ex4Nj11lExg80ziZZ8Bc-LxQU6B9wY-WEZksLM0/edit?usp=sharing
No linked samplesSmooth visual transitions as users navigate on the web can lower cognitive load by helping users stay in context. However, the user experience is bad if both the site author and the UA add these transitions: the transitions may conflict and cause confusion for the user. This API avoids such cases to ensure only one visual transition is executed at a time. The API adds a boolean on `PopStateEvent` and `NavigateEvent` to indicate whether the UA has executed a visual transition for this navigation. Authors can use this to skip their custom transition.
This feature was specified in this Spec.
CSS property writing-mode should be enabled for form controls elements as it will allow lines of text to be laid out horizontally or vertically and it sets the direction in which blocks progress. With this feature, we are allowing the form control elements select, meter, progress, button, textarea and input to have vertical-rl or vertical-lr writing mode. As needed for Web compatibility, we will slowly rollout the change for a number of form controls in 118 and continue in future milestones. * --enable-features= FormControlsVerticalWritingModeSupport * --enable-features= FormControlsVerticalWritingModeTextSupport #
This feature was specified in this Spec.
The <search> element applies a "search" role for accessibility. It is basically the same as <div role=search>. From the HTML spec: The search element represents a part of a document or application that contains a set of form controls or other content related to performing a search or filtering operation. This could be a search of the web site or application; a way of searching or filtering search results on the current web page; or a global or Internet-wide search function. #
This feature was specified in this Spec.
HTTPS DNS resource records can provide information about supported protocols such as HTTP/3 with "alpn" parameter. If Chrome receives a HTTPS DNS record indicating HTTP/3 support, Chrome will connect to the server using the HTTP/3 protocol. #
This feature was specified in this Spec.
Make URL parser to not decode percent-encoded ASCII characters in URL's path, such as "%41" ('A'). Before this change: > const url = new URL("http://example.com/%41"); > url.href "http://example.com/A" After this change: > const url = new URL("http://example.com/%41"); > url.href "http://example.com/%41" #
This feature was specified in this Spec.
Adds the `prefers-reduced-transparency` feature, which lets authors adapt web content to user-selected preference for reduced transparency in the OS, such as the 'Reduce transparency' setting on macOS. Valid options are 'reduce' or 'no-preference'. #
This feature was specified in this Spec.
Samples: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency#examples
In online ad auctions for ad space, it’s sometimes useful to prevent showing an ad to certain audiences, a concept known as negative targeting. For example, you might not want to show a new customer advertisement to existing customers. New customer acquisition campaigns most often have this as a critical requirement. Protected Audience currently enables ads to target users that have been joined to a given interest group through some past activity on the web. This feature extends Protected Audience to enable negative targeting by allowing new ads to target only those users who have not been joined to a given interest group. In this way, we're enabling advertisers to target new groups of users using the existing privacy-preserving concepts of the Protected Audience API. The HTTP response header processing involved in this feature works with Fetch and iframe navigations.
To help developers reduce friction in Payment Request flows, we are removing the user activation requirement. Spam and clickjacking mitigations are put in place to mitigate security and privacy risks with this change. #
This feature was specified in this Spec.
To help developers reduce friction in Secure Payment Confirmation flows, we are removing the user activation requirement. Spam and clickjacking mitigations are put in place to mitigate security and privacy risks with this change. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1DW4hGyuVzcN8sE8TC3YOkg6xO4XpUGZQNxcHgfMXVwA
Samples: https://rsolomakhin.github.io/pr/spc-activationless
Option elements support a "label" attribute which will cause the option to render with the text inside the attribute rather than the child text of the option element itself. This functionality is disabled in quirks mode, where the label attribute is ignored and the child text is always rendered. This change will always use the label attribute in both standards mode and quirks mode. #
This feature was specified in this Spec.
Implements the crossOrigin attribute for SVG images: The crossOrigin attribute, valid on the <image> and <feImage> elements, provides support for configuration of the Cross-Origin Resource Sharing (CORS) requests for the element's fetched data. The supported values are the same as elsewhere: "anonymous", "use-credentials", and "" (which means anonymous). https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/crossorigin https://www.w3.org/TR/SVG/embedded.html#ImageElementCrossoriginAttribute #
This feature was specified in this Spec.
The view-timeline shorthand is now shorthand for view-timeline-name, view-timeline-axis, and view-timeline-inset. Previously, view-timeline-inset was not part of the shorthand.
This feature was specified in this Spec.
Allows changing how the reference box for the 'transform' property is computed. This adds additional capabilities that will allow creating transforms/graphical effects where - for example - the width of the border of an element does not influence the result (e.g rotation around a point in the content box) or the stroke of an (SVG) element should influence the result (e.g rotating a stroked shape around its center - including the stroke).
This feature was specified in this Spec.
Samples: https://developer.mozilla.org/en-US/docs/Web/CSS/transform-box
Allows web developers to use WebUSB API when responding to extension events by exposing WebUSB API to Service Workers registered by browser extensions. This API will not yet be exposed to Service Workers registered by sites but the implementation experience gained by supporting the API for extensions will be valuable for such a future project. #
This feature was specified in this Spec.
This change causes sibling CDATA section nodes in an XML document to be merged into a single CDATA node. This is to mitigate a bug in libxml: when a single CDATA section spans multiple input parser chunks, libxml buffers and emits the CDATA input into 300 byte runs. This unexpectedly causes a single CDATA section to be outputted into multiple DOM nodes (if the length of the input chunk is > 300 bytes). This change updates the parser to always merge adjacent CDATA nodes. This addresses the libxml bug but will also affect explicitly authored CDATA sections in the same way. For example: `<![CDATA[foo]]><!CDATA[bar]]>` will result in a single CDATA DOM node with content "foobar". For more details, see https://crrev.com/f848cbce89b422 . #
This release of Chrome had 5 new origin trials.
Capture all the screens currently connected to the device using getAllScreensMedia(). Calling getDisplayMedia() multiple times requires multiple user gestures, burdens the user with choosing the next screen each time, and does not guarantee to the app that all the screens were selected. getAllScreensMedia() improves on all of these fronts. (As this feature has extreme privacy ramifications, it is only exposed behind the MultiScreenCaptureAllowedForUrls enterprise policy, and users are warned before recording even starts, that recording *could* start at some point. The API will only work for origins that are specified in the MultiScreenCaptureAllowedForUrls allowlist. Any origin not specified there, will not have access to it.) #
This feature was specified in this Spec.
Docs: https://screen-share.github.io/capture-all-screenshttps://github.com/screen-share/capture-all-screens/blob/main/README.mdhttps://docs.google.com/document/d/1XB8rQRnY5N8G2PeEcNJpVO0q22CutvwW8GGKCZ1z_vc/edit?usp=sharing
Samples: https://honey-quartz-fukuiraptor.glitch.mehttps://github.com/screen-share/capture-all-screens/blob/main/HOWTO.mdhttps://github.com/screen-share/capture-all-screens/blob/main/README.md
To eliminate user browsing history leaks, anchor elements are styled as :visited only if they have been clicked from this top-level site and frame origin before. On the browser-side, this means that the VisitedLinks hashtable is now partitioned via "triple-keying", or by storing the following for each visited link: <link URL, top-level site, frame origin>. By only styling links that have been clicked on this site and frame before, the many side-channel attacks that have been developed to obtain :visited links styling information are now obsolete, as they no longer provide sites with new information about users. There is an exception for "self-links", where links to a site's own pages can be styled as :visited even if they have not been clicked on in this exact top-level site and frame origin before. This exemption is only enabled in top-level frames or subframes which are same-origin with the top-level frame. The privacy benefits above are still achieved because sites already know which of its subpages a user has visited, so no new information is exposed. This was a community-requested exception which improves user experience as well. #
This feature was specified in this Spec.
Docs: https://github.com/explainers-by-googlers/Partitioning-visited-links-history
No linked samplesAllow 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
Allow WebRTC Encoded Transform API to manipulate audio and video frame metadata. Some WebRTC Encoded Transform use cases involve manipulation of not only the payload of encoded video / audio frames but also its metadata. Some examples: * Altering the timestamp of a frame to introduce a delay, * Changing the mime type of the frame if the transform changes the type of the payload. * Forwarding of media to a new peer connection set up to use different metadata values Use cases: https://w3c.github.io/webrtc-nv-use-cases/#live-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#stored-encoded-media https://w3c.github.io/webrtc-nv-use-cases/#auction Issue link: https://github.com/w3c/webrtc-nv-use-cases/issues/77 #
This feature was specified in this Spec.
Chrome 124 enabled by default on all desktop platforms a new post-quantum secure TLS key encapsulation mechanism [X25519Kyber768](https://developer.chrome.com/blog/chrome-124-beta#x25519kyber768_key_encapsulation_for_tls), based on a NIST standard (ML-KEM). This protects network traffic from Chrome with servers that also support ML-KEM from decryption by a future quantum computer. This change should be transparent to server operators. This cipher will be used for both [TLS 1.3](https://datatracker.ietf.org/doc/html/rfc8446) and [QUIC](https://datatracker.ietf.org/doc/rfc9000/) connections. However, some TLS middleboxes might be unprepared for the size of a Kyber (ML-KEM) key encapsulation, or a new TLS ClientHello cipher code point, leading to dropped or hanging connections. This can be resolved by updating your middlebox, or disabling the key encapsulation mechanism via the temporary [PostQuantumKeyAgreementEnabled](https://chromeenterprise.google/policies/#PostQuantumKeyAgreementEnabled) enterprise policy, which will be available through Chrome 145. However, long term, post-quantum secure ciphers will be required in TLS and the enterprise policy will be removed in Chrome 147. Post-quantum cryptography is required for CSNA 2.0. To learn more, see [Protect Chrome Traffic with Hybrid Kyper KEM](https://blog.chromium.org/2023/08/protecting-chrome-traffic-with-hybrid.html). #
This feature was specified in this Spec.
This release of Chrome had 12 are available behind a flag.
The :user-invalid and the :user-valid pseudo-classes represent an element with incorrect or correct input, respectively, but only after the user has significantly interacted with it. This is similar to :valid and :invalid, but with the added constraint that these pseudo-classes only match after the user has interacted with the element.
This feature was specified in this Spec.
Samples: https://developer.mozilla.org/en-US/docs/Web/CSS/:user-valid
With CSS Highlight Inheritance, the CSS Highlight pseudo classes, such as ::selection and ::highlight, inherit their properties through the pseudo highlight chain, rather than the element chain. The result is a more intuitive model for inheritance of properties in highlights. Specifically, "When any supported property is not given a value by the cascade ... its specified value is determined by inheritance from the corresponding highlight pseudo-element of its originating element’s parent element." There are some caveats due to properties not allowed on a highlight pseudo and historical usage: units depending on fonts, container queries, viewports etc. use metrics from the originating element, and all custom property values used in the highlight pseudo are taken from the originating element (inherited through the originating element cascade). (https://drafts.csswg.org/css-pseudo-4/#highlight-cascade)
This feature was specified in this Spec.
The relative color syntax allows developers to define colors by modifying the parameters of other colors. For example: oklab(from magenta calc(l * 0.8) a b); Will result in an oklab magenta that is 80% as light. https://www.w3.org/TR/css-color-5/#relative-colors #
This feature was specified in this Spec.
The CSS Scrollbars spec allows authors to style scrollbars by specifying their colors and thickness. This spec adds the following two properties. The scrollbar-color property provides the capability of changing the color scheme of scrollbars so they fit better into the particular style of a web page. The scrollbar-width property allows the use of narrower scrollbars that may be more suitable for some use cases, or even to hide the scrollbars completely without affecting scrollability. #
This feature was specified in this Spec.
Samples: https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-colorhttps://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-width
CSS property writing-mode should be enabled for form controls elements as it will allow lines of text to be laid out horizontally or vertically and it sets the direction in which blocks progress. With this feature, we are allowing the form control elements select, meter, progress, button, textarea and input to have vertical-rl or vertical-lr writing mode. As needed for Web compatibility, we will slowly rollout the change for a number of form controls in 118 and continue in future milestones. * --enable-features= FormControlsVerticalWritingModeSupport * --enable-features= FormControlsVerticalWritingModeTextSupport #
This feature was specified in this Spec.
The <search> element applies a "search" role for accessibility. It is basically the same as <div role=search>. From the HTML spec: The search element represents a part of a document or application that contains a set of form controls or other content related to performing a search or filtering operation. This could be a search of the web site or application; a way of searching or filtering search results on the current web page; or a global or Internet-wide search function. #
This feature was specified in this Spec.
The scripting media feature is used to query whether scripting languages, such as JavaScript, are supported on the current document. Valid options are 'enabled', 'initial-only', 'none'. However, 'initial-only' never matches inside a browser. #
This feature was specified in this Spec.
Samples: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/scripting
Multi Apps API enables PWA developers to programmatically add application icons to their PWA that link into specific application features. #
Samples: http://multi-apps.glitch.me
A behavior change to safely store (and restore) pages in the Back/Forward Cache despite the presence of a "Cache-control: no-store" HTTP header. This would allow pages to enter BFCache and be restored as long as there are no changes to cookies or network requests that receive response with "Cache-control: no-store" HTTP header. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1qX1w6L6laTzpFTh78dvT7wwC1060Z3he2Azp4BAwsUE/edit?usp=sharinghttps://github.com/fergald/explainer-bfcache-ccns/blob/main/README.md
No linked samplesTo help developers reduce friction in Payment Request flows, we are removing the user activation requirement. Spam and clickjacking mitigations are put in place to mitigate security and privacy risks with this change. #
This feature was specified in this Spec.
Since only standard appearance keywords should be supported, we are removing the appearance (and -webkit-appearance) keywords that shouldn't be supported anymore: * inner-spin-button * media-slider * media-sliderthumb * media-volume-slider * media-volume-sliderthumb * push-button * searchfield-cancel-button * slider-horizontal * sliderthumb-horizontal * sliderthumb-vertical * square-button Note that value "slider-vertical" will not be removed as part of this patch it is used for allowing <input type=range> vertical. It will be removed once feature FormControlsVerticalWritingModeSupport is enabled in stable. With the feature enabled, if using any of the above keywords, a console warning will be shown, but the keyword will be recognized as a valid value. With the feature disabled, the appearance property will be ignored. As needed for Web compatibility, we will progressively remove the appearance keywords based on their usage: * --disable-features=NonStandardAppearanceValuesLowUsage * --disable-features=NonStandardAppearanceValuesHighUsage For release 118, we will disable the low usage values, currently at page load usage below 0.001%. * media-slider at 0.000361 * media-sliderthumb at 0.000187% * media-volume-slider at 0.000143% * media-volume-sliderthumb at 0.000109% * sliderthumb-horizontal at 0.000182% * sliderthumb-vertical at 0.000014% #
This feature was specified in this Spec.
User Preference Media Features Client Hints Header defines a set of HTTP Client Hints headers around user preference media features as defined by Media Queries Level 5. If used as Critical Client Hints, these headers allow servers to make smart choices regarding, e.g., CSS inlining. Sec-CH-Prefers-Reduced-Transparency reflects the user's prefers-reduced-transparency preference. #
This feature was specified in this Spec.
Samples: https://sec-ch-prefers-reduced-transparency.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 1 features deprecated.
Since only standard appearance keywords should be supported, we are removing the appearance (and -webkit-appearance) keywords that shouldn't be supported anymore: * inner-spin-button * media-slider * media-sliderthumb * media-volume-slider * media-volume-sliderthumb * push-button * searchfield-cancel-button * slider-horizontal * sliderthumb-horizontal * sliderthumb-vertical * square-button Note that value "slider-vertical" will not be removed as part of this patch it is used for allowing <input type=range> vertical. It will be removed once feature FormControlsVerticalWritingModeSupport is enabled in stable. With the feature enabled, if using any of the above keywords, a console warning will be shown, but the keyword will be recognized as a valid value. With the feature disabled, the appearance property will be ignored. As needed for Web compatibility, we will progressively remove the appearance keywords based on their usage: * --disable-features=NonStandardAppearanceValuesLowUsage * --disable-features=NonStandardAppearanceValuesHighUsage For release 118, we will disable the low usage values, currently at page load usage below 0.001%. * media-slider at 0.000361 * media-sliderthumb at 0.000187% * media-volume-slider at 0.000143% * media-volume-sliderthumb at 0.000109% * sliderthumb-horizontal at 0.000182% * sliderthumb-vertical at 0.000014% #
This feature was specified in this Spec.
This release of Chrome had 0 features removed.