Skip to content

v3.1.0

Compare
Choose a tag to compare
@danielroe danielroe released this 24 Jan 16:57
· 2595 commits to main since this release
c552d1b

3.1.0 is the first minor release after Nuxt 3.0 including bug fixes and enhancements.

💬 Release Discussion

👀 Highlights

  • 📖 Lots of improvements to the documentation and website (you can already see them in nuxt.com)
  • 🏝️ Experimental component Islands and server only components
  • ✨ New onNuxtReady, useNuxtData and useSeoMeta composables
  • ﹛ experimental config schema (for module or theme authors)
  • 💪 Upgraded to Nitropack v2
  • ⚡️ Migrated to Vite 4 and Rollup 3.

Changelog

compare changes

🚀 Enhancements

  • nuxt: Experimental server component islands (#5689)
  • nuxt: Add onNuxtReady composable (#9478)
  • useNuxtData composable (#9262)
  • nuxt: Support for extending error.vue in layers (#9521)
  • vite: Upgrade to vite 4 (#9238)
  • nuxt: Deep watch useCookie ref value by default (#9664)
  • vite: Display production build stats (#9761)
  • nuxt: Server-only components (#9972)
  • imports: imports:context hook for unimport context (#9971)
  • vite: Support build.transpile as function (#7767)
  • nuxt: Prefetch middleware/layouts + await layout loading (#10155)
  • nuxt: Support server components with extracted payloads (#10113)
  • kit: Add extendRouteRules method (#9771)
  • nuxt: Allow disabling color for <NuxtLoadingIndicator> (#18432)
  • head: useSeoMeta composable (#18441)
  • Experimental config schema (#18410)

🔥 Performance

  • nuxt: Use static import of @unhead/ssr (#9826)
  • nuxt: Add tree-shaken useServerSeoMeta composable (#18476)

🩹 Fixes

  • Remove postcss.config from schema (#9181)
  • nuxt: Include missing <NuxtPage> component props (#9204)
  • nuxt: Allow layouts to receive custom props (#9395)
  • test-utils: Do not hide vitest output (#9442)
  • nuxt: useCookie with defaults should return non-null value (#9449)
  • nuxt: Defer render-blocking prefetches until after load (#9475)
  • nuxt: Speculation rules should be reactive (#9472)
  • kit: Support applying .nuxtignore within external layers (#9599)
  • nuxt: Remove deprecated req/res access (#9636)
  • nuxt: Await plugin asyncdata promises in nuxt hook (#9616)
  • schema: Add hookable dependency (#9648)
  • vite: Skip only vite transform middleware (#9602)
  • nuxt: Remove absolute paths from routes objects (#9655)
  • nuxt: Make dev-only regexp less greedy (#9679)
  • nuxt: Set is loading state for <NuxtLoadingIndicator> after throttle (#9832)
  • cli: Show an error if no value is supplied for the --template flag (#9946)
  • vite: Defer to nitro to copy public dir (#10013)
  • nuxt: Include components runtime dir in build output (#10046)
  • nuxt: Add build.transpile strings to nitro inline list (#10094)
  • nuxt: Support deep assign on empty object for app config (#10087)
  • nuxt: Don't short circuit middleware after validate function (#9180)
  • nuxt: Don't try to override computed layouts in definePageMeta (#9161)
  • nuxt: Allow overriding lower layer composables (#10017)
  • nuxt: Update class prop type for head components (#9133)
  • nuxt: Avoid injecting url helpers into globalThis (#9627)
  • nuxt: Name anonymous components in render tree (#10011)
  • vite: Add additional before skipping vite transform (#10120)
  • kit: Resolve group syntax of ignore (#15884)
  • nuxt: Use query for hashing the fetch key (#18411)
  • cli: Prevent showing stack traces while scaffolding (#9962)
  • nuxt: Provide types for modules as array (#18416)
  • vite: Don't skip loading styles in hydration phase (#18433)
  • vite: Enable css sourcemaps in dev based on sourcemap (#18446)
  • nuxt: Await async callWithNuxt calls (#18443)
  • nuxt: Let router handle internal redirects within middleware (#18445)
  • nuxt: Import onServerPrefetch (629d2c099)
  • Upgrade unimport, close #15594 (#15594)
  • Upgrade unimport (#18475)

💅 Refactors

  • jobs: Remove unused asset (#9116)
  • nuxt: Fix typo in internal plugin names (#9201)
  • nuxt: Use pathe.join for layer lookup (#9540)
  • Split out type imports from value imports (#9225)
  • nuxt: Remove vue-meta for head support (#9638)
  • nuxt: Do not add all composable auto-imports to globalThis (#9630)
  • vite: Show log when client build is starting (#9759)
  • home: Sections (#9882)
  • Heros (#9886)
  • Improve internal type definitions of <NuxtLink> (#9869)

📖 Documentation

  • Update to 3.0 and upgrade theme (cd2ad7108)
  • Fix paths to migration guides (#9071)
  • Fix broken paths (#9076)
  • Set nuxt stability to stable (#9075)
  • Fix broken link (24c8653b2)
  • Update redirects (f01fc1863)
  • seo: Add robots file (#9111)
  • Improve images quality (#9112)
  • Fix broken links in examples (#9119)
  • Bump website theme version to 0.1.5 (#9125)
  • Bump nuxt-website-theme to 0.1.6 (71fed589c)
  • Update vercel icon to support dark mode (a4768fd56)
  • Update website-theme version (16117060e)
  • Fix typo in commands/add (#9206)
  • Remove stable release warning regarding options api (#9186)
  • Fix typos in modules section (#9227)
  • Updated info about 404.vue (#9155)
  • External configuration table (#9189)
  • homepage: Optimize gem textures (#9234)
  • Add space between sentences (#9207)
  • Improve seo titleTemplate and add social images (#9235)
  • Update link to mdc extension (#9251)
  • Add missing space (#9276)
  • partners: Add brain agency partner (#9277)
  • Bump website theme to 0.1.11 (#9299)
  • Add warning about .client onMounted hook (#9263)
  • Use layout in example of definePageMeta (#9322)
  • schema: Add example and description for imports.dirs (#9346)
  • Change app-config url to avoid naming conflicts with app.vue (#9377)
  • Add redirect for app.config to app-config (66efcd59d)
  • installation: Add button to nuxt.new (7c998982f)
  • installation: Typo in sentence (53d5a5a5a)
  • roadmap: Add i18n module to the roadmap (#9403)
  • Add more social cards (a50855bab)
  • Bump version to 0.1.12 (#9423)
  • seo: Add sitemap url to robots.txt (#9309)
  • introduction: Add hero and cards (#9334)
  • Disable markdownlint on mdc file (#9428)
  • homepage: Fix typo (#9426)
  • Add Project name placeholder (#9421)
  • Update announcements to add stable release (a73a75c39)
  • Theme version 0.1.13 (#9453)
  • Website theme 0.1.16 (#9456)
  • Update playwright url (#9483)
  • Make vite monospace too (#9490)
  • Update agencies expertises (d36d11552)
  • Add nuxt layers introduction and authoring guide (#9405)
  • Heading and formatting improvements for layers (c307ee8b5)
  • Update website-theme (cf4e7bf33)
  • Update internal links to bridge overview page (228bc9ce2)
  • Recommend to install non-edge version of @nuxt/test-utils (#9543)
  • Compress social image to jpg and upgrade website-theme (770cdf90d)
  • agencies: Add liip (#9552)
  • Fix typo and update theme (d500ac4e3)
  • Update theme version (5fdb7b6f8)
  • rendering: Hide light image in dark mode (#9620)
  • Update examples link (#9152)
  • Add docs for preloadRouteComponents (#9607)
  • Add missing line breaks (#9671)
  • Indicate navigateTo options are optional (#9672)
  • Add community page (#9519)
  • Bump website theme to 0.1.23 (#9703)
  • community: Fix client-side images display (#9704)
  • theme: Version 0.1.24 (#9716)
  • version: Theme 0.1.25 (#9729)
  • community: Temporary disable newsletter subscription (#9740)
  • concepts: Add utils/ to directory-based auto-imports (#9739)
  • Link to nuxt.com instead of v3.nuxtjs.org (#9786)
  • Version 0.1.27 (#9788)
  • community: Fix missing image (ce9141285)
  • Improve wording and fix typo (#9795)
  • getting-started: Improve usage of pnpm (#9775)
  • index: Fix typo in 'GitHub' (#9807)
  • Enable hybrid rendering (#9823)
  • Rename svg asset (dbc31869b)
  • Add docs landing page (#9706)
  • homepage: Add module cta (#9591)
  • Fix layouts typo in nuxtignore page (#9893)
  • Fix url for prettier.io pointing to stylelint.io (#9892)
  • Fixed typos and improved wording (#9848)
  • Fix typos and capitalisation (#9844)
  • Clarify plugins are auto-registered, remove components default (#9815)
  • Fix markdown (#9838)
  • Fix typos (#9919)
  • release: Theme 0.2.2 (#9920)
  • example: Fix runtimeConfig extension in config-extends example (#9912)
  • sponsors: Fix hero (#9941)
  • configuration: Clarify the location of app.config.ts in the source directory (#9937)
  • support: Update wording (#9821)
  • Refactor cards (#9935)
  • guide: Fix the link to deploy in guide/.output (#9994)
  • Update generate doc to include --dotenv (#9991)
  • Remove nuxt 2 information from generate schema (#10002)
  • partners: Fix spacing (#10025)
  • Fix typo (#10019)
  • partners: Add macopedia as partner (#10028)
  • Update testimonials (685cb100f)
  • Add back the newsletter (#10032)
  • version: 0.3.5 (#10078)
  • version: 0.3.6 (#10093)
  • Update link (#10056)
  • version: Use nuxt edge channel (#10117)
  • version: Revert back to stable nuxt version (d6c7676f1)
  • Update hooks source line number (#10102)
  • version: 0.3.8 (#10127)
  • Update nested router example (#10115)
  • Add Nuxt: A vision for 2023 post (#10141)
  • Add link! (02df51dd5)
  • Remove stray parenthesis (#10144)
  • Add port example in ecosystem.config (#10076)
  • Add description of returning different status codes (#10059)
  • Add info about extensions and pathPrefix keys (28a2a91b6)
  • version: 0.3.10 (#10170)
  • Fix hydration warnings on 2023 vision article (#10171)
  • Add redirect for workshop (371bc1aff)
  • Remove line break (940720a58)
  • Add buttons slot on PageHero component (#10139)
  • Rename layer0 to Edgio (#9900)
  • Update links to nuxt.com (#18425)
  • examples: Fix error handling example (#18434)
  • Add nuxt 2 section (ce8ad33ed)
  • partners: Update webreinvent description (#18473)
  • Add link to config api (#18474)
  • Update partners (#18482)

🏡 Chore

  • Update badges in readme to latest (#9065)
  • typo: Link fix (#9070)
  • Update example nuxt versions (#9114)
  • Restore playground config (a4e0a64f3)
  • Update renovate config syntax (6145e0427)
  • Update badges (32e01de8d)
  • Update website version (b7d0f52de)
  • Update link to typescript docs (#10045)
  • docs: Update lockfile and disable style inlining (49d4ce860)
  • docs: Revert vue-lite-youtube-embed upgrade (6652983ba)
  • docs: Revert lockfile (#10063)
  • Case police update (#10085)
  • Fix typo in comment (#10148)
  • Sync templates (1211f62d4)
  • Run renovate against 2.x branch also (0fb147be4)
  • Update internal repo/issue links to usenuxt/nuxt (081dc3254)
  • Trigger ci (7f2637323)
  • Update links to nuxt/framework discussions (a683b1a20)
  • Update more repo links (19973c26f)
  • Disable issue-up on upstream vite repo (c28f1e429)
  • Update lockfile (b2291189b)
  • Bump docs version (#18417)
  • Add 3.x label to feature request template (fa129cb83)
  • Update licence start year (5518e2645)
  • Include central readme/licence when publishing individual packages (#18421)
  • V3.1.0 (963dc0ba8)

✅ Tests

🎨 Styles

❤️ Contributors