The Vue team has released v3.5.40 of the core framework, a patch version that focuses on stability and performance. This release includes multiple bug fixes and minor improvements that address edge cases and enhance runtime behavior for developers using Vue 3.
Key Changes
Fixed
v-modelreactivity issue: Resolved a bug wherev-modelbindings on custom components could become stale when the parent re-renders, ensuring two-way data binding remains consistent.Improved
v-memoperformance: Optimized the internal handling ofv-memodirectives to reduce unnecessary updates in large lists, resulting in smoother rendering for dynamic data sets.Fixed
defineExposewith TypeScript: Corrected type inference fordefineExposein<script setup>components when using TypeScript's strict mode, eliminating spurious type errors.Fixed
nextTickedge case: Addressed a rare situation wherenextTickcallbacks could be invoked before the DOM update completes when called during component unmounting.Enhanced
watchdeep tracking: Improved deep watch on reactive arrays to detect nested mutations (e.g.,splice,push) correctly, preventing missed updates.Fixed
useAttrsempty object anomaly: Resolved an issue whereuseAttrscould return an empty object in certain component hierarchies, restoring expected behavior.
Why It Matters
This patch release underscores Vue's commitment to reliability. The v-model fix directly impacts form-heavy applications, while the v-memo improvements benefit developers working with large datasets or real-time updates. TypeScript users will appreciate the refined defineExpose types, which streamline development in strict mode. These changes require no code modifications on your part—simply update your dependency to 3.5.40 and enjoy a more robust framework.