Skip to content

Commit

Permalink
chore(deps): update all non-major dependencies (#7821)
Browse files Browse the repository at this point in the history
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@apollo/client](https://www.apollographql.com/docs/react/)
([source](https://togithub.com/apollographql/apollo-client)) | [`3.8.9`
->
`3.10.8`](https://renovatebot.com/diffs/npm/@apollo%2fclient/3.8.9/3.10.8)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@apollo%2fclient/3.10.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@apollo%2fclient/3.10.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@apollo%2fclient/3.8.9/3.10.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@apollo%2fclient/3.8.9/3.10.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [@apollo/gateway](https://togithub.com/apollographql/federation)
([source](https://togithub.com/apollographql/federation/tree/HEAD/gateway-js/))
| [`2.6.3` ->
`2.8.3`](https://renovatebot.com/diffs/npm/@apollo%2fgateway/2.6.3/2.8.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@apollo%2fgateway/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@apollo%2fgateway/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@apollo%2fgateway/2.6.3/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@apollo%2fgateway/2.6.3/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [@apollo/subgraph](https://togithub.com/apollographql/federation)
([source](https://togithub.com/apollographql/federation/tree/HEAD/subgraph-js/))
| [`2.6.3` ->
`2.8.3`](https://renovatebot.com/diffs/npm/@apollo%2fsubgraph/2.6.3/2.8.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@apollo%2fsubgraph/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@apollo%2fsubgraph/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@apollo%2fsubgraph/2.6.3/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@apollo%2fsubgraph/2.6.3/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@changesets/cli](https://togithub.com/changesets/changesets/tree/main#readme)
([source](https://togithub.com/changesets/changesets)) | [`2.27.1` ->
`2.27.7`](https://renovatebot.com/diffs/npm/@changesets%2fcli/2.27.1/2.27.7)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@changesets%2fcli/2.27.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@changesets%2fcli/2.27.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@changesets%2fcli/2.27.1/2.27.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@changesets%2fcli/2.27.1/2.27.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@rollup/plugin-commonjs](https://togithub.com/rollup/plugins/tree/master/packages/commonjs/#readme)
([source](https://togithub.com/rollup/plugins/tree/HEAD/packages/commonjs))
| [`25.0.7` ->
`25.0.8`](https://renovatebot.com/diffs/npm/@rollup%2fplugin-commonjs/25.0.7/25.0.8)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@rollup%2fplugin-commonjs/25.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@rollup%2fplugin-commonjs/25.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@rollup%2fplugin-commonjs/25.0.7/25.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@rollup%2fplugin-commonjs/25.0.7/25.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/express-serve-static-core](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/express-serve-static-core)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express-serve-static-core))
| [`4.17.41` ->
`4.19.5`](https://renovatebot.com/diffs/npm/@types%2fexpress-serve-static-core/4.17.41/4.19.5)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fexpress-serve-static-core/4.19.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fexpress-serve-static-core/4.19.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fexpress-serve-static-core/4.17.41/4.19.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fexpress-serve-static-core/4.17.41/4.19.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@types/lodash](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash))
| [`4.14.202` ->
`4.17.7`](https://renovatebot.com/diffs/npm/@types%2flodash/4.14.202/4.17.7)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2flodash/4.17.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2flodash/4.17.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2flodash/4.14.202/4.17.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2flodash/4.14.202/4.17.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@types/node-fetch](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-fetch)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node-fetch))
| [`2.6.10` ->
`2.6.11`](https://renovatebot.com/diffs/npm/@types%2fnode-fetch/2.6.10/2.6.11)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode-fetch/2.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode-fetch/2.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode-fetch/2.6.10/2.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode-fetch/2.6.10/2.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/uuid](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid))
| [`9.0.7` ->
`9.0.8`](https://renovatebot.com/diffs/npm/@types%2fuuid/9.0.7/9.0.8) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fuuid/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fuuid/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fuuid/9.0.7/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fuuid/9.0.7/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [eslint](https://eslint.org)
([source](https://togithub.com/eslint/eslint)) | [`8.56.0` ->
`8.57.0`](https://renovatebot.com/diffs/npm/eslint/8.56.0/8.57.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/8.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/8.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/8.56.0/8.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/8.56.0/8.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [graphql](https://togithub.com/graphql/graphql-js) | [`16.8.1` ->
`16.9.0`](https://renovatebot.com/diffs/npm/graphql/16.8.1/16.9.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/graphql/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/graphql/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/graphql/16.8.1/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/graphql/16.8.1/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [graphql](https://togithub.com/graphql/graphql-js) | [`16.8.1` ->
`16.9.0`](https://renovatebot.com/diffs/npm/graphql/16.8.1/16.9.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/graphql/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/graphql/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/graphql/16.8.1/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/graphql/16.8.1/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [make-fetch-happen](https://togithub.com/npm/make-fetch-happen) |
[`13.0.0` ->
`13.0.1`](https://renovatebot.com/diffs/npm/make-fetch-happen/13.0.0/13.0.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/make-fetch-happen/13.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/make-fetch-happen/13.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/make-fetch-happen/13.0.0/13.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/make-fetch-happen/13.0.0/13.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [nock](https://togithub.com/nock/nock) | [`13.4.0` ->
`13.5.4`](https://renovatebot.com/diffs/npm/nock/13.4.0/13.5.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/nock/13.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nock/13.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nock/13.4.0/13.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nock/13.4.0/13.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [node](https://nodejs.org)
([source](https://togithub.com/nodejs/node)) | [`20.11.0` ->
`20.15.1`](https://renovatebot.com/diffs/npm/node/v20.11.0/v20.15.1) |
[![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.11.0/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.11.0/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| volta | minor |
| [npm](https://docs.npmjs.com/)
([source](https://togithub.com/npm/cli)) | [`9.9.2` ->
`9.9.3`](https://renovatebot.com/diffs/npm/npm/9.9.2/9.9.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/npm/9.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/npm/9.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/npm/9.9.2/9.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/npm/9.9.2/9.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| volta | patch |
| [prettier](https://prettier.io)
([source](https://togithub.com/prettier/prettier)) | [`3.1.1` ->
`3.3.3`](https://renovatebot.com/diffs/npm/prettier/3.1.1/3.3.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.1.1/3.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.1.1/3.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [supertest](https://togithub.com/ladjs/supertest) | [`6.3.3` ->
`6.3.4`](https://renovatebot.com/diffs/npm/supertest/6.3.3/6.3.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/supertest/6.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/supertest/6.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/supertest/6.3.3/6.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/supertest/6.3.3/6.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [ts-jest](https://kulshekhar.github.io/ts-jest)
([source](https://togithub.com/kulshekhar/ts-jest)) | [`29.1.1` ->
`29.2.3`](https://renovatebot.com/diffs/npm/ts-jest/29.1.1/29.2.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ts-jest/29.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ts-jest/29.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ts-jest/29.1.1/29.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ts-jest/29.1.1/29.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |

---

### Release Notes

<details>
<summary>apollographql/apollo-client (@&#8203;apollo/client)</summary>

###
[`v3.10.8`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3108)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.10.7...v3.10.8)

##### Patch Changes

-
[#&#8203;11911](https://togithub.com/apollographql/apollo-client/pull/11911)
[`1f0460a`](https://togithub.com/apollographql/apollo-client/commit/1f0460a60fc613e8d6f218a74ded69e81e960791)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Allow
`undefined` to be returned from a `cache.modify` modifier function when
a generic type argument is used.

###
[`v3.10.7`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3107)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.10.6...v3.10.7)

##### Patch Changes

-
[#&#8203;11901](https://togithub.com/apollographql/apollo-client/pull/11901)
[`10a8c0a`](https://togithub.com/apollographql/apollo-client/commit/10a8c0a8f6f3e13ec3c67bf53cc11a948b60e6d9)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - update
`canUseLayoutEffect` check to also allow for layout effects in React
Native

-
[#&#8203;11861](https://togithub.com/apollographql/apollo-client/pull/11861)
[`1aed0e8`](https://togithub.com/apollographql/apollo-client/commit/1aed0e82fcc432380a56d4a446f414ce8b1a7a90)
Thanks [@&#8203;henryqdineen](https://togithub.com/henryqdineen)! -
Defend against non-serializable params in `invariantWrappers`

-
[#&#8203;11905](https://togithub.com/apollographql/apollo-client/pull/11905)
[`29755da`](https://togithub.com/apollographql/apollo-client/commit/29755da8797dc94613a23fe050ddd6ef9ffab607)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Add `.d.cts`
files for cjs bundles

-
[#&#8203;11906](https://togithub.com/apollographql/apollo-client/pull/11906)
[`d104759`](https://togithub.com/apollographql/apollo-client/commit/d104759cfb4be31e2ffbe166531a9b11861ade99)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - chore:
update TypeScript to 5.5

###
[`v3.10.6`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3106)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.10.5...v3.10.6)

##### Patch Changes

-
[#&#8203;11900](https://togithub.com/apollographql/apollo-client/pull/11900)
[`f745558`](https://togithub.com/apollographql/apollo-client/commit/f74555826995009a6bb9d824506cecb3508e3365)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! -
`useMutation`: use `useIsomorphicLayoutEffect` instead of
`useLayoutEffect`

###
[`v3.10.5`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3105)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.10.4...v3.10.5)

##### Patch Changes

-
[#&#8203;11888](https://togithub.com/apollographql/apollo-client/pull/11888)
[`7fb7939`](https://togithub.com/apollographql/apollo-client/commit/7fb7939edb7ca8f4273b75554f96ea9936731458)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - switch
`useRenderGuard` to an approach not accessing React's internals

-
[#&#8203;11511](https://togithub.com/apollographql/apollo-client/pull/11511)
[`6536369`](https://togithub.com/apollographql/apollo-client/commit/6536369cf213469d20d15b779c344268d70fecd5)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! -
`useLoadableQuery`: ensure that `loadQuery` is updated if the
ApolloClient instance changes

-
[#&#8203;11860](https://togithub.com/apollographql/apollo-client/pull/11860)
[`8740f19`](https://togithub.com/apollographql/apollo-client/commit/8740f198805a99e01136617c4055d611b92cc231)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Fixes
[#&#8203;11849](https://togithub.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
[#&#8203;8603](https://togithub.com/apollographql/apollo-client/pull/8603)
which fixed the same issue in `HttpLink`.

-
[#&#8203;11852](https://togithub.com/apollographql/apollo-client/pull/11852)
[`d502a69`](https://togithub.com/apollographql/apollo-client/commit/d502a69654d8ffa31e09467da028304a934a9874)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Fix a bug
where calling the `useMutation` `reset` function would point the hook to
an outdated `client` reference.

-
[#&#8203;11329](https://togithub.com/apollographql/apollo-client/pull/11329)
[`3d164ea`](https://togithub.com/apollographql/apollo-client/commit/3d164ea16c17d271f6fa9e5ad8f013623eec23a0)
Thanks [@&#8203;PaLy](https://togithub.com/PaLy)! - Fix graphQLErrors in
Error Link if networkError.result is an empty string

-
[#&#8203;11852](https://togithub.com/apollographql/apollo-client/pull/11852)
[`d502a69`](https://togithub.com/apollographql/apollo-client/commit/d502a69654d8ffa31e09467da028304a934a9874)
Thanks [@&#8203;phryneas](https://togithub.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.

-
[#&#8203;11848](https://togithub.com/apollographql/apollo-client/pull/11848)
[`ad63924`](https://togithub.com/apollographql/apollo-client/commit/ad6392424ddbeb6f91b165c806251490e1cdd69e)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Ensure
covariant behavior: `MockedResponse<X,Y>` should be assignable to
`MockedResponse`

-
[#&#8203;11851](https://togithub.com/apollographql/apollo-client/pull/11851)
[`45c47be`](https://togithub.com/apollographql/apollo-client/commit/45c47be26d4e020cfcff359a5af19ccfc39b930e)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Avoid usage
of useRef in useInternalState to prevent ref access in render.

-
[#&#8203;11877](https://togithub.com/apollographql/apollo-client/pull/11877)
[`634d91a`](https://togithub.com/apollographql/apollo-client/commit/634d91aeb10ab308b05d5ffb918678806046af09)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Add missing
name to tuple member (fix TS5084)

-
[#&#8203;11851](https://togithub.com/apollographql/apollo-client/pull/11851)
[`45c47be`](https://togithub.com/apollographql/apollo-client/commit/45c47be26d4e020cfcff359a5af19ccfc39b930e)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Fix a bug
where `useLazyQuery` would not pick up a client change.

###
[`v3.10.4`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3104)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.10.3...v3.10.4)

##### Patch Changes

-
[#&#8203;11838](https://togithub.com/apollographql/apollo-client/pull/11838)
[`8475346`](https://togithub.com/apollographql/apollo-client/commit/84753462af50d89c8693713990cccf432ff8267d)
Thanks [@&#8203;alex-kinokon](https://togithub.com/alex-kinokon)! -
Don’t prompt for DevTools installation for browser extension page

-
[#&#8203;11839](https://togithub.com/apollographql/apollo-client/pull/11839)
[`6481fe1`](https://togithub.com/apollographql/apollo-client/commit/6481fe1196cedee987781dcb45ebdc0cafb3998c)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix a
regression in
[3.9.5](https://togithub.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.

-
[#&#8203;11844](https://togithub.com/apollographql/apollo-client/pull/11844)
[`86984f2`](https://togithub.com/apollographql/apollo-client/commit/86984f24bd9076a6034acd59bbcb28a2ea1add93)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Honor
the `@nonreactive` directive when using `cache.watchFragment` or the
`useFragment` hook to avoid rerendering when using these directives.

-
[#&#8203;11824](https://togithub.com/apollographql/apollo-client/pull/11824)
[`47ad806`](https://togithub.com/apollographql/apollo-client/commit/47ad806c7b0c55f1e05dbf276ca87a354ac389e5)
Thanks [@&#8203;phryneas](https://togithub.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 '@&#8203;apollo/client'
    +import { QueryRef } from '@&#8203;apollo/client'

- function Component({ queryRef }: { queryRef: QueryReference<TData> })
{
    + function Component({ queryRef }: { queryRef: QueryRef<TData> }) {
      // ...
    }
    ```

-
[#&#8203;11845](https://togithub.com/apollographql/apollo-client/pull/11845)
[`4c5c820`](https://togithub.com/apollographql/apollo-client/commit/4c5c820b6172f6a2455bcdd974109513e0e2a39e)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Remove
`@nonreactive` directives from queries passed to `MockLink` to ensure
they are properly matched.

-
[#&#8203;11837](https://togithub.com/apollographql/apollo-client/pull/11837)
[`dff15b1`](https://togithub.com/apollographql/apollo-client/commit/dff15b1b03ebac9cae508c69bf607a29d0f6eccb)
Thanks [@&#8203;jerelmiller](https://togithub.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://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3103)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.10.2...v3.10.3)

##### Patch Changes

-
[#&#8203;11811](https://togithub.com/apollographql/apollo-client/pull/11811)
[`d67d7f9`](https://togithub.com/apollographql/apollo-client/commit/d67d7f9a2943273cacaefb26a54184e81f12b022)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Adjust some
types for React 19 compat

-
[#&#8203;11834](https://togithub.com/apollographql/apollo-client/pull/11834)
[`7d8aad4`](https://togithub.com/apollographql/apollo-client/commit/7d8aad4a00b89e0208ee1563293c24025e6604ce)
Thanks [@&#8203;psamim](https://togithub.com/psamim)! - Fix error
"Cannot convert object to primitive value"

###
[`v3.10.2`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3102)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.10.1...v3.10.2)

##### Patch Changes

-
[#&#8203;11821](https://togithub.com/apollographql/apollo-client/pull/11821)
[`2675d3c`](https://togithub.com/apollographql/apollo-client/commit/2675d3c97e6c47c6e298382004c7c9c2d3ffed0c)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix a
regression where rerendering a component with `useBackgroundQuery` would
recreate the `queryRef` instance when used with React's strict mode.

-
[#&#8203;11821](https://togithub.com/apollographql/apollo-client/pull/11821)
[`2675d3c`](https://togithub.com/apollographql/apollo-client/commit/2675d3c97e6c47c6e298382004c7c9c2d3ffed0c)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Revert
the change introduced in

[3.9.10](https://togithub.com/apollographql/apollo-client/releases/tag/v3.9.10)
via
[#&#8203;11738](https://togithub.com/apollographql/apollo-client/issues/11738)
that disposed of queryRefs synchronously. This change caused too many
issues with strict mode.

###
[`v3.10.1`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3101)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.10.0...v3.10.1)

##### Patch Changes

-
[#&#8203;11792](https://togithub.com/apollographql/apollo-client/pull/11792)
[`5876c35`](https://togithub.com/apollographql/apollo-client/commit/5876c35530a21473207954d1f0c2b7dd00c0b9ea)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! -
AutoCleanedCache: only schedule batched cache cleanup if the cache is
full (fixes
[#&#8203;11790](https://togithub.com/apollographql/apollo-client/issues/11790))

-
[#&#8203;11799](https://togithub.com/apollographql/apollo-client/pull/11799)
[`1aca7ed`](https://togithub.com/apollographql/apollo-client/commit/1aca7ed5a3accf2303ccdf9b3dece7278f03ad62)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! -
`RenderPromises`: use `canonicalStringify` to serialize `variables` to
ensure query deduplication is properly applied even when `variables` are
specified in a different order.

-
[#&#8203;11803](https://togithub.com/apollographql/apollo-client/pull/11803)
[`bf9dd17`](https://togithub.com/apollographql/apollo-client/commit/bf9dd17b288f33901e9421bcc0eacb3894c087af)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Update the
`rehackt` dependency to `^0.1.0`

-
[#&#8203;11756](https://togithub.com/apollographql/apollo-client/pull/11756)
[`60592e9`](https://togithub.com/apollographql/apollo-client/commit/60592e95399c3695d1d49a4c39ad29f00d4059fd)
Thanks [@&#8203;henryqdineen](https://togithub.com/henryqdineen)! - Fix
operation.setContext() type

###
[`v3.10.0`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3100)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.11...v3.10.0)

##### Minor Changes

-
[#&#8203;11605](https://togithub.com/apollographql/apollo-client/pull/11605)
[`e2dd4c9`](https://togithub.com/apollographql/apollo-client/commit/e2dd4c95290cea604b548cc446826d89aafe8e11)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Adds
`createMockFetch` utility for integration testing that includes the link
chain

-
[#&#8203;11760](https://togithub.com/apollographql/apollo-client/pull/11760)
[`acd1982`](https://togithub.com/apollographql/apollo-client/commit/acd1982a59ed66fc44fa9e70b08a31c69dac35a6)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! -
`createTestSchema` now uses graphql-tools `mergeResolvers` to merge
resolvers instead of a shallow merge.

-
[#&#8203;11764](https://togithub.com/apollographql/apollo-client/pull/11764)
[`f046aa9`](https://togithub.com/apollographql/apollo-client/commit/f046aa9fc24ac197a797045d280811a3bbe05806)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Rename
`createProxiedSchema` to `createTestSchema` and `createMockFetch` to
`createSchemaFetch`.

-
[#&#8203;11777](https://togithub.com/apollographql/apollo-client/pull/11777)
[`5dfc79f`](https://togithub.com/apollographql/apollo-client/commit/5dfc79fa6d974362f38361f7dffbe984a9546377)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Call
`createMockSchema` inside `createTestSchema`.

-
[#&#8203;11774](https://togithub.com/apollographql/apollo-client/pull/11774)
[`2583488`](https://togithub.com/apollographql/apollo-client/commit/2583488677912cb4500e5fb9e3f91b5c113c4cdb)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Add
ability to set min and max delay in `createSchemaFetch`

-
[#&#8203;11605](https://togithub.com/apollographql/apollo-client/pull/11605)
[`e2dd4c9`](https://togithub.com/apollographql/apollo-client/commit/e2dd4c95290cea604b548cc446826d89aafe8e11)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Adds
proxiedSchema and createMockSchema testing utilities

-
[#&#8203;11465](https://togithub.com/apollographql/apollo-client/pull/11465)
[`7623da7`](https://togithub.com/apollographql/apollo-client/commit/7623da7720855b0c19e13ff9124679f426a39725)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Add
`watchFragment` method to the cache and expose it on ApolloClient,
refactor `useFragment` using `watchFragment`.

-
[#&#8203;11743](https://togithub.com/apollographql/apollo-client/pull/11743)
[`78891f9`](https://togithub.com/apollographql/apollo-client/commit/78891f9ec81c0b7a7e010f5550a91965fa33a958)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Remove
alpha designation for `queryRef.toPromise()` to stabilize the API.

-
[#&#8203;11743](https://togithub.com/apollographql/apollo-client/pull/11743)
[`78891f9`](https://togithub.com/apollographql/apollo-client/commit/78891f9ec81c0b7a7e010f5550a91965fa33a958)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Remove
alpha designation for `createQueryPreloader` to stabilize the API.

-
[#&#8203;11783](https://togithub.com/apollographql/apollo-client/pull/11783)
[`440563a`](https://togithub.com/apollographql/apollo-client/commit/440563ab2c47efcb9c7d08f52531ade33d753037)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Moves new
testing utilities to their own entrypoint, `testing/experimental`

##### Patch Changes

-
[#&#8203;11757](https://togithub.com/apollographql/apollo-client/pull/11757)
[`9825295`](https://togithub.com/apollographql/apollo-client/commit/982529530893f66a1d236f0fff53862e513fc9a8)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Adjust
`useReadQuery` wrapper logic to work with transported objects.

-
[#&#8203;11771](https://togithub.com/apollographql/apollo-client/pull/11771)
[`e72cbba`](https://togithub.com/apollographql/apollo-client/commit/e72cbba07e5caa6d75b44ca8c766846e855a6c93)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Wrap
`useQueryRefHandlers` in `wrapHook`.

-
[#&#8203;11754](https://togithub.com/apollographql/apollo-client/pull/11754)
[`80d2ba5`](https://togithub.com/apollographql/apollo-client/commit/80d2ba579fe6d2a2d102d1fe79d7d503f31cd931)
Thanks [@&#8203;alessbell](https://togithub.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://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3911)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.10...v3.9.11)

##### Patch Changes

-
[#&#8203;11769](https://togithub.com/apollographql/apollo-client/pull/11769)
[`04132af`](https://togithub.com/apollographql/apollo-client/commit/04132af121c9b48d6e03eb733b9b91f825defbac)
Thanks [@&#8203;jerelmiller](https://togithub.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://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3910)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.9...v3.9.10)

##### Patch Changes

-
[#&#8203;11738](https://togithub.com/apollographql/apollo-client/pull/11738)
[`b1a5eb8`](https://togithub.com/apollographql/apollo-client/commit/b1a5eb80cae8bdf2e9d8627f1eab65e088c43438)
Thanks [@&#8203;jerelmiller](https://togithub.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.

-
[#&#8203;11738](https://togithub.com/apollographql/apollo-client/pull/11738)
[`b1a5eb8`](https://togithub.com/apollographql/apollo-client/commit/b1a5eb80cae8bdf2e9d8627f1eab65e088c43438)
Thanks [@&#8203;jerelmiller](https://togithub.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.

-
[#&#8203;11670](https://togithub.com/apollographql/apollo-client/pull/11670)
[`cc5c03b`](https://togithub.com/apollographql/apollo-client/commit/cc5c03b2690f452483d83eecb68611a23055d99e)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Bail out of
`executeSubSelectedArray` calls if the array has 0 elements.

###
[`v3.9.9`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#399)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.8...v3.9.9)

##### Patch Changes

-
[#&#8203;11696](https://togithub.com/apollographql/apollo-client/pull/11696)
[`466ef82`](https://togithub.com/apollographql/apollo-client/commit/466ef82198486fc696da64d17d82b46140760ac4)
Thanks [@&#8203;PiR1](https://togithub.com/PiR1)! - Immediately dispose
of the `queryRef` if `useBackgroundQuery` unmounts before the auto
dispose timeout kicks in.

###
[`v3.9.8`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#398)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.7...v3.9.8)

##### Patch Changes

-
[#&#8203;11706](https://togithub.com/apollographql/apollo-client/pull/11706)
[`8619bc7`](https://togithub.com/apollographql/apollo-client/commit/8619bc7e569c1c732afa6faf605c83a6ce0cdf0c)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix
issue in all suspense hooks where returning an empty array after calling
`fetchMore` would rerender the component with an empty list.

-
[#&#8203;11694](https://togithub.com/apollographql/apollo-client/pull/11694)
[`835d5f3`](https://togithub.com/apollographql/apollo-client/commit/835d5f30c532c432e2434561580e6f1ec44cc908)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Expose
`setErrorMessageHandler` from `@apollo/client/dev` entrypoint.

-
[#&#8203;11689](https://togithub.com/apollographql/apollo-client/pull/11689)
[`cb8ffe5`](https://togithub.com/apollographql/apollo-client/commit/cb8ffe50e903397f741b62a44624bfe69b5f7b75)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix
issue where passing a new `from` option to `useFragment` would first
render with the previous value before rerendering with the correct
value.

-
[#&#8203;11713](https://togithub.com/apollographql/apollo-client/pull/11713)
[`642092c`](https://togithub.com/apollographql/apollo-client/commit/642092c713199093aede45f105a1ee3f637614cd)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix
issue where setting a default `watchQuery` option in the `ApolloClient`
constructor could break `startTransition` when used with suspense hooks.

###
[`v3.9.7`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#397)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.6...v3.9.7)

##### Patch Changes

-
[#&#8203;11659](https://togithub.com/apollographql/apollo-client/pull/11659)
[`652a61e`](https://togithub.com/apollographql/apollo-client/commit/652a61e96db0f0e27d0a22fafae1df388f3fdf36)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Make
`useRenderGuard` more resilient to changes in React internals.

-
[#&#8203;11594](https://togithub.com/apollographql/apollo-client/pull/11594)
[`50b1097`](https://togithub.com/apollographql/apollo-client/commit/50b10970ca0efa290ae415ef801650327a89ab8e)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Adds a fix
for multipart subscriptions that terminate with payload: null

###
[`v3.9.6`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#396)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.5...v3.9.6)

##### Patch Changes

-
[#&#8203;11617](https://togithub.com/apollographql/apollo-client/pull/11617)
[`f1d8bc4`](https://togithub.com/apollographql/apollo-client/commit/f1d8bc40c3d8e39340f721f4f1c3fd0ed77b8a6b)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Allow Apollo
Client instance to intercept hook functionality

-
[#&#8203;11638](https://togithub.com/apollographql/apollo-client/pull/11638)
[`bf93ada`](https://togithub.com/apollographql/apollo-client/commit/bf93adaa0321b573db0ea8fc3a5c364e1fdfeef3)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix
issue where calling `fetchMore` from a suspense-enabled hook inside
`startTransition` caused an unnecessary rerender.

###
[`v3.9.5`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#395)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.4...v3.9.5)

##### Patch Changes

-
[#&#8203;11595](https://togithub.com/apollographql/apollo-client/pull/11595)
[`8c20955`](https://togithub.com/apollographql/apollo-client/commit/8c20955874562e5b2ab35557325e047b059bc4fc)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Bumps the
dependency `rehackt` to 0.0.5

-
[#&#8203;11592](https://togithub.com/apollographql/apollo-client/pull/11592)
[`1133469`](https://togithub.com/apollographql/apollo-client/commit/1133469bd91ff76b9815e815a454a79d8e23a9bc)
Thanks [@&#8203;Stephen2](https://togithub.com/Stephen2)! - Strengthen
`MockedResponse.newData` type

-
[#&#8203;11579](https://togithub.com/apollographql/apollo-client/pull/11579)
[`1ba2fd9`](https://togithub.com/apollographql/apollo-client/commit/1ba2fd919f79dfdc7b9d3f7d1a7aa5918e648349)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix
issue where partial data is reported to `useQuery` when using
`notifyOnNetworkStatusChange` after it errors while another overlapping
query succeeds.

-
[#&#8203;11579](https://togithub.com/apollographql/apollo-client/pull/11579)
[`1ba2fd9`](https://togithub.com/apollographql/apollo-client/commit/1ba2fd919f79dfdc7b9d3f7d1a7aa5918e648349)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix an
issue where a partial cache write for an errored query would result in
automatically refetching that query.

-
[#&#8203;11562](https://togithub.com/apollographql/apollo-client/pull/11562)
[`65ab695`](https://togithub.com/apollographql/apollo-client/commit/65ab695470741e8dcaef1ebd7742c3c397526354)
Thanks [@&#8203;mspiess](https://togithub.com/mspiess)! - Mocks with an
infinite delay no longer require result or error

###
[`v3.9.4`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#394)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.3...v3.9.4)

##### Patch Changes

-
[#&#8203;11403](https://togithub.com/apollographql/apollo-client/pull/11403)
[`b0c4f3a`](https://togithub.com/apollographql/apollo-client/commit/b0c4f3ad8198981a229b46dc430345a76e577e9c)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix
issue in `useLazyQuery` that results in a double network call when
calling the execute function with no arguments after having called it
previously with another set of arguments.

-
[#&#8203;11576](https://togithub.com/apollographql/apollo-client/pull/11576)
[`e855d00`](https://togithub.com/apollographql/apollo-client/commit/e855d00447e4d9ae478d98f6796d842ef6cc76d1)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Revert PR
[#&#8203;11202](https://togithub.com/apollographql/apollo-client/pull/11202)
to fix caching bug reported in
[#&#8203;11560](https://togithub.com/apollographql/apollo-client/issues/11560)

###
[`v3.9.3`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#393)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.2...v3.9.3)

##### Patch Changes

-
[#&#8203;11525](https://togithub.com/apollographql/apollo-client/pull/11525)
[`dce923a`](https://togithub.com/apollographql/apollo-client/commit/dce923ae57eb6b6d889e2980635cb90e2c6cbca3)
Thanks [@&#8203;vezaynk](https://togithub.com/vezaynk)! - Allows passing
in client via options to useFragment

-
[#&#8203;11558](https://togithub.com/apollographql/apollo-client/pull/11558)
[`8cba16f`](https://togithub.com/apollographql/apollo-client/commit/8cba16f041609443111ecf5fb58faea1b3e79569)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Fix
[`unbound-method`](https://togithub.com/apollographql/apollo-client/issues/11554)
linter error on ObservableQuery methods exposed on useQuery's
QueryResult object.

###
[`v3.9.2`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#392)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.1...v3.9.2)

##### Patch Changes

-
[#&#8203;11552](https://togithub.com/apollographql/apollo-client/pull/11552)
[`6ac2b0c`](https://togithub.com/apollographql/apollo-client/commit/6ac2b0ce4d999c63478d85b40ad56ccda9624797)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix
import in `useLazyRef` causing import issues in the nextjs package.

###
[`v3.9.1`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#391)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.0...v3.9.1)

##### Patch Changes

-
[#&#8203;11516](https://togithub.com/apollographql/apollo-client/pull/11516)
[`8390fea`](https://togithub.com/apollographql/apollo-client/commit/8390fea13175bada8361ba5f0df2e43197085aba)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Fix an
incorrect string substitution in a warning message.

-
[#&#8203;11515](https://togithub.com/apollographql/apollo-client/pull/11515)
[`c9bf93b`](https://togithub.com/apollographql/apollo-client/commit/c9bf93bdc2816f7fdba96961e1435f463f440bd1)
Thanks [@&#8203;vladar](https://togithub.com/vladar)! - Avoid redundant
refetchQueries call for mutation with no-cache policy (fixes
[#&#8203;10238](https://togithub.com/apollographql/apollo-client/issues/10238))

-
[#&#8203;11545](https://togithub.com/apollographql/apollo-client/pull/11545)
[`84a6bea`](https://togithub.com/apollographql/apollo-client/commit/84a6beaeae69acdffea49ba6b8242752cc188172)
Thanks [@&#8203;alessbell](https://togithub.com/alessbell)! - Remove
error thrown by `inFlightLinkObservables` intended to be removed before
3.9 release.

###
[`v3.9.0`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#390)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.8.10...v3.9.0)

##### Minor Changes

##### Memory optimizations

-
[#&#8203;11424](https://togithub.com/apollographql/apollo-client/pull/11424)
[`62f3b6d`](https://togithub.com/apollographql/apollo-client/commit/62f3b6d0e89611e27d9f29812ee60e5db5963fd6)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Simplify
RetryLink, fix potential memory leak

Historically, `RetryLink` would keep a `values` array of all previous
values, in case the operation would get an additional subscriber at a
later point in time.

In practice, this could lead to a memory leak
([#&#8203;11393](https://togithub.com/apollographql/apollo-client/pull/11393))
and did not serve any further purpose, as the resulting observable would
only be subscribed to by Apollo Client itself, and only once - it would
be wrapped in a `Concast` before being exposed to the user, and that
`Concast` would handle subscribers on its own.

-
[#&#8203;11435](https://togithub.com/apollographql/apollo-client/pull/11435)
[`5cce53e`](https://togithub.com/apollographql/apollo-client/commit/5cce53e83b976f85d2d2b06e28cc38f01324fea1)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Deprecates
`canonizeResults`.

Using `canonizeResults` can result in memory leaks so we generally do
not recommend using this option anymore. A future version of Apollo
Client will contain a similar feature without the risk of memory leaks.

-
[#&#8203;11254](https://togithub.com/apollographql/apollo-client/pull/11254)
[`d08970d`](https://togithub.com/apollographql/apollo-client/commit/d08970d348cf4ad6d80c6baf85b4a4cd4034a3bb)
Thanks [@&#8203;benjamn](https://togithub.com/benjamn)! - Decouple
`canonicalStringify` from `ObjectCanon` for better time and memory
performance.

-
[#&#8203;11356](https://togithub.com/apollographql/apollo-client/pull/11356)
[`cc4ac7e`](https://togithub.com/apollographql/apollo-client/commit/cc4ac7e1917f046bcd177882727864eed40b910e)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Fix a
potential memory leak in `FragmentRegistry.transform` and
`FragmentRegistry.findFragmentSpreads` that would hold on to passed-in
`DocumentNodes` for too long.

-
[#&#8203;11370](https://togithub.com/apollographql/apollo-client/pull/11370)
[`25e2cb4`](https://togithub.com/apollographql/apollo-client/commit/25e2cb431c76ec5aa88202eaacbd98fad42edc7f)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - `parse`
function: improve memory management

- use LRU `WeakCache` instead of `Map` to keep a limited number of
parsed results
    -   cache is initiated lazily, only when needed
    -   expose `parse.resetCache()` method

-
[#&#8203;11389](https://togithub.com/apollographql/apollo-client/pull/11389)
[`139acd1`](https://togithub.com/apollographql/apollo-client/commit/139acd1153afa1445b69dcb4e139668ab8c5889a)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! -
`documentTransform`: use `optimism` and `WeakCache` instead of directly
storing data on the `Trie`

-
[#&#8203;11358](https://togithub.com/apollographql/apollo-client/pull/11358)
[`7d939f8`](https://togithub.com/apollographql/apollo-client/commit/7d939f80fbc2c419c58a6c55b6a35ee7474d0379)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Fixes a
potential memory leak in `Concast` that might have been triggered when
`Concast` was used outside of Apollo Client.

-
[#&#8203;11344](https://togithub.com/apollographql/apollo-client/pull/11344)
[`bd26676`](https://togithub.com/apollographql/apollo-client/commit/bd2667619700139af32a45364794d11f845ab6cf)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Add a
`resetCache` method to `DocumentTransform` and hook
`InMemoryCache.addTypenameTransform` up to `InMemoryCache.gc`

-
[#&#8203;11367](https://togithub.com/apollographql/apollo-client/pull/11367)
[`30d17bf`](https://togithub.com/apollographql/apollo-client/commit/30d17bfebe44dbfa7b78c8982cfeb49afd37129c)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - `print`: use
`WeakCache` instead of `WeakMap`

-
[#&#8203;11387](https://togithub.com/apollographql/apollo-client/pull/11387)
[`4dce867`](https://togithub.com/apollographql/apollo-client/commit/4dce8673b1757d8a3a4edd2996d780e86fad14e3)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! -
`QueryManager.transformCache`: use `WeakCache` instead of `WeakMap`

-
[#&#8203;11369](https://togithub.com/apollographql/apollo-client/pull/11369)
[`2a47164`](https://togithub.com/apollographql/apollo-client/commit/2a471646616e3af1b5c039e961f8d5717fad8f32)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Persisted
Query Link: improve memory management

- use LRU `WeakCache` instead of `WeakMap` to keep a limited number of
hash results
    -   hash cache is initiated lazily, only when needed
    -   expose `persistedLink.resetHashCache()` method
- reset hash cache if the upstream server reports it doesn't accept
persisted queries

-
[#&#8203;10804](https://togithub.com/apollographql/apollo-client/pull/10804)
[`221dd99`](https://togithub.com/apollographql/apollo-client/commit/221dd99ffd1990f8bd0392543af35e9b08d0fed8)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - use WeakMap
in React Native with Hermes

-
[#&#8203;11355](https://togithub.com/apollographql/apollo-client/pull/11355)
[`7d8e184`](https://togithub.com/apollographql/apollo-client/commit/7d8e18493cd13134726c6643cbf0fadb08be2d37)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! -
InMemoryCache.gc now also triggers FragmentRegistry.resetCaches (if
there is a FragmentRegistry)

-
[#&#8203;11409](https://togithub.com/apollographql/apollo-client/pull/11409)
[`2e7203b`](https://togithub.com/apollographql/apollo-client/commit/2e7203b3a9618952ddb522627ded7cceabd7f250)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Adds an
experimental `ApolloClient.getMemoryInternals` helper

-
[#&#8203;11343](https://togithub.com/apollographql/apollo-client/pull/11343)
[`776631d`](https://togithub.com/apollographql/apollo-client/commit/776631de4500d56252f6f5fdaf29a81c41dfbdc7)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Add `reset`
method to `print`, hook up to `InMemoryCache.gc`

##### Suspense-enabled data fetching on user interaction with
`useLoadableQuery`

-
[#&#8203;11300](https://togithub.com/apollographql/apollo-client/pull/11300)
[`a815873`](https://togithub.com/apollographql/apollo-client/commit/a8158733cfa3e65180ec23518d657ea41894bb2b)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! -
Introduces a new `useLoadableQuery` hook. This hook works similarly to
`useBackgroundQuery` in that it returns a `queryRef` that can be used to
suspend a component via the `useReadQuery` hook. It provides a more
ergonomic way to load the query during a user interaction (for example
when wanting to preload some data) that would otherwise be clunky with
`useBackgroundQuery`.

    ```tsx
    function App() {
      const [loadQuery, queryRef, { refetch, fetchMore, reset }] =
        useLoadableQuery(query, options);

      return (
        <>
<button onClick={() => loadQuery(variables)}>Load query</button>
          <Suspense fallback={<SuspenseFallback />}>
            {queryRef && <Child queryRef={queryRef} />}
          </Suspense>
        </>
      );
    }

    function Child({ queryRef }) {
      const { data } = useReadQuery(queryRef);

      // ...
    }
    ```

##### Begin preloading outside of React with `createQueryPreloader`

-
[#&#8203;11412](https://togithub.com/apollographql/apollo-client/pull/11412)
[`58db5c3`](https://togithub.com/apollographql/apollo-client/commit/58db5c3295b88162f91019f0898f6baa4b9cced6)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Add
the ability to start preloading a query outside React to begin fetching
as early as possible. Call `createQueryPreloader` to create a
`preloadQuery` function which can be called to start fetching a query.
This returns a `queryRef` which is passed to `useReadQuery` and
suspended until the query is done fetching.

##### Testing utility improvements

-
[#&#8203;11178](https://togithub.com/apollographql/apollo-client/pull/11178)
[`4d64a6f`](https://togithub.com/apollographql/apollo-client/commit/4d64a6fa2ad5abe6f7f172c164f5e1fc2cb89829)
Thanks [@&#8203;sebakerckhof](https://togithub.com/sebakerckhof)! -
Support re-using of mocks in the MockedProvider

-
[#&#8203;6701](https://togithub.com/apollographql/apollo-client/pull/6701)
[`8d2b4e1`](https://togithub.com/apollographql/apollo-client/commit/8d2b4e107d7c21563894ced3a65d631183b58fd9)
Thanks [@&#8203;prowe](https://togithub.com/prowe)! - Ability to
dynamically match mocks

Adds support for a new property `MockedResponse.variableMatcher`: a
predicate function that accepts a `variables` param. If `true`, the
`variables` will be passed into the `ResultFunction` to help dynamically
build a response.

##### New `useQueryRefHandlers` hook

-
[#&#8203;11412](https://togithub.com/apollographql/apollo-client/pull/11412)
[`58db5c3`](https://togithub.com/apollographql/apollo-client/commit/58db5c3295b88162f91019f0898f6baa4b9cced6)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Create
a new `useQueryRefHandlers` hook that returns `refetch` and `fetchMore`
functions for a given `queryRef`. This is useful to get access to
handlers for a `queryRef` that was created by `createQueryPreloader` or
when the handlers for a `queryRef` produced by a different component are
inaccessible.

    ```jsx
    const MyComponent({ queryRef }) {
      const { refetch, fetchMore } = useQueryRefHandlers(queryRef);

      // ...
    }
    ```

##### Bail out of `optimisticResponse` updates with the `IGNORE`
sentinel object

-
[#&#8203;11410](https://togithub.com/apollographql/apollo-client/pull/11410)
[`07fcf6a`](https://togithub.com/apollographql/apollo-client/commit/07fcf6a3bf5bc78ffe6f3e598897246b4da02cbb)
Thanks [@&#8203;sf-twingate](https://togithub.com/sf-twingate)! - Allow
returning `IGNORE` sentinel object from `optimisticResponse` functions
to bail-out from the optimistic update.

    Consider this example:

    ```jsx
    const UPDATE_COMMENT = gql`
mutation UpdateComment($commentId: ID!, $commentContent: String!) {
        updateComment(commentId: $commentId, content: $commentContent) {
          id
          __typename
          content
        }
      }
    `;

    function CommentPageWithData() {
      const [mutate] = useMutation(UPDATE_COMMENT);
      return (
        <Comment
          updateComment={({ commentId, commentContent }) =>
            mutate({
              variables: { commentId, commentContent },
              optimisticResponse: (vars, { IGNORE }) => {
                if (commentContent === "foo") {
                  // conditionally bail out of optimistic updates
                  return IGNORE;
                }
                return {
                  updateComment: {
                    id: commentId,
                    __typename: "Comment",
                    content: commentContent,
                  },
                };
              },
            })
          }
        />
      );
    }
    ```

The `IGNORE` sentinel can be destructured from the second parameter in
the callback function signature passed to `optimisticResponse`.

    ```tsx
    const preloadQuery = createQueryPreloader(client);
const queryRef = preloadQuery(QUERY, { variables, ...otherOptions });

    function App() {
      return {
        <Suspense fallback={<div>Loading</div>}>
          <MyQuery />
        </Suspense>
      }
    }

    function MyQuery() {
      const { data } = useReadQuery(queryRef);

      // do something with data
    }
    ```

##### Network adapters for multipart subscriptions usage with Relay and
urql

-
[#&#8203;11301](https://togithub.com/apollographql/apollo-client/pull/11301)
[`46ab032`](https://togithub.com/apollographql/apollo-client/commit/46a

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/apollographql/apollo-server).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trevor Scheer <trevor.scheer@gmail.com>
  • Loading branch information
renovate[bot] and trevor-scheer authored Jul 22, 2024
1 parent 8af89aa commit b2e15e7
Show file tree
Hide file tree
Showing 8 changed files with 859 additions and 1,352 deletions.
6 changes: 6 additions & 0 deletions .changeset/khaki-peas-love.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@apollo/server-integration-testsuite': patch
'@apollo/server': patch
---

Non-major dependency updates
2,021 changes: 760 additions & 1,261 deletions package-lock.json

Large diffs are not rendered by default.

34 changes: 17 additions & 17 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,35 +38,35 @@
"npm": ">=8.5.0"
},
"devDependencies": {
"@apollo/client": "3.8.9",
"@apollo/gateway": "2.6.3",
"@apollo/subgraph": "2.6.3",
"@apollo/client": "3.10.8",
"@apollo/gateway": "2.8.3",
"@apollo/subgraph": "2.8.3",
"@apollo/utils.createhash": "2.0.1",
"@changesets/changelog-github": "0.5.0",
"@changesets/cli": "2.27.1",
"@changesets/cli": "2.27.7",
"@graphql-codegen/cli": "3.3.1",
"@graphql-codegen/typescript-operations": "3.0.4",
"@graphql-tools/mock": "8.7.20",
"@graphql-tools/schema": "9.0.19",
"@rollup/plugin-commonjs": "25.0.7",
"@rollup/plugin-commonjs": "25.0.8",
"@types/async-retry": "1.4.8",
"@types/compression": "1.7.5",
"@types/cors": "2.8.17",
"@types/express": "4.17.21",
"@types/express-serve-static-core": "4.17.41",
"@types/lodash": "4.14.202",
"@types/express-serve-static-core": "4.19.5",
"@types/lodash": "4.17.7",
"@types/lodash.sumby": "4.6.9",
"@types/lodash.xorby": "4.7.9",
"@types/negotiator": "0.6.3",
"@types/node": "14.18.63",
"@types/node-fetch": "2.6.10",
"@types/node-fetch": "2.6.11",
"@types/qs-middleware": "1.0.4",
"@types/retry": "0.12.5",
"@types/superagent": "4.1.24",
"@types/supertest": "2.0.16",
"@types/test-listen": "1.1.2",
"@types/type-is": "1.6.6",
"@types/uuid": "9.0.7",
"@types/uuid": "9.0.8",
"@types/whatwg-mimetype": "3.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
Expand All @@ -76,10 +76,10 @@
"compression": "1.7.4",
"cors": "2.8.5",
"cspell": "6.31.3",
"eslint": "8.56.0",
"eslint": "8.57.0",
"eslint-plugin-import": "2.29.1",
"express": "4.19.2",
"graphql": "16.8.1",
"graphql": "16.9.0",
"graphql-subscriptions": "2.0.0",
"graphql-tag": "2.12.6",
"jest": "29.7.0",
Expand All @@ -89,16 +89,16 @@
"jest-mock-random": "1.1.1",
"jest-serializer-html": "7.1.0",
"lodash.sumby": "4.6.0",
"nock": "13.4.0",
"nock": "13.5.4",
"node-fetch": "2.7.0",
"prettier": "3.1.1",
"prettier": "3.3.3",
"prettier-2": "npm:prettier@2.8.8",
"qs-middleware": "1.0.3",
"requisition": "1.7.0",
"rollup": "3.29.4",
"supertest": "6.3.3",
"supertest": "6.3.4",
"test-listen": "1.1.0",
"ts-jest": "29.1.1",
"ts-jest": "29.2.3",
"typescript": "5.4.2"
},
"jest": {
Expand All @@ -107,7 +107,7 @@
]
},
"volta": {
"node": "20.11.0",
"npm": "9.9.2"
"node": "20.15.1",
"npm": "9.9.3"
}
}
33 changes: 15 additions & 18 deletions packages/server/src/ApolloServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -332,8 +332,8 @@ export class ApolloServer<in out TContext extends BaseContext = BaseContext> {
? recommendedCsrfPreventionRequestHeaders
: config.csrfPrevention === false
? null
: config.csrfPrevention.requestHeaders ??
recommendedCsrfPreventionRequestHeaders,
: (config.csrfPrevention.requestHeaders ??
recommendedCsrfPreventionRequestHeaders),
status400ForVariableCoercionErrors:
config.status400ForVariableCoercionErrors ?? false,
__testing_incrementalExecutionResults:
Expand Down Expand Up @@ -507,8 +507,8 @@ export class ApolloServer<in out TContext extends BaseContext = BaseContext> {

try {
await Promise.all(
this.internals.plugins.map(
async (plugin) => plugin.startupDidFail?.({ error }),
this.internals.plugins.map(async (plugin) =>
plugin.startupDidFail?.({ error }),
),
);
} catch (pluginError) {
Expand Down Expand Up @@ -1062,11 +1062,10 @@ export class ApolloServer<in out TContext extends BaseContext = BaseContext> {
const error = ensureError(maybeError);
try {
await Promise.all(
this.internals.plugins.map(
async (plugin) =>
plugin.contextCreationDidFail?.({
error,
}),
this.internals.plugins.map(async (plugin) =>
plugin.contextCreationDidFail?.({
error,
}),
),
);
} catch (pluginError) {
Expand Down Expand Up @@ -1099,9 +1098,8 @@ export class ApolloServer<in out TContext extends BaseContext = BaseContext> {
) {
try {
await Promise.all(
this.internals.plugins.map(
async (plugin) =>
plugin.invalidRequestWasReceived?.({ error: maybeError }),
this.internals.plugins.map(async (plugin) =>
plugin.invalidRequestWasReceived?.({ error: maybeError }),
),
);
} catch (pluginError) {
Expand Down Expand Up @@ -1323,12 +1321,11 @@ export async function internalExecuteOperation<TContext extends BaseContext>(
// If *these* hooks throw then we'll still get a 500 but won't mask its
// error.
await Promise.all(
internals.plugins.map(
async (plugin) =>
plugin.unexpectedErrorProcessingRequest?.({
requestContext,
error,
}),
internals.plugins.map(async (plugin) =>
plugin.unexpectedErrorProcessingRequest?.({
requestContext,
error,
}),
),
);
// Mask unexpected error externally.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ export const getEmbeddedSandboxHTML = (
runTelemetry: true,
endpointIsEditable: false,
initialState: {},
...(typeof config.embed === 'boolean' ? {} : config.embed ?? {}),
...(typeof config.embed === 'boolean' ? {} : (config.embed ?? {})),
};
const embeddedSandboxConfig = {
target: '#embeddableSandbox',
Expand Down
72 changes: 32 additions & 40 deletions packages/server/src/requestPipeline.ts
Original file line number Diff line number Diff line change
Expand Up @@ -188,11 +188,10 @@ export async function processGraphQLRequest<TContext extends BaseContext>(
// syntactically correct, so this string should not be trusted as a valid
// document until after it's parsed and validated.
await Promise.all(
requestListeners.map(
(l) =>
l.didResolveSource?.(
requestContext as GraphQLRequestContextDidResolveSource<TContext>,
),
requestListeners.map((l) =>
l.didResolveSource?.(
requestContext as GraphQLRequestContextDidResolveSource<TContext>,
),
),
);

Expand Down Expand Up @@ -323,11 +322,10 @@ export async function processGraphQLRequest<TContext extends BaseContext>(

try {
await Promise.all(
requestListeners.map(
(l) =>
l.didResolveOperation?.(
requestContext as GraphQLRequestContextDidResolveOperation<TContext>,
),
requestListeners.map((l) =>
l.didResolveOperation?.(
requestContext as GraphQLRequestContextDidResolveOperation<TContext>,
),
),
);
} catch (err: unknown) {
Expand Down Expand Up @@ -376,11 +374,10 @@ export async function processGraphQLRequest<TContext extends BaseContext>(
} else {
const executionListeners = (
await Promise.all(
requestListeners.map(
(l) =>
l.executionDidStart?.(
requestContext as GraphQLRequestContextExecutionDidStart<TContext>,
),
requestListeners.map((l) =>
l.executionDidStart?.(
requestContext as GraphQLRequestContextExecutionDidStart<TContext>,
),
),
)
).filter(isDefined);
Expand All @@ -392,9 +389,8 @@ export async function processGraphQLRequest<TContext extends BaseContext>(
// symbol so it can be invoked by our `wrapField` method during execution.
const invokeWillResolveField: GraphQLRequestExecutionListener<TContext>['willResolveField'] =
(...args) =>
invokeSyncDidStartHook(
executionListeners,
(l) => l.willResolveField?.(...args),
invokeSyncDidStartHook(executionListeners, (l) =>
l.willResolveField?.(...args),
);

Object.defineProperty(
Expand Down Expand Up @@ -583,12 +579,11 @@ export async function processGraphQLRequest<TContext extends BaseContext>(
const { errors } = incrementalResult;
if (errors) {
await Promise.all(
requestListeners.map(
(l) =>
l.didEncounterSubsequentErrors?.(
requestContext as GraphQLRequestContextDidEncounterSubsequentErrors<TContext>,
errors,
),
requestListeners.map((l) =>
l.didEncounterSubsequentErrors?.(
requestContext as GraphQLRequestContextDidEncounterSubsequentErrors<TContext>,
errors,
),
),
);

Expand All @@ -608,12 +603,11 @@ export async function processGraphQLRequest<TContext extends BaseContext>(

// Invoke hook, which is allowed to mutate payload if it really wants to.
await Promise.all(
requestListeners.map(
(l) =>
l.willSendSubsequentPayload?.(
requestContext as GraphQLRequestContextWillSendSubsequentPayload<TContext>,
payload,
),
requestListeners.map((l) =>
l.willSendSubsequentPayload?.(
requestContext as GraphQLRequestContextWillSendSubsequentPayload<TContext>,
payload,
),
),
);

Expand All @@ -623,11 +617,10 @@ export async function processGraphQLRequest<TContext extends BaseContext>(

async function invokeWillSendResponse() {
await Promise.all(
requestListeners.map(
(l) =>
l.willSendResponse?.(
requestContext as GraphQLRequestContextWillSendResponse<TContext>,
),
requestListeners.map((l) =>
l.willSendResponse?.(
requestContext as GraphQLRequestContextWillSendResponse<TContext>,
),
),
);
}
Expand All @@ -638,11 +631,10 @@ export async function processGraphQLRequest<TContext extends BaseContext>(
requestContext.errors = errors;

return await Promise.all(
requestListeners.map(
(l) =>
l.didEncounterErrors?.(
requestContext as GraphQLRequestContextDidEncounterErrors<TContext>,
),
requestListeners.map((l) =>
l.didEncounterErrors?.(
requestContext as GraphQLRequestContextDidEncounterErrors<TContext>,
),
),
);
}
Expand Down
37 changes: 25 additions & 12 deletions smoke-test/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions smoke-test/package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"dependencies": {
"graphql": "16.8.1",
"make-fetch-happen": "13.0.0"
"graphql": "16.9.0",
"make-fetch-happen": "13.0.1"
},
"devDependencies": {
"@rollup/plugin-commonjs": "25.0.7",
"@rollup/plugin-commonjs": "25.0.8",
"@rollup/plugin-json": "6.1.0",
"@rollup/plugin-node-resolve": "15.2.3",
"@types/make-fetch-happen": "10.0.4",
Expand Down

0 comments on commit b2e15e7

Please sign in to comment.