Skip to content
This repository has been archived by the owner on Apr 6, 2023. It is now read-only.

Releases: nuxt/framework

v3.0.0-rc.5

13 Jul 15:46
@pi0 pi0
Compare
Choose a tag to compare

This release is featuring 25+ bug fixes, keyless composables, component, and upgraded deployment presets. Stay tuned for RC.6 with Vite 3 support and more enhancements ✨

Feedback about the release: Join the discussion

See all changes: v3.0.0-rc.4...v3.0.0-rc.5

⚠️ Breaking Changes

This release contains slight breaking changes. Please check the linked pull requests for notes.

  • auto-import: Unwrap auto imports in SFC templates (#5573)
  • nuxt: Support universal global middleware (#5038)
  • nuxt: Remove legacy app context (#5630)

πŸš€ Enhancements

  • kit: Allow addServerHandler to use method suffix of the file path (#5465)
  • kit: Support client and server flags for addVitePlugin (#5560)
  • auto-import: ⚠️ Unwrap auto imports in SFC templates (#5573)
  • kit: Add addLayout utility (#5537)
  • nuxt: ⚠️ Support global middleware without router (#5038)
  • nuxt: Allow passing custom fetch options to useFetch (#5660)
  • nuxt: Prerender all pages by default (#5709)
  • nuxt: Tree-shake client and server-only composables (#5749)
  • nuxt: Automatically generate unique keys for keyed composables (#4955)
  • nuxt: Support custom prop for <nuxt-link> (#4249)
  • nuxt: Add <NuxtLoadingIndicator> component [WIP] (#5121)

πŸ”₯ Performance

  • nuxt: ⚠️ Remove legacy app context (#5630)

🩹 Fixes

  • schema: Add types for vite: hooks (#5472)
  • nuxt: Normalize string transpile paths for windows (#5461)
  • nuxt: Prefer unctx context over getCurrentInstance for useNuxtApp (#5456)
  • vite: Add typecheck to vite plugins (#5464)
  • vite: Disable HMR in build (#5505)
  • schema, postcss: cssnano is enabled if not dev (#5583)
  • vite: Do not watch ignored pathes (#5632)
  • vite-node: On-demand manifest (#5017)
  • nuxt: Pass attrs and props to client-only components (#5668)
  • kit: Allow adding server-only and client-only components separately (#5686)
  • webpack: Transpile vue-demi (#5721)
  • nuxt: useRequestHeaders type should allow for undefined values (#5748)
  • nuxt: Update useFetch key warning to include any function or blob (#5710)
  • vite: Do not inline dynamic imports in server (#5506)
  • nuxt: Handle undefined when applying defaults for useAsyncData (8d2f805)
  • vite: Fix vite-node circular reference (#5764)
  • nuxt: Use virtual server stub for ssr: false (#5773)
  • nuxt: Don't return stub function from tree-shaken composables (#5786)
  • test-utils: Update vitest import path with .mjs (#5817)
  • nuxt: Only tree-shake composables on their own lines (#5850)
  • nuxt: Extend nitro routes instead of overriding (#5828)
  • cli: Show base url in terminal (#5337)
  • nuxt: Add import protection to nitro config (#5847)
  • nuxt: Replace process.dev in nitro bundle (#5852)
  • nuxt: Warn about legacy and invalid plugins (#5857)
  • nuxt: Fix issues with vue-router and @vue/devtools-api bundling (#5874)
  • vite: Close vite watcher before building (#5875)

πŸ“– Documentation

  • Update roadmap (#5443)
  • Rewrite note wording (#5462)
  • Align value for defaulting the page's title with type declaration (#5447)
  • Fix link to nuxt/image issue (#5490)
  • Add notes about reporting security issues (#4895)
  • testing: Fix async/await (#5539)
  • api: Add watch parameter in useFetch options (#5562)
  • examples: Rename hello.ts to [...hello].ts (#5261)
  • Update usage about runtime config and environment variables (#5569)
  • Update pnpm usage (#5597)
  • Minor wording improvements (#5622)
  • Replace invalid link to composables (#5611)
  • Rework the layout section (#5118)
  • api: Add docs for <NuxtPage> component (#5591)
  • Clarify that definePageMeta only works in the pages directory (#5663)
  • Update vuejs-development (#5679)
  • Add full stop (#5680)
  • api: Update commands with new NODE_ENV behavior (#5739)
  • plugins: Add directive example (#5667)
  • Fix Vite check for Nuxt 3 (#5768)
  • useFetch uses isomorphic $fetch (#5769)
  • Add content directory to directory-structure (#5755)
  • api: Add anavigateTo docs (#5701)
  • Fix link to NuxtLoadingIndicator component src (#5776)
  • Use defineLazyHandler in wasm example (#5797)
  • Use toUTCString in useAsyncData example (#5798)
  • Add missing dot (#5815)
  • Update nuxt-link (#5819)
  • Lint whitespaces (#5633)
  • Fix typo (#5865)
  • Fix typo (#5863)

❀️ Contributors

  • Ahad Birang
  • Alexander Lichter
  • AnPineau
  • Anders SΓΈgaard
  • Anthony Fu
  • Bob Olde Hampsink
  • Bot08
  • ClΓ©ment Ollivier
  • Cupid Valentine
  • Damian
  • Daniel Roe
  • Donatelloraphael
  • Francisco Buceta
  • Haruaki OTAKE
  • Ibrahim Abdullahi Aliyu
  • Julien Huang
  • Krutie Patel
  • Mourad EL CADI
  • Mrauhu
  • Nestor Vera
  • Paranoid
  • Pooya Parsa
  • Qin Guan
  • Sumiren
  • SΓ©bastien Chopin
  • Thibault Vlacich
  • Thomas Jowsey
  • Vasiliy
  • Xanlantos
  • Yuki Inoue
  • δΊ•δΈŠθ£•θ²΄

v3.0.0-rc.4

13 Jun 14:27
@pi0 pi0
be0e502
Compare
Choose a tag to compare

See all changes: v3.0.0-rc.3...v3.0.0-rc.4

This release contains commutative enhancements from RC.3. Thanks to all of the contributors to the code and documentation πŸ’š

πŸš€ Enhancements

  • vite: Replace global with globalThis (#4958)
  • nuxt: Support auto imports within <template> (#4904)
  • nuxt: Experimental flag to use external vue dependencies (#5083)

🩹 Fixes

  • nuxt: Respect baseurl when redirecting (#4933)
  • nuxt: Check for 404s after user middleware (#4913)
  • cli: Only reload for top level dirs (#4912)
  • vite: Add file:// protocol to vite-node entry file path (#4966)
  • test-utils: Hardcode ipv4 ip for localhost (#4998)
  • nuxt: Fix router redirection on aliased pages (#4982)
  • nuxt: Allow passing extraneous attrs to meta components (#5071)
  • nuxt: Add default empty title to trigger titleTemplate (#5064)
  • nuxt: Default statusCode of navigateTo from 301 to 302 (#5173)
  • schema: Add missed types for title, bodyAttrs and htmlAttrs (#5184)
  • nuxt: Respect navigateTo options using server middleware in server-side (#5145)
  • nuxt: Support RouterView props in NuxtPage (#5272)
  • schema, vite: Resolve mode config correctly (#5255)
  • nuxt: Add ssrContext types on NuxtApp (#5333)
  • types: Tidy types for useAsyncData (#5340)
  • nuxt: Relax server import protections (#5355)
  • nuxt: Keep route param optionality when sibling is an index (#5300)
  • kit: Pass resolved path to isIgnored (#5375)
  • vite, kit, nuxt: Generate safe variable names using knitwork (#4906)
  • webpack: Respect build.transpile (#5043)
  • nuxt: Transform extends layers within node_modules (#5042)
  • nuxt: Throw an error when using unknown route middleware (#5323)
  • nuxt: Don't debounce watcher and include layers (#5002)
  • vite: Don't terminate with escaped delimiters (#5409)
  • nuxt: Exclude non-cwd auto-imports and don't process all files (#5421)
  • nuxt: Ignore whitespace and commas within resolveComponent (#5428)
  • cli: Always set NODE_ENV value with a warning (#5417)
  • nuxt: Don't add macro query to the end of id (#5413)
  • webpack: Enable extractCSS by default (#4388)

πŸ’… Refactors

  • vite, webpack, test-utils: Use caret range for vue peer dependency (#5190)
  • cli: Provide better advice on failing clone (#5155)
  • Fix typo and code improvements (#5344)
  • cli: Improve env update message (#5430)

πŸ“– Documentation

  • Add missing parentheses in the alias example (#4995)
  • Fix typo in environment variable (#4990)
  • data-fetching: Add note about difference between useFetch and useAsyncData (#4974)
  • api: Improve useFetch docs for body type and additional ohmyfetch options (#4985)
  • Minor improvements for the quick start section (#5036)
  • middleware: Add navigateTo options (#5044)
  • Update wording of client-side rendering explanation (#5049)
  • Demonstrate the multiple useState with same key (#5059)
  • config: Correct naming of NUXT_APP_CDN_URL environment variable (#5032)
  • Update logo to better support light and dark mode. (#5094)
  • Fix nuxt app guide linking to a 404 page (#5122)
  • api: Add experimental --prerender flag to nuxi build command (#5112)
  • api: Add key option for useFetch (#5089)
  • roadmap: Nuxt content v2 release (#5129)
  • Add --no-clear flag in the documentation of development server (#5197)
  • deploy: Update default host for node preset (#5228)
  • guide: Add use of NuxtLayout in app.vue with pages (#5225)
  • Small typo in the "catch-all route" description (#5273)
  • pages: Add information for typing page metadata (#5270)
  • Add documentation for titleTemplate (#5093)
  • Fix typo in component migration guide (#5284)
  • Fix typo in programmatic navigation (#5298)
  • Add warning against layout as root element (#5345)
  • Update keepalive key name (#5366)
  • api: Add useRequestEvent (#5326)
  • api: Add docs for useRouter composable (#4949)
  • Update cookie example with defineEventHandler (#5405)
  • Update plugin provide example (#5386)
  • Fix mdn links for 301 and 302 http status (#5416)

🏑 Chore

  • Clean up jsdocs (#5397)
  • Force single version of vite (#5400)

❀️ New Contributors

v3.0.0-rc.3

10 May 09:02
@pi0 pi0
36512d0
Compare
Choose a tag to compare

πŸš€ Enhancements

Nuxt, Kit

  • #4850 Support serverHandlers/devServerHandlers shortcuts to register custom handlers

Nuxt

  • ⚠️ #4837 Upgrade nitropack to 0.4.x
  • #4834 Custom include option

🩹 Fixes

Nuxt

  • #4770 Use router.resolve to resolve initial url
  • #4781 Ensure url is not empty string
  • #4839 Clear errors after navigation
  • #4842 Check if default slot is provided before calling it
  • #4841 Normalize window location for universal router
  • #4791 Await asyncData if ssr: false
  • #4851 Add missing import to client only wrapper
  • #4857 Avoid redirect with different encoding and trailing slash

Schema

  • #4772 Exclude vite from DeepPartial
  • #4849 Add back PublicRuntimeConfig interface for augmentation

Vite

  • #4844 Use buildAssetsURL for dynamic imports
  • #4822 Ignore virtual imports that aren't in vfs

πŸ’… Refactors

Nuxt

  • #4853 Cleanup renderer entry

πŸ“– Documentation

Data-fetching

  • #4824 Fix and improve data-fetching example

API

  • #4776 Document useRoute composable
  • #4870 Fix api examples

General

  • #4831 Fix example syntax for runtime hook plugin

❀️ New Contributors

v3.0.0-rc.2

02 May 20:50
@pi0 pi0
a8d42d5
Compare
Choose a tag to compare

🩹 Fixes

Nuxt

  • #4491 Await for router.push on ssr
  • #4626 Cleanup auto imports on regenerate
  • #4590 Warn to provide a key for useFetch with transform option
  • #4677 Use suspense for child pages on client-side navigation
  • #4666 Mark config head as non-reactive
  • #4210 Improve error types for useAsyncData and useFetch
  • #4645 Process middleware after plugins
  • #4755 Preserve error.data in response

CLI

  • #4595 Don't strip file extensions from dirs in tsconfig
  • #4685 Typo in init message
  • #4612 Improve nuxi init output

Schema

  • #4695 Decrease recursion on DeepPartial

Vite

  • #4512 Transform virtual templates
  • #4442 Use single regex to reduce risk of collisions
  • #4596 Don't match across newlines

✨ Features

Nitro

  • #4304 Add nitro:build:before hook

Pages

  • ⚠️ #4537 Explicitly allow optional params with [[

General

  • #4509 Allow disabling sourcemap generation

πŸ“– Documentation

General

  • #4502 Update migration guide
  • #4506 Simplify example of Head components
  • #4519 Remove duplicate entry for default option
  • #4510 Update stackblitz links
  • #4485 Fix 'alias' usage
  • #4499 Improve netlify deployment
  • #4401 Improve server routes guide
  • #4573 Update environment variable in example
  • #4593 Add layout to match custom header example
  • #4603 Fix some minor typos
  • #4608 Fix typo
  • #4617 Fix typo
  • #4616 Make titleTemplate function form example clearer
  • #4640 Add note and banner about edge channel
  • #4653 Fix edge alert syntax
  • #4679 Fix typos
  • #4675 Add notes about auto imports from composables/ directory
  • #4715 Fix incorrect function declaration in composables
  • #4714 Add note that .env is not read in production
  • #4742 Make useFetch example consistent with others

Features

  • #4563 Complete assets page

Typescript

Migration

  • #4642 Update to use new runtimeConfig

Readme

Concepts

API

  • #4549 Fix useAsyncData example

🏑 Chore

General

  • #4453 Setup IssueUp
  • #4664 Enable typecheck ci for packages

Docs

  • #4577 Update social card

⚠️ Breaking Changes

  • #4537 Explicitly allow optional params with [[

If you are relying on [slug] at the end of a route to generate an optional parameter, you will need to rewrite it as [[slug]].

❀️ New Contributors

v3.0.0-rc.1

20 Apr 21:10
@pi0 pi0
Compare
Choose a tag to compare

🐣 3.0.0-rc.1 "Mount Hope"

Release Announcement

πŸš€ Check out the Announcing Nuxt 3 Release Candidate for more information about this release!

Migrating from nuxt3 edge releases

If you are already a beta tester of nuxt using nuxt3 package, please follow the steps below to use RC.1:

  1. Check out Breaking changes tracker to apply any of the previous possible breaking changes on edge-channel.

  2. Remove .nuxt, package.lock.json, yarn.lock and node_modules

  3. Update nuxt.config to import defineNuxtConfig from nuxt instead of nuxt3:

- import { defineNuxtConfig } from 'nuxt3'
+ import { defineNuxtConfig } from 'nuxt'

export default defineNuxtConfig({ ... })
  1. Update package.json
{
  "devDependencies": {
-    "nuxt3": "latest"
+    "nuxt": "^3.0.0-rc.1"
  }
}

Alternatively, you can use "nuxt": "npm:nuxt3@latest" to keep using the latest edge releases of Nuxt 3.

Migration for module authors

For Nuxt 3 modules created by new module-builder toolchain, also update @nuxt/kit dependency to use RC.1 in package.json:

{
  "dependencies": {
-    "@nuxt/kit": "npm:@nuxt/kit-edge@latest"
+    "@nuxt/kit": "^3.0.0-rc.1"
  }
}