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

[Snyk] Upgrade @apollo/client from 3.3.19 to 3.11.1 #1602

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

Conversation

shonore
Copy link
Owner

@shonore shonore commented Aug 21, 2024

snyk-top-banner

Snyk has created this PR to upgrade @apollo/client from 3.3.19 to 3.11.1.

ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


  • The recommended version is 246 versions ahead of your current version.

  • The recommended version was released on a month ago.

Issues fixed by the recommended upgrade:

Issue Score Exploit Maturity
medium severity Information Exposure
SNYK-JS-APOLLOCLIENT-1085706
479 No Known Exploit
Release notes
Package name: @apollo/client
  • 3.11.1 - 2024-07-23

    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.

  • 3.11.0 - 2024-07-22

    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

  • 3.11.0-rc.2 - 2024-07-15

    Patch Changes

    • #11951 0de03af Thanks @ phryneas! - add React 19 RC to peerDependencies

    • #11937 78332be Thanks @ phryneas! - createSchemaFetch: simulate serialized errors instead of an ApolloError instance

    • #11944 8f3d7eb Thanks @ sneyderdev! - Allow IgnoreModifier to be returned from a optimisticResponse function when inferring from a TypedDocumentNode when used with a generic argument.

    • #11954 4a6e86a Thanks @ phryneas! - Document (and deprecate) the previously undocumented errors property on the useQuery QueryResult type.

  • 3.11.0-rc.1 - 2024-07-10

    Patch Changes

  • 3.11.0-rc.0 - 2024-07-09

    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.

    • #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.

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

    Patch Changes

  • 3.10.8 - 2024-06-27

    Patch Changes

    • #11911 1f0460a Thanks @ jerelmiller! - Allow undefined to be returned from a cache.modify modifier function when a generic type argument is used.
  • 3.10.7 - 2024-06-26

    Patch Changes

  • 3.10.6 - 2024-06-21

    Patch Changes

  • 3.10.5 - 2024-06-12

    Patch Changes

    • #11888 7fb7939 Thanks @ phryneas! - switch useRenderGuard to an approach not accessing React's internals

    • #11511 6536369 Thanks @ phryneas! - useLoadableQuery: ensure that loadQuery is updated if the ApolloClient instance changes

    • #11860 8740f19 Thanks @ alessbell! - Fixes #11849 by reevaluating window.fetch each time BatchHttpLink uses it, if not configured via options.fetch. Takes the same approach as PR #8603 which fixed the same issue in HttpLink.

    • #11852 d502a69 Thanks @ phryneas! - Fix a bug where calling the useMutation reset function would point the hook to an outdated client reference.

    • #11329 3d164ea Thanks @ PaLy! - Fix graphQLErrors in Error Link if networkError.result is an empty string

    • #11852 d502a69 Thanks @ 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 ad63924 Thanks @ phryneas! - Ensure covariant behavior: MockedResponse<X,Y> should be assignable to MockedResponse

    • #11851 45c47be Thanks @ phryneas! - Avoid usage of useRef in useInternalState to prevent ref access in render.

    • #11877 634d91a Thanks @ phryneas! - Add missing name to tuple member (fix TS5084)

    • #11851 45c47be Thanks @ phryneas! - Fix a bug where useLazyQuery would not pick up a client change.

  • 3.10.4 - 2024-05-15

    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 '@ apollo/client'
      +import { QueryRef } from '@ 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.

  • 3.10.3 - 2024-05-07
  • 3.10.2 - 2024-05-03
  • 3.10.1 - 2024-04-24
  • 3.10.0 - 2024-04-24
  • 3.10.0-rc.1 - 2024-04-15
  • 3.10.0-rc.0 - 2024-04-02
  • 3.10.0-alpha.1 - 2024-03-18
  • 3.9.11 - 2024-04-10
  • 3.9.10 - 2024-04-01
  • 3.9.9 - 2024-03-22
  • 3.9.8 - 2024-03-20
  • 3.9.7 - 2024-03-13
  • 3.9.6 - 2024-03-06
  • 3.9.5 - 2024-02-15
  • 3.9.4 - 2024-02-07
  • 3.9.3 - 2024-02-06
  • 3.9.2 - 2024-02-01
  • 3.9.1 - 2024-01-31
  • 3.9.0 - 2024-01-30
  • 3.9.0-rc.1 - 2024-01-18
  • 3.9.0-rc.0 - 2024-01-17
  • 3.9.0-beta.1 - 2023-12-21
  • 3.9.0-beta.0 - 2023-12-18
  • 3.9.0-alpha.5 - 2023-12-05
  • 3.9.0-alpha.4 - 2023-11-08
  • 3.9.0-alpha.3 - 2023-11-02
  • 3.9.0-alpha.2 - 2023-10-11
  • 3.9.0-alpha.1 - 2023-09-21
  • 3.9.0-alpha.0 - 2023-09-19
  • 3.8.10 - 2024-01-18
  • 3.8.9 - 2024-01-09
  • 3.8.8 - 2023-11-29
  • 3.8.7 - 2023-11-02
  • 3.8.6 - 2023-10-16
  • 3.8.5 - 2023-10-05
  • 3.8.4 - 2023-09-19
  • 3.8.3 - 2023-09-05
  • 3.8.2 - 2023-09-01
  • 3.8.1 - 2023-08-10
  • 3.8.0 - 2023-08-07
  • 3.8.0-rc.2 - 2023-08-01
  • 3.8.0-rc.1 - 2023-07-17
  • 3.8.0-rc.0 - 2023-07-13
  • 3.8.0-beta.7 - 2023-07-10
  • 3.8.0-beta.6 - 2023-07-05
  • 3.8.0-beta.5 - 2023-06-28
  • 3.8.0-beta.4 - 2023-06-20
  • 3.8.0-beta.3 - 2023-06-15
  • 3.8.0-beta.2 - 2023-06-07
  • 3.8.0-beta.1 - 2023-05-31
  • 3.8.0-beta.0 - 2023-05-26
  • 3.8.0-alpha.15 - 2023-05-17
  • 3.8.0-alpha.14 - 2023-05-16
  • 3.8.0-alpha.13 - 2023-05-03
  • 3.8.0-alpha.12 - 2023-04-13
  • 3.8.0-alpha.11 - 2023-03-28
  • 3.8.0-alpha.10 - 2023-03-17
  • 3.8.0-alpha.9 - 2023-03-15
  • 3.8.0-alpha.8 - 2023-03-02
  • 3.8.0-alpha.7 - 2023-02-15
  • 3.8.0-alpha.6 - 2023-02-07
  • 3.8.0-alpha.5 - 2023-01-19
  • 3.8.0-alpha.4 - 2023-01-13
  • 3.8.0-alpha.3 - 2023-01-03
  • 3.8.0-alpha.2 - 2022-12-21
  • 3.8.0-alpha.1 - 2022-12-21
  • 3.8.0-alpha.0 - 2022-12-09
  • 3.7.17 - 2023-07-05
  • 3.7.16 - 2023-06-20
  • 3.7.15 - 2023-05-26
  • 3.7.14 - 2023-05-03
  • 3.7.13 - 2023-04-27
  • 3.7.12 - 2023-04-12
  • 3.7.11 - 2023-03-31
  • 3.7.10 - 2023-03-02
  • 3.7.9 - 2023-02-17
  • 3.7.8 - 2023-02-15
  • 3.7.7 - 2023-02-03
  • 3.7.6 - 2023-01-31
  • 3.7.5 - 2023-01-24
  • 3.7.4 - 2023-01-13
  • 3.7.3 - 2022-12-15
  • 3.7.2 - 2022-12-06
  • 3.7.1 - 2022-10-20
  • 3.7.0 - 2022-09-30
  • 3.7.0-rc.0 - 2022-09-21
  • 3.7.0-beta.8 - 2022-09-21
  • 3.7.0-beta.7 - 2022-09-08
  • 3.7.0-beta.6 - 2022-06-27
  • 3.7.0-beta.5 - 2022-06-10
  • 3.7.0-beta.4 - 2022-06-10
  • 3.7.0-beta.3 - 2022-06-07
  • 3.7.0-beta.2 - 2022-06-07
  • 3.7.0-beta.1 - 2022-05-26
  • 3.7.0-beta.0 - 2022-05-25
  • 3.7.0-alpha.6 - 2022-05-19
  • 3.7.0-alpha.5 - 2022-05-16
  • 3.7.0-alpha.4 - 2022-05-13
  • 3.7.0-alpha.3 - 2022-05-09
  • 3.7.0-alpha.2 - 2022-05-03
  • 3.7.0-alpha.1 - 2022-05-03
  • 3.7.0-alpha.0 - 2022-04-27
  • 3.6.10 - 2022-09-29
  • 3.6.9 - 2022-06-21
  • 3.6.8 - 2022-06-10
  • 3.6.7 - 2022-06-10
  • 3.6.6 - 2022-05-26
  • 3.6.5 - 2022-05-23
  • 3.6.4 - 2022-05-16
  • 3.6.3 - 2022-05-05
  • 3.6.2 - 2022-05-03
  • 3.6.1 - 2022-04-28
  • 3.6.0 - 2022-04-26
  • 3.6.0-rc.1 - 2022-04-19
  • 3.6.0-rc.0 - 2022-04-18
  • 3.6.0-beta.13 - 2022-04-14
  • 3.6.0-beta.12 - 2022-04-11
  • 3.6.0-beta.11 - 2022-04-05
  • 3.6.0-beta.10 - 2022-03-29
  • 3.6.0-beta.9 - 2022-03-10
  • 3.6.0-beta.8 - 2022-03-10
  • 3.6.0-beta.7 - 2022-03-10
  • 3.6.0-beta.6 - 2022-02-15
  • 3.6.0-beta.5 - 2022-02-04
  • 3.6.0-beta.4 - 2022-02-03
  • 3.6.0-beta.3 - 2021-11-23
  • 3.6.0-beta.2 - 2021-11-22
  • 3.6.0-beta.1 - 2021-11-16
  • 3.6.0-beta.0 - 2021-11-16
  • 3.5.10 - 2022-02-24
  • 3.5.9 - 2022-02-15
  • 3.5.8 - 2022-01-24
  • 3.5.7 - 2022-01-10
  • 3.5.6 - 2021-12-07
  • 3.5.5 - 2021-11-23
  • 3.5.4 - 2021-11-19
  • 3.5.3 - 2021-11-17
  • 3.5.2 - 2021-11-10
  • 3.5.1 - 2021-11-09
  • 3.5.0 - 2021-11-08
  • 3.5.0-rc.3 - 2021-11-03
  • 3.5.0-rc.2 - 2021-10-22
  • 3.5.0-rc.1 - 2021-10-04
  • 3.5.0-rc.0 - 2021-10-04
  • 3.5.0-beta.18 - 2021-10-01
  • 3.5.0-beta.17 - 2021-09-27
  • 3.5.0-beta.16 - 2021-09-20
  • 3.5.0-beta.15 - 2021-09-17
  • 3.5.0-beta.14 - 2021-09-17
  • 3.5.0-beta.13 - 2021-09-13
  • 3.5.0-beta.12 - 2021-09-10
  • 3.5.0-beta.11 - 2021-08-30
  • 3.5.0-beta.10 - 2021-08-30
  • 3.5.0-beta.9 - 2021-08-26
  • 3.5.0-beta.8 - 2021-08-24
  • 3.5.0-beta.7 - 2021-08-23
  • 3.5.0-beta.6 - 2021-08-18
  • 3.5.0-beta.5 - 2021-08-09
  • 3.5.0-beta.4 - 2021-08-04
  • 3.5.0-beta.3 - 2021-08-03
  • 3.5.0-beta.2 - 2021-08-02
  • 3.5.0-beta.1 - 2021-07-29
  • 3.5.0-beta.0 - 2021-07-28
  • 3.4.17 - 2021-11-08
  • 3.4.16 - 2021-10-04
  • 3.4.15 - 2021-09-27
  • 3.4.14 - 2021-09-27
  • 3.4.13 - 2021-09-20
  • 3.4.12 - 2021-09-17
  • 3.4.11 - 2021-09-10
  • 3.4.10 - 2021-08-27
  • 3.4.9 - 2021-08-24
  • 3.4.8 - 2021-08-16
  • 3.4.7 - 2021-08-09
  • 3.4.6 - 2021-08-09
  • 3.4.5 - 2021-08-04
  • 3.4.4 - 2021-08-03
  • 3.4.3 - 2021-08-02
  • 3.4.2 - 2021-08-02
  • 3.4.1 - 2021-07-29
  • 3.4.0 - 2021-07-28
  • 3.4.0-rc.23 - 2021-07-23
  • 3.4.0-rc.22 - 2021-07-22
  • 3.4.0-rc.21 - 2021-07-19
  • 3.4.0-rc.20 - 2021-07-15
  • 3.4.0-rc.19 - 2021-07-12
  • 3.4.0-rc.18 - 2021-07-09
  • 3.4.0-rc.17 - 2021-07-06
  • 3.4.0-rc.16 - 2021-07-06
  • 3.4.0-rc.15 - 2021-06-28
  • 3.4.0-rc.14 - 2021-06-24
  • 3.4.0-rc.13 - 2021-06-23
  • 3.4.0-rc.12 - 2021-06-22
  • 3.4.0-rc.11 - 2021-06-17
  • 3.4.0-rc.10 - 2021-06-16
  • 3.4.0-rc.9 - 2021-06-16
  • 3.4.0-rc.8 - 2021-06-16
  • 3.4.0-rc.7 - 2021-06-15
  • 3.4.0-rc.6 - 2021-06-08
  • 3.4.0-rc.5 - 2021-06-07
  • 3.4.0-rc.4 - 2021-06-04
  • 3.4.0-rc.3 - 2021-06-02
  • 3.4.0-rc.2 - 2021-05-26
  • 3.4.0-rc.1 - 2021-05-25
  • 3.4.0-rc.0 - 2021-05-19
  • 3.4.0-beta.28 - 2021-05-19
  • 3.4.0-beta.27 - 2021-05-18
  • 3.4.0-beta.26 - 2021-05-12
  • 3.4.0-beta.25 - 2021-05-11
  • 3.4.0-beta.24 - 2021-05-05
  • 3.4.0-beta.23 - 2021-04-13
  • 3.4.0-beta.22 - 2021-04-10
  • 3.4.0-beta.21 - 2021-04-07
  • 3.4.0-beta.20 - 2021-04-05
  • 3.4.0-beta.19 - 2021-03-26
  • 3.4.0-beta.18 - 2021-03-26
  • 3.4.0-beta.17 - 2021-03-25
  • 3.4.0-beta.16 - 2021-03-24
  • 3.4.0-beta.15 - 2021-03-17
  • 3.4.0-beta.14 - 2021-03-15
  • 3.4.0-beta.13 - 2021-03-11
  • 3.4.0-beta.12 - 2021-03-03
  • 3.4.0-beta.11 - 2021-02-14
  • 3.4.0-beta.10 - 2021-02-09
  • 3.4.0-beta.9 - 2021-02-09
  • 3.4.0-beta.8 - 2021-02-05
  • 3.4.0-beta.7 - 2021-02-04
  • 3.4.0-beta.6 - 2021-01-29
  • 3.4.0-beta.5 - 2021-01-29
  • 3.4.0-beta.4 - 2020-12-16
  • 3.4.0-beta.3 - 2020-12-12
  • 3.4.0-beta.2 - 2020-12-04
  • 3.4.0-beta.1 - 2020-12-03
  • 3.4.0-beta.0 - 2020-12-01
  • 3.3.21 - 2021-07-06
  • 3.3.20 - 2021-06-08
  • 3.3.19 - 2021-05-18
  • from @apollo/client GitHub release notes

    Important

    • Check the changes in this PR to ensure they won't cause issues with your project.
    • This PR was automatically created by Snyk using the credentials of a real user.
    • Max score is 1000. Note that the real score may have changed since the PR was raised.
    • Snyk has automatically assigned this pull request, set who gets assigned.

    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

    For more information:

    Snyk has created this PR to upgrade @apollo/client from 3.3.19 to 3.11.1.
    
    See this package in npm:
    @apollo/client
    
    See this project in Snyk:
    https://app.snyk.io/org/stephanie.honore-0bc/project/eac7e11c-4623-4465-8f03-0cab0f774a35?utm_source=github&utm_medium=referral&page=upgrade-pr
    @shonore shonore self-assigned this Aug 21, 2024
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    None yet
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    BatchHTTPLink is not monitoring friendly nextFetchPolicy function is not called sometimes
    2 participants