The Wire · Showcase
PINIA SETUP STORES GET HMR FIX AND TEST DIAGNOSTICS
By RepoJournal · Filed · About Vue.js
Pinia shipped critical fixes for setup stores that were losing runtime-added properties during hot module replacement, while new diagnostics catch common testing mistakes before they ship.
The biggest story is the HMR fix [1] that preserves properties dynamically added to setup store refs after the store initializes. This was breaking real-world patterns where actions set optional fields on state objects. The same PR also documents a longstanding confusion point [2]: `stubActions` can't intercept internal action calls in setup stores because they use closed-over function references instead of routing through the store proxy like Options API stores do. The workaround is straightforward - call actions via `useStore()` inside the store itself to make them interceptable. On the diagnostics front, Pinia added validation that catches invalid properties passed to `storeToRefs` [3] and wrong values configured in plugins [4], surfacing mistakes that would have silently failed in tests or production. Vue Router's docs now list Deno as an install option [5] alongside npm, yarn, pnpm, and bun. Test Utils bumped oxfmt to 0.55.0 [6], a tooling maintenance update with no breaking changes.
Action items
- → Update Pinia to get the HMR fix if you use setup stores with runtime-added properties vuejs/pinia [plan]
- → Review setup store test code and either switch to useStore() for action calls or update test expectations for stubActions vuejs/pinia [plan]
- → Monitor the new diagnostics for storeToRefs and plugin validation in your test suite vuejs/pinia [monitor]
References
- [1] fix(hmr): preserve runtime-added properties of setup store refs ↗ vuejs/pinia
- [2] docs: clarify `stubActions` limitations in Setup stores ↗ vuejs/pinia
- [3] feat: diagnostic on invalid properties when doing storeToRefs vuejs/pinia
- [4] feat: diagnostic wrong values in plugins vuejs/pinia
- [5] docs: add Deno to install instructions ↗ vuejs/router
- [6] chore(deps): update dependency oxfmt to v0.55.0 ↗ vuejs/test-utils
FAQ
- What changed in Vue.js on June 19, 2026?
- Pinia shipped critical fixes for setup stores that were losing runtime-added properties during hot module replacement, while new diagnostics catch common testing mistakes before they ship.
- What should Vue.js teams do about it?
- Update Pinia to get the HMR fix if you use setup stores with runtime-added properties • Review setup store test code and either switch to useStore() for action calls or update test expectations for stubActions • Monitor the new diagnostics for storeToRefs and plugin validation in your test suite
- Which Vue.js repositories shipped on June 19, 2026?
- vuejs/pinia, vuejs/router, vuejs/test-utils