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

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

lschvn

Astro 7.0.0 stable wurde am 22. Juni 2026 veröffentlicht, zehn Wochen nach der ersten 7.0-Alpha und eine Beta nach unserem Artikel zu beta.6 vom 2026-06-20. Die Release befördert fast jede langlebige experimentelle API in den stabilen Status, wechselt die Toolchain auf Vite 8 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 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, delucis) und die Beförderung des Rust-Compilers (PR #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 (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 erläutert die Migration im Detail; der beta.6-Artikel 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, 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, 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, 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, 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, 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, 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 (verfügbar seit Node.js 22.5.0) für lokalen SQLite-Speicher unter dem Node-Adapter, Drizzle ORM 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.

Häufig gestellte Fragen

Oxc v0.137 bringt dem Minifier das Treeshaken reiner Typed Arrays und Set/Map-Literale bei, liefert ein inkrementelles Scoping-Refresh und behebt einen React-Compiler-Randfall

Der Oxc-Release crates_v0.137.0, veröffentlicht am 2026-06-18, liefert zwei neue Minifier-Treeshaking-Pässe (Treeshake reiner Typed Arrays und Set/Map-Array-Literale über #23469, sowie Inlining von Const-Werten für Read-Only-Variablen über #22593), ein lang angelegtes inkrementelles Scoping-Refresh, das den LiveUsageCollector-Kollektor vollständig entfernt (#23197), einen freundlichen Parser-Fehler für benachbarte JSX-Elemente (#23378), einen React-Compiler-Fix für Imports, auf die nur über einen berechneten Schlüssel verwiesen wird (#23586), sowie zwei Breaking Changes an der ESTree-Config-API (#23573, #23574). Die Minifier-Passliste bekommt zusätzlich einen Proxy-bewussten Fix für Object-Introspection-Aufrufe (#23483) und eine neue Erhaltungsregel für Map/WeakSet/WeakMap mit String-Argument (#23470). v0.137 ist der erste Crates-Release seit v0.135 am 2026-06-08 und der zweite seit Buns nativer React-Compiler-Integration, die am 2026-06-20 landete.

Oxlint v1.71 und Oxfmt v0.56 liefern die v0.137-Crates-Gewinne aus, bringen 18 neue Linter-Regeln und zähmen die React-Lifecycle-Traversierung mit einem Streamed-Iterator-Refactor

Oxlint apps_v1.71.0 und oxfmt apps_v0.56.0, beide am 2026-06-22 veröffentlicht, schließen den v0.137-Crates-Zyklus auf der Apps-Seite ab. Oxlint v1.71 übernimmt die neue `treeshake pure typed arrays`-Minifier-Passe (#23469), den `prefer-query-selector`-Compound-Selector-Fix, 28 Lint-Bugfixes (größtenteils Yunfei He Fixer-Rewrite-Arbeit), 13 Performance-Einträge, die auf einem Bucketed-Rule-Dispatch-Refactor aufsetzen (#23450, #23452, #23482-#23486, #23489, #23492), sowie den Tokio-nur-für-LSP-Start in oxlint (#23447). Oxfmt v0.56.0 liefert 9 Bugfixes (CRLF-Normalisierung für per `// @ts-ignore` unterdrückten Text in #23701 und #23702, den Member-Chain-Panic-Fix #23698, die Erhaltung von `export default` mit Type-Cast #23697) und 3 Formatter-Performance-Einträge, die Arena-Kopien auf BigInt-, Numeric-Literal- und String-Literal-Text vermeiden. v1.71 ist die erste Apps-Release seit v1.70.0 am 2026-06-15 und die letzte vor der v0.138-Crates-Release, die am Montag 2026-06-29 erscheinen wird.

Verwandte Artikel

Weitere Berichterstattung zu ähnlichen Themen und Tags.

Astro 7.0.0-beta.6 stabilisiert das Routen-Caching und führt JSX-Whitespace-Kompression als Standard ein
frameworks

Astro 7.0.0-beta.6 stabilisiert das Routen-Caching und führt JSX-Whitespace-Kompression als Standard ein

Astro 7.0.0-beta.6 (19. Juni 2026) befördert die experimentelle Routen-Caching-API auf stabile Top-Level-Konfiguration. Die Flags experimental.cache und experimental.routeRules entfallen, ersetzt durch eine cache-Konfiguration der obersten Ebene und einen Cache-Helper. Beta.5 (18. Juni) hat „jsx
React Router v8 stuft seine Future Flags zu Standardwerten hoch, wird rein ESM und legt `react-router-dom` ab
frameworks

React Router v8 stuft seine Future Flags zu Standardwerten hoch, wird rein ESM und legt `react-router-dom` ab

React Router v8.0.0 (17. Juni 2026) ist das erste Major Release unter dem Open-Governance-Modell des Projekts und das erste in einem geplanten Jahresrhythmus. Jedes `future.v8_*`-Flag aus v7 wird zum Standard (immer aktiviertes Middleware, Pass-Through-Requests, die Vite-Environment-API, Route-Modul-Splitting), die Baseline steigt auf Node 22.22+, React 19.2.7+ und Vite 7+, alle Pakete erscheinen rein als ESM mit ES2022 als Ziel, `react-router-dom` wird entfernt und die Node-Adapter wechseln zu einem von Remix gepflegten Fetch-Server, während `create-react-router` seinen Fetch-Polyfill durch nativen `fetch` ersetzt.
OpenAI Codex 0.141 bringt Noise-verschlüsselte Remote-Executors, plattformübergreifendes `PathUri`, einen Plugin-Marketplace und einen SQLite-WAL-Reset-Pin
ai

OpenAI Codex 0.141 bringt Noise-verschlüsselte Remote-Executors, plattformübergreifendes `PathUri`, einen Plugin-Marketplace und einen SQLite-WAL-Reset-Pin

Codex 0.141.0 (18. Juni 2026) macht Noise IK zum Standardtransport zwischen Orchestrator und Exec-Server, liefert eine PathUri- / NativePathString-Schicht, die POSIX-, Windows-Drive- und UNC-Pfade round-trippt, ohne die URI-Codierung an der API durchsickern zu lassen, eröffnet einen `created-by-me-remote`-Plugin-Marketplace, hebt den MCP-Tool-Timeout auf 300 Sekunden und pinnt das gebündelte SQLite auf 3.51.3, damit der WAL-Reset-Korruptions-Fix nach Dependency-Refreshs erhalten bleibt.

Kommentare

Anmelden Melden Sie sich an, um an der Diskussion teilzunehmen.

Noch keine Kommentare. Seien Sie der Erste, der seine Gedanken teilt.