Skip to content
Framework

Vue.js Releases

Track every Vue.js release from latest stable to end-of-life. Version timelines, Composition API adoption, ecosystem compatibility, and upgrade guidance.

Total Versions

Supported

Latest

Version Timeline

All tracked releases with lifecycle status and EOL dates.

Loading version data…

Lifecycle Timeline

Visual overview of active support and maintenance windows.

2.7 (Final)
3.0
3.1
3.2
3.3
3.4
3.5
3.6
2020 2021 2022 2023 2024 2025 2026 2027 2028
Active
Maint
Active
Maint
Active
Maint
Active
Maint
Active
Maint
Active
Maint
Active
Maint
Active
Maint
Active / LTS
Maintenance
Today

Upgrade Paths

Migration guidance between major versions — breaking changes, effort estimates, and tips.

2.x 3.x High Difficulty
Est. 1-4 weeks depending on app size and library dependencies

Breaking Changes

  • Global API restructured (createApp() replaces new Vue())
  • v-model reworked (value/input → modelValue/update:modelValue)
  • Filters removed — use computed properties or methods
  • $listeners removed — merged into $attrs
  • Event bus ($on/$off/$once) removed — use mitt or tiny-emitter
  • Render function API changed (h() import instead of createElement parameter)
  • Transition class names changed (v-enter → v-enter-from)
  • Functional components syntax changed
  • Vuex replaced by Pinia as recommended store

Migration Notes

Use the Migration Build (vue/compat) which runs Vue 3 but emulates Vue 2 behavior with deprecation warnings. Fix warnings one at a time. Largest effort: updating third-party libraries (Vuetify, Element UI, etc.) to Vue 3 compatible versions. Budget 2-4 weeks for a medium app.

3.2 3.3 Low Difficulty
Est. < 1 hour

Breaking Changes

  • Generics in <script setup> components
  • defineSlots() for typed slot definitions
  • defineOptions() macro (no separate script block needed)
  • Better defineModel() for two-way binding

Migration Notes

Mostly additive. No breaking changes. Update vue and toolchain packages. New features are opt-in.

3.3 3.4 Low Difficulty
Est. < 1 hour

Breaking Changes

  • defineModel() stable (previously experimental)
  • v-bind shorthand (:name instead of :name="name")
  • Improved hydration mismatch errors for SSR
  • Reactive props destructure (stable)

Migration Notes

Non-breaking release. Update packages. If you used experimental defineModel or reactive destructure, they are now stable with the same API.

3.4 3.5 Low Difficulty
Est. < 1 hour

Breaking Changes

  • Reactive Props Destructure enabled by default
  • useTemplateRef() replaces template ref casting
  • useId() for SSR-safe unique IDs
  • Deferred Teleport for rendering order control
  • onWatcherCleanup() for cleanup logic

Migration Notes

Additive release. Reactive Props Destructure is now default (was opt-in). If you disabled it explicitly, remove the config override. useTemplateRef() is the new recommended pattern but old ref() approach still works.

Version Risk Assessment

Evaluate risk factors before choosing a version for production.

Version EOL Risk CVE Risk Ecosystem Cloud Support Overall Recommended Action
Vue.js 2.x Critical Medium EOL Legacy Critical EOL Dec 2023 — migrate to Vue 3 immediately
Vue.js 3.3 High Low Outdated Full High Update to 3.5 — straightforward minor update
Vue.js 3.4 Medium Low Supported Full Medium Update to 3.5 when convenient
Vue.js 3.5 Low Low Active Full Low Current recommended version

Risk score factors EOL status, ecosystem support, library compatibility, and security posture. Assessed as of March 2026.

Vue 3 Minor Version Feature Comparison

Side-by-side feature differences across major versions.

Feature 3.2 3.3 3.4 3.5
<script setup> Stable Stable Stable Stable
Composition API Stable Stable Stable Stable
defineModel() No Experimental Stable Stable
Reactive Props Destructure No Experimental Stable Default on
Generics in SFC No Stable Stable Stable
defineSlots() No Stable Stable Stable
useTemplateRef() No No No Stable
useId() No No No Stable
v-bind shorthand No No Stable Stable
Deferred Teleport No No No Stable
SSR hydration errors Basic Basic Improved Improved
Nuxt compatibility Nuxt 3.0+ Nuxt 3.6+ Nuxt 3.9+ Nuxt 3.13+
Vuetify compatibility 3.0+ 3.3+ 3.5+ 3.7+

Embed Badges

Add live Vue.js status badges to your README, docs, or dashboard.

Health Status

Overall support health

Vue.js Health Status
![Vue.js Health Status](https://img.releaserun.com/badge/health/vue.svg)

EOL Countdown

Next end-of-life date

Vue.js EOL Countdown
![Vue.js EOL Countdown](https://img.releaserun.com/badge/eol/vue.svg)

Latest Version

Current stable release

Vue.js Latest Version
![Vue.js Latest Version](https://img.releaserun.com/badge/v/vue.svg)

CVE Status

Known vulnerabilities

Vue.js CVE Status
![Vue.js CVE Status](https://img.releaserun.com/badge/cve/vue.svg)

Frequently Asked Questions

Common questions about Vue.js releases and lifecycle.

Is Vue 2 still supported?
Vue 2 reached end-of-life on December 31, 2023. It no longer receives bug fixes, security patches, or new features. All Vue 2 projects should migrate to Vue 3.
Should I use Options API or Composition API?
Composition API is recommended for new projects. It provides better TypeScript support, code reuse via composables, and scales better for complex components. Options API still works and is fine for simple components or teams familiar with it.
How often does Vue release new versions?
Vue 3 ships minor releases every few months with new features, and patch releases as needed for bug fixes. Major versions are infrequent — Vue 3 launched in September 2020 and is still the current major version.
Is Vue good for large enterprise applications?
Yes. Vue 3 with Composition API, TypeScript, and Pinia handles large codebases well. Nuxt provides a full-stack framework layer. Companies like Alibaba, GitLab, Nintendo, and BMW use Vue in production.
What is the Vue 2 to Vue 3 migration path?
Start with the Vue 3 Migration Build which runs Vue 3 but supports Vue 2 APIs with deprecation warnings. Fix warnings incrementally. Key changes: Composition API, Teleport, Fragments, emits declarations, v-model rework, and the removal of filters, $listeners, and event bus.
How does Vue compare to React and Angular?
Vue is a progressive framework: easy to adopt incrementally. It has the gentlest learning curve of the three, built-in reactivity (no useEffect footguns), and an opinionated but flexible ecosystem (Nuxt, Pinia, Vue Router). React offers a larger ecosystem and job market. Angular offers enterprise-grade batteries-included architecture.

Related Tools

Browse All Version History