152 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-10-13
stories 50

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

Vue core tightens root-render flushing and async placeholder patching

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

A day of runtime-core and compiler-sfc correctness fixes: root renders no longer drain queues they don't own, and async components keep their placeholder until they can actually be patched.

fix(runtime-core): only flush jobs queued by the root render itself vuejs/core

by edison1105

A root render() ended with flushPreFlushCbs() and flushPostFlushCbs(), which drained the entire queue, so createApp().mount() inside a pre watcher ran every other pending pre job nested in that callback and a plain mount() after a state change ran other apps' pending watchers synchronously. A root render now flushes only the jobs it queued, which changes timing for code that relied on the old b...

fix(runtime-core): keep async placeholder for block patching and pending component updates vuejs/core

by ondrhn

patchBlockChildren picked the patch container from oldVNode.el, but a component whose async setup() has not resolved has only a placeholder comment, so the lookup fell back to the block root. When such a component sat in a nested element and its vnode was replaced, the new node was inserted with an anchor belonging to the nested element and the DOM threw NotFoundError in jsdom.

fix(compiler-sfc): error when defineModel prop options reference a destructured prop vuejs/core

by lazerg

defineModel() hoists its prop options into the component's props, but the props destructure transform still rewrote identifiers inside them: a default reading a destructured prop produced _useModel(__props, "modelValue"__props.defaultValue) and the file stopped parsing. Since the options land at module scope, where neither the destructured binding nor __props exists, the compiler now errors ins...

fix(custom-element): skip mounting an async custom element removed while its component loads (#15777) vuejs/core

by Maciej Bak

An async custom element removed while its component was still loading previously went on to mount, and mounting now skips that element. Anyone embedding Vue components through defineCustomElement inside conditionally rendered markup gets the fix.

fix(transition-group): measure nested groups against their moving outer item vuejs/core

by edison1105

Nested transition groups now measure their movement against the enclosing group's moving outer item instead of computing positions in isolation, which stops the incorrect position shifts that appeared when parent and child groups updated independently. It closes a pair of transition-group issues that had stayed open.

fix(types): accept union-typed props in mount vuejs/test-utils

by Bao Nguyen

test-utils has carried a type regression since 2.4.2: P is inferred from props, but the only inference site is RawProps & P inside a union, so TypeScript picked the first union member and rejected shapes like { foo: string } | { foo: { bar: string } }. The types now accept union-typed props in mount. The oxfmt bump to v0.72.0 and pkg-pr-new to 0.0.91 are routine.

Quick answers

What shipped in Vue.js on October 13, 2026?
A day of runtime-core and compiler-sfc correctness fixes: root renders no longer drain queues they don't own, and async components keep their placeholder until they can actually be patched. In total, 24 commits and 26 pull requests landed.
Who contributed to Vue.js on October 13, 2026?
7 developers shipped this update, including Maciej Bak, edison1105, ondrhn, lazerg, cexbrayat, giaBaoJS, and renovate.
What were the notable Vue.js updates?
fix(runtime-core): only flush jobs queued by the root render itself, fix(runtime-core): keep async placeholder for block patching and pending component updates, and fix(compiler-sfc): error when defineModel prop options reference a destructured prop.