The Wire · Showcase
VUE CORE PLUGS ASYNC COMPONENT LEAK, FIXES MODEL SYNC EDGE CASE
By RepoJournal · Filed · About Vue.js
Vue's runtime now cancels async component callbacks after unmount, stopping false timeout errors from polluting error tracking in production.
The big fix lands in vuejs/core: async components that unmount before their timeout fires no longer report errors to your global error handler or Sentry [1]. This solves a real production problem where users navigate away mid-load and the app still screams about timeouts for components that are already gone. In parallel, a defineModel fix addresses Firefox behavior where rapid input changes weren't syncing correctly with parent updates [2], keeping local state consistent during aggressive typing or form submission. Over in the toolchain, create-vue picked up npm-run-all2 v9 [6], while core dependencies continue their steady march: eslint to 10.4.1 [3], Rollup's CommonJS plugin to 29.0.3 [4], and Vitest coverage tools to 4.1.8 [5]. The template repo also fixed a packaging bug where eslint-plugin-vue's peer dependency on vue-eslint-parser wasn't being included in scaffolded projects [7], which would have caused silent linting failures for new apps. Vapor compiler picked up two performance optimizations from core: reactive event binding helpers and inlined DOM lookup placeholders [ref:11, ref:12].
Action items
- → Pull the async component unmount fix into your next release if you use defineAsyncComponent with timeouts vuejs/core [plan]
- → Regenerate create-vue projects or manually add vue-eslint-parser if using eslint-plugin-vue vuejs/create-vue [plan]
- → Update npm-run-all2 to v9 when convenient in create-vue scaffolds vuejs/create-vue [monitor]
References
- [1] fix(runtime-core): skip async component callbacks after unmount ↗ vuejs/core
- [2] fix(runtime-core): force model update when reverted before sync (fix #13524) ↗ vuejs/core
- [3] chore(deps): update lint ↗ vuejs/core
- [4] chore(deps): update build ↗ vuejs/core
- [5] chore(deps): update test ↗ vuejs/core
- [6] chore(deps): update dependency npm-run-all2 to v9 ↗ vuejs/create-vue
- [7] fix: add missing dependency ↗ vuejs/create-vue
- [8] perf(compiler/vapor): use onBinding helper for reactive events vuejs/vue-jsx-vapor
- [9] perf(compiler/vapor): inline single-use DOM lookup placeholders vuejs/vue-jsx-vapor
FAQ
- What changed in Vue.js on June 11, 2026?
- Vue's runtime now cancels async component callbacks after unmount, stopping false timeout errors from polluting error tracking in production.
- What should Vue.js teams do about it?
- Pull the async component unmount fix into your next release if you use defineAsyncComponent with timeouts • Regenerate create-vue projects or manually add vue-eslint-parser if using eslint-plugin-vue • Update npm-run-all2 to v9 when convenient in create-vue scaffolds
- Which Vue.js repositories shipped on June 11, 2026?
- vuejs/core, vuejs/create-vue, vuejs/vue-jsx-vapor