3.12.2 is the a regularly scheduled patch release.
✅ Upgrading
As usual, our recommendation for upgrading is to run:
npx nuxi@latest upgrade --force
This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
🔥 Performance
- kit: Deduplicate layers before resolving config (#27582)
- webpack: Decrease assets map iterations (d929cd4ef)
- kit: Various performance improvements (#27600)
- vite: Various performance improvements (#27601)
- nuxt: Don't wait for key deps check (#27638)
🩹 Fixes
- nuxt: Call
onNuxtReady
callback without arguments (#27428) - schema: Don't narrow head string types to literals (#27540)
- schema:
app/
dir backwards compatibility (#27529) - nuxt: Manually assign payload reactivity when
ssr: false
(#27542) - nuxt: Only log warning once per
runtimeConfig
key (9e56b60c6) - nuxt: Overwrite
#app/defaults
rather than augmenting (#27567) - nuxt: Export
useRouteAnnouncer
(#27562) - nuxt: Remove backticks around runtimeConfig warning log (#27549)
- nuxt: Close top-level watcher on nuxt 'close' (#27571)
- nuxt: Handle tsx code when extracting pageMeta/routeRules (#27583)
- nuxt: Handle more edge cases with external/custom links (#27487)
- nuxt: Preserve route metadata assigned outside page (#27587)
- nuxt: Use portal to sync nitro/nuxt runtimeConfig + routeRules (#27596)
- nuxt,schema: Add types for
_installedModules
(e4bfea642) - nuxt: Include build-time pages in prerender routes (#27569)
- nuxt: Warn when async data doesn't return a value (#27599)
- nuxt: Replace deprecated
app.rootId
withapp.rootAttrs.id
(#27630) - nuxt: Add
mergeProps
import in islands transform (#27622) - nuxt: Reset cookie timeoutLength after expiration (#27632)
- nuxt: Add missing island uid for selective client components (#27633)
- schema,vite: Respect
vite.cacheDir
if defined (#27628) - nuxt: Unregister hooks the moment
close
is called (#27637) - nuxt: Add missing script stubs (#27640)
- nuxt: Only inject root path in prerender (44cada95a)
- nuxt: Reduce usage of cjs utilities (#27642)
- nuxt: Add
/
even if pages module isn't enabled (dabcb5ecc)
📖 Documentation
- Add warning about bridge migration with
head
(#27575) - Update compatibility example (4b28d2628)
- Document new
clear()
function added in 3.11 (#27615) - String vs object errors + accessing data of server-thrown errors (#27398)
- Correct Cloudflare deployment recommendations (#27641)
🏡 Chore
- Add extra types for empty array definitions (02945b9fa)
- Remove stub types file for
webpack-virtual-modules
(58dd7f3a6) - Lint (cb77ddc30)
✅ Tests
- Add type test for nuxt module resolved types (115fc2d18)
🤖 CI
- Improve generated changelog (d20266961)
❤️ Contributors
- Daniel Roe (@danielroe)
- Julien Huang (@huang-julien)
- Alexandru Ungureanu (@unguul)
- Josh Dean (@jdbdnz)
- Yusuf Mansur Özer (@ymansurozer)
- Matteo Rigoni (@Rigo-m)
- Leo Osa (@leoosa)
- Levi (Nguyễn Lương Huy) (@huynl-96)
- David Nahodyl (@Smef)
- Michael Brevard (@GalacticHypernova)
- garthreckers (@garthreckers)
- Valerii Strilets (@letstri)
- Okuto Oyama (@yamanoku)
- Harlan Wilton (@harlan-zw)