---
title: "Astro 7.0.0 Stable bringt Vite 8, macht den Rust-Compiler zum Standard, fügt einen Hintergrund-Dev-Server für KI-Code-Agenten hinzu und befördert Routen-Caching, erweitertes Routing und Sätteri in den First-Class-Status"
description: "Astro 7.0.0, veröffentlicht am 2026-06-22, liefert den stabilen 7.0-Branch nach zehn Wochen Beta. Die wichtigsten Änderungen: Vite-8-Upgrade, Rust-basierter Astro-Compiler als Standard (der Go-Compiler wird entfernt), Sätteri-Markdown-Pipeline als Standard (remark/rehype ist nicht mehr Teil der Standardinstallation), erweitertes Routing aus dem Experimental-Status befördert (mit src/fetch.ts als neuem Standard-Einstiegspunkt), Routen-Caching aus dem Experimental-Status befördert (cache und routeRules auf oberster Ebene, mit den Providern cacheNetlify() und cacheVercel() in derselben Release), Hintergrund-Dev-Server-Modus für KI-Code-Agenten (astro dev --background, Lockdatei .astro/dev.json, astro dev stop|status|logs), compressHTML: 'jsx' als neuer Standard, das Paket @astrojs/db wird entfernt, und jede offizielle Integration erhält einen Major-Bump (vue 7, react 6, svelte 9, preact 6, solid-js 7, vercel 11, netlify 8, node 11). create-astro@5.1.0, in derselben Release-Welle ausgeliefert, schreibt jetzt eine AGENTS.md-Datei in jedes neue Projekt mit einem CLAUDE.md-Symlink, der darauf zeigt."
date: 2026-06-22
image: "/images/heroes/2026-06-22--astro-7-stable-vite8-rust-compiler-ai-agents.png"
author: lschvn
tags: ["frameworks", "ai", "tooling"]
tldr:
  - "Astro 7.0.0 stable, veröffentlicht am 2026-06-22, liefert Vite 8 (PR #15819, delucis), befördert den Rust-basierten Compiler zum Standard und entfernt den Go-Compiler (PR #16462, Princesseuh), und verschiebt die Sätteri-Markdown-Pipeline als Standard, wobei @astrojs/markdown-remark nicht mehr Teil der Standardinstallation ist (PR #16966). Erweitertes Routing wird aus dem Experimental-Status befördert und src/fetch.ts wird zum Standard-Einstiegspunkt statt src/app.ts (PR #16877, matthewp)."
  - "Das Routen-Caching, hinter experimental.cache und experimental.routeRules seit v6.0.0, wird in eine stabile Top-Level-cache- und routeRules-Konfiguration befördert, mit den First-Party-Providern cacheNetlify() und cacheVercel() in derselben Release (PR #17116, ascorbic, und PR #16335 für die Provider). Das ebenfalls seit v6.2.0 experimentelle Feature für benutzerdefinierte Logger wird mit den eingebauten logHandlers.json und logHandlers.node stabil (PR #16745, ematipico). Das experimentelle Flag queuedRendering wird entfernt, da der Streaming-Ersatz jetzt stabil ist (PR #16981)."
  - "Die agentenspezifischste Änderung ist der Hintergrund-Dev-Server-Modus: astro dev --background startet den Dev-Server als detached Prozess, schreibt eine .astro/dev.json-Lockdatei mit URL/Port/PID und fügt astro dev stop, astro dev status und astro dev logs (-f zum Folgen) hinzu. Die automatische Erkennung von KI-Code-Agenten aktiviert ihn standardmäßig; mit ASTRO_DEV_BACKGROUND=0 lässt sich das deaktivieren (PR #16610, matthewp). In derselben Release-Welle schreibt create-astro@5.1.0 eine AGENTS.md-Datei in jedes neue Projekt und legt einen CLAUDE.md-Symlink (mit Hardlink-Fallback) an, der darauf zeigt (PR #17122)."
faq:
  - question: "Was ist die wichtigste Änderung in Astro 7.0.0?"
    answer: "Drei große Architekturverschiebungen in einer Release: Vite 8 wird die Standard-Toolchain für Dev und Build, der Rust-basierte Astro-Compiler wird zum Standard (der Go-Compiler wird entfernt und das Flag experimental.rustCompiler ist nicht mehr nötig), und die Sätteri-Markdown-Pipeline wird zum Standard (remark/rehype ist nicht mehr Teil der Standardinstallation). Obendrein werden erweitertes Routing und Routen-Caching aus dem Experimental-Status befördert, und der Dev-Server erhält einen neuen Hintergrundmodus, der für KI-Code-Agenten gedacht ist."
  - question: "Wie funktioniert der neue Hintergrund-Dev-Server-Modus für KI-Agenten?"
    answer: "Wenn Astro einen KI-Code-Agenten erkennt (der Detektor prüft eine kleine Menge bekannter Umgebungsvariablen und CLI-Marker), startet `astro dev` den Server automatisch als detached Hintergrundprozess und schreibt eine `.astro/dev.json`-Lockdatei mit URL, Port und PID des Servers. Drei neue Subkommandos werden mitgeliefert: `astro dev stop` fährt den Server herunter, `astro dev status` meldet, ob einer läuft, und `astro dev logs` (mit `-f` zum Folgen) liest seine Ausgabe. Derselbe Ablauf lässt sich manuell mit `astro dev --background` auslösen. Mit `ASTRO_DEV_BACKGROUND=0` in der Umgebung lässt sich das Verhalten auf Foreground zwingen."
  - question: "Was fügt create-astro@5.1.0 für KI-Code-Agenten hinzu?"
    answer: "Jedes neue Projekt, das mit `npm create astro@latest` erstellt wird, erhält jetzt eine `AGENTS.md`-Datei im Projektstamm mit einer kurzen Dev-Sektion, die auf `astro dev --background` und die Subkommandos `astro dev stop` / `status` / `logs` verweist, plus einer Dokumentationssektion mit Links zu den Leitfäden Routing, Astro-Komponenten, Content Collections und i18n. `create-astro` legt außerdem einen `CLAUDE.md`-Symlink an, der auf dieselbe Datei zeigt (mit `fs.linkSync`-Hardlink-Fallback, falls der Symlink-Aufruf fehlschlägt). In einem frischen Projekt existieren beide Dateien und zeigen auf denselben Inhalt, sodass jeder KI-Code-Agent, der nach einem der beiden Dateinamen sucht, denselben Astro-Kontext aufnimmt."
  - question: "Kann der neue Standardwert compressHTML: 'jsx' meine Seite kaputtmachen?"
    answer: "Ja, möglich. Astro entfernt jetzt standardmäßig Leerzeichen um Elemente herum nach JSX-Regeln, genauso wie React. Leerzeichen und Zeilenumbrüche zwischen Elementen werden entfernt; bedeutungsvolle Leerzeichen in einer einzelnen Zeile (wie ein Leerzeichen zwischen zwei Inline-Elementen) bleiben erhalten, sofern man sie nicht explizit mit `{\" \"}` schreibt. Seiten, die auf die Erhaltung von Leerzeichen zwischen Inline-Elementen vertraut haben, werden ein anderes gerendertes HTML sehen. Um das frühere Astro-Verhalten wiederherzustellen, setzen Sie `compressHTML: true` (HTML-bewusste Komprimierung, die immer noch einige Leerzeichen entfernt) oder `compressHTML: false` (alle Leerzeichen erhalten). Dieser Standardwechsel erfolgte in [Astro 7.0.0-beta.5 am 2026-06-18](/articles/2026-06-20--astro-7-0-0-beta-6-stable-cache-jsx-whitespace), und derselbe Artikel erläutert die Migration im Detail."
  - question: "Was muss ich ändern, um von experimental.cache und experimental.routeRules in v6 zu migrieren?"
    answer: "Verschieben Sie die Blöcke cache und routeRules aus `experimental` heraus auf die oberste Ebene Ihrer Astro-Konfiguration. Die Form des Blocks bleibt gleich; nur die Verschachtelung ändert sich. Wenn Sie einen benutzerdefinierten Einstiegspunkt unter `experimental.advancedRouting.fetchFile` verwendet haben, wandert diese Option ebenfalls auf die oberste Ebene (`fetchFile: 'app.ts'`, oder benennen Sie die Datei in `src/fetch.ts` um, was jetzt der Standard ist). Für Cache-Provider sind die First-Party-Optionen `cacheNetlify()` und `cacheVercel()` aus `@astrojs/netlify/cache` und `@astrojs/vercel/cache` jetzt die dokumentierten stabilen Wahlen; memoryCache aus `astro/config` ist der Standard für lokales Dev."
  - question: "Was wird in 7.0 entfernt, von dem ich noch abhängen könnte?"
    answer: "Drei Entfernungen sind vor dem Upgrade zu prüfen: `@astrojs/db` (seit v6.4.5 veraltet, jetzt entfernt, zusammen mit `astro db`, `astro login`, `astro logout`, `astro link` und `astro init`; ersetzen Sie es durch `node:sqlite`, wenn Sie es für lokalen Speicher verwendet haben, oder durch Drizzle ORM, wenn Sie die Schema/Query-API genutzt haben); die veralteten Transition-Helfer `TRANSITION_BEFORE_PREPARATION`, `TRANSITION_AFTER_PREPARATION`, `TRANSITION_BEFORE_SWAP`, `TRANSITION_AFTER_SWAP`, `TRANSITION_PAGE_LOAD`, `isTransitionBeforePreparationEvent()`, `isTransitionBeforeSwapEvent()` und `createAnimationScope()` (verwenden Sie direkt die Lifecycle-Ereignisnamen, z. B. `event.type === 'astro:before-preparation'`); und das experimentelle Flag `queuedRendering`, dessen Streaming-Ersatz jetzt das Standardverhalten ist."
  - question: "Warum ist der Rust-Compiler jetzt der Standard?"
    answer: "Der Rust-basierte Astro-Compiler (`@astrojs/compiler-rs`) war seit der Auslieferung des Flags experimental.rustCompiler in v6 der empfohlene Pfad, und der Go-Compiler wird jetzt entfernt. Die Versionshinweise sind direkt: Der Rust-Compiler ist schneller, zuverlässiger, liefert kürzere Build-Zeiten und schnellere Dev-Iteration, und er ist auch strenger bei ungültiger Syntax (nicht geschlossene HTML-Tags werfen jetzt einen Fehler, statt stillschweigend ignoriert zu werden). Das Go-Binary verschwindet in 7.0; wenn Ihre `astro.config.mjs` noch `experimental: { rustCompiler: true }` enthält, entfernen Sie es (das Flag existiert nicht mehr)."
  - question: "Was ändert sich für die Framework-Integrationen?"
    answer: "Jede offizielle Integration erhält synchron mit der 7.0-Stable-Release einen Major-Bump: `@astrojs/vue` auf 7.0.0, `@astrojs/react` auf 6.0.0, `@astrojs/svelte` auf 9.0.0 (zieht auch `@sveltejs/vite-plugin-svelte` v7 herein), `@astrojs/preact` auf 6.0.0, `@astrojs/solid-js` auf 7.0.0, die MDX-Integration erhält dieselbe Vite-8- + Sätteri-Behandlung, `@astrojs/vercel` auf 11.0.0 (mit cacheVercel()), `@astrojs/netlify` auf 8.0.0 (mit cacheNetlify()) und `@astrojs/node` auf 11.0.0. Die Container-API erhält außerdem einen neuen Einstiegspunkt: `getContainerRenderer()` lebt jetzt unter `@astrojs/react/container-renderer` (und entsprechenden Pfaden für Preact, Svelte, Solid, Vue und MDX), damit Bundler nicht die gesamte Paketwurzel hereinziehen, wenn nur die Container-API benötigt wird. Die alten Importpfade funktionieren weiterhin, erzeugen aber eine Veraltungswarnung."
---

[Astro 7.0.0 stable](https://github.com/withastro/astro/releases/tag/astro%407.0.0) wurde am 22. Juni 2026 veröffentlicht, zehn Wochen nach der [ersten 7.0-Alpha](https://github.com/withastro/astro/releases/tag/astro%407.0.0-alpha.0) und eine Beta nach [unserem Artikel zu beta.6 vom 2026-06-20](/articles/2026-06-20--astro-7-0-0-beta-6-stable-cache-jsx-whitespace). Die Release befördert fast jede langlebige experimentelle API in den stabilen Status, wechselt die Toolchain auf [Vite 8](/articles/2026-03-26-vite-8-rolldown-era) und integriert zwei neue Workflows in das Standardprojekt: einen Hintergrund-Dev-Server für KI-Code-Agenten und eine `AGENTS.md`-Datei im Stammverzeichnis jedes neuen Projekts (mit einem `CLAUDE.md`-Symlink, der darauf zeigt).

Die gesamte 7.0-Linie hatte diese Release angekündigt. Der Rust-Compiler war aus dem Experimental-Status hinter einem Flag hervorgegangen, Sätteri hatte Markdown von JavaScript auf eine native Rust-Pipeline verlagert, das erweiterte Routing hatte den historischen SSR-Einstiegspunkt ersetzt, und die [experimentell in v6.0 ausgelieferte Cache-Schicht](/articles/2026-03-30-astro-6-rust-compiler-cloudflare) ist jetzt eine stabile Top-Level-Konfiguration. Stabil bedeutet nur, dass die Migration mechanisch ist; die Breaking Changes (`compressHTML: 'jsx'`, die Entfernung von `@astrojs/db`, die gestrichenen Transition-Helfer, die Major-Bumps in jeder Integration) sind real.

## Vite 8 und der Rust-Compiler werden beide zum Standard

Das Vite-8-Upgrade ([PR #15819](https://github.com/withastro/astro/pull/15819), delucis) und die Beförderung des Rust-Compilers ([PR #16462](https://github.com/withastro/astro/pull/16462), Princesseuh) sind die beiden grundlegenden Änderungen der Release. Frühere Beta-Builds benötigten `experimental.rustCompiler: true` in der Config; die 7.0 entfernt den Go-basierten Compiler vollständig, sodass das Flag mit verschwindet. Die Versionshinweise beschreiben den Rust-Compiler als „schneller und zuverlässiger", und die neue Strenge ist eine echte Verhaltensänderung: Nicht geschlossene HTML-Tags werfen jetzt einen Fehler, statt stillschweigend ignoriert zu werden, und semantisch ungültiges HTML wird dem Browser überlassen, wie es `document.write()` tun würde.

Die [Sätteri-Markdown-Pipeline](https://github.com/withastro/astro/pull/16966) (Princesseuh) ist jetzt der Standard, und `@astrojs/markdown-remark` ist nicht mehr Teil der Standardinstallation. Die Release pinnt `@astrojs/markdown-satteri@0.3.1`. Die Config-Optionen `markdown.remarkPlugins`, `markdown.rehypePlugins` und `markdown.remarkRehype` funktionieren weiterhin, aber nur wenn `@astrojs/markdown-remark` explizit installiert und verwendet wird. Der [beta.4-Artikel zu Sätteri als Standard](/articles/2026-06-16--astro-7-0-0-beta-4-satteri-default-advanced-routing) erläutert die Migration im Detail; der [beta.6-Artikel](/articles/2026-06-20--astro-7-0-0-beta-6-stable-cache-jsx-whitespace) behandelt den Wechsel von `compressHTML: 'jsx'` und die Beförderung des Routen-Caching aus dem Experimental-Status.

## Hintergrund-Dev-Server für KI-Code-Agenten

Die agentenspezifischste Änderung in 7.0 ist ein neuer Hintergrundmodus für `astro dev` ([PR #16610](https://github.com/withastro/astro/pull/16610), matthewp). Wenn Astro einen KI-Code-Agenten erkennt (der Detektor prüft eine kleine Menge bekannter Umgebungsvariablen und CLI-Marker), startet `astro dev` den Dev-Server automatisch als detached Hintergrundprozess, statt das Terminal des Agenten zu blockieren. Eine Lockdatei unter `.astro/dev.json` zeichnet URL, Port und PID des Servers auf, und drei neue Subkommandos werden mitgeliefert:

- `astro dev --background`, um den Server explizit als Hintergrundprozess zu starten.
- `astro dev stop`, um den laufenden Server zu beenden.
- `astro dev status`, um zu prüfen, ob ein Server läuft, und URL, PID und Uptime zu lesen.
- `astro dev logs` (mit `-f` zum Folgen), um die Serverausgabe zu lesen.

Die Versionshinweise sind beim Opt-out explizit: Setzen Sie `ASTRO_DEV_BACKGROUND=0` vor `astro dev`, um das Foreground-Verhalten zu erzwingen, auch wenn ein Agent erkannt wird. Die Motivation, ebenfalls aus der PR-Beschreibung, ist, dass KI-Code-Agenten einen Dev-Server im Foreground nicht sinnvoll in ihrem Terminal halten können: Ein an ein TTY gebundener Server verschwindet, wenn der Agent zur nächsten Aufgabe wechselt, und ein nicht gebundener Server hält den Port für die nächste Agent-Iteration als Geisel.

## AGENTS.md und CLAUDE.md in jedem neuen Projekt

In derselben Release-Welle schreibt `create-astro@5.1.0` ([PR #17122](https://github.com/withastro/astro/pull/17122), matthewp) jetzt eine Standard-`AGENTS.md`-Datei in jedes neue Projekt nach dem Template-Kopierschritt. Die generierte Datei ist absichtlich kurz:

```
# Development

Start the dev server in background mode:

astro dev --background

Manage the background server with `astro dev stop`, `astro dev status`, and `astro dev logs`.

# Documentation

Full documentation: https://docs.astro.build

Commonly needed references:

- Routing
- Astro Components
- Content Collections
- Internationalization
```

`create-astro` legt außerdem eine `CLAUDE.md`-Datei im Projektstamm an, die auf denselben Inhalt zeigt, via `fs.symlinkSync('AGENTS.md', claudePath)` mit einem `fs.linkSync`-Hardlink-Fallback, falls der Symlink-Aufruf auf dem Host-Dateisystem fehlschlägt. Beide Dateien enthalten am Ende denselben Astro-Onboarding-Inhalt, und jeder KI-Code-Agent, der nach einem der beiden Dateinamen sucht (`AGENTS.md` für die offene AGENTS.md-Konvention, die von Codex und anderen verwendet wird, `CLAUDE.md` für Claude Code), nimmt sie auf. Dies ist der erste große Framework-Scaffolder, der eine `AGENTS.md`-Datei standardmäßig ausliefert; das Vite-Ökosystem konvergiert seit Anfang 2026 auf diesen Dateinamen, seit Codex ihn zur Konvention gemacht hat.

## Routen-Caching, erweitertes Routing und benutzerdefinierter Logger werden alle stabil

Drei langlebige experimentelle Features werden in 7.0 stabil. Das Routen-Caching ([PR #17116](https://github.com/withastro/astro/pull/17116), ascorbic) wandert aus `experimental.cache` und `experimental.routeRules` in Top-Level-`cache`- und `routeRules`-Konfigurationsblöcke. Die First-Party-Cache-Provider `cacheNetlify()` (durable Cache, geteilt über alle Edge-Knoten) und `cacheVercel()` (Vercel-CDN-Cache-Control + Vercel-Cache-Tag) werden in derselben Release als separate Einstiegspunkte in den Modulen `@astrojs/netlify/cache` und `@astrojs/vercel/cache` ausgeliefert. Ein gemeinsames Helfermodul `astro/cache/provider-utils` wird für Autoren von Drittanbieter-Providern exportiert.

Das erweiterte Routing ([PR #16877](https://github.com/withastro/astro/pull/16877), matthewp) streicht das Flag `experimental.advancedRouting`. Der Standard-Einstiegspunkt ist jetzt `src/fetch.ts` statt `src/app.ts`, und die Option `fetchFile` wandert auf die oberste Ebene der Config. Das Feature für benutzerdefinierte Logger ([PR #16745](https://github.com/withastro/astro/pull/16745), ematipico) wird ebenfalls stabil, mit eingebauten Handlern `logHandlers.json`, `logHandlers.node` und `logHandlers.console`, plus einem Drittanbieter-`entrypoint`-Pfad für strukturiertes Logging gegen Kibana, Logstash, CloudWatch, Grafana oder Loki.

Das Flag `experimental.queuedRendering` ([PR #16981](https://github.com/withastro/astro/pull/16981), ematipico) wird entfernt, da der Streaming-Ersatz jetzt die Standard-Render-Engine ist; die Queue-Konstruktion und das Node-Polling verschwinden, und nur der Tag-Cache überlebt in kleinerer Form.

## `@astrojs/db` verschwindet

`@astrojs/db`, seit v6.4.5 veraltet, wird in 7.0 entfernt. Die CLI-Kommandos, die davon abhingen (`astro db`, `astro login`, `astro logout`, `astro link`, `astro init`), verschwinden ebenfalls. Die Migrationspfade, die die Versionshinweise nennen: [`node:sqlite`](https://nodejs.org/api/sqlite.html) (verfügbar seit Node.js 22.5.0) für lokalen SQLite-Speicher unter dem Node-Adapter, [Drizzle ORM](https://orm.drizzle.team/) für die Schema- und Query-API, oder jede andere Datenbank-Bibliothek, wenn Sie auf Turso, PlanetScale, Neon oder Ähnliches abzielen.

Die veralteten Transition-Helfer in `astro:transitions` und `astro:transitions/client` (`TRANSITION_BEFORE_PREPARATION`, `TRANSITION_AFTER_PREPARATION`, `TRANSITION_BEFORE_SWAP`, `TRANSITION_AFTER_SWAP`, `TRANSITION_PAGE_LOAD`, `isTransitionBeforePreparationEvent()`, `isTransitionBeforeSwapEvent()`, `createAnimationScope()`) werden ebenfalls entfernt. Die Lifecycle-Ereignisnamen sind jetzt die kanonische API: `event.type === 'astro:before-preparation'` und so weiter.

## Jede Integration erhält einen Major-Bump

Die 7.0-Stable-Welle liefert die Major-Bumps synchron. `@astrojs/vue@7.0.0`, `@astrojs/react@6.0.0`, `@astrojs/svelte@9.0.0` (zieht auch `@sveltejs/vite-plugin-svelte` v7 herein), `@astrojs/preact@6.0.0`, `@astrojs/solid-js@7.0.0` und die MDX-Integration tragen alle das Vite-8-Upgrade plus einen neuen `container-renderer`-Einstiegspunkt, der den `getContainerRenderer()`-Export enthält; das Importieren aus der Paketwurzel funktioniert weiterhin, erzeugt aber eine Veraltungswarnung. Die Major-Bumps auf der Server-Adapter-Seite sind `@astrojs/vercel@11.0.0` (mit `cacheVercel()`), `@astrojs/netlify@8.0.0` (mit `cacheNetlify()`) und `@astrojs/node@11.0.0` (nur Patches; Auslieferung von Dateinamen mit Nicht-ASCII-Zeichen, der `astrobot-houston`-Patch).

Der neue Einstiegspunkt der Container-API ist erwähnenswert, weil er ein echter Gewinn bei der Bundle-Größe ist. Eine typische SSR-App, die nur die Container-API nutzte, importierte das gesamte Integrationspaket (`@astrojs/react` mit dem vollständigen Client-Runtime, Server-Runtime, Typen und JSX-Factory), nur um `getContainerRenderer()` aufzurufen. Der neue Einstiegspunkt `@astrojs/react/container-renderer` liefert nur die Oberfläche der Container-API, und entsprechende Pfade existieren für `@astrojs/preact/container-renderer`, `@astrojs/svelte/container-renderer`, `@astrojs/solid-js/container-renderer`, `@astrojs/vue/container-renderer` und die MDX-Integration. Die meisten Apps müssen nichts ändern; der Vorteil zeigt sich für Bibliotheks- und Integrationsautoren, die ihren Abhängigkeitsfußabdruck schlank halten wollen.

## Was zu beobachten ist

Das Muster des Astro-Teams im 7.0-Zyklus war, pro Beta ein oder zwei experimentelle Features zu befördern und die Migration in die nächste Stable einzurollen. Zwei Folgepunkte sind in den nächsten zwei bis vier Wochen wahrscheinlich. Der erste sind die Patches `astro@7.0.1` und `astro@7.0.2`, die üblicherweise auf eine Stable-Release folgen und dazu neigen, die `compressHTML: 'jsx'`-Regressionen zu beheben, die nur auf realem Inhalt auftreten (Markdown-Tabellen mit umgebenden Inline-Elementen, MDX-Komponenten, die rohe Leerzeichen ausgeben, usw.). Der zweite sind die `create-astro`-Updates, die den `AGENTS.md`-Inhalt mit templatespezifischen Notizen erweitern; das Scaffold schreibt derzeit nur denselben generischen Astro-Kontext für jedes Template, und das Team hat angedeutet, dass templatespezifische Notizen in `create-astro@5.2.0` folgen werden.