Skip to content

Releases: apollographql/apollo-client

v3.11.10

11 Nov 22:50
9d6c306
Compare
Choose a tag to compare

Patch Changes

  • #12093 1765668 Thanks @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

07 Nov 17:39
16516e5
Compare
Choose a tag to compare

Patch Changes

  • #12110 a3f95c6 Thanks @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.12.0-alpha.0

01 Oct 20:16
a0329e9
Compare
Choose a tag to compare
v3.12.0-alpha.0 Pre-release
Pre-release

Minor Changes

  • #12042 1c0ecbf Thanks @jerelmiller! - Introduces data masking into Apollo Client. Data masking allows components to access only the data they asked for through GraphQL fragments. This prevents coupling between components that might otherwise implicitly rely on fields not requested by the component. Data masking also provides the benefit that masked fields only rerender components that ask for the field.

    To enable data masking in Apollo Client, set the dataMasking option to true.

    new ApolloClient({
      dataMasking: true,
      // ... other options
    });

    You can selectively disable data masking using the @unmask directive. Apply this to any named fragment to receive all fields requested by the fragment.

    query {
      user {
        id
        ...UserFields @unmask
      }
    }

    To help with migration, use the @unmask migrate mode which will add warnings when accessing fields that would otherwise be masked.

    query {
      user {
        id
        ...UserFields @unmask(mode: "migrate")
      }
    }

v3.11.8

05 Sep 08:37
1f0333e
Compare
Choose a tag to compare

Patch Changes

  • #12054 35cf186 Thanks @phryneas! - Fixed a bug where incorrect object access in some Safari extensions could cause a crash.

v3.11.7

04 Sep 17:29
aee0f4f
Compare
Choose a tag to compare

Patch Changes

  • #12052 e471cef Thanks @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

03 Sep 16:39
40d21f1
Compare
Choose a tag to compare

Patch Changes

v3.11.5

28 Aug 19:57
36d2cae
Compare
Choose a tag to compare

Patch Changes

v3.11.4

07 Aug 21:15
c6e8182
Compare
Choose a tag to compare

Patch Changes

  • #11994 41b17e5 Thanks @jerelmiller! - Update the Modifier function type to allow cache.modify to return deeply partial data.

  • #11989 e609156 Thanks @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 41b17e5 Thanks @jerelmiller! - Prevent accidental distribution on cache.modify field modifiers when a field is a union type array.

v3.11.3

05 Aug 17:51
8aa627f
Compare
Choose a tag to compare

Patch Changes

  • #11984 5db1659 Thanks @jerelmiller! - Fix an issue where multiple fetches with results that returned errors would sometimes set the data property with an errorPolicy of none.

  • #11974 c95848e Thanks @jerelmiller! - Fix an issue where fetchMore would write its result data to the cache when using it with a no-cache fetch policy.

  • #11974 c95848e Thanks @jerelmiller! - Fix an issue where executing fetchMore with a no-cache fetch policy could sometimes result in multiple network requests.

  • #11974 c95848e Thanks @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

31 Jul 17:04
076bb63
Compare
Choose a tag to compare

Patch Changes