Vue.js: Weekly Recap - Performance & Stability Focus
Vue.js 3.5.35 shipped this week with 13 merged PRs emphasizing performance optimizations and stability fixes across runtime, compiler, and server-side rendering. The team made significant improvements to the experimental Vapor mode while addressing edge cases in transitions, hydration, and type resolution.
Duration: PT2M56S
Transcript
Welcome to Vue.js Weekly Recap for May 25th through June 1st, 2026.
13 PRs merged, 12 additional commits this week, culminating in the Vue 3.5.35 release.
This week's activity centered on performance optimizations and stability fixes, with notable progress on the experimental Vapor runtime mode. The team addressed several edge cases while delivering measurable performance improvements across the framework.
Performance took center stage with three significant optimizations. PR 14828 eliminated unnecessary array allocations in DOM event handler dispatch, preserving stop immediate propagation behavior while reducing memory overhead. The reactivity system gained efficiency through PR 14860, which skips redundant type checks for cached proxies. Server-side rendering saw improvements in PR 14821, where the team removed intermediate array materializations when iterating over generators, sets, and custom iterables in server render list.
The experimental Vapor mode received substantial attention across four major PRs. Edison contributed improvements to dynamic fragment initialization and slot boundary handling in PR 14885, while PR 14889 fixed component unmounting issues in v-for lists with fast removal optimization. Two additional PRs addressed transition group support, ensuring v-for item keys are properly preserved during animations, and expanding object literal v-bind and v-on directive handling.
Stability fixes addressed several edge cases that could impact production applications. The keep-alive component now properly skips persisted transition hooks during moves, fixing issues where directive-owned lifecycles conflicted with renderer behavior. Teleport components received a fix preventing stray DOM updates when deferred teleports inside Suspense are discarded before completion. Hydration mismatch warnings now appear only once per event, reducing console noise during debugging.
The compiler gained two important fixes: v-for keys with v-memo now avoid double processing, and the single-file component compiler properly resolves top-level exports from files registered as global types, addressing import resolution failures in development tools.
Server-side rendering became more robust with improved error propagation from server render Suspense, ensuring synchronous errors are properly caught and reported rather than being silently converted to rejected promises.
Next week, developers can expect improved performance in event-heavy applications and more reliable behavior in complex component scenarios involving transitions and teleports.
That's Vue.js Weekly Recap. We'll see you next week.