Published: June 2, 2026
Chrome 149 is rolling out now, and this post shares some of the key features from the release. Read the full Chrome 149 release notes.
Highlights from this release:
- CSS gap decorations let you style the gaps in container layouts like grid and flexbox.
- Disconnect WebSockets on bfcache entry lets pages with active WebSocket connections enter the Back/Forward Cache.
- Intl.Locale.prototype.variants returns or sets the variants of a locale.
CSS gap decorations
CSS gap decorations let you style gaps in container layouts like grid and flexbox, bringing consistency and new styling options that previously required complex border and pseudo-element hacks. This feature is progressive-enhancement friendly; in unsupported browsers, gaps render normally without decorations.
It introduces properties like column-rule-inset and row-rule-inset to shrink
or extend decorations, and column-rule-visibility-items and
row-rule-visibility-items to show rules only between adjacent items or in
every gap. Rule width, color, and insets are fully animatable, letting you
transition them on hover or other state changes.
Learn more in the CSS gap decorations stable post.
Disconnect WebSockets on bfcache entry
Active WebSocket connections no longer prevent a page from entering the Back/Forward Cache (bfcache). By proactively closing WebSocket connections on BFCache entry instead of marking the document as ineligible, the browser lets pages with active WebSockets be stored in memory and instantly restored.
Previously, any active WebSocket connection forced the browser to discard the page when the user navigated away, preventing it from being stored in the Back/Forward Cache (bfcache).
Intl.Locale.prototype.variants
The Intl.Locale object represents a Unicode locale identifier.
The main object is Baseline Widely available.
Variants are a part of the main language identifier, and select variants of a language that the (language, region, script) triple cannot differentiate. This feature is already shipped in Firefox and Safari, and is now available in Chrome.
For example:
const locale = new Intl.Locale("sl-rozaj-biske");
console.log(locale.variants); // "rozaj-biske"
Learn more at the MDN documentation for Intl.Locale.prototype.variants.
Further reading
This covers only some key highlights. Check the following links for additional changes in Chrome 149.
- Release notes for Chrome 149.
- What's new in Chrome DevTools (149).
- ChromeStatus.com updates for Chrome 149.
- Chrome release calendar.
Subscribe
To stay up to date, subscribe to the Chrome Developers YouTube channel, and you'll get an email notification whenever we launch a new video. Or follow us on X or LinkedIn for new articles and blog posts.
As soon as Chrome 150 is released, we'll be right here to tell you what's new in Chrome!