release-2026-10-15-0754
TanStack/queryrelease-2026-10-15-0754Oct 15, 2026by github-actions[bot]
Upgrading?
AI Summary
This release includes significant bug fixes for query core, including preservation of union narrowing in updaters, and updates to devtools and persistence logic. It also features extensive refactoring of SSR examples and improvements to CI/TypeScript configurations across the ecosystem.
Key Highlights
- Preserves union narrowing in setQueryData updaters to maintain type safety
- Devtools update client when prop changes, preserving initial fallback
- Await storage.setItem when persisting queries to prevent race conditions
- Enhanced SSR examples by sharing queries between server and client using queryOptions
- Updated Node.js version to v24.21.0 (Krypton LTS)
Full Release Notes
Release 2026-10-15 07:54 ## Changes ### Fix - query-core: preserve union narrowing in setQueryData updaters (#11935) (0f15bc925) by @sviat-barbutsa - examples/svelte/playground: keep unsaved edits out of the query cache and apply the 'staleTime' and 'gcTime' inputs (#11986) (9cce26005) by @sukvvon - examples/react/eslint-plugin-demo: pass the dependencies as arguments so the 'allowlist' demo is checked by 'exhaustive-deps' (#12012) (5959fdb80) by @sukvvon - examples/react/playground: keep only the edited fields as local state and apply the initial query defaults on creation (#11985) (6a4bfe519) by @sukvvon - examples/vue/dependent-queries: replace 'enabled' with 'skipToken' to type the author query (#12010) (fa49ddde3) by @sukvvon - examples/svelte/star-wars: type route params with 'PageProps' instead of 'page.params' (#12009) (8818228c5) by @sukvvon - vue-query-devtools: update client when prop changes (#11413) (67705fd6a) by @grzdev - query-persist-client-core/createPersister: await 'storage.setItem' when persisting a query (#11410) (ed4d84973) by @MaxFreedomPollard ### Refactor - examples/lit/ssr: replace the deprecated 'prefetchQuery' with 'query' in the server render (#11992) (a8af0e243) by @sukvvon - examples/react/batching: rename the parsed 'ids' in 'onChange' to 'parsedIds' to avoid shadowing the state (#12013) (e3e6b466a) by @sukvvon - examples/react/suspense: share the project queries between prefetching and 'useSuspenseQuery' with 'queryOptions' (#11990) (fd814043d) by @sukvvon - examples/react/nextjs: share the posts query between 'getStaticProps' and 'usePosts' with 'queryOptions' (#11989) (1aeece38a) by @sukvvon - examples/svelte/ssr: share the post queries between 'load' and components with 'queryOptions' (#11988) (542a6f03e) by @sukvvon - examples/lit/ssr: replace the 'satisfies CreateQueryOptions' annotation with 'queryOptions' (#11987) (06dbbd8ae) by @sukvvon - examples/react: move 'QueryClient' into '_app' with 'React.useState' (#11993) (0a3dfa0f0) by @sukvvon ### Chore - examples/svelte/playground: add a flat config and run 'test:eslint' (#12029) (a21e17b5e) by @sukvvon - examples/react: add the missing 'react' prefix to package names (#12028) (eea734d16) by @sukvvon - examples/vue: add 'test:types' to type-check the examples in CI (#12022) (8b48d0253) by @sukvvon - examples/react: add 'test:types' to type-check the examples in CI (#12020) (98451e1b3) by @sukvvon - examples/svelte: add 'test:types' to type-check the examples in CI (#12019) (682e00144) by @sukvvon - examples/solid: add 'test:types' to type-check the examples in CI and move 'astro check' out of 'build' (#12018) (e26971ebf) by @sukvvon - examples/lit: move the type check from 'build' to 'test:types' (#12017) (6768f4e0b) by @sukvvon - examples/preact: add 'test:types' to type-check the example in CI (#12016) (dc90144cd) by @sukvvon - examples/angular: add 'test:types' to type-check the examples in CI (#12015) (c87cdcb96) by @sukvvon - nx.json: build the dependencies before 'test:types' (#12021) (8d88a1725) by @sukvvon - examples/react/playground: replace the legacy '.eslintrc' with a flat config and run 'test:eslint' (#12011) (d5b265a54) by @sukvvon - examples: use 'defineConfig' from 'eslint/config' and enable '@ts-check' in 'eslint.config.js' (#12008) (ddcde7d5a) by @sukvvon - examples/vue: add a flat config and run 'test:eslint' (#12003) (41c178b28) by @sukvvon - examples/svelte: add a flat config and run 'test:eslint' (#12002) (0fbbc6213) by @sukvvon - examples/react: replace the legacy '.eslintrc' with a flat config and run 'test:eslint' (#11995) (1836f7924) by @sukvvon - deps: update '@typescript-eslint/parser' and '@typescript-eslint/rule-tester' catalog to '^8.71.1' (#11996) (668847f1a) by @sukvvon - examples/react/eslint-legacy: add 'plugin:@typescript-eslint/recommended' and declare the packages used by '.eslintrc' (#11994) (70c652b8e) by @sukvvon - examples/react: remove the 'eslint' option that Next.js 16 no longer supports from 'next.config.js' (#11991) (1ea892863) by @sukvvon - deps: update '@types/node' to '^24.19.2' to match Node 24 in '.nvmrc' (#11978) (d2f053638) by @sukvvon - .nvmrc: update Node to 'v24.21.0' (Krypton LTS) (#11979) (4968f16e7) by @sukvvon ## Packages - @tanstack/angular-query-experimental@5.104.3 - @tanstack/eslint-plugin-query@5.104.3 - @tanstack/lit-query@0.2.28 - @tanstack/preact-query@5.104.3 - @tanstack/preact-query-devtools@5.104.3 - @tanstack/preact-query-persist-client@5.104.3 - @tanstack/query-async-storage-persister@5.104.3 - @tanstack/query-broadcast-client-experimental@5.104.3 - @tanstack/query-core@5.104.3 - @tanstack/query-devtools@5.104.3 - @tanstack/query-persist-client-core@5.104.3 - @tanstack/query-sync-storage-persister@5.104.3 - @tanstack/react-query@5.104.3 - @tanstack/react-query-devtools@5.104.3 - @tanstack/react-query-next-experimental@5.104.3 - @tanstack/react-query-persist-client@5.104.3 - @tanstack/solid-query@5.104.3 - @tanstack/solid-query-devtools@5.104.3 - @tanstack/solid-query-persist-client@5.104.3 - @tanstack/svelte-query@6.3.3 - @tanstack/svelte-query-devtools@6.3.3 - @tanstack/svelte-query-persist-client@6.3.3 - @tanstack/vue-query@5.104.3 - @tanstack/vue-query-devtools@6.3.3
Related Repositories
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
Reverse engineer anything with agents, from app behavior down to native binaries.
The open source coding agent.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.