Files
upstream-tanstack-query/packages/query-core/CHANGELOG.md
upstream-mirror 3a013ccdfe
Some checks failed
autofix.ci / autofix (push) Failing after 4s
Release / Release (push) Has been skipped
GitHub Actions Security Analysis / Run zizmor (push) Failing after 2s
snapshot of https://github.com/TanStack/query.git (main, 2026-09-16; blobs > 131072B omitted)
2026-09-16 01:13:08 +05:00

14 KiB

@tanstack/query-core

5.102.8

5.102.7

5.102.6

5.102.5

Patch Changes

  • #11302 578e5c2 - Reduce the Query Core bundle size by removing unused symbol descriptions and simplifying internal helpers.

5.102.4

Patch Changes

  • #11293 a05df6a - Avoid scheduling stale timeouts for disabled query observers.

5.102.3

5.102.2

Patch Changes

  • #11263 80fbf73 - Export MutationCacheConfig and QueryCacheConfig.

5.102.1

Patch Changes

  • #11260 134890d - Type hydration input as a partial dehydrated state so omitted mutation and query collections are supported.

5.102.0

Minor Changes

  • #10658 c6fc17c - add query and infiniteQuery methods, deprecate old imperative methods

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

  • #11253 b4368c4 - Improve hydration performance by skipping no-op data transforms and default error-redaction callbacks. Export dehydrateQuery.

  • #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.

  • #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.

  • #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.

  • #11234 9656dc4 - Notify every query observer when another observer unsubscribes synchronously during the same query update.

  • #11211 326aaf1 - fix: resetQueries now preserves the queries matched before query.reset() changes their state.

  • #11065 3e83601 - Memoize falsy combine results when the function and query results are unchanged.

5.101.4

5.101.3

Patch Changes

  • #11084 7e3c822 - Improve partialMatchKey performance in query-core.

5.101.2

5.101.1

Patch Changes

  • #10610 9eff92e - fix missing dataUpdatedAt for streamed queries that resolve before hydration

5.101.0

5.100.14

5.100.13

Patch Changes

  • fix(query-core): drop the custom NoInfer<T> re-export and rely on TypeScript's built-in NoInfer (TS ≥ 5.4) so NoInfer<X[K]> stays assignable to X[K] in generic contexts (fixes #9937) (#10593)

5.100.12

5.100.11

5.100.10

5.100.9

Patch Changes

  • fix(query-core): wrap 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)

5.100.8

5.100.7

5.100.6

5.100.5

Patch Changes

  • fix(core): propagate AbortSignal reason in infinite queries (a53ef97)

5.100.4

5.100.3

Patch Changes

  • fix(suspense): skip calling combine when queries would suspend (#10576)

5.100.2

Patch Changes

  • fix(query-core): allow persister to contribute to TQueryFnData inference so a queryFn that declares a parameter no longer produces a spurious overload mismatch against a typed persister (#7842). (#10510)

  • fix: preserve infinite query behavior during SSR hydration (#8825) (#10074)

  • ref(core): remove leftover setStateOptions (#10574)

5.100.1

Patch Changes

  • Fix bugs where hydrating queries with promises that had already resolved could cause queries to briefly and incorrectly show as pending/fetching (#10444)

5.100.0

Minor Changes

  • feat(query-core): accept callback function for retryOnMount (#10515)

5.99.2

5.99.1

5.99.0

5.98.0

5.97.0

Patch Changes

  • fix(query-core): use explicit undefined check for timer IDs so that custom TimeoutProviders returning 0 as a valid timer ID are properly cleared (#10401)

5.96.2

5.96.1

5.96.0

5.95.2

Patch Changes

  • fix(timeoutManager): make sure NodeJs.Timout doesn't leak (#10325)

5.95.1

Patch Changes

  • fix(timeoutManager): make sure NodeJs.Timout doesn't leak (#10323)

5.95.0

5.94.5

Patch Changes

  • fix(*): resolve issue about excluded build directory (#10312)

5.94.4

Patch Changes

  • chore: fixed version (#10064)

5.91.2

Patch Changes

  • fix(streamedQuery): maintain error state on reset refetch with initialData defined (#10287)

5.91.1

Patch Changes

  • fix(core): cancel paused initial fetch when last observer unsubscribes (#10291)

5.91.0

Minor Changes

  • feat: environmentManager (#10199)

5.90.20

Patch Changes

  • Fix: onMutate callback now runs synchronously when mutationCache.config.onMutate is not defined (#10066)

5.90.19

Patch Changes

  • fix stable combine reference not updating when queries change dynamically (#9954)

5.90.18

Patch Changes

  • Align experimental_prefetchInRender promise rejection with Suspense behavior by only throwing when no data is available. (#10025)

5.90.17

Patch Changes

  • fix(query-core): replaceEqualDeep max depth (#10032)

5.90.16

Patch Changes

  • fix useQueries race condition on queries length change (#9971) (#9973)

5.90.15

Patch Changes

  • Fix: Always treat existing data as stale when query goes into error state. (#9927)

5.90.14

Patch Changes

  • Fix streamedQuery reducer being called twice (#9970)

5.90.13

Patch Changes

  • Made context.signal consume aware with streamedQuery (#9963)

5.90.12

Patch Changes

  • fix: update react and nextJs (#9944)

5.90.11

Patch Changes

  • Prevent infinite render loops when useSuspenseQueries has duplicate queryKeys (#9886)

5.90.10

Patch Changes

  • fix(types): allow QueryFilters union with different lengths (#9878)

  • Fix streamedQuery to avoid returning undefined when the stream yields no values (#9876)

5.90.9

Patch Changes

  • fix(types): do not drop readonly for partial QueryFilter matching (#9872)

5.90.8

Patch Changes

  • fix: allow partial query keys in QueryFilters (#9686)

5.90.7

Patch Changes

  • fix(core): only attach .then and .catch onto a promise if it gets dehydrated (#9847)

5.90.6

Patch Changes

  • Fixed isFetchedAfterMount in cases where initialData is applied (#9743)

5.90.5

Patch Changes

  • fix: observing "promise" needs to implicitly observe "data" (#9772)

5.90.4

Patch Changes

  • fix(types): remove duplicate Array condition in MutationKey type (#9754)

5.90.3

Patch Changes

  • Avoid unhandled promise rejection errors during de/rehydration of pending queries. (#9752)