3.4.38

Latest release in branch 3.4
Released 1 year ago (August 15, 2024)

Software Vue.js
Branch 3.4
Status
End of life
End of support (OSS) September 03, 2024
First official release version 3.4.0
First official release date 2 years ago (December 29, 2023)
Release notes https://github.com/vuejs/core/releases/tag/v3.4.38
Source code https://github.com/vuejs/core/tree/v3.4.38
Documentation https://v3.vuejs.org
Migration guide https://v3-migration.vuejs.org
Vue.js 3.4 Releases View full list

What Is New in Vue.js 3.4

Vue 3.4 "Slam Dunk" delivers a substantial performance boost and key developer experience improvements. This release focuses on optimizing the reactivity system and template compilation while refining several core APIs.

Category Key Changes
Performance Faster reactivity, optimized template parsing, improved memory usage
Features v-model improvements, new defineModel macro, hydration mismatch tolerance
Developer Experience Enhanced watch reactivity, improved error messages, TypeScript support
Deprecations Deprecated reactivity transform, removed v-bind sync modifier

How much faster is Vue 3.4 reactivity?

The reactivity system got a significant rewrite for better performance. In practice, you'll see up to 2-3x speed improvements for computed properties and effect tracking.

This matters because complex applications with many reactive dependencies will feel noticeably more responsive. The optimizations reduce unnecessary computations and make dependency tracking more efficient.

What are the v-model improvements?

Vue 3.4 introduces the defineModel macro that simplifies two-way binding in components. This replaces the previous manual props and emit setup for v-model.

Now you can declare a model value directly:

<script setup>
const model = defineModel()
</script>

<template>
  <input v-model="model" />
</template>

This reduces boilerplate and makes component code much cleaner for form inputs.

How does hydration mismatch handling work now?

Vue 3.4 makes hydration more resilient to mismatches between server and client content. Instead of aggressive errors, it now recovers automatically from most text content mismatches.

This is huge for SSR applications where slight differences might occur. The framework will patch the DOM rather than fail completely, making your app more robust in production.

What happened to the reactivity transform?

The reactivity transform feature has been deprecated and removed from Vue core. The $ref syntax and other compile-time transforms are no longer supported.

This decision was made because the feature introduced mental overhead and complexity that outweighed its benefits. You should refactor existing code to use standard refs and .value access.

Are there template parsing improvements?

Yes, the template parser was rewritten to be significantly faster and more memory efficient. It now uses a state machine-based approach that parses templates up to 2x faster.

Large templates with many nodes will see the biggest improvement. The new parser also has better error location accuracy, making debugging template syntax errors easier.

FAQ

Should I upgrade to Vue 3.4 immediately?
Yes, the performance gains and stability improvements make it worthwhile. Test your application thoroughly, especially if you used the deprecated reactivity transform.

How do I replace the deprecated reactivity transform?
Replace $ref declarations with standard ref() and access values with .value. The migration is straightforward but requires manual code changes.

Does defineModel work with multiple v-models?
Yes, you can use defineModel('firstName') and defineModel('lastName') for multiple model support in components.

Are there breaking changes in 3.4?
Mostly deprecations rather than breaks. The reactivity transform removal is the biggest change, but standard ref usage remains unchanged.

How much faster is template compilation?
Benchmarks show 2x faster parsing with 50% better memory efficiency. The gains are most noticeable in large, complex templates.

Releases In Branch 3.4

Version Release date
3.4.38 1 year ago
(August 15, 2024)
3.4.37 1 year ago
(August 08, 2024)
3.4.36 1 year ago
(August 06, 2024)
3.4.35 1 year ago
(July 31, 2024)
3.4.34 1 year ago
(July 24, 2024)
3.4.33 1 year ago
(July 19, 2024)
3.4.32 1 year ago
(July 17, 2024)
3.4.31 1 year ago
(June 28, 2024)
3.4.30 1 year ago
(June 22, 2024)
3.4.28 1 year ago
(June 14, 2024)
3.4.29 1 year ago
(June 14, 2024)
3.4.27 1 year ago
(May 07, 2024)
3.4.26 1 year ago
(April 29, 2024)
3.4.25 1 year ago
(April 24, 2024)
3.4.24 1 year ago
(April 22, 2024)
3.4.23 1 year ago
(April 16, 2024)
3.4.22 2 years ago
(April 15, 2024)
3.4.21 2 years ago
(February 28, 2024)
3.4.20 2 years ago
(February 26, 2024)
3.4.19 2 years ago
(February 13, 2024)
3.4.17 2 years ago
(February 09, 2024)
3.4.18 2 years ago
(February 09, 2024)
3.4.16 2 years ago
(February 08, 2024)
3.4.15 2 years ago
(January 18, 2024)
3.4.14 2 years ago
(January 15, 2024)
3.4.12 2 years ago
(January 13, 2024)
3.4.13 2 years ago
(January 13, 2024)
3.4.11 2 years ago
(January 12, 2024)
3.4.9 2 years ago
(January 11, 2024)
3.4.10 2 years ago
(January 11, 2024)
3.4.8 2 years ago
(January 10, 2024)
3.4.7 2 years ago
(January 09, 2024)
3.4.6 2 years ago
(January 08, 2024)
3.4.5 2 years ago
(January 04, 2024)
3.4.4 2 years ago
(January 03, 2024)
3.4.2 2 years ago
(December 30, 2023)
3.4.3 2 years ago
(December 30, 2023)
3.4.1 2 years ago
(December 30, 2023)
3.4.0 2 years ago
(December 29, 2023)
3.4.0-rc.3 2 years ago
(December 27, 2023)
3.4.0-rc.2 2 years ago
(December 26, 2023)
3.4.0-rc.1 2 years ago
(December 25, 2023)
3.4.0-beta.4 2 years ago
(December 19, 2023)
3.4.0-beta.3 2 years ago
(December 16, 2023)
3.4.0-beta.2 2 years ago
(December 14, 2023)
3.4.0-beta.1 2 years ago
(December 13, 2023)
3.4.0-alpha.4 2 years ago
(December 04, 2023)
3.4.0-alpha.3 2 years ago
(November 28, 2023)
3.4.0-alpha.2 2 years ago
(November 27, 2023)
3.4.0-alpha.1 2 years ago
(October 28, 2023)