apollographql/apollo-client (@apollo/client)
### [`v3.11.10`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#31110)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.9...v3.11.10)
##### Patch Changes
- [#12093](https://redirect.github.com/apollographql/apollo-client/pull/12093) [`1765668`](https://redirect.github.com/apollographql/apollo-client/commit/1765668b7d495ef8a581f697bf9e4b7460455f13) Thanks [@mgmolisani](https://redirect.github.com/mgmolisani)! - Fixed a bug when evaluating the devtools flag with the new syntax `devtools.enabled` that could result to `true` when explicitly set to `false`.
### [`v3.11.9`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3119)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.8...v3.11.9)
##### Patch Changes
- [#12110](https://redirect.github.com/apollographql/apollo-client/pull/12110) [`a3f95c6`](https://redirect.github.com/apollographql/apollo-client/commit/a3f95c6f7623060bbf68b418b0ab268fabc0c9b6) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where errors returned from a `fetchMore` call from a Suspense hook would cause a Suspense boundary to be shown indefinitely.
### [`v3.11.8`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3118)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.7...v3.11.8)
##### Patch Changes
- [#12054](https://redirect.github.com/apollographql/apollo-client/pull/12054) [`35cf186`](https://redirect.github.com/apollographql/apollo-client/commit/35cf186ed9237e41735f150e0cbf4edd995ab0d9) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Fixed a bug where incorrect object access in some Safari extensions could cause a crash.
### [`v3.11.7`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3117)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.6...v3.11.7)
##### Patch Changes
- [#12052](https://redirect.github.com/apollographql/apollo-client/pull/12052) [`e471cef`](https://redirect.github.com/apollographql/apollo-client/commit/e471cef875eadef04f8ee18ef431ee70e7b9bcab) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fixes a regression from where passing an invalid identifier to `from` in `useFragment` would result in the warning `TypeError: Cannot read properties of undefined (reading '__typename')`.
### [`v3.11.6`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3116)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.5...v3.11.6)
##### Patch Changes
- [#12049](https://redirect.github.com/apollographql/apollo-client/pull/12049) [`9c26892`](https://redirect.github.com/apollographql/apollo-client/commit/9c268927b1f8e5921b9440a53c9979a37f594e75) Thanks [@phryneas](https://redirect.github.com/phryneas) and [@maciesielka](https://redirect.github.com/maciesielka)! - Fix a bug where `useFragment` did not re-render as expected
- [#12044](https://redirect.github.com/apollographql/apollo-client/pull/12044) [`04462a2`](https://redirect.github.com/apollographql/apollo-client/commit/04462a274ad39b392142385a2f052abbf3014749) Thanks [@DoctorJohn](https://redirect.github.com/DoctorJohn)! - Cache the `useSubscription` hook's `restart` function definition between re-renders.
### [`v3.11.5`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3115)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.4...v3.11.5)
##### Patch Changes
- [#12027](https://redirect.github.com/apollographql/apollo-client/pull/12027) [`eb3e21b`](https://redirect.github.com/apollographql/apollo-client/commit/eb3e21b9f7fa6a3161705c2c7270129c17b65095) Thanks [@JavaScriptBach](https://redirect.github.com/JavaScriptBach)! - Type `MutationResult.reset` as an arrow function
- [#12020](https://redirect.github.com/apollographql/apollo-client/pull/12020) [`82d8cb4`](https://redirect.github.com/apollographql/apollo-client/commit/82d8cb4255be497748829f12eb25ac87c11ee5e4) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Better conform to Rules of React by avoiding write of ref in render for `useFragment`.
### [`v3.11.4`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3114)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.3...v3.11.4)
##### Patch Changes
- [#11994](https://redirect.github.com/apollographql/apollo-client/pull/11994) [`41b17e5`](https://redirect.github.com/apollographql/apollo-client/commit/41b17e5950f4db5ef9e32ded5bb327b3bf19e6e8) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Update the `Modifier` function type to allow `cache.modify` to return deeply partial data.
- [#11989](https://redirect.github.com/apollographql/apollo-client/pull/11989) [`e609156`](https://redirect.github.com/apollographql/apollo-client/commit/e609156c4989def88ae1a28b2e0f0378077a5528) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Fix a potential crash when calling `clearStore` while a query was running.
Previously, calling `client.clearStore()` while a query was running had one of these results:
- `useQuery` would stay in a `loading: true` state.
- `useLazyQuery` would stay in a `loading: true` state, but also crash with a `"Cannot read property 'data' of undefined"` error.
Now, in both cases, the hook will enter an error state with a `networkError`, and the promise returned by the `useLazyQuery` `execute` function will return a result in an error state.
- [#11994](https://redirect.github.com/apollographql/apollo-client/pull/11994) [`41b17e5`](https://redirect.github.com/apollographql/apollo-client/commit/41b17e5950f4db5ef9e32ded5bb327b3bf19e6e8) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Prevent accidental distribution on `cache.modify` field modifiers when a field is a union type array.
### [`v3.11.3`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3113)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.2...v3.11.3)
##### Patch Changes
- [#11984](https://redirect.github.com/apollographql/apollo-client/pull/11984) [`5db1659`](https://redirect.github.com/apollographql/apollo-client/commit/5db1659dc07e3de697894fc1c6f00a151d068291) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where multiple fetches with results that returned errors would sometimes set the `data` property with an `errorPolicy` of `none`.
- [#11974](https://redirect.github.com/apollographql/apollo-client/pull/11974) [`c95848e`](https://redirect.github.com/apollographql/apollo-client/commit/c95848e859fb7ce0b3b9439ac71dff880f991450) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where `fetchMore` would write its result data to the cache when using it with a `no-cache` fetch policy.
- [#11974](https://redirect.github.com/apollographql/apollo-client/pull/11974) [`c95848e`](https://redirect.github.com/apollographql/apollo-client/commit/c95848e859fb7ce0b3b9439ac71dff880f991450) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where executing `fetchMore` with a `no-cache` fetch policy could sometimes result in multiple network requests.
- [#11974](https://redirect.github.com/apollographql/apollo-client/pull/11974) [`c95848e`](https://redirect.github.com/apollographql/apollo-client/commit/c95848e859fb7ce0b3b9439ac71dff880f991450) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! -
##### Potentially disruptive change
When calling `fetchMore` with a query that has a `no-cache` fetch policy, `fetchMore` will now throw if an `updateQuery` function is not provided. This provides a mechanism to merge the results from the `fetchMore` call with the query's previous result.
### [`v3.11.2`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3112)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.1...v3.11.2)
##### Patch Changes
- [#11980](https://redirect.github.com/apollographql/apollo-client/pull/11980) [`38c0a2c`](https://redirect.github.com/apollographql/apollo-client/commit/38c0a2c43dd28677ee240754cd389c8a08c05738) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix missing `getServerSnapshot` error when using `useSubscription` on the server.
### [`v3.11.1`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3111)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.0...v3.11.1)
##### Patch Changes
- [#11969](https://redirect.github.com/apollographql/apollo-client/pull/11969) [`061cab6`](https://redirect.github.com/apollographql/apollo-client/commit/061cab6627abd4ec81f83c40c1d281c418627c93) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Remove check for `window.__APOLLO_CLIENT__` when determining whether to connect to Apollo Client Devtools when `connectToDevtools` or `devtools.enabled` is not specified. This now simply checks to see if the application is in development mode.
- [#11971](https://redirect.github.com/apollographql/apollo-client/pull/11971) [`ecf77f6`](https://redirect.github.com/apollographql/apollo-client/commit/ecf77f6f5b5ccf64cfba51e838e96549fb6c92fe) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Prevent the `setTimeout` for suggesting devtools from running in non-browser environments.
### [`v3.11.0`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3110)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.8...v3.11.0)
##### Potentially Breaking Fixes
- [#11789](https://redirect.github.com/apollographql/apollo-client/pull/11789) [`5793301`](https://redirect.github.com/apollographql/apollo-client/commit/579330147d6bd6f7167a35413a33746103e375cb) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Changes usages of the `GraphQLError` type to `GraphQLFormattedError`.
This was a type bug - these errors were never `GraphQLError` instances
to begin with, and the `GraphQLError` class has additional properties that can
never be correctly rehydrated from a GraphQL result.
The correct type to use here is `GraphQLFormattedError`.
Similarly, please ensure to use the type `FormattedExecutionResult`
instead of `ExecutionResult` - the non-"Formatted" versions of these types
are for use on the server only, but don't get transported over the network.
- [#11626](https://redirect.github.com/apollographql/apollo-client/pull/11626) [`228429a`](https://redirect.github.com/apollographql/apollo-client/commit/228429a1d36eae691473b24fb641ec3cd84c8a3d) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Call `nextFetchPolicy` with "variables-changed" even if there is a `fetchPolicy` specified.
Previously this would only be called when the current `fetchPolicy` was equal to the `fetchPolicy` option or the option was not specified. If you use `nextFetchPolicy` as a function, expect to see this function called more often.
Due to this bug, this also meant that the `fetchPolicy` might be reset to the initial `fetchPolicy`, even when you specified a `nextFetchPolicy` function. If you previously relied on this behavior, you will need to update your `nextFetchPolicy` callback function to implement this resetting behavior.
As an example, if your code looked like the following:
```js
useQuery(QUERY, {
nextFetchPolicy(currentFetchPolicy, info) {
// your logic here
}
);
```
Update your function to the following to reimplement the resetting behavior:
```js
useQuery(QUERY, {
nextFetchPolicy(currentFetchPolicy, info) {
if (info.reason === 'variables-changed') {
return info.initialFetchPolicy;
}
// your logic here
}
);
```
##### Minor Changes
- [#11923](https://redirect.github.com/apollographql/apollo-client/pull/11923) [`d88c7f8`](https://redirect.github.com/apollographql/apollo-client/commit/d88c7f8909e3cb31532e8b1fc7dd06be12f35591) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Add support for `subscribeToMore` function to `useQueryRefHandlers`.
- [#11854](https://redirect.github.com/apollographql/apollo-client/pull/11854) [`3812800`](https://redirect.github.com/apollographql/apollo-client/commit/3812800c6e4e5e3e64f473543babdba35ce100c2) Thanks [@jcostello-atlassian](https://redirect.github.com/jcostello-atlassian)! - Support extensions in useSubscription
- [#11923](https://redirect.github.com/apollographql/apollo-client/pull/11923) [`d88c7f8`](https://redirect.github.com/apollographql/apollo-client/commit/d88c7f8909e3cb31532e8b1fc7dd06be12f35591) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Add support for `subscribeToMore` function to `useLoadableQuery`.
- [#11863](https://redirect.github.com/apollographql/apollo-client/pull/11863) [`98e44f7`](https://redirect.github.com/apollographql/apollo-client/commit/98e44f74cb7c7e93a81bdc7492c9218bf4a2dcd4) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Reimplement `useSubscription` to fix rules of React violations.
- [#11869](https://redirect.github.com/apollographql/apollo-client/pull/11869) [`a69327c`](https://redirect.github.com/apollographql/apollo-client/commit/a69327cce1b36e8855258e9b19427511e0af8748) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Rewrite big parts of `useQuery` and `useLazyQuery` to be more compliant with the Rules of React and React Compiler
- [#11936](https://redirect.github.com/apollographql/apollo-client/pull/11936) [`1b23337`](https://redirect.github.com/apollographql/apollo-client/commit/1b23337e5a9eec4ce3ed69531ca4f4afe8e897a6) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Add the ability to specify a name for the client instance for use with Apollo Client Devtools. This is useful when instantiating multiple clients to identify the client instance more easily. This deprecates the `connectToDevtools` option in favor of a new `devtools` configuration.
```ts
new ApolloClient({
devtools: {
enabled: true,
name: "Test Client",
},
});
```
This option is backwards-compatible with `connectToDevtools` and will be used in the absense of a `devtools` option.
- [#11923](https://redirect.github.com/apollographql/apollo-client/pull/11923) [`d88c7f8`](https://redirect.github.com/apollographql/apollo-client/commit/d88c7f8909e3cb31532e8b1fc7dd06be12f35591) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Add support for `subscribeToMore` function to `useBackgroundQuery`.
- [#11930](https://redirect.github.com/apollographql/apollo-client/pull/11930) [`a768575`](https://redirect.github.com/apollographql/apollo-client/commit/a768575ac1454587208aad63abc811b6a966fe72) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Deprecates experimental schema testing utilities introduced in 3.10 in favor of recommending [`@apollo/graphql-testing-library`](https://redirect.github.com/apollographql/graphql-testing-library).
##### Patch Changes
- [#11951](https://redirect.github.com/apollographql/apollo-client/pull/11951) [`0de03af`](https://redirect.github.com/apollographql/apollo-client/commit/0de03af912a76c4e0111f21b4f90a073317b63b6) Thanks [@phryneas](https://redirect.github.com/phryneas)! - add React 19 RC to `peerDependencies`
- [#11927](https://redirect.github.com/apollographql/apollo-client/pull/11927) [`2941824`](https://redirect.github.com/apollographql/apollo-client/commit/2941824dd66cdd20eee5f2293373ad7a9cf991a4) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Add `restart` function to `useSubscription`.
- [#11949](https://redirect.github.com/apollographql/apollo-client/pull/11949) [`4528918`](https://redirect.github.com/apollographql/apollo-client/commit/45289186bcaaa33dfe904913eb6df31e2541c219) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Remove deprecated `watchFragment` option, `canonizeResults`
- [#11937](https://redirect.github.com/apollographql/apollo-client/pull/11937) [`78332be`](https://redirect.github.com/apollographql/apollo-client/commit/78332be32a9af0da33eb3e4100e7a76c3eac2496) Thanks [@phryneas](https://redirect.github.com/phryneas)! - `createSchemaFetch`: simulate serialized errors instead of an `ApolloError` instance
- [#11902](https://redirect.github.com/apollographql/apollo-client/pull/11902) [`96422ce`](https://redirect.github.com/apollographql/apollo-client/commit/96422ce95b923b560321a88acd2eec35cf2a1c18) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Add `cause` field to `ApolloError`.
- [#11806](https://redirect.github.com/apollographql/apollo-client/pull/11806) [`8df6013`](https://redirect.github.com/apollographql/apollo-client/commit/8df6013b6b45452ec058fab3e068b5b6d6c493f7) Thanks [@phryneas](https://redirect.github.com/phryneas)! - MockLink: add query default variables if not specified in mock request
- [#11926](https://redirect.github.com/apollographql/apollo-client/pull/11926) [`3dd6432`](https://redirect.github.com/apollographql/apollo-client/commit/3dd64324dc5156450cead27f8141ea93315ffe65) Thanks [@phryneas](https://redirect.github.com/phryneas)! - `watchFragment`: forward additional options to `diffOptions`
- [#11946](https://redirect.github.com/apollographql/apollo-client/pull/11946) [`7d833b8`](https://redirect.github.com/apollographql/apollo-client/commit/7d833b80119a991e6d2eb58f2c71074d697b8e63) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix issue where mutations were not accessible by Apollo Client Devtools in 3.11.0-rc.0.
- [#11944](https://redirect.github.com/apollographql/apollo-client/pull/11944) [`8f3d7eb`](https://redirect.github.com/apollographql/apollo-client/commit/8f3d7eb3bc2e0c2d79c5b1856655abe829390742) Thanks [@sneyderdev](https://redirect.github.com/sneyderdev)! - Allow `IgnoreModifier` to be returned from a `optimisticResponse` function when inferring from a `TypedDocumentNode` when used with a generic argument.
- [#11954](https://redirect.github.com/apollographql/apollo-client/pull/11954) [`4a6e86a`](https://redirect.github.com/apollographql/apollo-client/commit/4a6e86aeaf6685abf0dd23110784848c8b085735) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Document (and deprecate) the previously undocumented `errors` property on the `useQuery` `QueryResult` type.
- [#11719](https://redirect.github.com/apollographql/apollo-client/pull/11719) [`09a6677`](https://redirect.github.com/apollographql/apollo-client/commit/09a6677ec1a0cffedeecb2cbac5cd3a3c8aa0fa1) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Allow wrapping `createQueryPreloader`
- [#11921](https://redirect.github.com/apollographql/apollo-client/pull/11921) [`70406bf`](https://redirect.github.com/apollographql/apollo-client/commit/70406bfd2b9a645d781638569853d9b435e047df) Thanks [@phryneas](https://redirect.github.com/phryneas)! - add `ignoreResults` option to `useSubscription`
### [`v3.10.8`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3108)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.7...v3.10.8)
##### Patch Changes
- [#11911](https://redirect.github.com/apollographql/apollo-client/pull/11911) [`1f0460a`](https://redirect.github.com/apollographql/apollo-client/commit/1f0460a60fc613e8d6f218a74ded69e81e960791) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Allow `undefined` to be returned from a `cache.modify` modifier function when a generic type argument is used.
### [`v3.10.7`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3107)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.6...v3.10.7)
##### Patch Changes
- [#11901](https://redirect.github.com/apollographql/apollo-client/pull/11901) [`10a8c0a`](https://redirect.github.com/apollographql/apollo-client/commit/10a8c0a8f6f3e13ec3c67bf53cc11a948b60e6d9) Thanks [@phryneas](https://redirect.github.com/phryneas)! - update `canUseLayoutEffect` check to also allow for layout effects in React Native
- [#11861](https://redirect.github.com/apollographql/apollo-client/pull/11861) [`1aed0e8`](https://redirect.github.com/apollographql/apollo-client/commit/1aed0e82fcc432380a56d4a446f414ce8b1a7a90) Thanks [@henryqdineen](https://redirect.github.com/henryqdineen)! - Defend against non-serializable params in `invariantWrappers`
- [#11905](https://redirect.github.com/apollographql/apollo-client/pull/11905) [`29755da`](https://redirect.github.com/apollographql/apollo-client/commit/29755da8797dc94613a23fe050ddd6ef9ffab607) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Add `.d.cts` files for cjs bundles
- [#11906](https://redirect.github.com/apollographql/apollo-client/pull/11906) [`d104759`](https://redirect.github.com/apollographql/apollo-client/commit/d104759cfb4be31e2ffbe166531a9b11861ade99) Thanks [@phryneas](https://redirect.github.com/phryneas)! - chore: update TypeScript to 5.5
### [`v3.10.6`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3106)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.5...v3.10.6)
##### Patch Changes
- [#11900](https://redirect.github.com/apollographql/apollo-client/pull/11900) [`f745558`](https://redirect.github.com/apollographql/apollo-client/commit/f74555826995009a6bb9d824506cecb3508e3365) Thanks [@phryneas](https://redirect.github.com/phryneas)! - `useMutation`: use `useIsomorphicLayoutEffect` instead of `useLayoutEffect`
### [`v3.10.5`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3105)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.4...v3.10.5)
##### Patch Changes
- [#11888](https://redirect.github.com/apollographql/apollo-client/pull/11888) [`7fb7939`](https://redirect.github.com/apollographql/apollo-client/commit/7fb7939edb7ca8f4273b75554f96ea9936731458) Thanks [@phryneas](https://redirect.github.com/phryneas)! - switch `useRenderGuard` to an approach not accessing React's internals
- [#11511](https://redirect.github.com/apollographql/apollo-client/pull/11511) [`6536369`](https://redirect.github.com/apollographql/apollo-client/commit/6536369cf213469d20d15b779c344268d70fecd5) Thanks [@phryneas](https://redirect.github.com/phryneas)! - `useLoadableQuery`: ensure that `loadQuery` is updated if the ApolloClient instance changes
- [#11860](https://redirect.github.com/apollographql/apollo-client/pull/11860) [`8740f19`](https://redirect.github.com/apollographql/apollo-client/commit/8740f198805a99e01136617c4055d611b92cc231) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Fixes [#11849](https://redirect.github.com/apollographql/apollo-client/issues/11849) by reevaluating `window.fetch` each time `BatchHttpLink` uses it, if not configured via `options.fetch`. Takes the same approach as PR [#8603](https://redirect.github.com/apollographql/apollo-client/pull/8603) which fixed the same issue in `HttpLink`.
- [#11852](https://redirect.github.com/apollographql/apollo-client/pull/11852) [`d502a69`](https://redirect.github.com/apollographql/apollo-client/commit/d502a69654d8ffa31e09467da028304a934a9874) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Fix a bug where calling the `useMutation` `reset` function would point the hook to an outdated `client` reference.
- [#11329](https://redirect.github.com/apollographql/apollo-client/pull/11329) [`3d164ea`](https://redirect.github.com/apollographql/apollo-client/commit/3d164ea16c17d271f6fa9e5ad8f013623eec23a0) Thanks [@PaLy](https://redirect.github.com/PaLy)! - Fix graphQLErrors in Error Link if networkError.result is an empty string
- [#11852](https://redirect.github.com/apollographql/apollo-client/pull/11852) [`d502a69`](https://redirect.github.com/apollographql/apollo-client/commit/d502a69654d8ffa31e09467da028304a934a9874) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Prevent writing to a ref in render in `useMutation`.
As a result, you might encounter problems in the future if you call the mutation's `execute` function during render. Please note that this was never supported behavior, and we strongly recommend against it.
- [#11848](https://redirect.github.com/apollographql/apollo-client/pull/11848) [`ad63924`](https://redirect.github.com/apollographql/apollo-client/commit/ad6392424ddbeb6f91b165c806251490e1cdd69e) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Ensure covariant behavior: `MockedResponse` should be assignable to `MockedResponse`
- [#11851](https://redirect.github.com/apollographql/apollo-client/pull/11851) [`45c47be`](https://redirect.github.com/apollographql/apollo-client/commit/45c47be26d4e020cfcff359a5af19ccfc39b930e) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Avoid usage of useRef in useInternalState to prevent ref access in render.
- [#11877](https://redirect.github.com/apollographql/apollo-client/pull/11877) [`634d91a`](https://redirect.github.com/apollographql/apollo-client/commit/634d91aeb10ab308b05d5ffb918678806046af09) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Add missing name to tuple member (fix TS5084)
- [#11851](https://redirect.github.com/apollographql/apollo-client/pull/11851) [`45c47be`](https://redirect.github.com/apollographql/apollo-client/commit/45c47be26d4e020cfcff359a5af19ccfc39b930e) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Fix a bug where `useLazyQuery` would not pick up a client change.
### [`v3.10.4`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3104)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.3...v3.10.4)
##### Patch Changes
- [#11838](https://redirect.github.com/apollographql/apollo-client/pull/11838) [`8475346`](https://redirect.github.com/apollographql/apollo-client/commit/84753462af50d89c8693713990cccf432ff8267d) Thanks [@alex-kinokon](https://redirect.github.com/alex-kinokon)! - Don’t prompt for DevTools installation for browser extension page
- [#11839](https://redirect.github.com/apollographql/apollo-client/pull/11839) [`6481fe1`](https://redirect.github.com/apollographql/apollo-client/commit/6481fe1196cedee987781dcb45ebdc0cafb3998c) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix a regression in [3.9.5](https://redirect.github.com/apollographql/apollo-client/releases/tag/v3.9.5) where a merge function that returned an incomplete result would not allow the client to refetch in order to fulfill the query.
- [#11844](https://redirect.github.com/apollographql/apollo-client/pull/11844) [`86984f2`](https://redirect.github.com/apollographql/apollo-client/commit/86984f24bd9076a6034acd59bbcb28a2ea1add93) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Honor the `@nonreactive` directive when using `cache.watchFragment` or the `useFragment` hook to avoid rerendering when using these directives.
- [#11824](https://redirect.github.com/apollographql/apollo-client/pull/11824) [`47ad806`](https://redirect.github.com/apollographql/apollo-client/commit/47ad806c7b0c55f1e05dbf276ca87a354ac389e5) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Create branded `QueryRef` type without exposed properties.
This change deprecates `QueryReference` in favor of a `QueryRef` type that doesn't expose any properties.
This change also updates `preloadQuery` to return a new `PreloadedQueryRef` type, which exposes the `toPromise` function as it does today. This means that query refs produced by `useBackgroundQuery` and `useLoadableQuery` now return `QueryRef` types that do not have access to a `toPromise` function, which was never meant to be used in combination with these hooks.
While we tend to avoid any types of breaking changes in patch releases as this, this change was necessary to support an upcoming version of the React Server Component integration, which needed to omit the `toPromise` function that would otherwise have broken at runtime.
Note that this is a TypeScript-only change. At runtime, `toPromise` is still present on all queryRefs currently created by this package - but we strongly want to discourage you from accessing it in all cases except for the `PreloadedQueryRef` use case.
Migration is as simple as replacing all references to `QueryReference` with `QueryRef`, so it should be possible to do this with a search & replace in most code bases:
```diff
-import { QueryReference } from '@apollo/client'
+import { QueryRef } from '@apollo/client'
- function Component({ queryRef }: { queryRef: QueryReference }) {
+ function Component({ queryRef }: { queryRef: QueryRef }) {
// ...
}
```
- [#11845](https://redirect.github.com/apollographql/apollo-client/pull/11845) [`4c5c820`](https://redirect.github.com/apollographql/apollo-client/commit/4c5c820b6172f6a2455bcdd974109513e0e2a39e) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Remove `@nonreactive` directives from queries passed to `MockLink` to ensure they are properly matched.
- [#11837](https://redirect.github.com/apollographql/apollo-client/pull/11837) [`dff15b1`](https://redirect.github.com/apollographql/apollo-client/commit/dff15b1b03ebac9cae508c69bf607a29d0f6eccb) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where a polled query created in React strict mode may not stop polling after the component unmounts while using the `cache-and-network` fetch policy.
### [`v3.10.3`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3103)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.2...v3.10.3)
##### Patch Changes
- [#11811](https://redirect.github.com/apollographql/apollo-client/pull/11811) [`d67d7f9`](https://redirect.github.com/apollographql/apollo-client/commit/d67d7f9a2943273cacaefb26a54184e81f12b022) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Adjust some types for React 19 compat
- [#11834](https://redirect.github.com/apollographql/apollo-client/pull/11834) [`7d8aad4`](https://redirect.github.com/apollographql/apollo-client/commit/7d8aad4a00b89e0208ee1563293c24025e6604ce) Thanks [@psamim](https://redirect.github.com/psamim)! - Fix error "Cannot convert object to primitive value"
### [`v3.10.2`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3102)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.1...v3.10.2)
##### Patch Changes
- [#11821](https://redirect.github.com/apollographql/apollo-client/pull/11821) [`2675d3c`](https://redirect.github.com/apollographql/apollo-client/commit/2675d3c97e6c47c6e298382004c7c9c2d3ffed0c) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix a regression where rerendering a component with `useBackgroundQuery` would recreate the `queryRef` instance when used with React's strict mode.
- [#11821](https://redirect.github.com/apollographql/apollo-client/pull/11821) [`2675d3c`](https://redirect.github.com/apollographql/apollo-client/commit/2675d3c97e6c47c6e298382004c7c9c2d3ffed0c) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Revert the change introduced in
[3.9.10](https://redirect.github.com/apollographql/apollo-client/releases/tag/v3.9.10) via [#11738](https://redirect.github.com/apollographql/apollo-client/issues/11738) that disposed of queryRefs synchronously. This change caused too many issues with strict mode.
### [`v3.10.1`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3101)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.0...v3.10.1)
##### Patch Changes
- [#11792](https://redirect.github.com/apollographql/apollo-client/pull/11792) [`5876c35`](https://redirect.github.com/apollographql/apollo-client/commit/5876c35530a21473207954d1f0c2b7dd00c0b9ea) Thanks [@phryneas](https://redirect.github.com/phryneas)! - AutoCleanedCache: only schedule batched cache cleanup if the cache is full (fixes [#11790](https://redirect.github.com/apollographql/apollo-client/issues/11790))
- [#11799](https://redirect.github.com/apollographql/apollo-client/pull/11799) [`1aca7ed`](https://redirect.github.com/apollographql/apollo-client/commit/1aca7ed5a3accf2303ccdf9b3dece7278f03ad62) Thanks [@phryneas](https://redirect.github.com/phryneas)! - `RenderPromises`: use `canonicalStringify` to serialize `variables` to ensure query deduplication is properly applied even when `variables` are specified in a different order.
- [#11803](https://redirect.github.com/apollographql/apollo-client/pull/11803) [`bf9dd17`](https://redirect.github.com/apollographql/apollo-client/commit/bf9dd17b288f33901e9421bcc0eacb3894c087af) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Update the `rehackt` dependency to `^0.1.0`
- [#11756](https://redirect.github.com/apollographql/apollo-client/pull/11756) [`60592e9`](https://redirect.github.com/apollographql/apollo-client/commit/60592e95399c3695d1d49a4c39ad29f00d4059fd) Thanks [@henryqdineen](https://redirect.github.com/henryqdineen)! - Fix operation.setContext() type
### [`v3.10.0`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3100)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.9.11...v3.10.0)
##### Minor Changes
- [#11605](https://redirect.github.com/apollographql/apollo-client/pull/11605) [`e2dd4c9`](https://redirect.github.com/apollographql/apollo-client/commit/e2dd4c95290cea604b548cc446826d89aafe8e11) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Adds `createMockFetch` utility for integration testing that includes the link chain
- [#11760](https://redirect.github.com/apollographql/apollo-client/pull/11760) [`acd1982`](https://redirect.github.com/apollographql/apollo-client/commit/acd1982a59ed66fc44fa9e70b08a31c69dac35a6) Thanks [@alessbell](https://redirect.github.com/alessbell)! - `createTestSchema` now uses graphql-tools `mergeResolvers` to merge resolvers instead of a shallow merge.
- [#11764](https://redirect.github.com/apollographql/apollo-client/pull/11764) [`f046aa9`](https://redirect.github.com/apollographql/apollo-client/commit/f046aa9fc24ac197a797045d280811a3bbe05806) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Rename `createProxiedSchema` to `createTestSchema` and `createMockFetch` to `createSchemaFetch`.
- [#11777](https://redirect.github.com/apollographql/apollo-client/pull/11777) [`5dfc79f`](https://redirect.github.com/apollographql/apollo-client/commit/5dfc79fa6d974362f38361f7dffbe984a9546377) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Call `createMockSchema` inside `createTestSchema`.
- [#11774](https://redirect.github.com/apollographql/apollo-client/pull/11774) [`2583488`](https://redirect.github.com/apollographql/apollo-client/commit/2583488677912cb4500e5fb9e3f91b5c113c4cdb) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Add ability to set min and max delay in `createSchemaFetch`
- [#11605](https://redirect.github.com/apollographql/apollo-client/pull/11605) [`e2dd4c9`](https://redirect.github.com/apollographql/apollo-client/commit/e2dd4c95290cea604b548cc446826d89aafe8e11) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Adds proxiedSchema and createMockSchema testing utilities
- [#11465](https://redirect.github.com/apollographql/apollo-client/pull/11465) [`7623da7`](https://redirect.github.com/apollographql/apollo-client/commit/7623da7720855b0c19e13ff9124679f426a39725) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Add `watchFragment` method to the cache and expose it on ApolloClient, refactor `useFragment` using `watchFragment`.
- [#11743](https://redirect.github.com/apollographql/apollo-client/pull/11743) [`78891f9`](https://redirect.github.com/apollographql/apollo-client/commit/78891f9ec81c0b7a7e010f5550a91965fa33a958) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Remove alpha designation for `queryRef.toPromise()` to stabilize the API.
- [#11743](https://redirect.github.com/apollographql/apollo-client/pull/11743) [`78891f9`](https://redirect.github.com/apollographql/apollo-client/commit/78891f9ec81c0b7a7e010f5550a91965fa33a958) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Remove alpha designation for `createQueryPreloader` to stabilize the API.
- [#11783](https://redirect.github.com/apollographql/apollo-client/pull/11783) [`440563a`](https://redirect.github.com/apollographql/apollo-client/commit/440563ab2c47efcb9c7d08f52531ade33d753037) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Moves new testing utilities to their own entrypoint, `testing/experimental`
##### Patch Changes
- [#11757](https://redirect.github.com/apollographql/apollo-client/pull/11757) [`9825295`](https://redirect.github.com/apollographql/apollo-client/commit/982529530893f66a1d236f0fff53862e513fc9a8) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Adjust `useReadQuery` wrapper logic to work with transported objects.
- [#11771](https://redirect.github.com/apollographql/apollo-client/pull/11771) [`e72cbba`](https://redirect.github.com/apollographql/apollo-client/commit/e72cbba07e5caa6d75b44ca8c766846e855a6c93) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Wrap `useQueryRefHandlers` in `wrapHook`.
- [#11754](https://redirect.github.com/apollographql/apollo-client/pull/11754) [`80d2ba5`](https://redirect.github.com/apollographql/apollo-client/commit/80d2ba579fe6d2a2d102d1fe79d7d503f31cd931) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Export `WatchFragmentOptions` and `WatchFragmentResult` from main entrypoint and fix bug where `this` wasn't bound to the `watchFragment` method on `ApolloClient`.
### [`v3.9.11`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3911)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.9.10...v3.9.11)
##### Patch Changes
- [#11769](https://redirect.github.com/apollographql/apollo-client/pull/11769) [`04132af`](https://redirect.github.com/apollographql/apollo-client/commit/04132af121c9b48d6e03eb733b9b91f825defbac) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where using `skipToken` or the `skip` option with `useSuspenseQuery` in React's strict mode would perform a network request.
### [`v3.9.10`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3910)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.9.9...v3.9.10)
##### Patch Changes
- [#11738](https://redirect.github.com/apollographql/apollo-client/pull/11738) [`b1a5eb8`](https://redirect.github.com/apollographql/apollo-client/commit/b1a5eb80cae8bdf2e9d8627f1eab65e088c43438) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where rerendering `useBackgroundQuery` after the `queryRef` had been disposed, either via the auto dispose timeout or by unmounting `useReadQuery`, would cause the `queryRef` to be recreated potentially resulting in another network request.
- [#11738](https://redirect.github.com/apollographql/apollo-client/pull/11738) [`b1a5eb8`](https://redirect.github.com/apollographql/apollo-client/commit/b1a5eb80cae8bdf2e9d8627f1eab65e088c43438) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Allow queryRefs to be disposed of synchronously when a suspense hook unmounts. This prevents some situations where using a suspense hook with the same query/variables as the disposed queryRef accidentally used the disposed queryRef rather than creating a new instance.
- [#11670](https://redirect.github.com/apollographql/apollo-client/pull/11670) [`cc5c03b`](https://redirect.github.com/apollographql/apollo-client/commit/cc5c03b2690f452483d83eecb68611a23055d99e) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Bail out of `executeSubSelectedArray` calls if the array has 0 elements.
### [`v3.9.9`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#399)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.9.8...v3.9.9)
##### Patch Changes
- [#11696](https://redirect.github.com/apollographql/apollo-client/pull/11696) [`466ef82`](https://redirect.github.com/apollographql/apollo-client/commit/466ef82198486fc696da64d17d82b46140760ac4) Thanks [@PiR1](https://redirect.github.com/PiR1)! - Immediately dispose of the `queryRef` if `useBackgroundQuery` unmounts before the auto dispose timeout kicks in.
### [`v3.9.8`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#398)
[Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.9.7...v3.9.8)
##### Patch Changes
- [#11706](https://redirect.github.com/apollographql/apollo-client/pull/11706) [`8619bc7`](https://redirect.github.com/apollographql/apollo-client/commit/8619bc7e569c1c732afa6faf605c83a6ce0cdf0c) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix issue in all suspense hooks where returning an empty array after calling `fetchMore` would rerender the component with an empty list.
- [#11694](https://redirect.github.com/apollographql/apollo-client/pull/11694) [`835d5f3`](https://redirect.github.com/apollographql/apollo-client/commit/835d5f30c532c432e2434561580e6f1ec44cc908) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Expose `setErrorMessageHandler` from `@apollo/client/dev` entrypoint.
- [#11689](https://redirect.github.
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 PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^3.9.5
->^3.11.10
^1.1.3
->^1.15.1
^3.10.3
->^3.14.1592
^0.5.5
->^0.8.4
^3.10.3
->^3.14.1592
^2.14.1
->^2.19.2
^2.0.4
->^2.0.5
^20.11.24
->^20.17.6
^4.0.1
->^4.2.1
^4.0.0
->^4.2.0
^8.57.0
->^8.57.1
^16.8.1
->^16.9.0
^5.15.0
->^5.16.0
^1.21.0
->^1.21.6
^3.10.3
->^3.14.1592
^3.0.0
->^3.14.1592
^1.1.3
->^1.1.4
8.15.2
->8.15.9
1.22.19
->1.22.22
Release Notes
apollographql/apollo-client (@apollo/client)
### [`v3.11.10`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#31110) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.9...v3.11.10) ##### Patch Changes - [#12093](https://redirect.github.com/apollographql/apollo-client/pull/12093) [`1765668`](https://redirect.github.com/apollographql/apollo-client/commit/1765668b7d495ef8a581f697bf9e4b7460455f13) Thanks [@mgmolisani](https://redirect.github.com/mgmolisani)! - Fixed a bug when evaluating the devtools flag with the new syntax `devtools.enabled` that could result to `true` when explicitly set to `false`. ### [`v3.11.9`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3119) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.8...v3.11.9) ##### Patch Changes - [#12110](https://redirect.github.com/apollographql/apollo-client/pull/12110) [`a3f95c6`](https://redirect.github.com/apollographql/apollo-client/commit/a3f95c6f7623060bbf68b418b0ab268fabc0c9b6) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where errors returned from a `fetchMore` call from a Suspense hook would cause a Suspense boundary to be shown indefinitely. ### [`v3.11.8`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3118) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.7...v3.11.8) ##### Patch Changes - [#12054](https://redirect.github.com/apollographql/apollo-client/pull/12054) [`35cf186`](https://redirect.github.com/apollographql/apollo-client/commit/35cf186ed9237e41735f150e0cbf4edd995ab0d9) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Fixed a bug where incorrect object access in some Safari extensions could cause a crash. ### [`v3.11.7`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3117) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.6...v3.11.7) ##### Patch Changes - [#12052](https://redirect.github.com/apollographql/apollo-client/pull/12052) [`e471cef`](https://redirect.github.com/apollographql/apollo-client/commit/e471cef875eadef04f8ee18ef431ee70e7b9bcab) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fixes a regression from where passing an invalid identifier to `from` in `useFragment` would result in the warning `TypeError: Cannot read properties of undefined (reading '__typename')`. ### [`v3.11.6`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3116) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.5...v3.11.6) ##### Patch Changes - [#12049](https://redirect.github.com/apollographql/apollo-client/pull/12049) [`9c26892`](https://redirect.github.com/apollographql/apollo-client/commit/9c268927b1f8e5921b9440a53c9979a37f594e75) Thanks [@phryneas](https://redirect.github.com/phryneas) and [@maciesielka](https://redirect.github.com/maciesielka)! - Fix a bug where `useFragment` did not re-render as expected - [#12044](https://redirect.github.com/apollographql/apollo-client/pull/12044) [`04462a2`](https://redirect.github.com/apollographql/apollo-client/commit/04462a274ad39b392142385a2f052abbf3014749) Thanks [@DoctorJohn](https://redirect.github.com/DoctorJohn)! - Cache the `useSubscription` hook's `restart` function definition between re-renders. ### [`v3.11.5`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3115) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.4...v3.11.5) ##### Patch Changes - [#12027](https://redirect.github.com/apollographql/apollo-client/pull/12027) [`eb3e21b`](https://redirect.github.com/apollographql/apollo-client/commit/eb3e21b9f7fa6a3161705c2c7270129c17b65095) Thanks [@JavaScriptBach](https://redirect.github.com/JavaScriptBach)! - Type `MutationResult.reset` as an arrow function - [#12020](https://redirect.github.com/apollographql/apollo-client/pull/12020) [`82d8cb4`](https://redirect.github.com/apollographql/apollo-client/commit/82d8cb4255be497748829f12eb25ac87c11ee5e4) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Better conform to Rules of React by avoiding write of ref in render for `useFragment`. ### [`v3.11.4`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3114) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.3...v3.11.4) ##### Patch Changes - [#11994](https://redirect.github.com/apollographql/apollo-client/pull/11994) [`41b17e5`](https://redirect.github.com/apollographql/apollo-client/commit/41b17e5950f4db5ef9e32ded5bb327b3bf19e6e8) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Update the `Modifier` function type to allow `cache.modify` to return deeply partial data. - [#11989](https://redirect.github.com/apollographql/apollo-client/pull/11989) [`e609156`](https://redirect.github.com/apollographql/apollo-client/commit/e609156c4989def88ae1a28b2e0f0378077a5528) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Fix a potential crash when calling `clearStore` while a query was running. Previously, calling `client.clearStore()` while a query was running had one of these results: - `useQuery` would stay in a `loading: true` state. - `useLazyQuery` would stay in a `loading: true` state, but also crash with a `"Cannot read property 'data' of undefined"` error. Now, in both cases, the hook will enter an error state with a `networkError`, and the promise returned by the `useLazyQuery` `execute` function will return a result in an error state. - [#11994](https://redirect.github.com/apollographql/apollo-client/pull/11994) [`41b17e5`](https://redirect.github.com/apollographql/apollo-client/commit/41b17e5950f4db5ef9e32ded5bb327b3bf19e6e8) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Prevent accidental distribution on `cache.modify` field modifiers when a field is a union type array. ### [`v3.11.3`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3113) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.2...v3.11.3) ##### Patch Changes - [#11984](https://redirect.github.com/apollographql/apollo-client/pull/11984) [`5db1659`](https://redirect.github.com/apollographql/apollo-client/commit/5db1659dc07e3de697894fc1c6f00a151d068291) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where multiple fetches with results that returned errors would sometimes set the `data` property with an `errorPolicy` of `none`. - [#11974](https://redirect.github.com/apollographql/apollo-client/pull/11974) [`c95848e`](https://redirect.github.com/apollographql/apollo-client/commit/c95848e859fb7ce0b3b9439ac71dff880f991450) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where `fetchMore` would write its result data to the cache when using it with a `no-cache` fetch policy. - [#11974](https://redirect.github.com/apollographql/apollo-client/pull/11974) [`c95848e`](https://redirect.github.com/apollographql/apollo-client/commit/c95848e859fb7ce0b3b9439ac71dff880f991450) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix an issue where executing `fetchMore` with a `no-cache` fetch policy could sometimes result in multiple network requests. - [#11974](https://redirect.github.com/apollographql/apollo-client/pull/11974) [`c95848e`](https://redirect.github.com/apollographql/apollo-client/commit/c95848e859fb7ce0b3b9439ac71dff880f991450) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - ##### Potentially disruptive change When calling `fetchMore` with a query that has a `no-cache` fetch policy, `fetchMore` will now throw if an `updateQuery` function is not provided. This provides a mechanism to merge the results from the `fetchMore` call with the query's previous result. ### [`v3.11.2`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3112) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.1...v3.11.2) ##### Patch Changes - [#11980](https://redirect.github.com/apollographql/apollo-client/pull/11980) [`38c0a2c`](https://redirect.github.com/apollographql/apollo-client/commit/38c0a2c43dd28677ee240754cd389c8a08c05738) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix missing `getServerSnapshot` error when using `useSubscription` on the server. ### [`v3.11.1`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3111) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.11.0...v3.11.1) ##### Patch Changes - [#11969](https://redirect.github.com/apollographql/apollo-client/pull/11969) [`061cab6`](https://redirect.github.com/apollographql/apollo-client/commit/061cab6627abd4ec81f83c40c1d281c418627c93) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Remove check for `window.__APOLLO_CLIENT__` when determining whether to connect to Apollo Client Devtools when `connectToDevtools` or `devtools.enabled` is not specified. This now simply checks to see if the application is in development mode. - [#11971](https://redirect.github.com/apollographql/apollo-client/pull/11971) [`ecf77f6`](https://redirect.github.com/apollographql/apollo-client/commit/ecf77f6f5b5ccf64cfba51e838e96549fb6c92fe) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Prevent the `setTimeout` for suggesting devtools from running in non-browser environments. ### [`v3.11.0`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3110) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.8...v3.11.0) ##### Potentially Breaking Fixes - [#11789](https://redirect.github.com/apollographql/apollo-client/pull/11789) [`5793301`](https://redirect.github.com/apollographql/apollo-client/commit/579330147d6bd6f7167a35413a33746103e375cb) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Changes usages of the `GraphQLError` type to `GraphQLFormattedError`. This was a type bug - these errors were never `GraphQLError` instances to begin with, and the `GraphQLError` class has additional properties that can never be correctly rehydrated from a GraphQL result. The correct type to use here is `GraphQLFormattedError`. Similarly, please ensure to use the type `FormattedExecutionResult` instead of `ExecutionResult` - the non-"Formatted" versions of these types are for use on the server only, but don't get transported over the network. - [#11626](https://redirect.github.com/apollographql/apollo-client/pull/11626) [`228429a`](https://redirect.github.com/apollographql/apollo-client/commit/228429a1d36eae691473b24fb641ec3cd84c8a3d) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Call `nextFetchPolicy` with "variables-changed" even if there is a `fetchPolicy` specified. Previously this would only be called when the current `fetchPolicy` was equal to the `fetchPolicy` option or the option was not specified. If you use `nextFetchPolicy` as a function, expect to see this function called more often. Due to this bug, this also meant that the `fetchPolicy` might be reset to the initial `fetchPolicy`, even when you specified a `nextFetchPolicy` function. If you previously relied on this behavior, you will need to update your `nextFetchPolicy` callback function to implement this resetting behavior. As an example, if your code looked like the following: ```js useQuery(QUERY, { nextFetchPolicy(currentFetchPolicy, info) { // your logic here } ); ``` Update your function to the following to reimplement the resetting behavior: ```js useQuery(QUERY, { nextFetchPolicy(currentFetchPolicy, info) { if (info.reason === 'variables-changed') { return info.initialFetchPolicy; } // your logic here } ); ``` ##### Minor Changes - [#11923](https://redirect.github.com/apollographql/apollo-client/pull/11923) [`d88c7f8`](https://redirect.github.com/apollographql/apollo-client/commit/d88c7f8909e3cb31532e8b1fc7dd06be12f35591) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Add support for `subscribeToMore` function to `useQueryRefHandlers`. - [#11854](https://redirect.github.com/apollographql/apollo-client/pull/11854) [`3812800`](https://redirect.github.com/apollographql/apollo-client/commit/3812800c6e4e5e3e64f473543babdba35ce100c2) Thanks [@jcostello-atlassian](https://redirect.github.com/jcostello-atlassian)! - Support extensions in useSubscription - [#11923](https://redirect.github.com/apollographql/apollo-client/pull/11923) [`d88c7f8`](https://redirect.github.com/apollographql/apollo-client/commit/d88c7f8909e3cb31532e8b1fc7dd06be12f35591) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Add support for `subscribeToMore` function to `useLoadableQuery`. - [#11863](https://redirect.github.com/apollographql/apollo-client/pull/11863) [`98e44f7`](https://redirect.github.com/apollographql/apollo-client/commit/98e44f74cb7c7e93a81bdc7492c9218bf4a2dcd4) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Reimplement `useSubscription` to fix rules of React violations. - [#11869](https://redirect.github.com/apollographql/apollo-client/pull/11869) [`a69327c`](https://redirect.github.com/apollographql/apollo-client/commit/a69327cce1b36e8855258e9b19427511e0af8748) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Rewrite big parts of `useQuery` and `useLazyQuery` to be more compliant with the Rules of React and React Compiler - [#11936](https://redirect.github.com/apollographql/apollo-client/pull/11936) [`1b23337`](https://redirect.github.com/apollographql/apollo-client/commit/1b23337e5a9eec4ce3ed69531ca4f4afe8e897a6) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Add the ability to specify a name for the client instance for use with Apollo Client Devtools. This is useful when instantiating multiple clients to identify the client instance more easily. This deprecates the `connectToDevtools` option in favor of a new `devtools` configuration. ```ts new ApolloClient({ devtools: { enabled: true, name: "Test Client", }, }); ``` This option is backwards-compatible with `connectToDevtools` and will be used in the absense of a `devtools` option. - [#11923](https://redirect.github.com/apollographql/apollo-client/pull/11923) [`d88c7f8`](https://redirect.github.com/apollographql/apollo-client/commit/d88c7f8909e3cb31532e8b1fc7dd06be12f35591) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Add support for `subscribeToMore` function to `useBackgroundQuery`. - [#11930](https://redirect.github.com/apollographql/apollo-client/pull/11930) [`a768575`](https://redirect.github.com/apollographql/apollo-client/commit/a768575ac1454587208aad63abc811b6a966fe72) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Deprecates experimental schema testing utilities introduced in 3.10 in favor of recommending [`@apollo/graphql-testing-library`](https://redirect.github.com/apollographql/graphql-testing-library). ##### Patch Changes - [#11951](https://redirect.github.com/apollographql/apollo-client/pull/11951) [`0de03af`](https://redirect.github.com/apollographql/apollo-client/commit/0de03af912a76c4e0111f21b4f90a073317b63b6) Thanks [@phryneas](https://redirect.github.com/phryneas)! - add React 19 RC to `peerDependencies` - [#11927](https://redirect.github.com/apollographql/apollo-client/pull/11927) [`2941824`](https://redirect.github.com/apollographql/apollo-client/commit/2941824dd66cdd20eee5f2293373ad7a9cf991a4) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Add `restart` function to `useSubscription`. - [#11949](https://redirect.github.com/apollographql/apollo-client/pull/11949) [`4528918`](https://redirect.github.com/apollographql/apollo-client/commit/45289186bcaaa33dfe904913eb6df31e2541c219) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Remove deprecated `watchFragment` option, `canonizeResults` - [#11937](https://redirect.github.com/apollographql/apollo-client/pull/11937) [`78332be`](https://redirect.github.com/apollographql/apollo-client/commit/78332be32a9af0da33eb3e4100e7a76c3eac2496) Thanks [@phryneas](https://redirect.github.com/phryneas)! - `createSchemaFetch`: simulate serialized errors instead of an `ApolloError` instance - [#11902](https://redirect.github.com/apollographql/apollo-client/pull/11902) [`96422ce`](https://redirect.github.com/apollographql/apollo-client/commit/96422ce95b923b560321a88acd2eec35cf2a1c18) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Add `cause` field to `ApolloError`. - [#11806](https://redirect.github.com/apollographql/apollo-client/pull/11806) [`8df6013`](https://redirect.github.com/apollographql/apollo-client/commit/8df6013b6b45452ec058fab3e068b5b6d6c493f7) Thanks [@phryneas](https://redirect.github.com/phryneas)! - MockLink: add query default variables if not specified in mock request - [#11926](https://redirect.github.com/apollographql/apollo-client/pull/11926) [`3dd6432`](https://redirect.github.com/apollographql/apollo-client/commit/3dd64324dc5156450cead27f8141ea93315ffe65) Thanks [@phryneas](https://redirect.github.com/phryneas)! - `watchFragment`: forward additional options to `diffOptions` - [#11946](https://redirect.github.com/apollographql/apollo-client/pull/11946) [`7d833b8`](https://redirect.github.com/apollographql/apollo-client/commit/7d833b80119a991e6d2eb58f2c71074d697b8e63) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Fix issue where mutations were not accessible by Apollo Client Devtools in 3.11.0-rc.0. - [#11944](https://redirect.github.com/apollographql/apollo-client/pull/11944) [`8f3d7eb`](https://redirect.github.com/apollographql/apollo-client/commit/8f3d7eb3bc2e0c2d79c5b1856655abe829390742) Thanks [@sneyderdev](https://redirect.github.com/sneyderdev)! - Allow `IgnoreModifier` to be returned from a `optimisticResponse` function when inferring from a `TypedDocumentNode` when used with a generic argument. - [#11954](https://redirect.github.com/apollographql/apollo-client/pull/11954) [`4a6e86a`](https://redirect.github.com/apollographql/apollo-client/commit/4a6e86aeaf6685abf0dd23110784848c8b085735) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Document (and deprecate) the previously undocumented `errors` property on the `useQuery` `QueryResult` type. - [#11719](https://redirect.github.com/apollographql/apollo-client/pull/11719) [`09a6677`](https://redirect.github.com/apollographql/apollo-client/commit/09a6677ec1a0cffedeecb2cbac5cd3a3c8aa0fa1) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Allow wrapping `createQueryPreloader` - [#11921](https://redirect.github.com/apollographql/apollo-client/pull/11921) [`70406bf`](https://redirect.github.com/apollographql/apollo-client/commit/70406bfd2b9a645d781638569853d9b435e047df) Thanks [@phryneas](https://redirect.github.com/phryneas)! - add `ignoreResults` option to `useSubscription` ### [`v3.10.8`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3108) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.7...v3.10.8) ##### Patch Changes - [#11911](https://redirect.github.com/apollographql/apollo-client/pull/11911) [`1f0460a`](https://redirect.github.com/apollographql/apollo-client/commit/1f0460a60fc613e8d6f218a74ded69e81e960791) Thanks [@jerelmiller](https://redirect.github.com/jerelmiller)! - Allow `undefined` to be returned from a `cache.modify` modifier function when a generic type argument is used. ### [`v3.10.7`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3107) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.6...v3.10.7) ##### Patch Changes - [#11901](https://redirect.github.com/apollographql/apollo-client/pull/11901) [`10a8c0a`](https://redirect.github.com/apollographql/apollo-client/commit/10a8c0a8f6f3e13ec3c67bf53cc11a948b60e6d9) Thanks [@phryneas](https://redirect.github.com/phryneas)! - update `canUseLayoutEffect` check to also allow for layout effects in React Native - [#11861](https://redirect.github.com/apollographql/apollo-client/pull/11861) [`1aed0e8`](https://redirect.github.com/apollographql/apollo-client/commit/1aed0e82fcc432380a56d4a446f414ce8b1a7a90) Thanks [@henryqdineen](https://redirect.github.com/henryqdineen)! - Defend against non-serializable params in `invariantWrappers` - [#11905](https://redirect.github.com/apollographql/apollo-client/pull/11905) [`29755da`](https://redirect.github.com/apollographql/apollo-client/commit/29755da8797dc94613a23fe050ddd6ef9ffab607) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Add `.d.cts` files for cjs bundles - [#11906](https://redirect.github.com/apollographql/apollo-client/pull/11906) [`d104759`](https://redirect.github.com/apollographql/apollo-client/commit/d104759cfb4be31e2ffbe166531a9b11861ade99) Thanks [@phryneas](https://redirect.github.com/phryneas)! - chore: update TypeScript to 5.5 ### [`v3.10.6`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3106) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.5...v3.10.6) ##### Patch Changes - [#11900](https://redirect.github.com/apollographql/apollo-client/pull/11900) [`f745558`](https://redirect.github.com/apollographql/apollo-client/commit/f74555826995009a6bb9d824506cecb3508e3365) Thanks [@phryneas](https://redirect.github.com/phryneas)! - `useMutation`: use `useIsomorphicLayoutEffect` instead of `useLayoutEffect` ### [`v3.10.5`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3105) [Compare Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.10.4...v3.10.5) ##### Patch Changes - [#11888](https://redirect.github.com/apollographql/apollo-client/pull/11888) [`7fb7939`](https://redirect.github.com/apollographql/apollo-client/commit/7fb7939edb7ca8f4273b75554f96ea9936731458) Thanks [@phryneas](https://redirect.github.com/phryneas)! - switch `useRenderGuard` to an approach not accessing React's internals - [#11511](https://redirect.github.com/apollographql/apollo-client/pull/11511) [`6536369`](https://redirect.github.com/apollographql/apollo-client/commit/6536369cf213469d20d15b779c344268d70fecd5) Thanks [@phryneas](https://redirect.github.com/phryneas)! - `useLoadableQuery`: ensure that `loadQuery` is updated if the ApolloClient instance changes - [#11860](https://redirect.github.com/apollographql/apollo-client/pull/11860) [`8740f19`](https://redirect.github.com/apollographql/apollo-client/commit/8740f198805a99e01136617c4055d611b92cc231) Thanks [@alessbell](https://redirect.github.com/alessbell)! - Fixes [#11849](https://redirect.github.com/apollographql/apollo-client/issues/11849) by reevaluating `window.fetch` each time `BatchHttpLink` uses it, if not configured via `options.fetch`. Takes the same approach as PR [#8603](https://redirect.github.com/apollographql/apollo-client/pull/8603) which fixed the same issue in `HttpLink`. - [#11852](https://redirect.github.com/apollographql/apollo-client/pull/11852) [`d502a69`](https://redirect.github.com/apollographql/apollo-client/commit/d502a69654d8ffa31e09467da028304a934a9874) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Fix a bug where calling the `useMutation` `reset` function would point the hook to an outdated `client` reference. - [#11329](https://redirect.github.com/apollographql/apollo-client/pull/11329) [`3d164ea`](https://redirect.github.com/apollographql/apollo-client/commit/3d164ea16c17d271f6fa9e5ad8f013623eec23a0) Thanks [@PaLy](https://redirect.github.com/PaLy)! - Fix graphQLErrors in Error Link if networkError.result is an empty string - [#11852](https://redirect.github.com/apollographql/apollo-client/pull/11852) [`d502a69`](https://redirect.github.com/apollographql/apollo-client/commit/d502a69654d8ffa31e09467da028304a934a9874) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Prevent writing to a ref in render in `useMutation`. As a result, you might encounter problems in the future if you call the mutation's `execute` function during render. Please note that this was never supported behavior, and we strongly recommend against it. - [#11848](https://redirect.github.com/apollographql/apollo-client/pull/11848) [`ad63924`](https://redirect.github.com/apollographql/apollo-client/commit/ad6392424ddbeb6f91b165c806251490e1cdd69e) Thanks [@phryneas](https://redirect.github.com/phryneas)! - Ensure covariant behavior: `MockedResponseConfiguration
📅 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 PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.