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 theuseGroupingparameter for theIntl.NumberFormatconstructor.
- 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 DefaultSmartCardConnectSettingpolicy
- Per-application—using the SmartCardConnectAllowedForUrlsandSmartCardConnectBlockedForUrlspolicies
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.
