3.3.13

Latest release in branch 3.3
Released 2 years ago (December 19, 2023)

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

What Is New in Vue.js 3.3

Category Key Updates
TypeScript & DX Generic Components, Improved Type Inference, Imported Types in SFCs
Reactivity Reactive Props Destructure, defineModel Macro
Script Setup Generic Support, Hoisting Extracted Types
API Improvements defineSlots Macro, Better Aria Support

How does Vue 3.3 improve TypeScript development?

Vue 3.3 delivers a major leap in TypeScript developer experience. You can now use generic components directly in your templates, which is huge for type-safe prop passing. Type inference for SFCs has been significantly enhanced, making your development process smoother and more intuitive.

In practice, this means you can import complex types from external sources and use them directly in your <script setup> blocks. The compiler handles the hoisting automatically, eliminating previous workarounds and making your codebase cleaner and more maintainable.

What reactivity features were added?

Reactivity gets two powerful upgrades. The defineModel macro simplifies two-way binding for components, reducing boilerplate code significantly. Reactive props destructure is now fully supported, allowing you to break apart props while maintaining their reactivity without extra syntax.

This matters because it streamlines component authoring. You can now write const { modelValue } = defineModel() and get a ref that works seamlessly with v-model, making custom input components much easier to implement.

What enhancements were made to Script Setup?

<script setup> receives substantial improvements in this release. Generic support allows you to create more flexible and reusable components with full type safety. The compiler can now properly hoist complex type imports, which previously caused issues with type resolution.

These changes make <script setup> even more powerful for building large-scale applications. You'll spend less time fighting type errors and more time building features with confidence in your component contracts.

What other API improvements should I know about?

Vue 3.3 introduces the defineSlots macro for declaring expected slot types, providing better IDE support for slot content. Accessibility gets a boost with improved ARIA attribute support in the compiler, helping build more inclusive applications.

The update also includes several quality-of-life improvements across the board. From better ergonomics in the compiler to enhanced compatibility with external tooling, these changes make the overall development experience more polished and efficient.

FAQ

Do I need to change my existing code to upgrade to Vue 3.3?
Most existing code should work without changes. The update is backward compatible, focusing on additive features rather than breaking changes. You can gradually adopt new features like defineModel at your own pace.

How does the new generic component syntax work?
You can now declare generics directly in your SFCs using the generic attribute on the <script setup> tag. For example: <script setup generic="T"> lets you create components that accept typed props.

What's the benefit of the defineModel macro?
defineModel eliminates the boilerplate of declaring a prop and emitting an update event for v-model binding. It provides a single ref that handles both reading the value and updating it with proper type inference.

Can I use external types in SFCs without issues now?
Yes, the improved type resolution allows you to import and use complex types from external libraries directly in your single-file components. The compiler handles the hoisting automatically.

Does this update affect build performance?
The core team focused on maintaining performance while adding these features. You might see slight improvements in some areas due to optimized compiler internals, but overall build times should remain consistent.

Releases In Branch 3.3

Version Release date
3.3.13 2 years ago
(December 19, 2023)
3.3.12 2 years ago
(December 16, 2023)
3.3.11 2 years ago
(December 08, 2023)
3.3.10 2 years ago
(December 04, 2023)
3.3.9 2 years ago
(November 25, 2023)
3.3.8 2 years ago
(November 06, 2023)
3.3.7 2 years ago
(October 24, 2023)
3.3.5 2 years ago
(October 20, 2023)
3.3.6 2 years ago
(October 20, 2023)
3.3.3 2 years ago
(May 18, 2023)
3.3.4 2 years ago
(May 18, 2023)
3.3.2 2 years ago
(May 12, 2023)
3.3.0 2 years ago
(May 11, 2023)
3.3.1 2 years ago
(May 11, 2023)
3.3.0-beta.5 2 years ago
(May 08, 2023)
3.3.0-beta.4 2 years ago
(May 05, 2023)
3.3.0-beta.3 2 years ago
(May 01, 2023)
3.3.0-beta.2 2 years ago
(April 25, 2023)
3.3.0-beta.1 2 years ago
(April 21, 2023)
3.3.0-alpha.13 2 years ago
(April 20, 2023)
3.3.0-alpha.12 2 years ago
(April 18, 2023)
3.3.0-alpha.10 2 years ago
(April 17, 2023)
3.3.0-alpha.11 2 years ago
(April 17, 2023)
3.3.0-alpha.9 3 years ago
(April 08, 2023)
3.3.0-alpha.8 3 years ago
(April 04, 2023)
3.3.0-alpha.7 3 years ago
(April 03, 2023)
3.3.0-alpha.6 3 years ago
(March 30, 2023)
3.3.0-alpha.5 3 years ago
(March 26, 2023)
3.3.0-alpha.3 3 years ago
(February 06, 2023)
3.3.0-alpha.4 3 years ago
(February 06, 2023)
3.3.0-alpha.1 3 years ago
(February 05, 2023)
3.3.0-alpha.2 3 years ago
(February 05, 2023)