4.0.0-alpha.3 is the third alpha release of Nuxt 4 for early testing
πΊοΈ Roadmap
π Read more at https://nuxt.com/blog/roadmap-v4
π Changelog
π Enhancements
- nuxt: Add
onWatcherCleanup
to imports presets (#32396) - kit,nuxt,schema: Separate ts projects for node/app/nitro (#30665)
π₯ Performance
- nuxt: Decrease if checks when prerendering (#32455)
- vite: Communicate with vite-node via internal socket (#32417)
π©Ή Fixes
- nuxt: Handle pure hash link clicks with
navigateTo
(#32393) - nuxt: Set
output.generatedCode.symbols
for nitro build (#32358) - nuxt: Normalize segment catchall pattern before checking for parent (#32413)
- nuxt: Lazily access runtimeConfig (#32428)
- ui-templates: Add aria tag on Nuxt logo (#32429)
- nuxt: Reload at base URL in
nuxt:chunk-reload-immediate
(#32382) - nuxt: Use rollup to calculate island component filenames (#32421)
- nuxt: Augment runtime config in server context (#32482)
- nuxt: Append
set-cookie
headers in error handler (#32483)
π Refactors
- vite: Migrate plugins internally to vite environments (#32461)
π Documentation
- Capitalise title (#32426)
- Mention
bun.lock
for lockfile (#32427) - Clarify where logging tag is displayed (#32440)
- Remove kit playground auto-import note (#32415)
- Migrate to
h3js
(#32243) - Update the fetch
clear
function description (#32287) defineNuxtPlugin
function documentation (#32328)- Mention that
<NuxtLink>
encodes query params (#32361) - Enhance documentation for Nuxt composables (#32218)
π‘ Chore
- Rename deprecated vitest
workspace
toprojects
(#32388) - Remove space in URL in comment (#32394)
- Allow setting TAG on commandline (43ac8ef01)
- Update stackblitz reproduction link (6996303c2)
β Tests
- nuxt: Add case for key only changes with
immediate: false
(#32473) - Separate nuxt legacy runtime tests (#32481)
β€οΈ Contributors
- Daniel Roe (@danielroe)
- Robin (@OrbisK)
- Bobbie Goede (@BobbieGoede)
- Ibrahimm (@Ibra-cesar)
- Peter Budai (@peterbud)
- Ali Soueidan (@lazercaveman)
- Vachmara (@vachmara)
- xjccc (@xjccc)
- abeer0 (@iiio2)
- David Stack (@davidstackio)
- Damian GΕowala (@DamianGlowala)
- Mihailo Bursac (@djixadin)
- Marko (@aussieboi)
- Ezra Ashenafi (@Eazash)
- Igor Kononenko (@igorexa34314)
- ηΏ (@sapphi-red)