vue

vue breaking-changes badge

vue (latest known version: 3.6.0) has 222 known breaking changes on record, each backed by a source URL.

Actively maintainedLatest known version: 3.6.0npm ↗

Security advisories

GHSA-5j4c-8p2g-v4jxLOW>=2.0.0-alpha.1 <3.0.0-alpha.0

ReDoS vulnerability in vue package that is exploitable through inefficient regex evaluation in the parseHTML function

source ↗

Recent changes

v3.6.0-alpha.1Notable

Recover nextTick from error in post flush callback

source ↗

v3.6.0-alpha.1Notable

Improve error handling in job flushing

source ↗

v3.6.0-alpha.1Notable

Allow toRefs on plain objects

source ↗

v3.6.0-alpha.1Notable

Fix queuing effects in an array

source ↗

v3.6.0-alpha.1Notable

Ensure multiple effectScope on() and off() calls maintains correct active scope

source ↗

v3.6.0-alpha.1Notable

Fix nullish v-bind in style to not lead to unexpected inheritance

source ↗

v3.6.0-alpha.1Notable

Refactor reactivity core by porting alien-signals for performance improvements

source ↗

v3.6.0-alpha.1Notable

Vapor mode - a new compilation mode for Vue Single-File Components with the goal of reducing baseline bundle size and improved performance, available in Vue 3.6 alpha as an opt-in feature that supports a subset of existing Vue APIs

source ↗

v3.6.0-beta.1Notable

Implemented dynamic props/slots source caching in runtime-vapor for performance improvements

source ↗

v3.6.0-beta.1Notable

Support render block in createDynamicComponent for Vapor Mode

source ↗

v3.6.0-beta.1Notable

Major refactor of @vue/reactivity based on alien-signals, significantly improving the reactivity system's performance and memory usage

source ↗

v3.6.0-beta.1Notable

Vapor Mode now has feature parity with all stable features in Virtual DOM mode and is entering beta phase with a complete feature set

source ↗

v3.6.0-rc.1Notable

vaporInteropPlugin enables mixing Vapor and VDOM components in the same application

source ↗

v3.6.0-rc.1Notable

Vapor Mode supports createVaporApp() for creating pure Vapor applications that avoid pulling in Virtual DOM runtime code and reduce baseline bundle size

source ↗

v3.6.0-rc.1Notable

Vapor Mode is feature-complete in Vue 3.6 RC, a new compilation mode for Vue Single-File Components with the goal of reducing baseline bundle size and improving performance

source ↗

v3.6.0-rc.1Notable

Major refactor of @vue/reactivity based on alien-signals, which significantly improves the reactivity system's performance and memory usage

source ↗

v3.5.0-alpha.1Security

Sanitization of data URIs in v-bind to prevent XSS attacks

source ↗

v3.5.0-alpha.1Notable

Reactivity transform is now available as `@vue/reactivity-transform` package for opt-in use

source ↗

v3.5.0-alpha.1Notable

New `cloneVNode()` function to create a copy of a vnode with modified props

source ↗

v3.5.0-alpha.1Notable

Support for generic components with `<script setup lang="ts" generic>`

source ↗

v3.5.0-alpha.1Notable

New `defineSlots()` macro for explicitly typing slots

source ↗

v3.5.0-alpha.1Notable

New `defineModel()` macro for declaring two-way binding props with simpler v-model usage

source ↗

v3.5.0-alpha.1Notable

New `useTemplateRef()` composable as a more ergonomic alternative to template refs

source ↗

v3.5.0-alpha.1Notable

New `useId()` composable for generating stable unique IDs that work across server and client

source ↗

v3.5.0-alpha.1Deprecation

The `reactivity` transform syntax is deprecated in `<script setup>`, use `useRef` pattern or explicit `ref()` calls instead

source ↗

v3.5.0-alpha.1Breaking

Custom elements with hyphenated names now require the `is` attribute when used with components in Vue templates

source ↗

v3.5.0-alpha.1Breaking

Removal of deprecated `$scopedSlots`, use `$slots` instead

source ↗

v3.5.0-alpha.1Breaking

Removal of deprecated filters feature, use methods or computed properties instead

source ↗

v3.5.0-alpha.1Breaking

Removal of deprecated `.sync` modifier, use `v-model` with argument instead

source ↗

v3.5.0-alpha.1Breaking

Removal of deprecated `@hook` event listener syntax, use `@vue:` prefix instead

source ↗

Check what changed for vue since your installed version, live.

Open the playground →