⭐ What is New?
🔰 Security Fixes
This release contains multiple security related fixes #8675, #8674 and #8673 reported via huntr.dev platform by OhB00.
We recommend you upgrade to the latest version as soon as possible.
If you encounter "The request URL ... is outside of Vite service allow list" issue, try adding path to vite.server.fs.allow
in nuxt.config
. read more.
🚀 Performance Improvements
Using a new method to extract definePageMeta
improves vite performance and makes lazy compilation of pages possible (#8536).
💯 Strict Config Schema and Types
We have cleaned up the configuration schema (#8487) so that you no longer would be confused with Nuxt 2 options and also can quickly notice any typos in nuxt.config
file.
Typescript strict mode is also enabled by default with this release as best practice. (#8667)
🚇 Nitro Development Server Proxy
Using nitro.devProxy
option you can now configure proxies for the development server. (learn more)
Changelog
⚠️ Breaking Changes
- nuxt: ⚠️ Use parser to generate page metadata (#8536)
- schema: ⚠️ Use strict typescript mode by default (#8667)
- test-utils: ⚠️ Update vitest args (#8325)
- schema: ⚠️ Disable
app.pageTransition
andapp.layoutTransition
by default (#8436) - nuxt: ⚠️ Cleanup schema and split nuxt 2 types (#8487)
🚀 Enhancements
- nuxt: Default router scroll behavior (#3851)
- nuxt: Make
useFetch
options reactive (#8374) - kit: Add
updateTemplates
utility (#8413) - nuxt: Add dev warnings when
setPageLayout
is used incorrectly (#8464) - Add
<devOnly>
component (#7950) - nuxt: Allow setting
name
andpath
for a route indefinePageMeta
(#8633) - kit: Add
addServerPlugin
utility (#8635) - kit, nuxt: Support
prerender:routes
andaddPrerenderRoutes
(#8670)
🩹 Fixes
- nuxt: Don't use or assignment (#8299)
- nuxt: Pass original request headers to the error page (#7340)
- nuxt: Scroll to top on dynamic routes with different params (#8327)
- nuxt: Router defaults overwrite custom options always (#8334)
- cli: Update analzye main handler (#8339)
- nuxt: RouterBehavior comparison for hash block (#8383)
- nuxt: Don't load payloads for external urls (#8370)
- vite: Invalidate virtual modules with
vite-node
(#8389) - nuxt: Avoid directly importing
vue-router
inside<NuxtLayout>
(#8421) - webpack: Print build errors (#8388)
- kit: Use
pathe
to resolve aliases (#8453) - test-utils: Override
NITRO_PORT
as well (#8458) - nuxt: Call data refresh hook in parallel (#8470)
- nuxt: Allow responding with custom headers from
error.vue
(#8469) - schema: Disable early hints by default (#8486)
- kit: Don't require nuxt context when resolving path (#8504)
- nuxt, nuxi: Improve
pages
creation and removal DX (#8502) - nuxt: Add
vue-router
to optimized deps (#8544) - vite: Handle all vite middleware routes (#8601)
- nuxt: Pass async-data errors through to client (#8521)
- nuxt: Check before appending comma in composable keys (#8529)
- nuxt: ⚠️ Use parser to generate page metadata (#8536)
- kit: Normalize handler paths (#8626)
- nuxt: Don't force prerender
/
if user doesn't have that route (#8639) - nuxt: Do not inline global styles in html response (#8666)
- schema: ⚠️ Use strict typescript mode by default (#8667)
- nuxt: Disallow directly rendering error page (#8673)
- Resolve ids to support pnpm (#8671)
- vite: Enable fs strict mode (#8674)
- nuxt: Ensure payload url has no protocol (#8675)
💅 Refactors
- test-utils: ⚠️ Update vitest args (#8325)
- schema: ⚠️ Disable
app.pageTransition
andapp.layoutTransition
by default (#8436) - nuxt: ⚠️ Cleanup schema and split Nuxt 2 types (#8487)
📖 Documentation
- Add route rules to concepts > rendering (#8292)
- Fix broken link (#8319)
- Fix link to documentation guide (#8322)
- Update website-theme to 0.1.7 (dbc2c8ce)
- Add missing opening
<NuxtLayout>
tag in a code sample (#8349) - Update links for external tools (#8382)
- Update for clarity and fix typos (#8375)
- Add missing
app
key for transitions (#8385) - api: Add
<ClientOnly>
to API docs (#8400) - Fix typo (#8427)
- Disable transitions by default as hotfix (#8434)
- Add note about runtime config serialization (#8432)
- Change required node version to be above 16.11 (#8408)
- Use
LinkExample
as block component (#8459) - Add note about early hints and nginx (#8485)
- Updated bridge migration guide (#8471)
- Mention use case for
<KeepAlive>
indefinePageMeta
(#8491) - Update stability edge banners (#8498)
- Generate docs for unversioned schema (#8535)
- Fix transition wording to include layouts (#8600)
- Add information about type checking to
typescript.typeCheck
config. (#8632)
📦 Build
- pkg: Support Node.js 19 (#8324)
🏡 Chore
- renovate: Ignore monorepo dependency upgrades (f934343b)
- Upgrade vitest to 0.24 (#6764)
- nuxt: Add type for headers (#8326)
- examples: Add missing dependency and script for testing example (#8457)
- Reenable auto-upgrades for vueuse/head (#8506)
- Update nitropack to 0.6.1 (5a43e68e)
✅ Tests
❤️ Contributors
- Adewale Adeyemi
- Anthony Fu
- Christian Burkhart
- Clément Ollivier
- Damian Głowala
- Daniel Roe
- David Stack
- Dawid Stefanko
- Dmitriy
- Farnabaz
- Joel
- Joel Wenzel
- Johann Schopplich
- Johnson Chu
- Josh Deltener
- Julien Huang
- Nils
- Ondřej Misák
- Pascal Sthamer
- Pooya Parsa
- Rajendra
- Sacha STAFYNIAK
- Sébastien Chopin
- Zecka