166 wires and counting

$ follow Vue.js

Keep up with Vue.js in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-11-05
stories 43

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

Suspense cleanup fixes, test-utils stubs by registration key

By RepoJournal · Filed · About Vue.js · Composed from the cited sources · methodology

Vue core closed out a batch of Suspense lifecycle bugs while test-utils learned to stub globally registered components by their registration key, not just their name.

fix(compiler-sfc): respect catch and switch lexical scopes (fix #16098) vuejs/core

by JoaoMarcos44

Reactive props destructuring could rewrite a shadowing local in catch patterns and switch cases into a prop access, and catch parameter defaults could see body declarations too early; the compiler now respects those lexical scopes. If you destructure props and rely on locals shadowing them inside try/catch or switch, this fixed the wrong value being read.

fix(#2541): stub globally registered components by their registration key vuejs/test-utils

by ValentinYoushkevich

A component registered with `app.component()` under a key that differs from its `name`, like naive-ui's `NButton` for `Button`, could only be stubbed by the name; the stubs transformer now also matches the key from the app registry, between the local registration key and the name, using a map built once per app.

fix(suspense): drop the unmount hooks of a pending branch when the boundary is unmounted vuejs/core

by edison1105

Unmounting a Suspense boundary with a pending branch no longer leaves its unmount hooks queued; late events from discarded components are ignored while deferred cleanup effects still run when the parent boundary resolves.

fix(suspense): keep the timeout counting when the root is switched again while pending vuejs/core

by edison1105

Switching the root again while pending used to reset the countdown; the original timeout now continues so the current fallback appears when expected, and scheduled timeouts no longer linger after a boundary resolves or unmounts.

fix: rewrite modules without a string editor vuejs/repl

by johnsoncodehk

The REPL's module compiler imported its string editor from `vue/compiler-sfc`, which is not part of that package's API and is removed in core; it now collects edits by offset and builds the output once. Also landed: a11y fixes for devtools timeline layers, state entry toggles and pages route actions, a `VPLastUpdated` colon spacing fix, and a rollup bump to 4.67.4.

Quick answers

What shipped in Vue.js on November 5, 2026?
Vue core closed out a batch of Suspense lifecycle bugs while test-utils learned to stub globally registered components by their registration key, not just their name. In total, 22 commits and 21 pull requests landed.
Who contributed to Vue.js on November 5, 2026?
11 developers shipped this update, including webfansplz, Singmin, Eric, Ninad Sutrave, edison1105, JoaoMarcos44, johnsoncodehk, and ValentinYoushkevich, and 3 more.
What were the notable Vue.js updates?
fix(compiler-sfc): respect catch and switch lexical scopes (fix #16098), fix(#2541): stub globally registered components by their registration key, and fix(suspense): drop the unmount hooks of a pending branch when the boundary is unmounted.