Originally published at https://github.com/nuxt/framework/releases/tag/v3.0.0-rc.7
Warning
There are slight API changes with this release candidate. Please check the linked issues marked with ⚠️
Warning
This release contains some regressions. Please upgrade to the latest v3.0.0-rc.8
🚀 Enhancements
- vite: Check types with
vue-tsc(#6012) - vite: ⚠️ Upgrade to vite v3 (#5398)
- nuxt: ⚠️ Only scan top level
composables/with glob support (#6025) - nuxt: Improve error DX (#4539)
- cli:
nuxi cleanupcommand (#6125) - nuxt, schema: Add
<NoScript>component andnoscripttypings (#6139) - nuxt:
app:renderedandrender:responsehooks (#6042) - nuxt: ⚠️ Add support for
components/globaldir (#6070) - nuxt: Extends support for
app.vue(#6228) - nuxt: Add
fetchpriorityattribute and literal typings for meta components (#6251) - kit: Support
followSymbolicLinksoption forresolveFiles(#6240) - nuxt: Remove wrapper from client only components (#6165)
- nuxt: Add
setResponseStatusutility (#6306) - vite: Log vite-node hmr updates (#6351)
- nuxt: Update to
vue-bundle-renderer@0.4(#6210) - nuxt: Update nitropack to latest (#6442)
🔥 Performance
- nuxt: Transform
#importsto improve tree-shaking (#5763) - vite-node: Only invalidate cache for user code (#6156)
🩹 Fixes
- webpack: Do not resolve
#internal/nitroalias internally (#5987) - nuxt: ⚠️ Change
statusCodetype to number for error page template (#6010) - kit, nuxt: Always sort globby results (#6029)
- pages: Ignore expression delimiters within quotes (#6033)
- nuxt: Always write nitro types when building (#6035)
- kit: Resolve aliases in plugin src (#6037)
- vite: Invalidate virtual files when changed (#6038)
- nuxt: Use relative path to generate plugin variables (#6030)
- types: Generate relative path in
imports.d.ts(#6054) - nuxt: Auto import for components with the external template (#6053)
- vite: Ignore
baseurlwhen pruning manifest (#6063) - nuxt: Don't ignore components dirs with the same prefix (#6116)
- vite: Resolve
tsconfig.jsonfor vue-tsc type checker (#6069) - cli: Load
.envfile before starting dev server (#6119) - nuxt: Normalize manifest css file entries (#6112)
- vite: Allow overriding client HMR options (#6082)
- nuxt: Clear
vite-noderunner cache after each render (#6154) - nuxt: Add error event declaration to the
<NuxtErrorBoundary>component (#6141) - schema: Add empty noscript array (#6155)
- vite: Use
unjs/externalityto handlevite-nodeexternals (#6153) - nuxt: Allow
useHeadto accept computed values (#6174) - schema: Exclude functions from
DeepPartial(#6176) - nuxt: Don't call renderMeta if it is not defined (#6201)
- vite, webpack: Generate composable keys based on order (#6191)
- schema: Add typings for
vite.vueoptions (#6220) - vite: Fix dist dir resolution (#6215)
- webpack: Output
.mjsto use crossorigin preloads (#6232) - kit: Try extensions with
resolvePathwith absolute input (#6233) - nuxt: Do not allow catchalls to have child routes (#6257)
- nuxt: Narrow
nuxt.configimport protection (#6279) - nuxt: Separate routes for different suspense forks (#6275)
- nuxt: Avoid duplicate titleTemplate (#6296)
- nuxt: Render head scripts that use
body: true(#6293) - nuxt: Generate
200.htmland404.htmlspa fallback files (#6308) - nuxt: Extract component to provide route (#6325)
- nuxt: Remove literal
<script setup>from comment (#6331) - vite: Improve
vite-nodehmr (#6343) - nuxt: Better equality check for json cookies (#6352)
- nuxt: Make the route provided to page children reactive (#6349)
- nuxi, kit: Enable
esmResolveflag forjiti(#6356) - nuxt: Resolve plugins and middleware to their full path (#6350)
- vite: Use URL for entry on windows (#6355)
- nuxt: Remove side-effect imports from page metadata (#6376)
- nuxt: Type
useRoutereturn (#6395) - schema: Cleanup meta tags and deduplicate charset and viewport (#6378)
- kit: Move relative path handling back into nuxt templates (#6430)
- cli: Upgrade
listhen(#6434) - nuxt: Do not log
404andshowErroras fatal by default (#6437) - nuxt: Add
viteServerDynamicImportsas experimental flag (#6433) - nuxt: Use payload error state as the source of truth (#6389)
- vite: Add
moduletype to vite node entry (#6448) - nuxt: Handle immediate errors when calling
useAsyncData(#6441) - nuxt: Ensure component dirs in
node_moduleshave lower scanning priority (#6382) - nuxt: InteropDefault for page component imports (#6468)
- nuxt: Immediately call
asyncDatahandler (#6472) - nuxt: Log fatal errors as well as unhandled (#6488)
💅 Refactors
- nuxt: Enhance
useFetchanduseLazyFetchrequest type (#4825) - vite: Reuse logic and improve code splitting (#6164)
- test-utils: Remove unused codes (#6369)
- nuxt: ⚠️ Remove
nullhandling fortitleTemplate(#6487)
📖 Documentation
- Fix typo in the roadmap (#5979)
- Update bridge migration with info about generating
.nuxt/tsconfig.jsonfor tests (#5967) - Warn that
useStateshould only contain JSON-serializable content (#5994) - runtime-config: Clarify how environment variables are loaded (#5916)
- Add explicit
createErrorimport (#6050) - Expand contribution guide for ecosystem (#5922)
- Grammar fix (#6106)
- Update the link to the configuration (#6137)
- Grammar fix (#6166)
- api: Add
<NuxtLayout>component docs (#6264) - Add
theme-colormeta (#6250) - Fix external link display text (#6323)
- api: Add missing hooks and environment column (#6329)
- Add missing periods (2cbdc5c)
- useFetch: Minor punctuation fixes (#6409)
- Update vue-router links (#6421)
- Update full static status (#6460)
📦 Build
- Upgrade to unbuild 0.8.x (#6483)
✅ Tests
❤️ Contributors
- Alwin Lohrie
- Anthony Fu
- Brendan Mulholland
- CSY54
- Conrawl Rogers
- Cédric Exbrayat
- Damian Głowala
- Daniel Roe
- David Tai
- Ennio Visconti
- Gregor Becker
- Harlan Wilton
- Hecateball
- Julien Huang
- Kazuya Kawaguchi
- Kevin Marrec
- Krutie Patel
- Lakshya Singh
- Mitsuki Fukunaga
- Mohammad Hosein Feizi
- Nathan Chase
- Nur Muhammad
- OptimusePrime
- Pooya Parsa
- Rio Weber
- Sanjaiyan Parthipan
- Sébastien Chopin
- Thomas
- Timur Bolotov
- Victor Saa
- YuTin Liu