Servo 0.6 turns CSS Grid on by default, and a lot of sites finally line up
Servo 0.6.0 ships August's 417 commits and turns CSS Grid on by default. What in the release notes actually changes how pages render.
On October 9 the Servo team published its monthly recap: 0.6.0 contains the 417 commits that landed in August. The headline item is that CSS Grid is now enabled by default.
What “Grid by default” means
Until now, a site with a Grid layout rendered in Servo as if the layout had collapsed into a single column. With @nicoburns’ PR (#45621) moving Grid off the flag and onto the default path, the team posted before/after pairs: a typical Grid homepage like rustweek.org, and labs.jensimmons.com, a demo that doesn’t look like it uses Grid but leans on it everywhere.
For a rendering engine, Grid is the fourth layout algorithm after block, float and absolute positioning. It involves track sizing, two-way constraint solving for min-content / max-content, and interaction with writing-mode. Turning it on by default usually means the layout framework can carry constraint solving rather than just stacking boxes top-down.
Web platform features that came along
A batch of smaller items landed too — the ones front-end developers will actually touch:
touch-action: tells the browser who owns gestures in an areaanimation-composition: how multiple animations on one property composecolor-scheme, plus<meta name="color-scheme">, so a page can declare light/dark supporttext-transformvaluesfull-width/math-auto/full-size-kana
The DOM side picked up interfaces people previously had to feature-detect around: requestAnimationFrame() on DedicatedWorkerGlobalScope, Location.ancestorOrigins, imagesrcset / imagesizes on <link rel=preload as=image>, CSSFontFaceRule.style, Request.isReloadNavigation / isHistoryNavigation, focusin / focusout events, new TextEvent(), and BaseAudioContext.createPeriodicWave.
The unglamorous part that matters
The notes admit something honest: this release reworked navigation, document loading and session history — the “who knew loading about:blank was so complicated” parts of the HTML spec. The upshot is that pages opening extra windows or embedding iframes work far more reliably. That work never shows up in a demo, but it is the line between “a rendering demo” and “a browser you could use daily”.
On security, Servo upgraded to SpiderMonkey v153 and fixed one behaviour: navigating away from a document that activated fullscreen now exits fullscreen. Compatibility fixes include locking touch panning to the dominant axis and a crash on gumroad.com.au. Accessibility keeps progressing behind --pref accessibility_enabled and now reports positions and sizes for items in the content tree.
The judgement
Grid by default is Servo’s coming-of-age moment, but don’t read it as “you can drop Chrome”: what decides usability is WPT pass rates and long-tail compatibility on real sites, and Servo is still climbing both. The trend is what’s worth watching — an independent Rust engine is filling in the hardest part of a layout engine.
Source: the Servo blog, “August in Servo: CSS Grid, text selection, and more!” (2026-10-09).

Comments
…