Vue.js: Vapor Mode's v-for Component Cleanup

Two independent fixes landed for the same root cause—Vapor mode's v-for loop failing to clean up removed component instances—alongside a Suspense caching bug and a style prop normalization fix, all centered on resource lifecycle correctness.

Duration: PT2M32S

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-08-13T13:12:45Z
  • Audio duration: PT2M32S

Transcript excerpt

This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.

Good morning, it's August 13th, and here's your Vue.js briefing.

The standout pattern today: two separate pull requests, from two different contributors, both fixing the same v-for memory leak in Vapor mode. That's a strong signal this bug had real-world bite.

Here's the issue. When a v-for item is a component, Vapor's createFor skips creating a per-item effect scope, assuming the component instance already manages its own. But the cleanup callback the component registers ends up attached to the parent scope instead of the item's own lifecycle. The result: every time…

PR 15283, from lazerg, disposes those per-item resources directly on removal. PR 15287, from edison1105, takes a related approach — capturing the cleanup callbacks registered during rendering and transferring them from the owner scope to the ForBlock itself, so they run right when items are structurally removed.…

Second theme: prop normalization gaps in Vapor mode. PR 15286 fixes style bindings — when a component gets both static and dynamic style props, the compiler produces an array, but Vapor was passing that array straight into a declared style prop without normalizing it first, triggering validation warnings. The…

On…

Nearby episodes from Vue.js

  1. Weekly Recap - Hardening the Vapor Renderer
  2. Naming Ambiguity in Script Setup Templates Gets a Warning
  3. Edge Cases Under Fire
  4. Vapor Renderer's Teardown Troubles
  5. Vapor Renderer Stabilization Push
  6. Vapor Interop Hardening
  7. Vapor Mode Edge Cases Get Cleaned Up
  8. Weekly Recap - Vapor Rendering Hardens, Hydration Edge Cases Close Out