Chrome 143 beta

Published: October 29, 2025

Unless otherwise noted, these changes apply to the Chrome 143 beta channel release for Android, ChromeOS, Linux, macOS, and Windows. Learn more about these features from the provided links or on ChromeStatus.com. Download Chrome 143 beta from Google.com for desktop or on Google Play Store on Android.

CSS and UI

CSS anchored fallback container queries

This feature introduces @container anchored(fallback) to style descendants of anchor-positioned elements based on which position-try-fallbacks value is applied.

For example, you can use such queries to style an anchored element's tether or its animations based on how the anchor and the anchored element are positioned relative to each other.

Example:

#anchored {
 position-try-options: flip-block;
 container-type: anchored;
}

@container anchored(fallback: flip-block) {
  #anchored > .arrow {
    --arrow-rotation: 180deg;
   }
}

Learn more in Detect fallback positions with anchored container queries from Chrome 143.

EditContext: TextFormat underlineStyle and underlineThickness

Chromium shipped the EditContext API with a bug where the TextFormat object, supplied by the EditContext/textformatupdate_event, provides incorrect values for the underlineStyle and underlineThickness properties. In Chromium, the possible values are None, Solid, Dotted, Dashed, Squiggle and None, Thin, Thick. However, per the EditContext specification, they should be none, solid, dotted, dashed, wavy and none, thin, thick.

Web APIs

Allow more characters in JavaScript DOM APIs

The HTML parser has always (or for a long time) allowed elements and attributes to have a wide variety of valid characters and names, but the JavaScript DOM APIs to create the same elements and attributes are more strict and don't match the parser.

This change relaxes the validation of the JavaScript DOM APIs to match the HTML parser.

More context here: github.com/whatwg/dom/issues/849

This change is not expected to cause compatibility issues because all previously allowed element and attribute names remain valid with the new behavior.

Speculation rules: mobile 'eager' eagerness improvements

On mobile, the prefetches and prerender speculation rules for 'eager' eagerness now trigger when HTML anchor elements are in the viewport for a short time.

Earlier, prefetching and prerendering started as soon as possible, which was equivalent to 'immediate' eagerness. This updated behavior is more useful because it better reflects the author's intent to be more eager than 'moderate' and less eager than 'immediate'.

Implement CSS property font-language-override

This feature introduces support for the font-language-override CSS property in Chromium. The property lets developers override the system language used for OpenType glyph substitution by specifying a four-character language tag directly in CSS.

This provides fine-grained typographic control, which is useful for multilingual content or fonts with language-specific glyph variants.

WebGPU: Texture component swizzle

Texture component swizzle lets GPUTextureViews rearrange or replace the color components from a texture's red, green, blue, or alpha channels when a shader accesses them.

ICU 77 (supporting Unicode 16)

The Unicode support library ICU (International Components for Unicode) upgrades from version 74.2 to 77.1, adding support for Unicode 16 and updating locale data. Two changes might pose a risk for web applications that assume a specific format from the Intl JavaScript APIs:

  • The default Italian number formatting now omits the thousand separator for 4-digit numbers. For example, new Intl.NumberFormat("it").format(1234) returns "1234" instead of "1.234". You can achieve the old behavior with the useGrouping parameter for the Intl.NumberFormat constructor.
  • In some English locales (for example, en-AU, en-GB, and en-IN), a comma was added after full-length weekdays, changing "Saturday 30 April 2011" to "Saturday, 30 April 2011". Web applications must avoid relying on the precise formatting of dates.
  • Intl and RegExp (V8): Many small changes. The change to Italian number formatting is the highest risk and has a dedicated flag.
  • IDNA: This upgrade generally allows more things and improves overall test results in WPT.
  • Text segmentation: The most notable change is improved Japanese line breaking when using word-break: auto-phrase. This is related to https://chromestatus.com/feature/5133892532568064.

DataTransfer property for insertFromPaste, insertFromDrop and insertReplacementText input events

This feature populates the dataTransfer property on input events with inputType of insertFromPaste, insertFromDrop, and insertReplacementText. This provides access to clipboard and drag-drop data during editing operations in contenteditable elements.

The dataTransfer object contains the same data that was available during the beforeinput event.

This feature only applies to contenteditable elements. For form controls (textarea, input), the behavior remains unchanged—the data property contains the inserted text and dataTransfer remains null. Both Safari and Firefox already support this feature. Chrome adopting this feature enhances interoperability across browsers, providing a more consistent experience for web authors.

FedCM—Support Structured JSON Responses from IdPs

This feature lets Identity Providers (IdPs) return structured JSON objects instead of plain strings to Relying Parties (RPs) through the id_assertion_endpoint.

This change simplifies integration for developers by eliminating the need to manually serialize and parse JSON strings. It provides more dynamic and flexible authentication flows, letting RPs interpret complex responses directly and support varied protocols like OAuth2, OIDC, or IndieAuth without out-of-band agreements.

WebTransport Application Protocol Negotiation

WebTransport Application Protocol Negotiation lets you negotiate the protocol fused by the web application within the WebTransport handshake.

A web application can specify a list of application protocols when constructing a WebTransport object. These protocols are then conveyed to the server through HTTP headers. If the server picks one of those protocols, it can indicate that within response headers, and that reply is available within the WebTransport object.

Web Smart Card API for Isolated Web Apps

Available on Isolated Web Apps (IWA) only. This feature lets smart card (PC/SC) applications move to the Web platform. It gives them access to the PC/SC implementation (and card reader drivers) available in the host Operating System.

Administrators can control this API's availability in two ways:

  • Globally—using the DefaultSmartCardConnectSetting policy
  • Per-application—using the SmartCardConnectAllowedForUrls and SmartCardConnectBlockedForUrls policies

Web App Manifest: specify update eligibility, icon URLs are Cache-Control: immutable

The manifest spec now includes an update eligibility algorithm. This makes the update process more deterministic and predictable, providing developers more control over when updates apply to existing installations, and gives users more choice over what to do with an update, like ignoring it if they want. It also allows the removal of the 'update check throttle' that user agents implement to avoid wasting network resources.

Heavy Ads Intervention: Reports sent to embedding frame

Ad intervention reports are now sent to the ad's embedding frame, in addition to the ad frame itself. The report sent to the embedding frame will contain the ad iframe's ID and the pre-redirect URL of the frame that was unloaded within the report body's message field. This change gives the embedding context the ability to identify problematic ad providers and address disruptive ads to improve user experience.

Origin trials in progress

In Chrome 143, you can opt into the following new origin trials.

Digital Credentials API (issuance support)

This feature lets issuing websites (for example, a university, government agency, or bank) securely initiate the provisioning (issuance) process of digital credentials directly into a user's mobile wallet application. On Android, this capability uses the Android IdentityCredential CredMan system (Credential Manager). On desktop, it uses cross-device approaches with the CTAP protocol, similar to the Digital Credentials presentation cross-device flow.

TCP Socket Pool Limit Randomization

By exploiting limits in the connection pool size on Chrome, you can gain knowledge about cross-site state that would otherwise be inaccessible. Specifically, you can (with some statistical certainty) evaluate the login state, visited history, or even something more specific like whether Gmail has pending messages in the inbox.

To mitigate this, randomization is added to how TCP socket pools are limited so that an observing site cannot infer this information with high certainty.

Deprecations and removals

This version of Chrome introduces the deprecations and removals in the following sections. Visit ChromeStatus.com for lists of planned deprecations, current deprecations and previous removals.

This release of Chrome deprecates two features

Deprecate getters of Intl Locale Info

The Intl Locale Info API is a Stage 3 ECMAScript TC39 proposal to improve the Intl.Locale object by exposing locale information, such as week data (first day in a week, weekend start day, weekend end day, minimum day in the first week), and text direction hour cycle used in the locale.

The implementation shipped in Chrome 99. However, the proposal later changed in Stage 3 and moved several getters to functions. The deprecated getters must be removed, and the renamed functions relaunched.

Deprecate XSLT

XSLT v1.0, which all browsers adhere to, standardized in 1999. In the meantime, XSLT has evolved to v2.0 and v3.0, adding features and diverging from the version implemented in browsers. This lack of advancement, coupled with the rise of JavaScript libraries and frameworks that offer flexible and powerful DOM manipulation, has led to a significant decline in the use of client-side XSLT. JavaScript-based technologies, such as JSON and React, have largely superseded its role within the web browser.

Chromium uses the libxslt library to process these transformations, but libxslt was unmaintained for approximately six months in 2025. Libxslt is a complex, aging C codebase that is susceptible to memory safety vulnerabilities like buffer overflows, which might lead to arbitrary code execution. Because client-side XSLT is now a niche, rarely-used feature, these libraries receive less maintenance and security scrutiny than core JavaScript engines. However, they represent a direct attack surface for processing untrusted web content. Indeed, XSLT is the source of several recent high-profile security exploits that continue to put browser users at risk.

For these reasons, Chromium plans to deprecate and remove XSLT from the web platform. WHATWG decided to move XSLT deprecation forward.

For more details on the deprecation, and information on what to do if you rely XSLT read Removing XSLT for a more secure browser.