Chrome 153 Rewrites Its XML Parser in Rust and Adds 3D Web Audio

By hirantha.me Newsroom (AI-generated)4 min read

Chrome 153 swaps its C++ XML engine for Rust, adds single-axis CSS scroll containers, and brings the open IAMF 3D audio format to the web.

Image: Google Chrome Developers
On this page

The first release of Chrome's faster cadence brings real platform changes

Chrome 153 shipped to the stable channel on September 8, 2026, as the first release under Google's new two-week update cadence. Setting the cadence change aside, the release itself carries several changes worth a developer's attention: a rewritten XML parser, new CSS scrolling controls, two new JavaScript iterator methods, and support for an open 3D audio format.

A memory-safety fix buried in an old code path

Chrome's XML parsing has historically run through C++ code covering DOMParser, XMLHttpRequest.responseXML, and the parsing Chrome does internally when an SVG (Scalable Vector Graphics) image is loaded. In Chrome 153, that engine is replaced with a Rust implementation. Rust's compiler enforces memory safety at compile time, which rules out the memory-corruption bug class - things like buffer overflows and use-after-free errors - that has historically been a source of security patches in parsing code across browsers. XML parsing is not something most web developers touch daily, but it runs silently any time a page loads an SVG image, which makes this a security-hardening change more than a feature one.

New tools for controlling scroll behavior

The CSS overflow property can now combine a scrollable value with clip - for example overflow: scroll clip - which creates a scroll container on a single axis while leaving the other axis fixed rather than turning it into a second scroller. Previously, developers reaching for this effect often had to fight the browser's default behavior of making both axes scrollable together.

Alongside it, Chrome 153 adds a scroll-axis-lock CSS property, which lets a developer tell the browser not to snap a user's diagonal swipe or scroll gesture onto a single axis. That default axis-locking behavior is usually helpful, but it can fight against custom-built scrolling interfaces such as image carousels or map-like canvases, so having a way to opt out at the CSS level removes a common source of workaround JavaScript.

Two new ways to work with iterators in JavaScript

JavaScript's iterator protocol gains two related static methods. Iterator.zip() takes several iterables and steps through them together, producing arrays that pair up their values; it supports three modes for handling iterables of different lengths - stopping at the shortest one by default, padding out to the longest, or throwing a TypeError if the lengths do not match and strict mode is requested. Iterator.zipKeyed() does the same pairing but returns keyed objects instead of arrays. A companion method, Iterator.join(), concatenates the values an iterator produces into a single string, mirroring what Array.prototype.join() already does for arrays. Together these close a gap where combining multiple iterators used to require manual loop code.

3D audio arrives without a licensing fee

Chrome 153 adds decoding support for IAMF (Immersive Audio Model and Formats) through the Media Source Extensions application programming interface (API). IAMF is an open, royalty-free specification for object-based and scene-based 3D audio, meaning sound sources can be positioned and moved through 3D space rather than mixed into fixed left/right channels. Until now, that kind of spatial audio on the web generally meant either a proprietary codec with licensing costs or building the effect manually with the Web Audio API. Native IAMF decoding is aimed at browser-based games, virtual reality (VR) applications, and streaming media that want positional sound without either of those trade-offs.

The release also makes the Web Audio API's render quantum configurable through an optional renderSizeHint parameter, giving applications a way to tune audio buffer size for their own latency and performance needs instead of accepting a fixed default.

Older tracking APIs are on the way out

Chrome 153 also marks several Privacy Sandbox application programming interfaces for removal, including the Protected Audience API, Related Website Sets, the Shared Storage API, requestStorageAccessFor, and the Attribution Reporting API. Sites still depending on any of these for ad targeting or cross-site measurement have a shrinking window to migrate before they stop working.

What this means in practice

Most sites will not notice Chrome 153 at all, but three groups should look closer. Teams that load or generate SVG or XML content get a quieter, more memory-safe code path for free with no code changes required. Developers building custom scroll or swipe interfaces now have CSS-only tools - overflow: scroll clip and scroll-axis-lock - to replace JavaScript workarounds they may have built for exactly this problem. Games and media-heavy web apps get a standards-based way to ship positional 3D audio without paying for a proprietary codec license. Sites still relying on the Privacy Sandbox APIs marked for removal should treat this release as a deadline warning, not a distant one, given Chrome is now shipping changes every two weeks instead of roughly every four.

  • chrome 153
  • css
  • javascript
  • web platform
  • browser updates

Frequently asked questions

Why did Chrome rewrite its XML parser in Rust?

To eliminate the memory-corruption bug class, such as buffer overflows and use-after-free errors, that has historically affected C++ parsing code, since Rust's compiler enforces memory safety at compile time.

What does overflow: scroll clip do in CSS?

It creates a scroll container on a single axis while keeping the other axis fixed, instead of the browser's default of making both axes scrollable together.

What is IAMF and why does it matter for the web?

IAMF (Immersive Audio Model and Formats) is an open, royalty-free 3D audio format; Chrome 153 can now decode it directly, giving browser games, VR apps and streaming media positional audio without a proprietary codec license.

What does Iterator.zip() do in JavaScript?

It steps through multiple iterables together and pairs up their values into arrays, with modes to stop at the shortest iterable, pad to the longest, or throw an error on a length mismatch.

Which Privacy Sandbox APIs is Chrome removing?

Chrome 153 marks the Protected Audience API, Related Website Sets, Shared Storage API, requestStorageAccessFor, and Attribution Reporting API for removal, so sites depending on them should migrate.

Sources & credits

  1. New in Chrome 153 - Chrome Developers
  2. Chrome 153 | Release notes - Chrome Developers
  3. Chrome 153 launches today: Google's accelerated 2-week release cadence begins - Chrome Unboxed

The sources the AI writer says it used.

More in Web Development

View all Web Development posts