Astro 7.0: Rust Compiler, Vite 8, and Up to 61% Faster Builds

TL;DR
Astro 7.0 rewrites core components in Rust, upgrades to Vite 8 with Rolldown, and delivers significant performance gains for content-heavy sites.
Official Sources#
| Source | Link |
|---|---|
| Astro 7.0 Release Blog | astro.build/blog/astro-7 |
| Vite 8 Announcement | vite.dev/blog/announcing-vite8 |
| Satteri Documentation | satteri.bruits.org |
| Rolldown GitHub | github.com/rolldown/rolldown |
| Hacker News Discussion | news.ycombinator.com/item?id=48821653 |
Last updated: July 13, 2026
Astro 7.0 shipped on July 7, 2026, and the release is all about speed. The framework rewrote its .astro compiler in Rust, upgraded to Vite 8 with the new Rolldown bundler, and introduced a faster rendering engine - resulting in build times that are 15-61% faster across their benchmarks.
What Changed#
The performance story has three parts:
Rust-based .astro Compiler. The parser and transformer that handles .astro files is now written in Rust. This isn't just a port - the new compiler enforces stricter HTML parsing rules, which is both a feature and a breaking change.
Vite 8 and Rolldown. The biggest upstream change is Vite 8, which ships Rolldown - a Rust-based bundler that replaces both esbuild (for dev) and Rollup (for production) with a single unified tool. Rolldown is 10-30x faster than Rollup in benchmarks while maintaining API compatibility with existing Rollup plugins.
Satteri Markdown Pipeline. Markdown and MDX processing now runs through Satteri, a new Rust-powered pipeline that replaces the remark/rehype JavaScript stack. This is particularly impactful for documentation sites and blogs with hundreds or thousands of markdown files.
Queued Rendering Engine. The internal rendering system has been replaced with a queue-based approach that's approximately 2.4x faster according to their benchmarks.
Breaking Changes Worth Knowing#
The Rust compiler is stricter about HTML. Tags must be properly closed, and attributes must be properly terminated. The old JavaScript compiler would silently fix these issues; the new one throws errors.
<!-- This now fails -->
<div>
<p>Unclosed paragraph
</div>
<!-- This works -->
<div>
<p>Properly closed paragraph</p>
</div>
Whitespace handling also changed. Newlines between inline elements no longer produce visible spaces, following JSX conventions:
<!-- In Astro 6: produces "Hello World" with a space -->
<!-- In Astro 7: produces "HelloWorld" -->
<span>Hello</span>
<span>World</span>
What HN is Saying#
The Hacker News discussion has 35 comments with a mix of reactions.
On the Rust rewrite. One commenter joked about "awaiting the rewrite to assembly," but the response from Princesseuh (who built the Rust compiler and Satteri) was informative: "Crossing data between Rust and JS is inherently kinda slow (relatively), so there's a constant push and pull between flexibility and performance that's not always easy to reason about."
On the strict HTML enforcement. This is the most debated change. One developer noted it "actively prevents upgrading sites which need to deal with remote content that is not written in strict HTML." The Astro team clarified this only affects .astro files - remote HTML loaded via set:html isn't affected.
On version velocity. Multiple commenters noted Astro 7 arrived shortly after Astro 6, leading to upgrade fatigue. The team explained this was timing - Vite 8/Rolldown shipped right after Astro 6, and Vite major versions typically require an Astro major version due to deep integration.
On actual performance gains. Not everyone saw improvements. Cassidy Williams (Astro's Head of Developer Experience) shared: "I upgraded my website recently and it's exciting! That being said, I admit my builds didn't get faster (they actually on average slowed down a bit)." The Astro team responded that performance gains are most visible on larger sites with thousands of pages, especially those using MDX.
On AI developer support. Astro 7 added features specifically for AI coding agents: a background dev server mode (astro dev --background) with automatic agent detection, structured JSON logging, and a health endpoint at /_astro/status. One commenter called this "a good model" for how frameworks should support agent workflows.
The Dependency Story#
An underappreciated change: Astro's dependency count dropped from 247 packages in v6 to 190 in v7. The unified ecosystem (remark, rehype, and their plugins) contributed a significant portion of the old count. Satteri consolidates much of this while maintaining the same AST format for plugin compatibility.
Migration#
The upgrade path is straightforward for most projects:
npx @astrojs/upgrade
The automated upgrade handles most migrations. The main manual work is fixing any strict HTML violations in .astro files - the compiler errors will point you to the specific issues.
If you are choosing between frameworks for a content-heavy site, see our comparison of Astro vs. Next.js 16 for how the two stack up beyond raw build speed.
Why This Matters#
Astro has positioned itself as the default choice for content-heavy sites - marketing pages, documentation, blogs - where you want server-rendered HTML with minimal client JavaScript. The 7.0 release reinforces that position.
The Rust investments are paying off. The JavaScript ecosystem has been trending toward Rust tooling for years (swc, esbuild, Rolldown, oxc, biome), and Astro is now part of that movement rather than just benefiting from it.
The AI developer support is also notable. Frameworks don't typically ship first-party features for agent workflows, but Astro is betting that "Claude Code + Astro" will be a common stack for quickly building sites.
FAQ#
How much faster is Astro 7?#
Astro 7 delivers 15-61% faster builds depending on your project. The biggest gains come from the Rust-based .astro compiler, Vite 8 with Rolldown bundler, and the new Satteri markdown pipeline. Content-heavy sites with many markdown files see the largest improvements.
What is Rolldown in Vite 8?#
Rolldown is a Rust-based bundler that replaces both esbuild (for development) and Rollup (for production builds) with a single unified tool. It is 10-30x faster than Rollup while maintaining API compatibility with existing Rollup plugins.
Is Astro 7 a breaking upgrade?#
Yes. The Rust compiler is stricter about HTML - tags must be properly closed and attributes must be properly terminated. Whitespace handling also changed: newlines between inline elements no longer produce visible spaces. Most migrations can be handled by running npx @astrojs/upgrade.
What is Satteri in Astro 7?#
Satteri is a Rust-powered markdown and MDX pipeline that replaces the JavaScript-based remark/rehype stack. It maintains the same AST format for plugin compatibility while significantly improving processing speed for documentation sites and blogs.
Does Astro 7 reduce dependencies?#
Yes. Astro's dependency count dropped from 247 packages in v6 to 190 in v7. The consolidation of remark, rehype, and related plugins into Satteri accounts for much of the reduction.
What AI developer features does Astro 7 add?#
Astro 7 includes a background dev server mode (astro dev --background) with automatic agent detection, structured JSON logging, and a health endpoint at /_astro/status. These features support AI coding agent workflows.
Continue Reading#
- Your App Could Have Been a Webpage - And One Developer Proved It
- Goose: The Open Source AI Agent With 70+ MCP Extensions
- How Much Should I Charge for a Website? A Practical Pricing Guide
- Is Claude Fable 5 Slow? Latency in Practice, and When It Matters
- Safari MCP Server Developer Guide 2026
- Hydrogen 2.0 Dev Preview: Shopify's Framework-Agnostic Commerce Toolkit Adds Vue, AI Inbox, and Bundled GraphQL Tooling
Get the next deep dive like this in your inbox
One email a week on News and the rest of the AI dev stack. Free.
Read next
TypeScript 7 Is Here: The Native Go Port Delivers 10x Faster Builds
Microsoft ships TypeScript 7.0 with a complete Go rewrite of the compiler, delivering 8-12x build speedups and transforming IDE responsiveness across massive codebases.
6 min readElm's Road to 1.0: Faster Builds and the Acadia Future
After years of quiet development, Evan Czaplicki outlines the path to Elm 1.0 - starting with 0.19.2's compiler performance gains and previewing equatable and hashable types from the Acadia project.
5 min readRoc's Rust-to-Zig Rewrite: 487 Days, 300K Lines, and What the Numbers Actually Show
Richard Feldman's team rewrote the Roc compiler from Rust to Zig in 487 days. The memory safety numbers challenge assumptions, and the 35ms incremental rebuilds are real. Here's the full breakdown.
7 min readNew here? Start with
Technical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.





