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 stabilisiert das Routen-Caching und führt JSX-Whitespace-Kompression als Standard ein

lschvn

Astro 7.0.0-beta.6 ist am 19. Juni 2026 erschienen, einen Tag nach Beta.5 vom 18. Juni, und setzt den Lauf der 7.0-Linie fort, jede langjährige experimentelle Funktion in den stabilen Zweit zu übernehmen. Die Schlagzeile von Beta.6 ist, dass das Routen-Caching, das seit der 6.0-Veröffentlichung hinter experimental.cache und experimental.routeRules lag, nun eine stabile API auf Top-Level ist. Beta.5, die Version unmittelbar davor, hat den Standardwert von compressHTML auf 'jsx' geändert, was das gerenderte HTML jedes Projekts verändert, das sich auf den Erhalt von Whitespace zwischen Inline-Elementen verlassen hat. Beide Änderungen kommen auf die in Beta.4 vollzogene Stabilisierung der Sätteri-Markdown-Pipeline als Standard oben drauf, die in den Release-Notes zu Astro 7.0.0-beta.4 früher im Zyklus behandelt wurde.

Die 7.0-Linie bewegt sich zügig Richtung stabil. Beta.4 (15. Juni), Beta.5 (18. Juni), Beta.6 (19. Juni) und zwei Alphas davor haben fast jede experimentelle API, die 6.x hinter einem Flag auslieferte, in stabil überführt, das Rust-native Markdown zum Standard gemacht, das Standard-Whitespace-Handling auf JSX-Stil umgestellt und nun das Routen-Caching stabilisiert. Der Migrationsaufwand für jedes Projekt auf 6.x ist real, aber mechanisch: eine Konfigurationsumbenennung, ein Whitespace-Audit und die Prüfung, dass Ihr benutzerdefinierter Cache-Provider zu den unterstützten Top-Level-Optionen gehört.

Routen-Caching wird stabil

Das Routen-Caching war der letzte große experimental-Block, der aus 6.0 übrig war. Beta.6 befördert es auf eine Top-Level-Konfiguration. Die Migration besteht aus einer Umbenennung und einer Provider-Wahl:

// astro.config.mjs
import { defineConfig, memoryCache } from 'astro/config';

export default defineConfig({
  cache: {
    provider: memoryCache(),
  },
  routeRules: {
    '/blog/[...path]': { maxAge: 300, swr: 60 },
  },
});

In .astro-Seiten setzen Sie die Direktiven mit Astro.cache, in API-Routen und Middleware mit context.cache. Astro übersetzt diese Direktiven in die passenden Header oder das passende Laufzeitverhalten für den konfigurierten Provider, sodass dieselbe Konfiguration mit memoryCache, fsCache, cloudflareKV, vercelISR und den weiteren Providern funktioniert, die mit der 7.0-Linie ausgeliefert werden. Die vollständige Provider-Matrix ist im Routen-Caching-Leitfaden dokumentiert, der mit dem Release erscheint.

Für vorgerenderte Seiten greifen die Regeln weiterhin beim Build: Die Direktiven werden in die Cache-Control-Header des statischen HTML kodiert, was bedeutet, dass ein CDN vor Ihrer Site dieselben maxAge- und swr-Werte respektiert, die Sie auch für eine on-demand gerenderte Seite verwenden würden. Das ist die subtilste Änderung für Projekte, die bereits ein CDN vor vorgerenderter Ausgabe hatten: Dieselbe routeRules-Konfiguration steuert nun sowohl den on-demand Laufzeit-Cache als auch die Cache-Header der statischen Assets.

„jsx" wird der neue Standardwert für compressHTML

Beta.5 hat 'jsx' zum neuen Standardwert der Option compressHTML gemacht. Das ist derselbe Whitespace-Stripping-Modus, den React, Solid, Preact und die anderen JSX-basierten Frameworks verwenden: Whitespace um Elemente herum wird entfernt, eine Zeile bedeutsamen Whitespace zwischen zwei Inline-Elementen bleibt erhalten.

Der Unterschied ist in der Praxis relevant. Im älteren HTML-bewussten Kompressionsmodus (der bisherige Standard compressHTML: true) behielt Astro ein einzelnes Leerzeichen zwischen zwei Inline-Elementen, wenn in der Quelle ein wörtlicher Zeilenumbruch dazwischen stand. Im neuen Standard 'jsx' wird dieser Zeilenumbruch entfernt, was bedeutet, dass ein Template wie:

<p>
  Hallo <span>Welt</span>
</p>

wie bisher gerendert wird, ein Template wie:

<p>
  Klick
  <a href="/x">hier</a>
  für mehr
</p>

aber nun ohne den Zeilenumbruch zwischen „Klick", dem Link und „für mehr" gerendert wird. Wo Sie diesen Whitespace tatsächlich sichtbar haben wollen, schreiben Sie ihn explizit mit {' '}.

Für Projekte, die das alte Verhalten für die Dauer eines Audits behalten müssen, ist die Migration eine Zeile:

// astro.config.mjs
export default defineConfig({
  compressHTML: true, // HTML-bewusste Kompression, der 6.x-Standard
});

Setzen Sie compressHTML: false, um die Kompression komplett zu deaktivieren, oder compressHTML: 'jsx', um den neuen Standard explizit festzuhalten. Beta.5 behebt außerdem eine Reihe von astro/hono- und astro/fetch-Bugs aus dem Advanced-Routing-Bereich, die sich im 7.0-Zyklus angesammelt hatten, darunter einen, bei dem die eigene 500.astro-Seite einen leeren error-Prop erhielt, wenn der Fehler aus der Middleware stammte.

Das Gesamtbild der 7.0

Zwischen Beta.4 und Beta.6 hat die 7.0-Linie nun fast alle experimentellen Funktionen, die 6.x hinter einem Flag auslieferte, stabilisiert oder ersetzt. Sätteri (Rust-natives Markdown) ist der Standard, Advanced Routing mit Hono ist stabil, der benutzerdefinierte Logger ist stabil, die Streaming-Rendering-Engine ist stabil, die JSX-Whitespace-Kompression ist der Standard, und das Routen-Caching ist nun auf Top-Level stabil. Die verbleibende 7.0-Arbeit vor der stabilen Version besteht vor allem aus Politur der Build-Toolchain, der endgültigen Graduierung von @astrojs/markdown-satteri und der Vite-8-Unterstützung, die im Laufe des Alpha- und Beta-Zyklus hinzugekommen ist.

Was jetzt zu tun ist

Für Projekte auf 6.x: Aktualisieren Sie auf den letzten 6.x-Patch und starten Sie frühzeitig mit der Konfigurationsmigration. Ziehen Sie cache und routeRules aus dem experimental-Block heraus, entscheiden Sie sich für einen Provider und führen Sie Beta.6 gegen einen Staging-Branch aus. Prüfen Sie Ihre Templates auf die Whitespace-Änderung: Wo immer Sie sich darauf verlassen, dass ein Zeilenumbruch zwischen zwei Inline-Elementen sichtbaren Whitespace erzeugt, wechseln Sie auf {' '} oder fallen Sie vorübergehend auf compressHTML: true zurück, bis Sie das Audit abgeschlossen haben. Die vollständige Liste der Breaking Changes der 7.0-Linie steht im CHANGELOG des withastro/astro-Repos. Halten Sie die Produktion auf der 6.x-Linie und behandeln Sie Beta.6 als Validierungsziel.

Häufig gestellte Fragen

TypeScript 7.0 RC ist da: Der Go-Compiler erreicht den Release Candidate, rund 10-mal schneller, mit Side-by-Side-Migration

TypeScript 7.0 RC (18. Juni 2026) ist der Release Candidate des Compilers, den Microsoft von seiner in TypeScript gebooteten Codebasis nach Go portiert hat. Er ist oft rund 10-mal schneller als TypeScript 6.0, liefert ein tsc6-Kompatibilitätspaket für den parallelen Betrieb mit 6.0, fügt die Parallelitäts-Flags --checkers/--builders/--singleThreaded und einen neu aufgebauten Watch-Modus auf einem Go-Port von @parcel/watcher hinzu und macht alle Deprecations aus 6.0 zu harten Fehlern. Das stabile Release ist für den kommenden Monat geplant, eine stabile programmierbare API wird auf 7.1 verschoben.

Bun integriert den React Compiler direkt in seinen Bundler, rund 20x schneller als das Babel-Plugin

PR #32504, am 20. Juni 2026 in oven-sh/bun gemergt, macht den Upstream-Rust-Port des React Compilers zu einer eingebauten `bun build`-Transformation hinter `--react-compiler` und `Bun.build({ reactCompiler: true })`. Bun portiert den Upstream-Workspace `compiler/crates/` aus `facebook/react` direkt in eine einzelne Crate `src/react_compiler/` (~62k LOC), anstatt den Weg über Babel, SWC oder Oxc zu gehen, und in einer großen React-Codebasis (rund 860 Komponenten, 1400 Memo-Slots) läuft der Compiler-Durchlauf in 465 ms gegenüber 9,15 s für das Babel-Plugin. Das Feature ist experimentell, standardmäßig deaktiviert und wird zusammen mit `reactCompilerOutputMode` (client oder ssr) und einem `scripts/sync-react-compiler.sh`-Resync-Skript ausgeliefert.

Verwandte Artikel

Weitere Berichterstattung zu ähnlichen Themen und Tags.

Astro 7.0.0-beta.4 macht Sätteri zum Standard-Markdown-Prozessor und führt erweitertes Routing, benutzerdefinierten Logger und gestreamtes Rendering als stabil
frameworks

Astro 7.0.0-beta.4 macht Sätteri zum Standard-Markdown-Prozessor und führt erweitertes Routing, benutzerdefinierten Logger und gestreamtes Rendering als stabil

Astro 7.0.0-beta.4 (15. Juni 2026) aktiviert die Rust-basierte Sätteri-Markdown-Pipeline standardmäßig, entfernt das experimentelle Flag von erweitertem Routing, benutzerdefiniertem Logger und der neuen Rendering-Engine, löscht die veralteten CLI-Befehle astro db/login/logout/link/init und übernimmt den in alpha.2 eingeführten Dev-Server-Hintergrundmodus als Standard in Agentenkontexten.
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
tooling

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.
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
frameworks

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, 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.

Kommentare

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

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