New in Chrome 153

Published: September 8, 2026

Chrome 153 is rolling out now, and this post shares some of the key features from the release. Read the full Chrome 153 release notes.

Highlights from this release:

Single-axis scroll containers

Chrome 153 extends the CSS overflow property to support scrollable values (auto, scroll, hidden) combined with clip (for example, overflow: scroll clip or overflow: auto clip). This creates a scroll container for a single axis without turning the other axis into a scroller. This feature is now available for testing without a flag in non-stable channels (Beta, Dev, and Canary) from Chrome 153.

For detailed examples, read Ready for developer testing: Single-axis scroll containers.

Capability elements: <camera> and <microphone>

Following the launch of the <geolocation> element in Chrome 144 and <usermedia> in Chrome 151, Chrome 153 introduces dedicated <camera> and <microphone> capability elements.

These elements are declarative, user-activated HTML controls designed for single-capability use cases:

  • The <camera> element requests video capture.
  • The <microphone> element requests audio capture.

Like <usermedia>, they embed a browser-controlled, strictly styled UI into the page, ensuring an intentional user click before a permission prompt is triggered or a stream is started. They maintain the same security model and built-in permission recovery path as <usermedia>, and provide more control if your application doesn't require mixed media access.

Joint Iteration

Chrome 153 adds support for the Joint Iteration TC39 proposal in JavaScript, introducing the Iterator.zip() and Iterator.zipKeyed() static methods.

Iterator.zip() aggregates elements from multiple iterable objects into a new iterator that yields arrays containing the elements at matching positions. By default, iteration completes when the shortest input iterable is exhausted:

You can customize this behavior using the mode option:

  • "shortest" (default): Stops when the first input iterable finishes.
  • "longest": Continues until all iterables finish, filling missing values using an optional padding iterable.
  • "strict": Throws a TypeError if input iterables are not of equal length.

The companion Iterator.zipKeyed() method offers similar aggregation, yielding keyed objects instead of arrays.

For more details and examples, see the Iterator.zip() documentation on MDN.

Further reading

This covers only some key highlights. Check the following links for additional changes in Chrome 153:

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 154 is released, we'll be right here to tell you what's new in Chrome!