Skip to content

Releases: nuxt/ui

v4.0.0

23 Sep 12:27
Compare
Choose a tag to compare

We are excited to announce Nuxt UI v4, a major milestone that unifies Nuxt UI and Nuxt UI Pro into a single, fully open-source library. Following NuxtLabs joining Vercel in July, we're now able to offer 100+ production-ready components and a complete Figma Kit available for free to everyone.

Read the blog post announcement: https://nuxt.com/blog/nuxt-ui-v4

Get started with Nuxt UI v4 →

✨ Highlights

🌐 Unified and Open Source

Nuxt UI v4 marks a significant milestone by merging Nuxt UI and Nuxt UI Pro into one cohesive, fully open-source library:

  • 100+ components: Complete access to all components, including those previously exclusive to Pro
  • Figma Kit: Professional design resources now available to everyone
  • Single package: Everything unified under @nuxt/ui

🖥️ Templates

All our previously exclusive templates for Nuxt and Vue are now available to everyone and updated to Nuxt UI v4:

  • Starter: A minimal template to get started with Nuxt UI
  • Landing: A modern landing page template powered by Nuxt Content
  • Docs: A documentation template powered by Nuxt Content
  • SaaS: A SaaS template with landing, pricing, docs and blog powered by Nuxt Content
  • Dashboard: A dashboard template with multi-column layout for building sophisticated admin interfaces
  • Chat: An AI chatbot template to build your own chatbot powered by Nuxt MDC and Vercel AI SDK
  • Portfolio: A sleek portfolio template to showcase your work, skills and blog powered by Nuxt Content
  • Changelog: A changelog template to display your repository releases notes from GitHub powered by Nuxt MDC

📚 Documentation

We've made extensive improvements to the documentation in v4 to provide a better developer experience:

  • Unified location: All documentation now lives under /docs/ with automatic redirects from legacy paths
  • Dedicated sections: Theme and Typography now have their own organized sections
  • AI-ready features: LLMs.txt endpoints and MCP Server integration for AI tools like Cursor, Windsurf, and GitHub Copilot

🌱 Migration from v3

The migration from v3 to v4 is designed to be smoother than previous major version transitions.
We recommend reading the migration guide for step-by-step instructions.

For Nuxt UI users

  1. Update to @nuxt/ui@latest

For Nuxt UI Pro users

  1. Replace @nuxt/ui-pro with @nuxt/ui in your dependencies
  2. Update module registration from @nuxt/ui-pro to @nuxt/ui in your Nuxt config
  3. Change configuration key from uiPro to ui in your app config
  4. Update CSS imports from @nuxt/ui-pro to @nuxt/ui
  5. Update any import statements to reference @nuxt/ui

🙏 Acknowledgements

We want to extend a special thanks to everyone who supported Nuxt UI Pro. Your early adoption and feedback were instrumental in shaping Nuxt UI. You helped us fund, maintain, and improve the project, allowing us to reach this milestone where we can now offer these powerful tools to the entire community.

A huge thanks to the dedicated team behind Nuxt UI and our incredible community of 250+ contributors. Your hard work, creativity, and passion have been the driving force behind this project's success.

Thank you for being part of this journey 💚

v3.3.5

23 Sep 13:54
Compare
Choose a tag to compare

🐛 Bug Fixes

  • InputMenu: ensure to pass a string to items when multiple (0031a75), closes #5018
  • InputTags: add blur and focus event handlers on input (#5007) (5db2708)
  • Progress: improve status-position when 0 (#4994) (e0891ea)
  • Tabs: use nullish coalescing on item value (a4ab796), closes #4804
  • types: allow arbitrary keys in tv config (#4992) (8d859ea)
  • types: resolve ambient declaration error in icons type (#4991) (526cb81)

New Contributors

Full Changelog: v3.3.4...v3.3.5

v4.0.0-beta.0

22 Sep 16:17
Compare
Choose a tag to compare
v4.0.0-beta.0 Pre-release
Pre-release

🐛 Bug Fixes

  • ChatMessages: wrap indicator with slot (#5036) (c00bf30)
  • CheckboxGroup: proxy generic to emits (ffa5b23)
  • Form: improve nested form validation handling (#5024) (77a554e)
  • Form: remove joi and yup in favor of @standard-schema/spec (#5035) (723cf36)
  • InputMenu: ensure to pass a string to items when multiple (9beccbb), closes #5018
  • InputTags: add blur and focus event handlers on input (#5007) (3fd2614)
  • locale: improve translations in pt locale (#5003) (725ef9b)
  • module: only inject tailwindcss vite plugin once (#5008) (c2e39dd)
  • ProseImg: add w-full by default (#4997) (de47add)
  • Tabs: use nullish coalescing on item value (340fc48), closes #4804
  • Tree: remove value-key in favor of get-key (#4999) (240ff42)
  • types: allow arbitrary keys in tv config (#4992) (ae77b69)

New Contributors

Full Changelog: v4.0.0-alpha.2...v4.0.0-beta.0

v4.0.0-alpha.2

17 Sep 09:53
Compare
Choose a tag to compare
v4.0.0-alpha.2 Pre-release
Pre-release

This 4.0.0-alpha.2 release focused mostly on stability and documentation.

The official v4 release should come next week after some more testing.

📚 Documentation

We've made significant improvements to the documentation in this release.

🚨 Breaking Changes

  • Form: don't mutate the form's state if transformations are enabled (#4902)

Read the migration guide about this change: https://ui4.nuxt.com/docs/getting-started/migration/v4#changes-to-form-component

🚀 Features

  • ContentNavigation: handle collapsible false with type multiple (c42c2ab)

🐛 Bug Fixes

  • Banner: ensure actions slot renders (#4946) (5d6e1fc)
  • CodeTree/Tree: improve accessibility (#4945) (117b4b3)
  • components: dot notation type support for labelKey and valueKey (#4933) (11a0320)
  • components: proxySlots reactivity (#4969) (3173bee)
  • components: standardize naming for type interfaces (#4990) (788d2de)
  • FileUpload: add missing button type (f33e43c), closes #4935
  • Form: don't mutate the form's state if transformations are enabled (#4902) (99dbe81)
  • Form: handling race condition on clear function (#4843) (2269b48)
  • InputMenu/Select/SelectMenu: show falsy value when model value is falsy (#4882) (073dd14)
  • locale: improve id name (#4890) (1b5d741)
  • Marquee: handle RTL mode (#4887) (1846079)
  • Progress: improve status-position when 0 (#4994) (0e1e44c)
  • types: export missing tv types (#4971) (2bf273c)
  • types: resolve ambient declaration error in icons type (#4991) (6ddf899)

🔥 Performances

  • module: do not block setup by importing plugin (#4923) (695d9f7)

🌐 Locales

👋 New Contributors

Full Changelog: v4.0.0-alpha.1...v4.0.0-alpha.2

v3.3.4

15 Sep 16:21
Compare
Choose a tag to compare

🐛 Bug Fixes

  • FileUpload: add missing button type (91f86d9), closes #4935
  • Form: handling race condition on clear function (#4843) (0a8ead7)
  • InputMenu/Select/SelectMenu: show falsy value when model value is falsy (#4882) (5b9d9d8)
  • locale: improve id name (#4890) (e5cb55b)

Full Changelog: v3.3.3...v3.3.4

v4.0.0-alpha.1

01 Sep 14:33
Compare
Choose a tag to compare
v4.0.0-alpha.1 Pre-release
Pre-release

📚 Documentation

You can check out the new docs for v4 on https://ui4.nuxt.com while in alpha.

🚨 Breaking Changes

  • components: rename nullify modifier to nullable and add optional (#4838)
  • module: update compatibility to nuxt 4

Read the migration guide to v4.

🚀 Features

  • Icon: allow passing a component instead of a name (#4766) (61b603f)

🐛 Bug Fixes

  • AuthForm: use error from form field (#4738) (00dfb6b)
  • BlogPost: ensure date slot renders (#4743) (4514880)
  • ChangelogVersion/ChangelogVersions: handle RTL mode (#4777) (f91c408)
  • ContentSearch/DashboardSearch: make ui.modal work (946c2ec)
  • module: add @source on components (a16465f), closes #4773
  • PageCard: improve keyboard accessibility (#4733) (3029568)
  • ProseImg: ensure unique motion layout id for images (#4720) (9480a0b)
  • unplugin: handle components overrides in subdirectories (#4781) (69ee75e)

New Contributors

Full Changelog: v4.0.0-alpha.0...v4.0.0-alpha.1

v3.3.3

01 Sep 12:25
Compare
Choose a tag to compare

🚀 Features

  • useFormField: export form errors injection key (#4808) (ec2bc0a)

🐛 Bug Fixes

  • components: broken types for update:model-value event (#4853) (7133f50)
  • Form: default slot types (#4758) (a32cc37)
  • Form: update Form interface to accept RegExp (#4821) (0c2d390)
  • InputMenu/Select/SelectMenu: show placeholder when model value is falsy (#4825) (90b5daf)
  • InputMenu: prevent focus-outside event on content (77b6b9a)
  • Link: ensure target _blank is flagged as external for Inertia (#4746) (520b277)
  • Table: ensure colspan calc for loading and empty states (#4826) (bdcc8c4)

New Contributors

Full Changelog: v3.3.2...v3.3.3

v2.22.2

01 Sep 13:40
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Meter: correct vertical alignment of progress bar (#4735) (875be4b)
  • SelectMenu/InputMenu: ensure object compare with by prop (#4791) (44382cd)

New Contributors

Full Changelog: v2.22.1...v2.22.2

v4.0.0-alpha.0

15 Aug 10:43
Compare
Choose a tag to compare
v4.0.0-alpha.0 Pre-release
Pre-release

📚 Documentation

You can check out the new docs for v4 on https://ui4.nuxt.com while in alpha.

🚨 Breaking Changes

Read the migration guide to v4.

Full Changelog: v3.3.2...v4.0.0-alpha.0

v3.3.2

14 Aug 13:49
Compare
Choose a tag to compare

This release ensures the [email protected] dependency is installed. The 2.1.0 version is somehow broken at the moment: heroui-inc/tailwind-variants#259 / heroui-inc/tailwind-variants#258

Full Changelog: v3.3.1...v3.3.2