Never miss a release that matters
AI-powered summaries of every GitHub release.
AI Summaries
Changelogs condensed into clear, actionable insights.
Always Free
Track up to 5 packages at no cost, forever.
Weekly Digest
A curated summary of every release, delivered weekly.
TL;DR
Vue 2.7 has received its final release, addressing a critical bug that could cause memory leaks in long-lived components due to improperly disconnected effect scopes.
Breaking
- None
New
None
Fixes Worth Knowing
- Corrected a memory leak (unintentional memory usage) in components that remain active for extended periods.
Before You Upgrade
No action needed – this is a recommended update for all Vue 2.7 users.
TL;DR
Vue 2.7 receives significant improvements to TypeScript definitions, enhancing developer experience and enabling better type checking for components and built-in features.
Breaking
- Typescript: More types are now exported for alignment with Vue 3, potentially requiring adjustments to existing type declarations (JSX, component options).
New
- Typescript: Improved type definitions for built-in components.
- Typescript: Enhanced type augmentation and support for bundler module resolution.
Fixes Worth Knowing
- Keep-alive: Resolved memory leaks in the
<keep-alive>component, improving application stability. - Templates: Correctly handles nested render calls and stringifies reactive values, preventing unexpected behavior.
- Watchers: Deep watchers now correctly trigger on new property additions.
Before You Upgrade
Review your custom TypeScript definitions, especially if you are using JSX or custom component options, to ensure compatibility with the updated type exports.
TL;DR
Vue.js is more stable with fixes addressing regressions introduced in recent releases, particularly around component updates and prop handling.
Breaking
v-ifwithv-ref(component references) no longer throws errors.nextTickbehavior is reverted to microtask semantics, resolving issues on older iOS versions.
Fixes Worth Knowing
$refsnow updates correctly withinv-ifblocks.- Checkbox
v-modelupdates now correctly replace values in bound arrays. - Prop validation now works correctly when using
propsData(component properties passed directly). - Filters with spaces in arguments are now parsed correctly.
Before You Upgrade
No specific action is needed, this release focuses on stability improvements.
TL;DR
Vue now supports more flexible v-for loops and simplified event handling with modifiers, improving component development and reducing boilerplate.
Breaking
- Custom directives: The undocumented
this.param()method is removed; use the newparamsarray instead. (Directive attributes)
New
v-forloops can now access keys and indexes directly:v-for="(key, val) in obj"orv-for="(index, val) in arr".- Event listeners with modifiers are simplified:
@submit.preventnow callspreventDefault()directly.
Fixes Worth Knowing
- Corrected issues with prop merging, component detachment in
v-forloops, directive scope, and dynamic class updates.
Before You Upgrade
Update any custom directives using this.param() to utilize the new params array API.
TL;DR
Vue.js now allows filters within $watch expressions and significantly improves performance when filtering large arrays (over 5000 items).
Breaking
None.
New
$watchexpressions now support Vue filters (text transformations).Vue.mixin()allows plugins to inject custom behavior (advanced usage).
Fixes Worth Knowing
- Corrected issues with
<select v-model>when using number arrays. - Fixed transitions getting stuck when elements are hidden with CSS.
- Resolved unnecessary updates with
v-modelin lazy mode.
Before You Upgrade
No action needed.
TL;DR
Vue underwent a major overhaul, introducing asynchronous components (components that load on demand) and a revamped transition system allowing CSS transitions and JavaScript hooks to work together.
Breaking
paramAttributesis nowprops.v-withandv-componentare removed; usepropsand the<component is="...">syntax respectively.v-partialand{{> partial}}are removed.- Filter arguments now treat non-quoted values as dynamic paths.
New
- Async Components: Load component definitions on demand for improved performance.
- Element Directives: Treat custom elements as directives for greater control.
Fixes Worth Knowing
v-repeatnow handles object iteration and array updates more reliably.- Props are now correctly persisted when
$datais replaced.
Before You Upgrade
- Update all instances of
paramAttributestoprops. - Replace
v-withwithpropsandv-componentwith<component is="...">. - Review and update any code using
v-partialor{{> partial}}.