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-21
stories 21

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

Devtools adds first Vapor support, language-tools fixes unchecked directive bindings

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

Vue's tooling absorbed the day's real work: devtools opens the Vapor 3.6 path, language-tools restores type checking it had silently lost, and eslint-plugin-vue keeps grinding through its TypeScript migration.

feat: add initial Vue Vapor support vuejs/devtools

by webfansplz

The first phase of Vue Vapor (3.6) support lands in devtools, with a written plan in plans/vapor-support.md covering breakage inventory and phases, plus a playground (pnpm play:vapor) holding both a pure createVaporApp tree and a createApp + vaporInteropPlugin mixed tree. Later phases ship as separate PRs, so expect the guard functions in packages/kit/src/runtime/vapor.ts to change shape before...

fix(language-core): check bindings of generic directive hooks vuejs/language-tools

by johnsoncodehk

Directive hooks that are generic or overloaded have had their bindings silently unchecked since #6197, because padding the signature for Vue's 4-argument call fell back to a permissive (...args: any[]) overload. The generated call now routes through a temp variable and passes never for each parameter the hook declares past (el, binding), so TypeScript checks those directives against their real ...

refactor: migrate component option rules to TypeScript vuejs/eslint-plugin-vue

by ValentinYoushkevich

The TypeScript migration of eslint-plugin-vue continues with five component-option rules (order-in-components, component-api-style, sort-keys, new-line-between-multi-line-property, no-potential-component-option-typo) plus no-this-in-before-route-enter, no-unused-vars and jsx-uses-vars. The changes are mechanical, ESM imports and JSDoc types, and the rules are self-contained with nothing importi...

fix(runtime-dom): treat disablepictureinpicture and disableremoteplayback as boolean attributes vuejs/core

by ValentinYoushkevich

disablepictureinpicture and disableremoteplayback were rendered as string attributes, so <video :disablepictureinpicture="false"> emitted disablepictureinpicture="false" and the browser kept Picture-in-Picture disabled. Both are boolean content attributes, and runtime-dom now treats them as such, which fixes bindings like :disablepictureinpicture="!enablePip".

fix(language-core): avoid non-null assertion in JS slot codegen vuejs/language-tools

by johnsoncodehk

Template codegen emitted the TypeScript-only x! when hoisting slot variables, producing TS8013 in unmapped generated code for JS components. JS now emits __VLS_nonNull(x) instead; TS output is unchanged.

Quick answers

What shipped in Vue.js on October 21, 2026?
Vue's tooling absorbed the day's real work: devtools opens the Vapor 3.6 path, language-tools restores type checking it had silently lost, and eslint-plugin-vue keeps grinding through its TypeScript migration. In total, 10 commits, 10 pull requests, and 1 releases landed.
Who contributed to Vue.js on October 21, 2026?
4 developers shipped this update, including johnsoncodehk, renovate, ValentinYoushkevich, and webfansplz.
What were the notable Vue.js updates?
feat: add initial Vue Vapor support, fix(language-core): check bindings of generic directive hooks, and refactor: migrate component option rules to TypeScript.