Two RCs in One Week, 90% Vapor-Focused: Is Vue Gearing Up for a Major Shift?
Vue 3.6 released two release candidates in a single week with 90% of updates targeting Vapor Mode, a new compilation strategy that bypasses virtual DOM diffing, while also introducing a reactivity kernel rewrite based on alien-signals; Vue 4.0 will stabilize these features without breaking API changes.
Vapor Mode Dominates Vue 3.6 Release Candidates
On October 16, Vue 3.6.0-rc.12 was released, followed by rc.13 the next day. The stable latest tag on npm remains at 3.5.44 from October 13. While the stable branch receives routine patches, the RC channel rolls weekly — a pace that aligns with Evan You's announcement at Vue & Vite Conf 2026 that Vue 4.0 development has begun.
Nearly All Changes Target Vapor Mode
The official CHANGELOG for the 3.6 minor branch shows that virtually all work is concentrated on Vapor Mode. In rc.12, 18 out of 19 updates mention Vapor; in rc.13, 36 out of 38 updates are Vapor-related, with the remaining one or two fixing the reactivity system.
How Vapor Mode Differs from Traditional Rendering
Traditional Vue rendering follows these steps: state changes, re-execute render function, generate new virtual DOM tree, diff algorithm compares old and new trees, finally patch the real DOM. The first four steps occur in memory; only the last step affects the user-visible DOM. Vapor takes a more direct approach: at compile time, it analyzes each dynamic expression in the template and maps it to the corresponding DOM node, generating point-to-point update instructions that skip the intermediate four steps entirely.
Opt-In Component Usage
Vapor is enabled per component by adding the vapor attribute to the <script setup> block:
<script setup vapor>
import { ref } from 'vue'
const count = ref(0)
</script>
<template>
<button @click="count++">{{ count }}</button>
</template>Migration Paths
New projects can use createVaporApp() to bootstrap a pure Vapor application, allowing the virtual DOM runtime to be tree-shaken out completely.
Existing projects can mix Vapor and traditional components in the same component tree, bridged by vaporInteropPlugin. RC.13 includes three updates specifically optimizing tree-shaking for interop code. The team states Vapor has reached feature parity with virtual DOM mode, with the sole exception of Suspense.
Reactivity Kernel Rewrite on alien-signals
The other half of 3.6 is the reactivity core: the @vue/reactivity package has been re-implemented on top of alien-signals. This implementation adopts a "push-pull" approach — when state changes, dependent computed properties are marked as dirty, but they are only recomputed when actually read. This avoids the waste of "recomputing everything first, then deciding what is used." Even without enabling Vapor, simply upgrading to 3.6 gives ordinary components the benefits of the new kernel.
Vue 4.0: Stabilization Without Breaking Changes
Vue 4.0 will stabilize the experimental features carried by 3.6 — Vapor and the new reactivity kernel — and expand their support scope. Crucially, Evan You has been explicit: Vue 4's API design will largely follow Vue 3, avoiding the cliff-edge breaking changes seen in the Vue 2 to 3 transition. He cited a 2026-era reason: AI models' training data has long solidified Vue 3 API patterns, so framework consistency ensures stable AI-generated code.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
JavaScript
Provides JavaScript enthusiasts with tutorials and experience sharing on web front‑end technologies, including JavaScript, Node.js, Deno, Vue.js, React, Angular, HTML5, CSS3, and more.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
