Vue.js: Vapor Hydration Gets a Rethink
A single pull request reworks how Vue's vapor renderer hydrates components with async setup, moving the render step out of the async continuation and into the main hydration pass. The change removes several internal mechanisms that previously handled this case.
Duration: PT2M22S
Episode overview
This episode is a short developer briefing from Vue.js.
It explains recent repository work in plain language.
- Show: Vue.js
- Published: 2026-09-05T13:10:17Z
- Audio duration: PT2M22S
Transcript excerpt
This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.
Good day, and welcome to the Vue dot J-S briefing for September fifth, twenty twenty-six.
Today's activity is narrow but technically significant: one pull request touching how the vapor renderer handles components with asynchronous setup during hydration.
Here's the core problem. When a component uses an async script setup, its render logic used to fire from inside the async continuation, after the await resolves. But the hydration cursor and hydration mode only exist during the synchronous pass. So rendering from that async continuation was fundamentally on shaky…
PR fifteen-four-three-three, from edison1105, fixes this by compiling the template of the awaiting component into a render closure ahead of time. That closure runs later from a function called "finish async setup," inside the main hydration pass, over the pending server-rendered range. This mirrors how the standard…
The notable part for maintainers: this refactor doesn't just patch the bug, it removes the old scaffolding entirely. The vapor async context wrapper is gone. The "restore async context" hook protocol is gone. So is the async hydration baseline counter and the deferred boundary cleanup logic. That's four…
For…
Nearby episodes from Vue.js
- Suspense and Hydration Get a Serious Cleanup
- Vapor Mode's Transition Overhaul
- Vapor Runtime's Async Component Overhaul
- Vapor Mode Stability Push
- The Once-Listener Chase in Runtime Vapor
- Weekly Recap - Vapor Mode Hardening & Cross-Renderer Consistency
- Vapor Mode Hydration and Type Inference Catch-Up
- Closing Gaps Between Edge Cases and Expected Behavior