Nuxt 4.6 führt nuxt/server ein, damit Servercode nicht mehr an Nitro- und h3-Versionen hängt
Nuxt 4.6.0, veröffentlicht am 5. Oktober, ist nach Angaben des Teams eines seiner größten Minor-Releases, mit mehr als 420 Commits seit 4.5.2. Die zentrale Änderung ist architektonisch: Nuxt soll unabhängig vom Server werden.
nuxt/server. Bisher importierten Servercode und viele Module direkt aus h3 und nitropack, sodass jede neue Hauptversion dieser Pakete durch das ganze Ökosystem wirkte. Nuxt definiert nun eigene Typen für das Request-Event, Routenregeln und typisiertes $fetch und bietet eine neue Importquelle, nuxt/server, für Handler, Middleware und Server-Hilfsfunktionen. Laut Team läuft dagegen geschriebener Servercode aus 4.6 unverändert unter Nuxt 5, das auf Nitro v3 und h3 v2 wechselt. Nitro bleibt die Standardimplementierung; eine experimentelle Alternative, @nuxt/vite-server, baut den Server mit der Environment-API von Vite – die Release Notes betonen aber, dass Nitro für fast alle die richtige Wahl bleibt.
Eine kleinere, schnellere CLI. @nuxt/cli v4 wird mit Nuxt ausgeliefert. Nach Angaben des Teams sinkt die Installationsgröße von 13,1 MB auf 3,5 MB, die Zahl der Abhängigkeiten von 70 auf 31, der erste Render von nuxt dev von 330 ms auf 50 ms und der Speicher im Ruhezustand unter Linux von 630 MB auf 440 MB. nuxt dev erhält eine interaktive Terminal-Oberfläche und eine Sperrdatei in .nuxt/, über die ein zweiter Dev-Server – etwa einer, den ein Agent gestartet hat – den ersten übernehmen oder ihm den Vortritt lassen kann.

Ein Geheimnis. Ein zentrales Anwendungsgeheimnis, runtimeConfig.appSecret (gesetzt über NUXT_APP_SECRET), aus dem Module zweckgebundene Geheimnisse ableiten. Als Erstes nutzen es Sitzungshelfer, die die Sitzung in ein Cookie versiegeln, sodass kein serverseitiger Speicher nötig ist. Builds erzeugen das Geheimnis nie; in der Entwicklung wird es erzeugt, mit Warnung.
Vue Vapor. Komponenten oder Seiten können mit dem Attribut vapor an <script setup> den Vapor-Modus von Vue 3.6 nutzen, während die App-Wurzel beim virtuellen DOM bleibt. Nötig ist Vue 3.6.0-rc.2 oder neuer.
Sicherheitskorrekturen umfassen unter anderem, dass die interne Fehlerroute nur noch aus einem Fehler-Render erreichbar ist und unbehandelte Fehlerdaten nicht mehr an die Fehlerseite gehen.
Für das Upgrade braucht es Node.js ^22.22.3, ^24.15.0 oder ab 26; das Team empfiehlt npx nuxt upgrade --dedupe. Nuxt 3 hat am 31. Juli sein Lebensende erreicht, daher gibt es diesmal keine 3.x-Version.