#130508020829 Thanks @phryneas! - Replace usage of findLast with more backwards-compatible methods.
#1304905638de Thanks @phryneas! - Fixes an issue where queries starting with skipToken or lazy queries from useLazyQuery were included in client.refetchQueries() before they had been executed for the first time. While generally queries with a standbyfetchPolicy should be included in refetch, these queries never had variables passed in, so they should be excluded until they have run once and received their actual variables.
These queries are now properly excluded from refetch operations until after their initial execution.
This change adds a new hidden option to client.watchQuery, [variablesUnknownSymbol], which may be set true for queries starting with a fetchPolicy of standby. It will only be applied when creating the ObservableQuery instance and cannot be changed later. This flag indicates that the query's variables are not yet known, and thus it should be excluded from refetch operations until they are. This option is not meant for everyday use and is intended for framework integrations only.
#129938f3bc9b Thanks @jerelmiller! - Fix an issue where switching from options with variables to skipToken with useSuspenseQuery and useBackgroundQuery would create a new ObservableQuery. This could cause unintended refetches where variables were absent in the request when the query was referenced with refetchQueries.
#129373b0d89b Thanks @phryneas! - Fix a problem with fetchMore where the loading state wouldn't reset if the result wouldn't result in a data update.
#12892db8a04b Thanks @jerelmiller! - Prevent unhandled rejections from the promise returned by calling the mutate function from the useMutation hook.
#128995352c12 Thanks @phryneas! - Fix an issue when invariant is called by external libraries when no dev error message handler is loaded.
#1289571f2517 Thanks @jerelmiller! - Support skipToken with useQuery to provide a more type-safe way to skip query execution.
import{skipToken,useQuery}from"@​apollo/client/react";// Use `skipToken` in place of `skip: true` for better type safety
// for required variables
const{data}=useQuery(QUERY,id?{variables:{id}}:skipToken);
Note: this change is provided as a patch within the 4.0 minor version because the changes to TypeScript validation with required variables in version 4.0 made using the skip option more difficult.
#12900c0d5be7 Thanks @phryneas! - Use named export equal instead of default from "@​wry/equality"
#130508020829 Thanks @phryneas! - Replace usage of findLast with more backwards-compatible methods.
#1304905638de Thanks @phryneas! - Fixes an issue where queries starting with skipToken or lazy queries from useLazyQuery were included in client.refetchQueries() before they had been executed for the first time. While generally queries with a standbyfetchPolicy should be included in refetch, these queries never had variables passed in, so they should be excluded until they have run once and received their actual variables.
These queries are now properly excluded from refetch operations until after their initial execution.
This change adds a new hidden option to client.watchQuery, [variablesUnknownSymbol], which may be set true for queries starting with a fetchPolicy of standby. It will only be applied when creating the ObservableQuery instance and cannot be changed later. This flag indicates that the query's variables are not yet known, and thus it should be excluded from refetch operations until they are. This option is not meant for everyday use and is intended for framework integrations only.
This MR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@apollo/client](https://www.apollographql.com/docs/react/) ([source](https://github.com/apollographql/apollo-client)) | [`3.14.0` → `4.0.11`](https://renovatebot.com/diffs/npm/@apollo%2fclient/3.14.0/4.0.11) |  |  |
---
### Release Notes
<details>
<summary>apollographql/apollo-client (@​apollo/client)</summary>
### [`v4.0.11`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#4011)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.10...@apollo/client@4.0.11)
##### Patch Changes
- [#​13050](https://github.com/apollographql/apollo-client/pull/13050) [`8020829`](https://github.com/apollographql/apollo-client/commit/8020829d8a3bdb3219a37e8d1f7b89179f721037) Thanks [@​phryneas](https://github.com/phryneas)! - Replace usage of `findLast` with more backwards-compatible methods.
- [#​13049](https://github.com/apollographql/apollo-client/pull/13049) [`05638de`](https://github.com/apollographql/apollo-client/commit/05638deaf598c5bf5d03b82d7deaf57468546229) Thanks [@​phryneas](https://github.com/phryneas)! - Fixes an issue where queries starting with `skipToken` or lazy queries from `useLazyQuery` were included in `client.refetchQueries()` before they had been executed for the first time. While generally queries with a `standby` `fetchPolicy` should be included in refetch, these queries never had `variables` passed in, so they should be excluded until they have run once and received their actual variables.
These queries are now properly excluded from refetch operations until after their initial execution.
This change adds a new hidden option to `client.watchQuery`, `[variablesUnknownSymbol]`, which may be set `true` for queries starting with a `fetchPolicy` of `standby`. It will only be applied when creating the `ObservableQuery` instance and cannot be changed later. This flag indicates that the query's variables are not yet known, and thus it should be excluded from refetch operations until they are.
**This option is not meant for everyday use and is intended for framework integrations only.**
### [`v4.0.10`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#4010)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.9...@apollo/client@4.0.10)
##### Patch Changes
- [#​13045](https://github.com/apollographql/apollo-client/pull/13045) [`af4acdc`](https://github.com/apollographql/apollo-client/commit/af4acdc88bd3bac0d697ab300816241e4065842c) Thanks [@​phryneas](https://github.com/phryneas)! - Fix memory leak [#​13036](https://github.com/apollographql/apollo-client/issues/13036)
### [`v4.0.9`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#409)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.8...@apollo/client@4.0.9)
##### Patch Changes
- [#​12993](https://github.com/apollographql/apollo-client/pull/12993) [`8f3bc9b`](https://github.com/apollographql/apollo-client/commit/8f3bc9b7253a737062dc0d652cd4f8b354f68ccc) Thanks [@​jerelmiller](https://github.com/jerelmiller)! - Fix an issue where switching from options with `variables` to `skipToken` with `useSuspenseQuery` and `useBackgroundQuery` would create a new `ObservableQuery`. This could cause unintended refetches where `variables` were absent in the request when the query was referenced with `refetchQueries`.
### [`v4.0.8`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#408)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.7...@apollo/client@4.0.8)
##### Patch Changes
- [#​12983](https://github.com/apollographql/apollo-client/pull/12983) [`f6d0efa`](https://github.com/apollographql/apollo-client/commit/f6d0efac4d99375c67255aee6d9b2981753b6f55) Thanks [@​CarsonF](https://github.com/CarsonF)! - Fix cache.modify() mapping readonly arrays to singular reference
### [`v4.0.7`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#407)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.6...@apollo/client@4.0.7)
##### Patch Changes
- [#​12950](https://github.com/apollographql/apollo-client/pull/12950) [`5b4f36a`](https://github.com/apollographql/apollo-client/commit/5b4f36a2b249d15e2e8165bd32d9b2fca7e70217) Thanks [@​jerelmiller](https://github.com/jerelmiller)! - Don't send `operationType` in the payload sent by `GraphQLWsLink`.
### [`v4.0.6`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#406)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.5...@apollo/client@4.0.6)
##### Patch Changes
- [#​12937](https://github.com/apollographql/apollo-client/pull/12937) [`3b0d89b`](https://github.com/apollographql/apollo-client/commit/3b0d89bc9dde3eaee9ddf0aec387da43fe71abc0) Thanks [@​phryneas](https://github.com/phryneas)! - Fix a problem with `fetchMore` where the loading state wouldn't reset if the result wouldn't result in a data update.
### [`v4.0.5`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#405)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.4...@apollo/client@4.0.5)
##### Patch Changes
- [#​12920](https://github.com/apollographql/apollo-client/pull/12920) [`e2fc385`](https://github.com/apollographql/apollo-client/commit/e2fc3850ddb2aa756fc44420390ae357daf31948) Thanks [@​phryneas](https://github.com/phryneas)! - Fix an invariance type error in the `MockedResponse` type.
### [`v4.0.4`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#404)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.3...@apollo/client@4.0.4)
##### Patch Changes
- [#​12892](https://github.com/apollographql/apollo-client/pull/12892) [`db8a04b`](https://github.com/apollographql/apollo-client/commit/db8a04b193c157d57d6fe0f187b1892afdda1b7d) Thanks [@​jerelmiller](https://github.com/jerelmiller)! - Prevent unhandled rejections from the promise returned by calling the `mutate` function from the `useMutation` hook.
- [#​12899](https://github.com/apollographql/apollo-client/pull/12899) [`5352c12`](https://github.com/apollographql/apollo-client/commit/5352c1208e19c93678fef7860a1a87841653eb64) Thanks [@​phryneas](https://github.com/phryneas)! - Fix an issue when `invariant` is called by external libraries when no dev error message handler is loaded.
- [#​12895](https://github.com/apollographql/apollo-client/pull/12895) [`71f2517`](https://github.com/apollographql/apollo-client/commit/71f2517132a34563a14934f3971666b3691710f9) Thanks [@​jerelmiller](https://github.com/jerelmiller)! - Support `skipToken` with `useQuery` to provide a more type-safe way to skip query execution.
```ts
import { skipToken, useQuery } from "@​apollo/client/react";
// Use `skipToken` in place of `skip: true` for better type safety
// for required variables
const { data } = useQuery(QUERY, id ? { variables: { id } } : skipToken);
```
Note: this change is provided as a patch within the 4.0 minor version because the changes to TypeScript validation with required variables in version 4.0 made using the `skip` option more difficult.
- [#​12900](https://github.com/apollographql/apollo-client/pull/12900) [`c0d5be7`](https://github.com/apollographql/apollo-client/commit/c0d5be7cbbb1b1f7771962eb2ae0e173de743265) Thanks [@​phryneas](https://github.com/phryneas)! - Use named export `equal` instead of default from `"@​wry/equality"`
### [`v4.0.3`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#403)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.2...@apollo/client@4.0.3)
##### Patch Changes
- [#​12887](https://github.com/apollographql/apollo-client/pull/12887) [`6f6ca47`](https://github.com/apollographql/apollo-client/commit/6f6ca47e9f5e80ee9c98fca2639b5cba6317fbbf) Thanks [@​phryneas](https://github.com/phryneas)! - Fix accidental deep re-export from `/react` out of `/react/internals`
- [#​12890](https://github.com/apollographql/apollo-client/pull/12890) [`019b422`](https://github.com/apollographql/apollo-client/commit/019b4224147a5a8709de54c4474e126619dd2469) Thanks [@​jerelmiller](https://github.com/jerelmiller)! - Ensure the `variables` option for `useMutation` provides proper IntelliSense suggestions.
### [`v4.0.2`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#402)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.1...@apollo/client@4.0.2)
##### Patch Changes
- [#​12880](https://github.com/apollographql/apollo-client/pull/12880) [`56fac52`](https://github.com/apollographql/apollo-client/commit/56fac522549eaed5494097dc0098ea7a558382a0) Thanks [@​phryneas](https://github.com/phryneas)! - restore `getMemoryInternals` access in dev builds
### [`v4.0.1`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#4011)
[Compare Source](https://github.com/apollographql/apollo-client/compare/@apollo/client@4.0.0...@apollo/client@4.0.1)
##### Patch Changes
- [#​13050](https://github.com/apollographql/apollo-client/pull/13050) [`8020829`](https://github.com/apollographql/apollo-client/commit/8020829d8a3bdb3219a37e8d1f7b89179f721037) Thanks [@​phryneas](https://github.com/phryneas)! - Replace usage of `findLast` with more backwards-compatible methods.
- [#​13049](https://github.com/apollographql/apollo-client/pull/13049) [`05638de`](https://github.com/apollographql/apollo-client/commit/05638deaf598c5bf5d03b82d7deaf57468546229) Thanks [@​phryneas](https://github.com/phryneas)! - Fixes an issue where queries starting with `skipToken` or lazy queries from `useLazyQuery` were included in `client.refetchQueries()` before they had been executed for the first time. While generally queries with a `standby` `fetchPolicy` should be included in refetch, these queries never had `variables` passed in, so they should be excluded until they have run once and received their actual variables.
These queries are now properly excluded from refetch operations until after their initial execution.
This change adds a new hidden option to `client.watchQuery`, `[variablesUnknownSymbol]`, which may be set `true` for queries starting with a `fetchPolicy` of `standby`. It will only be applied when creating the `ObservableQuery` instance and cannot be changed later. This flag indicates that the query's variables are not yet known, and thus it should be excluded from refetch operations until they are.
**This option is not meant for everyday use and is intended for framework integrations only.**
### [`v4.0.0`](https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#400)
[Compare Source](https://github.com/apollographql/apollo-client/compare/v3.14.0...@apollo/client@4.0.0)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS4zIiwidXBkYXRlZEluVmVyIjoiNDIuNjAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Renovate failed to update an artifact related to this branch. You probably do not want to merge this MR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this MR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: package-lock.json
npm warn Unknown env config "store". This will stop working in the next major version of npm.
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: @vue/apollo-composable@4.2.2
npm error Found: @apollo/client@4.0.11
npm error node_modules/@apollo/client
npm error @apollo/client@"4.0.11" from the root project
npm error
npm error Could not resolve dependency:
npm error peer @apollo/client@"^3.4.13" from @vue/apollo-composable@4.2.2
npm error node_modules/@vue/apollo-composable
npm error @vue/apollo-composable@"4.2.2" from the root project
npm error
npm error Conflicting peer dependency: @apollo/client@3.14.0
npm error node_modules/@apollo/client
npm error peer @apollo/client@"^3.4.13" from @vue/apollo-composable@4.2.2
npm error node_modules/@vue/apollo-composable
npm error @vue/apollo-composable@"4.2.2" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /builds/unboundsoftware/renovate/renovate/cache/others/npm/_logs/2025-12-31T13_54_42_440Z-eresolve-report.txt
npm error A complete log of this run can be found in: /builds/unboundsoftware/renovate/renovate/cache/others/npm/_logs/2025-12-31T13_54_42_440Z-debug-0.log
### ⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this MR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this MR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
##### File name: package-lock.json
```
npm warn Unknown env config "store". This will stop working in the next major version of npm.
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: @vue/apollo-composable@4.2.2
npm error Found: @apollo/client@4.0.11
npm error node_modules/@apollo/client
npm error @apollo/client@"4.0.11" from the root project
npm error
npm error Could not resolve dependency:
npm error peer @apollo/client@"^3.4.13" from @vue/apollo-composable@4.2.2
npm error node_modules/@vue/apollo-composable
npm error @vue/apollo-composable@"4.2.2" from the root project
npm error
npm error Conflicting peer dependency: @apollo/client@3.14.0
npm error node_modules/@apollo/client
npm error peer @apollo/client@"^3.4.13" from @vue/apollo-composable@4.2.2
npm error node_modules/@vue/apollo-composable
npm error @vue/apollo-composable@"4.2.2" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /builds/unboundsoftware/renovate/renovate/cache/others/npm/_logs/2025-12-31T13_54_42_440Z-eresolve-report.txt
npm error A complete log of this run can be found in: /builds/unboundsoftware/renovate/renovate/cache/others/npm/_logs/2025-12-31T13_54_42_440Z-debug-0.log
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This MR contains the following updates:
3.14.0→4.0.11Release Notes
apollographql/apollo-client (@apollo/client)
v4.0.11Compare Source
Patch Changes
#13050
8020829Thanks @phryneas! - Replace usage offindLastwith more backwards-compatible methods.#13049
05638deThanks @phryneas! - Fixes an issue where queries starting withskipTokenor lazy queries fromuseLazyQuerywere included inclient.refetchQueries()before they had been executed for the first time. While generally queries with astandbyfetchPolicyshould be included in refetch, these queries never hadvariablespassed in, so they should be excluded until they have run once and received their actual variables.These queries are now properly excluded from refetch operations until after their initial execution.
This change adds a new hidden option to
client.watchQuery,[variablesUnknownSymbol], which may be settruefor queries starting with afetchPolicyofstandby. It will only be applied when creating theObservableQueryinstance and cannot be changed later. This flag indicates that the query's variables are not yet known, and thus it should be excluded from refetch operations until they are.This option is not meant for everyday use and is intended for framework integrations only.
v4.0.10Compare Source
Patch Changes
af4acdcThanks @phryneas! - Fix memory leak #13036v4.0.9Compare Source
Patch Changes
8f3bc9bThanks @jerelmiller! - Fix an issue where switching from options withvariablestoskipTokenwithuseSuspenseQueryanduseBackgroundQuerywould create a newObservableQuery. This could cause unintended refetches wherevariableswere absent in the request when the query was referenced withrefetchQueries.v4.0.8Compare Source
Patch Changes
f6d0efaThanks @CarsonF! - Fix cache.modify() mapping readonly arrays to singular referencev4.0.7Compare Source
Patch Changes
5b4f36aThanks @jerelmiller! - Don't sendoperationTypein the payload sent byGraphQLWsLink.v4.0.6Compare Source
Patch Changes
3b0d89bThanks @phryneas! - Fix a problem withfetchMorewhere the loading state wouldn't reset if the result wouldn't result in a data update.v4.0.5Compare Source
Patch Changes
e2fc385Thanks @phryneas! - Fix an invariance type error in theMockedResponsetype.v4.0.4Compare Source
Patch Changes
#12892
db8a04bThanks @jerelmiller! - Prevent unhandled rejections from the promise returned by calling themutatefunction from theuseMutationhook.#12899
5352c12Thanks @phryneas! - Fix an issue wheninvariantis called by external libraries when no dev error message handler is loaded.#12895
71f2517Thanks @jerelmiller! - SupportskipTokenwithuseQueryto provide a more type-safe way to skip query execution.Note: this change is provided as a patch within the 4.0 minor version because the changes to TypeScript validation with required variables in version 4.0 made using the
skipoption more difficult.#12900
c0d5be7Thanks @phryneas! - Use named exportequalinstead of default from"@​wry/equality"v4.0.3Compare Source
Patch Changes
#12887
6f6ca47Thanks @phryneas! - Fix accidental deep re-export from/reactout of/react/internals#12890
019b422Thanks @jerelmiller! - Ensure thevariablesoption foruseMutationprovides proper IntelliSense suggestions.v4.0.2Compare Source
Patch Changes
56fac52Thanks @phryneas! - restoregetMemoryInternalsaccess in dev buildsv4.0.1Compare Source
Patch Changes
#13050
8020829Thanks @phryneas! - Replace usage offindLastwith more backwards-compatible methods.#13049
05638deThanks @phryneas! - Fixes an issue where queries starting withskipTokenor lazy queries fromuseLazyQuerywere included inclient.refetchQueries()before they had been executed for the first time. While generally queries with astandbyfetchPolicyshould be included in refetch, these queries never hadvariablespassed in, so they should be excluded until they have run once and received their actual variables.These queries are now properly excluded from refetch operations until after their initial execution.
This change adds a new hidden option to
client.watchQuery,[variablesUnknownSymbol], which may be settruefor queries starting with afetchPolicyofstandby. It will only be applied when creating theObservableQueryinstance and cannot be changed later. This flag indicates that the query's variables are not yet known, and thus it should be excluded from refetch operations until they are.This option is not meant for everyday use and is intended for framework integrations only.
v4.0.0Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this MR and you won't be reminded about this update again.
This MR has been generated by Renovate Bot.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this MR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: package-lock.json
mentioned in issue #1
added 3 commits
mainCompare with previous version
added 7 commits
mainCompare with previous version
changed the description
changed the description
added 31 commits
mainCompare with previous version
added 23 commits
mainCompare with previous version
changed the description
added 7 commits
mainCompare with previous version
added 9 commits
mainCompare with previous version
changed the description
changed the description
added 13 commits
mainCompare with previous version
added 3 commits
main49467822- fix(deps): update dependency @apollo/client to v4Compare with previous version
Pull request closed