The Wire · Showcase
APOLLO COMPOSABLES FIX REACTIVITY TRAP, CREATE-VUE ROLLS FORWARD
By RepoJournal · Filed · About Vue.js
Vue Apollo shipped critical fixes for DocumentNode identity loss that was breaking query caching, while create-vue steadies its toolchain with Vite and jsdom updates.
OrbitingBucket landed a trio of fixes across Vue Apollo's composable layer. The headline fix stops useQuery, useMutation, and useSubscription from wrapping plain DocumentNodes in reactive proxies [1][2], a trap that destroyed Apollo's per-document WeakMap caching and forced dependency tracking on every AST node. A separate commit preserves generics in provideApolloClient's return type, so callers stop typing as any [3]. Over in create-vue, Renovate pushed through a Vite 8.2.0 bump [4], jsdom to 30.0.1 [5], and Prettier to 3.9.6 [6], keeping the scaffolder current without drama. The ecosystem-ci repo absorbed upstream changes and pruned stale dependency overrides [7][8][9]. Across all three repos: 4 commits, 6 PRs.
One email a day. Unsubscribe in one click.
Keep up with Vue.js in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → If you use Vue Apollo composables with cached queries, update to pick up the DocumentNode identity fix vuejs/apollo [immediate]
- → Test create-vue scaffolds with Vite 8.2.0 and jsdom 30 before your next new project vuejs/create-vue [plan]
- → Monitor ecosystem-ci for any CI breakage as upstream dependencies land vuejs/ecosystem-ci [monitor]
References
- [1] fix(@vue/apollo-composable): preserve DocumentNode identity in useQuery, useMutation, useSubscription ↗ vuejs/apollo
- [2] fix(@vue/apollo-composable): preserve DocumentNode identity in composables (#1616) vuejs/apollo
- [3] fix(useApolloClient): preserve generics in provideApolloClient(s) result type ↗ vuejs/apollo
- [4] chore(deps): update vite packages ↗ vuejs/create-vue
- [5] chore(deps): update dependency jsdom to v30 ↗ vuejs/create-vue
- [6] chore(deps): update dependency prettier to v3.9.6 - autoclosed ↗ vuejs/create-vue
- [7] fix: adapt ecosystem tests to upstream changes ↗ vuejs/ecosystem-ci
- [8] fix: adapt ecosystem tests to upstream changes vuejs/ecosystem-ci
- [9] chore(deps): update dependencies and prune stale overrides vuejs/ecosystem-ci