Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(): Update Apollo GraphQL packages #115

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 11, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@apollo/client (source) 3.8.7 -> 3.12.8 age adoption passing confidence
@apollo/server (source) 4.9.5 -> 4.11.3 age adoption passing confidence

Release Notes

apollographql/apollo-client (@​apollo/client)

v3.12.8

Compare Source

Patch Changes

v3.12.7

Compare Source

Patch Changes

v3.12.6

Compare Source

Patch Changes

v3.12.5

Compare Source

Patch Changes
  • #​12252 cb9cd4e Thanks @​jerelmiller! - Changes the default behavior of the MaybeMasked type to preserve types unless otherwise specified. This change makes it easier to upgrade from older versions of the client where types could have unexpectedly changed in the application due to the default of trying to unwrap types into unmasked types. This change also fixes the compilation performance regression experienced when simply upgrading the client since types are now preserved by default.

    A new mode option has now been introduced to allow for the old behavior. See the next section on migrating if you wish to maintain the old default behavior after upgrading to this version.

Migrating from <= v3.12.4

If you've adopted data masking and have opted in to using masked types by setting the enabled property to true, you can remove this configuration entirely:

-declare module "@&#8203;apollo/client" {
-  interface DataMasking {
-    mode: "unmask"
-  }
-}

If you prefer to specify the behavior explicitly, change the property from enabled: true, to mode: "preserveTypes":

declare module "@&#8203;apollo/client" {
  interface DataMasking {
-    enabled: true
+    mode: "preserveTypes"
  }
}

If you rely on the default behavior in 3.12.4 or below and would like to continue to use unmasked types by default, set the mode to unmask:

declare module "@&#8203;apollo/client" {
  interface DataMasking {
    mode: "unmask";
  }
}

v3.12.4

Compare Source

Patch Changes
  • #​12236 4334d30 Thanks @​charpeni! - Fix an issue with refetchQueries where comparing DocumentNodes internally by references could lead to an unknown query, even though the DocumentNode was indeed an active query—with a different reference.

v3.12.3

Compare Source

Patch Changes

v3.12.2

Compare Source

Patch Changes

v3.12.1

Compare Source

Patch Changes

v3.12.0

Compare Source

Minor Changes
Data masking 🎭
  • #​12042 1c0ecbf Thanks @​jerelmiller! - Introduces data masking in Apollo Client.

    Data masking enforces that only the fields requested by the query or fragment is available to that component. Data masking is best paired with colocated fragments.

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

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

    For detailed information on data masking, including how to incrementally adopt it in an existing applications, see the data masking documentation.

  • #​12131 21c3f08 Thanks @​jerelmiller! - Allow null as a valid from value in useFragment.

More Patch Changes

v3.11.10

Compare Source

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

Compare Source

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.11.8

Compare Source

Patch Changes

v3.11.7

Compare Source

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

Compare Source

Patch Changes

v3.11.5

Compare Source

Patch Changes

v3.11.4

Compare Source

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

Compare Source

Patch Changes
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

Compare Source

Patch Changes

v3.11.1

Compare Source

Patch Changes
  • #​11969 061cab6 Thanks @​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 ecf77f6 Thanks @​jerelmiller! - Prevent the setTimeout for suggesting devtools from running in non-browser environments.

v3.11.0

Compare Source

Potentially Breaking Fixes
  • #​11789 5793301 Thanks @​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 228429a Thanks @​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:

    useQuery(QUERY, {
      nextFetchPolicy(currentFetchPolicy, info) {
        // your logic here
      }
    );

    Update your function to the following to reimplement the resetting behavior:

    useQuery(QUERY, {
      nextFetchPolicy(currentFetchPolicy, info) {
        if (info.reason === 'variables-changed') {
          return info.initialFetchPolicy;
        }
        // your logic here
      }
    );
Minor Changes
Patch Changes

v3.10.8

Compare Source

Patch Changes

v3.10.7

Compare Source

Patch Changes

v3.10.6

Compare Source

Patch Changes

v3.10.5

Compare Source

Patch Changes

v3.10.4

Compare Source

Patch Changes
  • #​11838 8475346 Thanks @​alex-kinokon! - Don’t prompt for DevTools installation for browser extension page

  • #​11839 6481fe1 Thanks @​jerelmiller! - Fix a regression in 3.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 86984f2 Thanks @​jerelmiller! - Honor the @nonreactive directive when using cache.watchFragment or the useFragment hook to avoid rerendering when using these directives.

  • #​11824 47ad806 Thanks @​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:

    -import { QueryReference } from '@&#8203;apollo/client'
    +import { QueryRef } from '@&#8203;apollo/client'
    
    - function Component({ queryRef }: { queryRef: QueryReference<TData> }) {
    + function Component({ queryRef }: { queryRef: QueryRef<TData> }) {
      // ...
    }
  • #​11845 4c5c820 Thanks @​jerelmiller! - Remove @nonreactive directives from queries passed to MockLink to ensure they are properly matched.

  • #​11837 dff15b1 Thanks @​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

Compare Source

Patch Changes

v3.10.2

Compare Source

Patch Changes

v3.10.1

Compare Source

Patch Changes

v3.10.0

Compare Source

Minor Changes
Patch Changes

v3.9.11

Compare Source

Patch Changes
  • #​11769 04132af Thanks @​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

Compare Source


Configuration

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

🚦 Automerge: Enabled.

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 was generated by Mend Renovate. View the repository job log.

Copy link

vercel bot commented Dec 11, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
nexus ❌ Failed (Inspect) Jan 27, 2025 5:00pm

@renovate renovate bot requested review from Darkness4 and Lymnah as code owners December 11, 2024 00:17
@renovate renovate bot enabled auto-merge (squash) December 11, 2024 00:17
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 48219b0 to 38b2baf Compare December 12, 2024 03:55
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 38b2baf to c9a9fac Compare December 12, 2024 07:12
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from c9a9fac to 6570f39 Compare December 14, 2024 03:18
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 6570f39 to 67c358e Compare December 15, 2024 06:33
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 67c358e to 178fe23 Compare December 15, 2024 09:52
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 178fe23 to 5b844ab Compare December 16, 2024 03:26
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 5b844ab to 01e353e Compare December 17, 2024 12:52
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 01e353e to 4957575 Compare December 18, 2024 06:54
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 4957575 to a575ae7 Compare December 22, 2024 04:06
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from a575ae7 to 8bc69be Compare December 25, 2024 04:40
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 8bc69be to e5c3471 Compare January 14, 2025 20:29
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from e5c3471 to f7d2541 Compare January 22, 2025 05:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

0 participants