Skip to content

v3.11.0

Compare
Choose a tag to compare
@github-actions github-actions released this 22 Jul 23:41
· 178 commits to main since this release
fa3487d

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

  • #11923 d88c7f8 Thanks @jerelmiller! - Add support for subscribeToMore function to useQueryRefHandlers.

  • #11854 3812800 Thanks @jcostello-atlassian! - Support extensions in useSubscription

  • #11923 d88c7f8 Thanks @jerelmiller! - Add support for subscribeToMore function to useLoadableQuery.

  • #11863 98e44f7 Thanks @phryneas! - Reimplement useSubscription to fix rules of React violations.

  • #11869 a69327c Thanks @phryneas! - Rewrite big parts of useQuery and useLazyQuery to be more compliant with the Rules of React and React Compiler

  • #11936 1b23337 Thanks @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.

    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 d88c7f8 Thanks @jerelmiller! - Add support for subscribeToMore function to useBackgroundQuery.

  • #11930 a768575 Thanks @jerelmiller! - Deprecates experimental schema testing utilities introduced in 3.10 in favor of recommending @apollo/graphql-testing-library.

Patch Changes