Stable Release in branch 3.0
3.0.11
Released 01 Apr 2021
(5 years ago)
SoftwareVue.js
Version3.0
Status
End of life
Initial release3.0.0
18 Sep 2020
(5 years ago)
Latest release3.0.11
01 Apr 2021
(5 years ago)
End of support (OSS)07 Jun 2021
(Ended 5 years ago)
Commercial support
(HeroDevs-NES)
Unavailable
Release noteshttps://github.com/vuejs/core/releases/tag/v3.0.11
Source codehttps://github.com/vuejs/core/tree/v3.0.11
Documentationhttps://v3.vuejs.org
Migration guidehttps://v3-migration.vuejs.org
Vue.js 3.0 ReleasesView full list

What Is New in Vue.js 3.0

Vue 3.0, codenamed "One Piece," is a complete rewrite of the framework focused on making it smaller, faster, and more maintainable. It introduces a new reactivity system and Composition API while maintaining full compatibility with the Options API from Vue 2.

Category Key Changes
Performance Faster component instantiation, optimized compiler-informed runtime, smaller bundle size
API & Development Composition API, improved TypeScript support, exposed reactivity system
Built-in Components New Teleport and Suspense components
Breaking Changes Global API changes, v-model usage, functional components, render function API

How does the performance compare to Vue 2?

Vue 3 is significantly faster across the board. The team achieved this through a tree-shaking friendly architecture and a compiler-informed Virtual DOM. You get faster component instantiation and updates with roughly half the memory usage of Vue 2.

In practice, the new compiler can skip patching entire branches of the tree if their dynamicness is analyzed at compile time. This matters because your apps feel snappier even as they grow in complexity.

What is the Composition API and why use it?

The Composition API is a new set of APIs for organizing component logic, primarily the setup() function. It lets you group code by logical concern instead of forcing organization by component options like data or methods.

This is a game-changer for building large-scale applications. It makes code more readable and maintainable, especially when sharing and reusing logic across components. You can now extract and import reactive logic cleanly.

What are the major built-in component changes?

Vue 3 introduces two powerful new components. Teleport (formerly Portal) allows you to render a component's content in a different part of the DOM tree. Suspense provides a declarative way to handle async dependencies in a component tree.

These components solve common pain points. Teleport is perfect for modals and popovers, while Suspense simplifies handling loading states for components that fetch data asynchronously.

How has TypeScript support improved?

Vue 3's codebase is now written in TypeScript itself. This provides superior type inference and eliminates the need to maintain separate type declarations. The new architecture is designed with type safety in mind from the ground up.

For developers, this means auto-completion and type checking just work better. You'll spend less time fighting the type system and more time building features with confidence.

What are the key breaking changes to know?

The global API has been restructured to support tree-shaking. APIs like Vue.nextTick() are now named exports. The v-model directive has been reworked, replacing .sync and allowing multiple v-models on a component.

Functional components are now plain functions and the render function API has changed. Event API changes include removing the $on, $off, and $once instance methods. A compatibility build is available to ease migration.

FAQ

Is the Options API from Vue 2 being removed?
No, the Options API remains fully supported and is not deprecated. The Composition API is an additive feature for organizing complex logic, not a replacement.

How difficult is it to migrate a Vue 2 project to Vue 3?
The migration requires effort due to breaking changes, but a compatibility build is provided to help. The team also released a migration guide and build-time configuration to warn about potential issues.

Can I use my Vue 2 plugins with Vue 3?
Most Vue 2 plugins will not work out of the box due to the changed global API and internal architecture. Plugin authors need to update their packages for Vue 3 compatibility.

What happened to the class-based component syntax?
Class-based components are no longer a core feature in Vue 3 due to the new reactivity system. The Composition API is now the recommended approach for advanced logic organization.

Is the entire Vue ecosystem (Vuex, Vue Router) ready for Vue 3?
At the time of Vue 3's release, the companion libraries were also updated to their next major versions (Vuex 4, Vue Router 4) to provide full compatibility.

Releases In Branch 3.0

VersionRelease date
3.0.1101 Apr 2021
(5 years ago)
3.0.1031 Mar 2021
(5 years ago)
3.0.927 Mar 2021
(5 years ago)
3.0.826 Mar 2021
(5 years ago)
3.0.701 Mar 2021
(5 years ago)
3.0.624 Feb 2021
(5 years ago)
3.0.530 Dec 2020
(5 years ago)
3.0.402 Dec 2020
(5 years ago)
3.0.325 Nov 2020
(5 years ago)
3.0.220 Oct 2020
(5 years ago)
3.0.115 Oct 2020
(5 years ago)
3.0.0-rc.1318 Sep 2020
(5 years ago)
3.0.018 Sep 2020
(5 years ago)
3.0.0-rc.1216 Sep 2020
(5 years ago)
3.0.0-rc.1115 Sep 2020
(5 years ago)
3.0.0-rc.1002 Sep 2020
(5 years ago)
3.0.0-rc.926 Aug 2020
(5 years ago)
3.0.0-rc.825 Aug 2020
(5 years ago)
3.0.0-rc.721 Aug 2020
(5 years ago)
3.0.0-rc.619 Aug 2020
(5 years ago)
3.0.0-rc.528 Jul 2020
(5 years ago)
3.0.0-rc.321 Jul 2020
(5 years ago)
3.0.0-rc.421 Jul 2020
(5 years ago)
3.0.0-rc.219 Jul 2020
(5 years ago)
3.0.0-rc.117 Jul 2020
(5 years ago)
3.0.0-beta.2316 Jul 2020
(5 years ago)
3.0.0-beta.2416 Jul 2020
(5 years ago)
3.0.0-beta.2215 Jul 2020
(5 years ago)
3.0.0-beta.2114 Jul 2020
(5 years ago)
3.0.0-beta.2008 Jul 2020
(6 years ago)
3.0.0-beta.1907 Jul 2020
(6 years ago)
3.0.0-beta.1802 Jul 2020
(6 years ago)
3.0.0-beta.1730 Jun 2020
(6 years ago)
3.0.0-beta.1629 Jun 2020
(6 years ago)
3.0.0-beta.1512 Jun 2020
(6 years ago)
3.0.0-beta.1418 May 2020
(6 years ago)
3.0.0-beta.1317 May 2020
(6 years ago)
3.0.0-beta.1111 May 2020
(6 years ago)
3.0.0-beta.1211 May 2020
(6 years ago)
3.0.0-beta.1007 May 2020
(6 years ago)
3.0.0-beta.804 May 2020
(6 years ago)
3.0.0-beta.904 May 2020
(6 years ago)
3.0.0-beta.702 May 2020
(6 years ago)
3.0.0-beta.601 May 2020
(6 years ago)
3.0.0-beta.530 Apr 2020
(6 years ago)
3.0.0-beta.424 Apr 2020
(6 years ago)
3.0.0-beta.320 Apr 2020
(6 years ago)
3.0.0-beta.217 Apr 2020
(6 years ago)
3.0.0-beta.116 Apr 2020
(6 years ago)
3.0.0-alpha.1315 Apr 2020
(6 years ago)
3.0.0-alpha.1208 Apr 2020
(6 years ago)
3.0.0-alpha.1104 Apr 2020
(6 years ago)
3.0.0-alpha.1024 Mar 2020
(6 years ago)
3.0.0-alpha.916 Mar 2020
(6 years ago)
3.0.0-alpha.806 Mar 2020
(6 years ago)
3.0.0-alpha.726 Feb 2020
(6 years ago)
3.0.0-alpha.622 Feb 2020
(6 years ago)
3.0.0-alpha.518 Feb 2020
(6 years ago)
3.0.0-alpha.427 Jan 2020
(6 years ago)
3.0.0-alpha.322 Jan 2020
(6 years ago)
3.0.0-alpha.213 Jan 2020
(6 years ago)
3.0.0-alpha.102 Jan 2020
(6 years ago)
3.0.0-alpha.020 Dec 2019
(6 years ago)