Published: September 16, 2026
Unless otherwise noted, the following changes apply to the newest Chrome beta channel release for Android, ChromeOS, Linux, macOS, and Windows. Learn more about these features by using the provided links or by visiting ChromeStatus.com. Chrome 155 is in beta as of September 16, 2026. You can download the latest beta version from Google.com for desktop or from Google Play Store on Android.
CSS and UI
CSS symbols()
The CSS symbols() function lets authors define a counter style inline instead
of first declaring a named @counter-style at-rule. It builds an anonymous
counter style from a list of string symbols plus an optional counting system
(cyclic, numeric, alphabetic, symbolic, or fixed), and is accepted as the
counter style in list-style-type, the list-style shorthand, counter(),
and counters().
CSS corner shorthand properties
Implements the CSS corner shorthand and per-corner sub-shorthands
(corner-top-left, corner-top-right, corner-bottom-left,
corner-bottom-right) as well as physical (corner-top, corner-bottom) and
logical (corner-block-start, corner-block-end, etc.) edge shorthands. These
allow setting both border-radius and corner-shape for individual corners in
a single declaration. Additionally, corners is retained as a compat alias for
the corner shorthand.
This feature also includes caching controls. By default, each random()
function resolves to a new, distinct value. Web authors can override this
default by passing a <random-key> value as the function's first argument to
control how random values are shared across properties and elements.
CSS text-decoration-skip-spaces
The text-decoration-skip-spaces CSS property controls whether text decoration
lines (for example, underlines, overlines, and line-throughs) skip over whitespace
characters. This allows authors to prevent decorations from being drawn under
spaces, which is often more visually appealing.
CSS margin-trim
The margin-trim CSS property may be used to omit margins before or after the
first or last child of a container. This is supported on regular block
containers and multicol containers.
JavaScript
Avoid caching module failures
Currently web developers cannot retry failed module loads, as these failures are
being cached (and retries just result in immediate failures). This change to the
module loading behavior enables failed module loads to be manually retried (for example,
by calling import() again), solving real developer (and user) pain when it
comes to using modules over unstable networks.
Import Text (Text Modules)
A TC39 proposal to add module import … with { type: "text" } statements to
JavaScript. The import attribute loads text data as a string value.
Web APIs
Additional windowing controls
Lets web applications with the window-management permission
maximize(), minimize(), and restore() their windows, and prevent
resizing through setResizable(). Additionally, new CSS media features
display-state and resizable enable scripts and content to adapt to the
respective window states and resizability. These features improve the usability
of VDI remote application windows in Web clients, especially when it comes to
titlebar window controls. The new functionality enhances existing Window
Management API features.
Algorithm updates in WebCrypto
Add support for multiple post-quantum cryptographic algorithms standardized by NIST to the Web Cryptography API:
- ML-KEM (768, 1024)
- ML-DSA (44, 65, 87)
- ChaCha20-Poly1305
- X-Wing
Additional information can be found in the draft spec: https://wicg.github.io/webcrypto-modern-algos/
Digital Credentials API (issuance support)
This lets issuing websites (for example, a university,
government agency, or bank) to 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
using the CTAP protocol similar to Digital Credentials presentation.
JPEG XL decoding support (image/jxl) in blink
Adds support for decoding JPEG XL (image/jxl) images in Blink using
jxl-rs, a memory-safe pure Rust decoder.
JPEG XL is a modern image format standardized as ISO/IEC 18181 that offers
progressive decoding for improved perceived loading performance, support for
wide color gamut, HDR, and high bit depth, and support for animation.
Pause media playback on not-visible iframes
Adds a media-playback-while-not-visible permission policy to let embedders
control whether embedded iframes which are currently hidden. That includes
iframes with the display property set to none,
visibility property set to hidden, or
zero-area (width or height equal to 0). While hidden, attempts made by the
embedded iframe to render audible media will be blocked. When the frame is shown
again the prohibitions should be lifted. This should allow developers to build
more user-friendly experiences and to also improve the performance by letting
the browser handle the playback of content that is not visible to users.
PredefinedColorSpace srgb-linear and display-p3-linear
Add srgb-linear and display-p3-linear color spaces (as defined by CSS) to
PredefinedColorSpace for use with canvases.
Renewed HTML insertion and streaming methods
Expose multiple HTML setting methods that provide a coherent story for dynamically inserting markup into an existing document:
- Positional methods (
before(),after(),append(),prepend(),replaceWith()) that take HTML as argument, effectively replacinginsertAdjacentHTML(). - Streaming methods (
streamAppendHTML(),streamAppendHTMLUnsafe(), etc.) which return aWritableStream. - Passing
{runScripts}as part ofSetHTMLUnsafeOptions, mimickingcreateContextualFragmentbehavior. - Supporting
createParserOptionsin trusted types, allowing trusted types to override scripting mode and sanitizer.
For more information see the Declarative Partial Updates documentation.
WebTransport headers and responseHeaders
Adds support for passing custom HTTP request headers using WebTransportOptions
and inspecting server response headers through the WebTransport instance. This
allows web applications to supply metadata, authentication tokens, and custom
parameters during the initial CONNECT handshake and access server-provided
headers once the connection is established.