Latest development in branch 3.6
3.6.0-beta.13
Released 28 May 2026
(9 days ago)
SoftwareVue.js
Version3.6
Status
Beta
Latest release3.6.0-beta.13
28 May 2026
(9 days ago)
Release noteshttps://github.com/vuejs/core/releases/tag/v3.6.0-beta.13
Source codehttps://github.com/vuejs/core/tree/v3.6.0-beta.13
Documentationhttps://v3.vuejs.org
Migration guidehttps://v3-migration.vuejs.org
Vue.js 3.6 ReleasesView full list
Under Development: Vue 3.6 is still in active development and has not been officially released. The features and changes described below are based on the current development branch and may change before the final release.

What Is New in Vue 3.6

Category Highlights
New Features Slot prop bindings resolved as components, improved Vapor mode interop, static template hydration fast path
Improvements Major Vapor mode stabilization, enhanced hydration reliability, extensive tree-shaking and performance optimizations
Bug Fixes Hundreds of fixes focused on Vapor runtime, hydration edge cases, KeepAlive, Teleport, Transitions, and VDOM interop
Breaking Changes None reported in current beta

What are the biggest improvements in Vue 3.6 Vapor mode?

Vue 3.6 brings significant stabilization and maturation to Vapor mode, the new compilation strategy that eliminates Virtual DOM overhead for better runtime performance and smaller bundle sizes. In practice, teams adopting Vapor for performance-critical sections are seeing reduced memory usage and faster updates, especially in large lists and complex component trees.

The beta phase has focused heavily on reliability:

  • Comprehensive hydration fixes for multi-root components, async setups, slots, and fragments
  • Better VDOM interop for mixing Vapor and classic components
  • Improved handling of advanced patterns like KeepAlive + Teleport, TransitionGroup with v-for, and dynamic slots
<script setup vapor>
// Vapor mode enabled per-component
import { ref } from 'vue'
const count = ref(0)
</script>

How does Vue 3.6 improve hydration and SSR compatibility?

Vue 3.6 delivers a robust set of hydration improvements that make Vapor mode far more production-ready for SSR applications. The new static template hydration fast path dramatically speeds up initial rendering of mostly-static content.

Key fixes address common pain points:

  • Proper handling of empty slots, v-if branches, and fragment anchors
  • Fixed edge cases with Teleport, KeepAlive, and Transition components during hydration
  • Improved cursor management and anchor preservation for complex nested structures

This matters if you use Nuxt or other SSR frameworks—Vapor components now hydrate more reliably with fewer mismatches.

What performance optimizations were added in Vue 3.6?

Vue 3.6 introduces targeted optimizations throughout the Vapor runtime that reduce overhead in real-world scenarios. Most teams will benefit from smaller bundles thanks to aggressive tree-shaking of unused paths for slots, Teleports, Transitions, KeepAlive, and Suspense.

  • Skip unchanged primitive dynamic props and stabilize sources
  • Optimized hydration cursor advancement
  • Avoid unnecessary key propagation in dynamic fragments
  • Cached hydrated static template snapshots

In practice, these changes shine in dashboards and data-heavy UIs where reactivity updates are frequent but many props remain stable.

How does VDOM interop work in Vue 3.6 Vapor components?

Improved interop allows gradual adoption by mixing Vapor and classic VDOM components. Vue 3.6 fixes numerous alignment issues with mount/update/unmount hook ordering, slot handling, and context passing between the two modes.

Watch out for edge cases with third-party component libraries that rely on deep VDOM assumptions. The recommendation remains to keep distinct regions where possible, but interop is now solid enough for many mixed-app scenarios.

import { createApp, vaporInteropPlugin } from 'vue'
createApp(App)
  .use(vaporInteropPlugin)
  .mount('#app')

Are there any new developer-facing features in Vue 3.6?

Yes—compiler improvements now resolve slot prop bindings as components, closing long-standing gaps. TypeScript support for defineVaporComponent generics with runtime props has been enhanced, and several compiler edge cases around templates and expressions were resolved.

These changes reduce friction when building reusable Vapor components that need to expose flexible slot APIs.

FAQ

Is Vue 3.6 ready for production use?
Vue 3.6 is currently in beta with active development. Use it for testing and non-critical features while monitoring the changelog for final release.

How do I enable Vapor mode in a component?
Add the vapor attribute to your script setup tag: <script setup vapor>.

Does Vue 3.6 introduce any breaking changes?
No major breaking changes are listed in the current betas, but Vapor mode itself represents a new opt-in paradigm with its own compatibility subset.

Will existing Vue 3.5 apps continue to work?
Yes, classic VDOM mode remains fully supported and unchanged. Vapor mode is completely opt-in.

What is the main benefit of switching to Vapor mode?
Significantly smaller bundle sizes and improved runtime performance by bypassing Virtual DOM for supported components.

How do I mix Vapor and VDOM components?
Install the vaporInteropPlugin when creating your app with createApp to enable bidirectional interop.

Releases In Branch 3.6

VersionRelease date
3.6.0-beta.1328 May 2026
(9 days ago)
3.6.0-beta.1215 May 2026
(22 days ago)
3.6.0-beta.1107 May 2026
(30 days ago)
3.6.0-beta.1013 Apr 2026
(1 month ago)
3.6.0-beta.926 Mar 2026
(2 months ago)
3.6.0-beta.816 Mar 2026
(2 months ago)
3.6.0-beta.727 Feb 2026
(3 months ago)
3.6.0-beta.612 Feb 2026
(3 months ago)
3.6.0-beta.530 Jan 2026
(4 months ago)
3.6.0-beta.423 Jan 2026
(4 months ago)
3.6.0-beta.312 Jan 2026
(4 months ago)
3.6.0-beta.204 Jan 2026
(5 months ago)
3.6.0-beta.123 Dec 2025
(5 months ago)
3.6.0-alpha.712 Dec 2025
(5 months ago)
3.6.0-alpha.604 Dec 2025
(6 months ago)
3.6.0-alpha.525 Nov 2025
(6 months ago)
3.6.0-alpha.414 Nov 2025
(6 months ago)
3.6.0-alpha.306 Nov 2025
(7 months ago)
3.6.0-alpha.218 Jul 2025
(10 months ago)
3.6.0-alpha.112 Jul 2025
(10 months ago)