This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@tanstack/query-core@5.102.0
Minor Changes
#10658c6fc17c - add query and infiniteQuery methods, deprecate old imperative methods
Patch Changes
#1116134f7cee - fix(query-core): clear a stale select error when the observer switches to a query without data, and reset isPlaceholderData on select-error results to match the declared result types, so a previous query's select error no longer leaks into the new result
#112145bb089d - Reduce observer churn overhead by removing observers in place instead of copying the observer list for every unsubscribe.
#11011ba4650c - fix(query-core): reset isPlaceholderData when select throws on placeholder data
#11224294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
#112251f631b3 - Skip unused result tracking when notifying useQueries listeners without a combine function.
#1121501a02bf - Avoid repeatedly synchronizing the same tracked property across all observers in useQueries.
#1117218c1c1e - Reattach MutationObserver to its current mutation when a listener subscribes again, so a useMutation result no longer stays pending after React tears down and re-establishes the subscription mid-mutation.
#111285448063 - Ignore a retained pendingThenable settlement callback invoked after the thenable has settled. Holding a reference to resolve/reject and calling it later used to overwrite status and reason even though the underlying promise had already settled, leaving the thenable advertising a state that disagreed with its value.
#112185981771 - Release a mutation's retryer once its execution settles, so the settled promise no longer keeps that mutation's result, variables and context in memory for as long as the mutation cache retains it.
#111634a9bef6 - Release a query's retryer once its fetch settles, so the settled promise no longer keeps that fetch's raw result in memory alongside the structurally shared state.data (or after the query is reset or removed).
#11036bef4bc7 - Resolve suspense when query data is set programmatically via setQueryData or streamedQuery. Previously, fetchOptimistic returned only the fetch promise, which left the Suspense boundary stuck until the queryFn completed — even when data already existed in the cache. The fix uses Promise.race with a cache subscriber to release suspense as soon as data becomes available.
#11211326aaf1 - fix: resetQueries now preserves the queries matched before query.reset() changes their state.
@tanstack/angular-query-experimental@5.102.0
Patch Changes
#11224294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
#111883bc8edf - Fix false-positive warnings in no-unstable-deps rule caused by Object.prototype property lookups (toString, valueOf, etc.).
#111158582702 - Remove unused helper functions from the internal ASTUtils object (getNestedIdentifiers, getNestedReturnStatements, getClosestVariableDeclarator, mapKeyNodeToText, and mapKeyNodeToBaseText). They were not referenced by any rule and are not part of the public API.
@tanstack/lit-query@0.2.12
Patch Changes
#1094364a8035 - fix(lit-query): migrate to the standard tsdown build so the build output is cached by nx and test:build passes
#111465633820 - Brand the queryKey returned by infiniteQueryOptions with DataTag so getQueryData and setQueryData infer InfiniteData instead of unknown.
#103736e3d521 - fix(types): propagate generic type parameters to useMutationState select callback
#11224294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
#11147cb6c9d3 - Default TData of UseInfiniteQueryOptions and UseSuspenseInfiniteQueryOptions to InfiniteData<TQueryFnData> so it matches the hook generics.
#11233b866a95 - remove unused experimental_beforeQuery and experimental_afterQuery hooks
#11144e546d03 - fix: remove placeholderData from suspense infinite query
#103736e3d521 - fix(types): propagate generic type parameters to useMutationState select callback
#11224294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
#11147cb6c9d3 - Default TData of UseInfiniteQueryOptions and UseSuspenseInfiniteQueryOptions to InfiniteData<TQueryFnData> so it matches the hook generics.
#11228fb6c3fa - Avoid emitting a runtime import for React Query's type-only exports.
#11233b866a95 - remove unused experimental_beforeQuery and experimental_afterQuery hooks
#11144e546d03 - fix: remove placeholderData from suspense infinite query
#103736e3d521 - fix(types): propagate generic type parameters to useMutationState select callback
#11224294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
#103736e3d521 - fix(types): propagate generic type parameters to useMutationState select callback
#11224294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
#103736e3d521 - fix(types): propagate generic type parameters to useMutationState select callback
#11224294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
#105845199f08 - fix(vue-query): preserve TQueryKey inference when wrapping useQuery in a composable with a generic param
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@tanstack/query-core@5.102.0
Minor Changes
Patch Changes
#11161 34f7cee - fix(query-core): clear a stale select error when the observer switches to a query without data, and reset isPlaceholderData on select-error results to match the declared result types, so a previous query's select error no longer leaks into the new result
#11214 5bb089d - Reduce observer churn overhead by removing observers in place instead of copying the observer list for every unsubscribe.
#11011 ba4650c - fix(query-core): reset isPlaceholderData when select throws on placeholder data
#11224 294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
#11225 1f631b3 - Skip unused result tracking when notifying useQueries listeners without a combine function.
#11215 01a02bf - Avoid repeatedly synchronizing the same tracked property across all observers in useQueries.
#11172 18c1c1e - Reattach MutationObserver to its current mutation when a listener subscribes again, so a useMutation result no longer stays pending after React tears down and re-establishes the subscription mid-mutation.
#11128 5448063 - Ignore a retained pendingThenable settlement callback invoked after the thenable has settled. Holding a reference to resolve/reject and calling it later used to overwrite status and reason even though the underlying promise had already settled, leaving the thenable advertising a state that disagreed with its value.
#11218 5981771 - Release a mutation's retryer once its execution settles, so the settled promise no longer keeps that mutation's result, variables and context in memory for as long as the mutation cache retains it.
#11163 4a9bef6 - Release a query's retryer once its fetch settles, so the settled promise no longer keeps that fetch's raw result in memory alongside the structurally shared state.data (or after the query is reset or removed).
#11036 bef4bc7 - Resolve suspense when query data is set programmatically via setQueryData or streamedQuery. Previously, fetchOptimistic returned only the fetch promise, which left the Suspense boundary stuck until the queryFn completed — even when data already existed in the cache. The fix uses Promise.race with a cache subscriber to release suspense as soon as data becomes available.
#11211 326aaf1 - fix: resetQueries now preserves the queries matched before query.reset() changes their state.
@tanstack/angular-query-experimental@5.102.0
Patch Changes
#11224 294d4e6 - Fix queryOptions and infiniteQueryOptions return types so exported inferred options can be emitted in declaration files without leaking internal data tag symbols.
Updated dependencies [34f7cee, 5bb089d, ba4650c, 294d4e6, 1f631b3, 01a02bf, 18c1c1e, 5448063, 5981771, 4a9bef6, bef4bc7, 326aaf1, c6fc17c]:
@tanstack/eslint-plugin-query@5.102.0
Patch Changes
#11212 279bb55 - TypeScript 7 compatibility
#11188 3bc8edf - Fix false-positive warnings in no-unstable-deps rule caused by Object.prototype property lookups (toString, valueOf, etc.).
#11115 8582702 - Remove unused helper functions from the internal ASTUtils object (getNestedIdentifiers, getNestedReturnStatements, getClosestVariableDeclarator, mapKeyNodeToText, and mapKeyNodeToBaseText). They were not referenced by any rule and are not part of the public API.
@tanstack/lit-query@0.2.12
Patch Changes
#10943 64a8035 - fix(lit-query): migrate to the standard tsdown build so the build output is cached by nx and test:build passes
#11146 5633820 - Brand the queryKey returned by infiniteQueryOptions with DataTag so getQueryData and setQueryData infer InfiniteData instead of unknown.
Updated dependencies [34f7cee, 5bb089d, ba4650c, 294d4e6, 1f631b3, 01a02bf, 18c1c1e, 5448063, 5981771, 4a9bef6, bef4bc7, 326aaf1, c6fc17c]:
@tanstack/preact-query@5.102.0
Patch Changes
#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.
#11233 b866a95 - remove unused experimental_beforeQuery and experimental_afterQuery hooks
#11144 e546d03 - fix: remove placeholderData from suspense infinite query
Updated dependencies [34f7cee, 5bb089d, ba4650c, 294d4e6, 1f631b3, 01a02bf, 18c1c1e, 5448063, 5981771, 4a9bef6, bef4bc7, 326aaf1, c6fc17c]:
@tanstack/preact-query-devtools@5.102.0
Patch Changes
@tanstack/preact-query-persist-client@5.102.0
Patch Changes
@tanstack/query-async-storage-persister@5.102.0
Patch Changes
@tanstack/query-broadcast-client-experimental@5.102.0
Patch Changes
@tanstack/query-persist-client-core@5.102.0
Patch Changes
@tanstack/query-sync-storage-persister@5.102.0
Patch Changes
@tanstack/react-query@5.102.0
Patch Changes
#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.
#11228 fb6c3fa - Avoid emitting a runtime import for React Query's type-only exports.
#11233 b866a95 - remove unused experimental_beforeQuery and experimental_afterQuery hooks
#11144 e546d03 - fix: remove placeholderData from suspense infinite query
Updated dependencies [34f7cee, 5bb089d, ba4650c, 294d4e6, 1f631b3, 01a02bf, 18c1c1e, 5448063, 5981771, 4a9bef6, bef4bc7, 326aaf1, c6fc17c]:
@tanstack/react-query-devtools@5.102.0
Patch Changes
@tanstack/react-query-next-experimental@5.102.0
Patch Changes
@tanstack/react-query-persist-client@5.102.0
Patch Changes
@tanstack/solid-query@5.102.0
Patch Changes
#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.
#10571 47d49d3 - Resolve the query client context outside reactive memo callbacks.
Updated dependencies [34f7cee, 5bb089d, ba4650c, 294d4e6, 1f631b3, 01a02bf, 18c1c1e, 5448063, 5981771, 4a9bef6, bef4bc7, 326aaf1, c6fc17c]:
@tanstack/solid-query-devtools@5.102.0
Patch Changes
@tanstack/solid-query-persist-client@5.102.0
Patch Changes
@tanstack/svelte-query@6.1.39
Patch Changes
#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.
Updated dependencies [34f7cee, 5bb089d, ba4650c, 294d4e6, 1f631b3, 01a02bf, 18c1c1e, 5448063, 5981771, 4a9bef6, bef4bc7, 326aaf1, c6fc17c]:
@tanstack/svelte-query-devtools@6.1.39
Patch Changes
@tanstack/svelte-query-persist-client@6.1.39
Patch Changes
@tanstack/vue-query@5.102.0
Patch Changes
#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.
#10584 5199f08 - fix(vue-query): preserve TQueryKey inference when wrapping useQuery in a composable with a generic param
Updated dependencies [34f7cee, 5bb089d, ba4650c, 294d4e6, 1f631b3, 01a02bf, 18c1c1e, 5448063, 5981771, 4a9bef6, bef4bc7, 326aaf1, c6fc17c]:
@tanstack/vue-query-devtools@6.1.39
Patch Changes
@tanstack/query-devtools@5.102.0
@tanstack/angular-query-persist-client@5.102.0
Patch Changes