NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #903 most downloaded on npm
Hooks for managing, caching and syncing asynchronous and remote data in React
Last release 2 days ago
02 Oct 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 56 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
538 releases · first in 2022
One column per quarter.
Patch Changes Updated dependencies []: @tanstack/query-core@5.104.1
ec060b6]:
Updated dependencies [ 5279b05 ]:
Patch Changes Updated dependencies []: @tanstack/query-core@5.103.3
Updated dependencies [ 8a28904 ]:
8a28904]:
Updated dependencies [ 8330b2f , 3212966 ]:
Updated dependencies [ e57f816 , fdae2ce , a1119e5 , cbf77bf ]:
Patch Changes Updated dependencies []: @tanstack/query-core@5.102.8
Patch Changes Updated dependencies []: @tanstack/query-core@5.102.7
Patch Changes Updated dependencies []: @tanstack/query-core@5.102.6
Updated dependencies [ 578e5c2 ]:
578e5c2]:
Updated dependencies [`a05df6a`]:
a05df6a]:
Patch Changes Updated dependencies []: @tanstack/query-core@5.102.3
Updated dependencies [`80fbf73`]:
80fbf73]:
Updated dependencies [`134890d`]:
134890d]:
Updated dependencies [`34f7cee`, `b4368c4`, `5bb089d`, `ba4650c`, `294d4e6`, `1f631b3`, `01a02bf`, `18c1c1e`, `5448063`, `2215bb0`, `1ef4208`, `598177
e674826 - react-query: update usePrefetchQuery and usePrefetchInfiniteQuery to use queryClient.query and queryClient.infiniteQuery#11245 37127db - revert: remove NoInfer from useQuery return types
#10373 6e3d521 - fix(types): propagate generic type parameters to useMutationState select callback
#11224 294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
#11147 cb6c9d3 - Default TData of UseInfiniteQueryOptions and UseSuspenseInfiniteQueryOptions to InfiniteData<TQueryFnData> so it matches the hook generics.
#8737 2215bb0 - fix: make mutation variables optional when undefined extends TVariables
#11221 1ef4208 - Remove experimental render-time prefetching and the promise property from query results.
#11228 fb6c3fa - Avoid emitting a runtime import for React Query's type-only exports.
#11130 8834267 - fix(react-query): don't show optimistic fetching for unsubscribed useQueries
#11233 b866a95 - remove unused experimental_beforeQuery and experimental_afterQuery hooks
#11144 e546d03 - fix: remove placeholderData from suspense infinite query
Updated dependencies [34f7cee, b4368c4, 5bb089d, ba4650c, 294d4e6, 1f631b3, 01a02bf, 18c1c1e, 5448063, 2215bb0, 1ef4208, 5981771, 4a9bef6, bef4bc7, 9656dc4, 326aaf1, 3e83601, c6fc17c]:
### Patch Changes - Updated dependencies \[]: - @tanstack/query-core@5.101.4
Updated dependencies \[`7e3c822`]:
7e3c822]:
7e3c822]:
### Patch Changes - Updated dependencies \[]: - @tanstack/query-core@5.101.2
#10813 f5bf180 - fix(query-devtools/PiPContext): reset 'pip_open' in 'localStore' from 'closePipWindow' so the auto-open createEffect does not reopen the window after a programmatic close
#10812 25cdd97 - fix(query-devtools/utils): make 'last updated' sort return 0 for queries with equal 'dataUpdatedAt' to follow the standard comparator contract
#10815 ecd89c8 - fix(query-devtools/utils): scope the 'setupStyleSheet' dedup check to the target so a 'shadowDOMTarget' still receives its own '#_goober' style tag when 'document.head' already has one
#10811 01c7634 - fix(query-devtools/Devtools): correct the Theme sub-trigger className from 'position' to 'theme'
#10736 49012db - setupStyleSheet now sets window.__nonce__ when a styleNonce is provided.
The devtools use goober for CSS-in-JS, which reads window.__nonce__ every time it creates or accesses its style element. Without this, goober overwrote the nonce with undefined, causing CSP violations even when styleNonce was correctly passed to <ReactQueryDevtools>.
Updated dependencies \[`9eff92e`]:
9eff92e]:
9eff92e]:
### Patch Changes - #10826 `1348095` - Replace deprecated isServer with environmentManager.isServer() - Updated dependencies \[]: - @tanstack/query-co
### Patch Changes - Updated dependencies \[]: - @tanstack/query-core@5.100.14
fix(react-query): do not go into optimistic fetching state when not subscribed (#10759)
Updated dependencies []:
ed20b6d]:
ed20b6d]:
ed20b6d]:
fix(query-core): drop the custom NoInfer re-export and rely on TypeScript's built-in NoInfer (TS ≥ 5.4) so NoInfer stays assignable to X[K] in generic
d423168]:
d423168]:
### Patch Changes - Updated dependencies \[]: - @tanstack/query-core@5.100.12
fix(vue-query): allow reactive and getter values as queryKey property in queryOptions
fix(vue-query): allow reactive and getter values as queryKey property in queryOptions (#10530)
This fixes a regression introduced in #10452 where queryOptions only accepted plain arrays for the queryKey property, but not computed refs, Ref values, or getter functions. The related fix in #10465 only covered the enabled property.
Now the queryKey property in queryOptions accepts the same reactive forms as enabled:
QueryKey arraysRef<QueryKey>ComputedRef<QueryKey>() => QueryKey (getter)Updated dependencies []:
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.100.10
Updated dependencies \[`fcee7bd`]:
fcee7bd]:
3d21cac]:
3d21cac]:
fcee7bd]:
setOnClose callback type to return void. (#10607)persister's TQueryKey in NoInfer so that the persister slot no longer contributes to TQueryKey inference. Follow-up to #10510, which removed NoInfer on all three persister generics. Preserving NoInfer<TQueryKey> keeps that fix's benefit for TQueryFnData while preventing TQueryKey from widening to the augmented constraint when Register.queryKey is narrowed — which made DataTag-branded wrapper returns un-assignable in contravariant slots. (#10601)3d21cac]:
@tanstack/query-persist-client-core@5.100.8
refactor(preact-query-devtools): replace deprecated 'JSX.CSSProperties' with 'CSSProperties' from Preact namespace (#10622)
Updated dependencies []:
### Patch Changes - Updated dependencies \[]: - @tanstack/query-core@5.100.7
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.100.6
Updated dependencies [`a53ef97`]:
a53ef97]:
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.100.4
fix(suspense): skip calling combine when queries would suspend
Updated dependencies [`ea4497e`, `d6a7bf3`, `645d5d1`]:
Updated dependencies [`1bb0d23`]:
1bb0d23]:
Updated dependencies [`6540a41`]:
6540a41]:
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.99.2
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.99.1
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.99.0
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.98.0
Updated dependencies [`2bfb12c`]:
2bfb12c]:
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.96.2
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.96.1
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.96.0
Updated dependencies [`cd5a35b`]:
cd5a35b]:
Updated dependencies [`1f1775c`]:
1f1775c]:
### Patch Changes - Updated dependencies []: - @tanstack/query-core@5.95.0
fix(\*): resolve issue about excluded build directory
Updated dependencies [`4c75210`]:
fix: stop node types from leaking into browser
fix(streamedQuery): maintain error state on reset refetch with initialData defined
Updated dependencies [`6fa901b`]:
refactor(react-query/useQueries): remove unreachable 'willFetch' branch in suspense promise collection
Updated dependencies [`e7258c5`]:
e7258c5]:
Updated dependencies [`53fc74e`]:
53fc74e]:
Updated dependencies [`dea1614`]:
dea1614]:
Updated dependencies [`269351b`]:
269351b]:
fix(react-query): allow retryOnMount when throwOnError is function
Updated dependencies [`fccef79`]:
fccef79]:
Updated dependencies [`d576092`]:
d576092]:
Updated dependencies [`4a0a78a`]:
4a0a78a]:
Your coding agent can read these notes before it upgrades. Set up the MCP server →