Build And Rendering Pipeline
Astro 7 makes the same high-level build pipeline faster by replacing slower internals.
flowchart TD
src["Project source"] --> vite["Vite 8"]
vite --> rolldown["Rolldown bundling"]
vite --> oxc["Oxc transforms"]
src --> compiler["Rust .astro compiler"]
src --> markdown["Sätteri Markdown and MDX"]
rolldown --> bundled["Bundled render code"]
compiler --> bundled
markdown --> bundled
bundled --> queued["Queued rendering"]
queued --> output["HTML, assets, SSR server output"]
What Changed
| Layer | Astro 7 Change | Why It Matters |
|---|---|---|
| Vite | Upgraded to Vite 8 | Uses Rolldown/Oxc-based tooling and changes some advanced Vite behavior |
.astro compiler | Rust compiler is default and only compiler | Faster, stricter, no silent HTML correction |
| Markdown/MDX | Sätteri is default | Faster for Markdown-heavy sites, plugin API differs from unified |
| Rendering | queued rendering is stable/default | Faster rendering loop and lower memory pressure in some cases |
| Logging | logger API is stable | Structured logs are easier for production and agents |
What This Means For You
For normal app work, you do not need to configure the pipeline. You do need to test assumptions that the old pipeline tolerated:
- invalid
.astromarkup - exact CSS output snapshots
- Markdown plugin output
- advanced Vite config
- whitespace between inline elements
Source-Grounded Facts
The local Astro package confirms:
| Fact | Local source |
|---|---|
| Version | astro@7.0.2 in packages/astro/package.json |
| Vite dependency | vite: ^8.0.13 |
| Node requirement | node: >=22.12.0 |
| Rust compiler dependency | @astrojs/compiler-rs |
| Markdown dependency | @astrojs/markdown-satteri |
Gotcha: Vite 8 itself supports Node 20.19+ or 22.12+, but Astro 7’s package requires Node 22.12+. Use Astro’s requirement for Astro projects.