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.7.17 to 3.12.3 #1745

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

Conversation

X-oss-byte
Copy link
Owner

@X-oss-byte X-oss-byte commented Jan 5, 2025

snyk-top-banner

Snyk has created this PR to upgrade @apollo/client from 3.7.17 to 3.12.3.

ℹ️ 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 97 versions ahead of your current version.

  • The recommended version was released 24 days ago.

Release notes
Package name: @apollo/client
  • 3.12.3 - 2024-12-12

    Patch Changes

  • 3.12.2 - 2024-12-05

    Patch Changes

  • 3.12.1 - 2024-12-05

    Patch Changes

  • 3.12.0 - 2024-12-04

    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

    • #12126 d10d702 Thanks @ jerelmiller! - Maintain the existing document if its unchanged by the codemod and move to more naive whitespace formatting

    • #12150 9ed1e1e Thanks @ jerelmiller! - Fix issue when using Unmasked with older versions of TypeScript when used with array fields.

    • #12116 8ae6e4e Thanks @ jerelmiller! - Prevent field accessor warnings when using @ unmask(mode: "migrate") on objects that are passed into cache.identify.

    • #12120 6a98e76 Thanks @ jerelmiller! - Provide a codemod that applies @ unmask to all named fragments for all operations and fragments.

      Learn how to use the codemod in the incremental adoption documentation.

    • #12134 cfaf4ef Thanks @ jerelmiller! - Fix issue where data went missing when an unmasked fragment in migrate mode selected fields that the parent did not.

    • #12154 d933def Thanks @ phryneas! - Data masking types: handle overlapping nested array types and fragments on interface types.

    • #12139 5a53e15 Thanks @ phryneas! - Fix issue where masked data would sometimes get returned when the field was part of a child fragment from a fragment unmasked by the parent query.

    • #12123 8422a30 Thanks @ jerelmiller! - Warn when using data masking with "no-cache" operations.

    • #12139 5a53e15 Thanks @ phryneas! - Fix issue where the warning emitted by @ unmask(mode: "migrate") would trigger unnecessarily when the fragment was used alongside a masked fragment inside an inline fragment.

    • #12114 1d4ce00 Thanks @ jerelmiller! - Fix error when combining @ unmask and @ defer directives on a fragment spread when data masking is enabled.

    • #12130 1e7d009 Thanks @ jerelmiller! - Fix error thrown when applying unmask migrate mode warnings on interface types with selection sets that contain inline fragment conditions.

    • #12152 78137ec Thanks @ phryneas! - Add a helper that will skip the TS unmasking alorithm when no fragments are present on type level

    • #12126 d10d702 Thanks @ jerelmiller! - Ensure documents unchanged by the codemod are left untouched.

    • #12133 a6ece37 Thanks @ jerelmiller! - Ensure null is retained in nullable types when unmasking a type with the Unmasked helper type.

    • #12139 5a53e15 Thanks @ phryneas! - Fix issue that threw errors when masking partial data with @ unmask(mode: "migrate").

  • 3.12.0-rc.4 - 2024-11-27

    Patch Changes

    • #12154 d933def Thanks @ phryneas! - Data masking types: handle overlapping nested array types and fragments on interface types.
  • 3.12.0-rc.3 - 2024-11-20

    Patch Changes

    • #12150 9ed1e1e Thanks @ jerelmiller! - Fix issue when using Unmasked with older versions of TypeScript when used with array fields.

    • #12152 78137ec Thanks @ phryneas! - Add a helper that will skip the TS unmasking alorithm when no fragments are present on type level

  • 3.12.0-rc.2 - 2024-11-19

    Patch Changes

    • #12139 5a53e15 Thanks @ phryneas! - Fix issue where masked data would sometimes get returned when the field was part of a child fragment from a fragment unmasked by the parent query.

    • #12139 5a53e15 Thanks @ phryneas! - Fix issue where the warning emitted by @ unmask(mode: "migrate") would trigger unnecessarily when the fragment was used alongside a masked fragment inside an inline fragment.

    • #12139 5a53e15 Thanks @ phryneas! - Fix issue that threw errors when masking partial data with @ unmask(mode: "migrate").

  • 3.12.0-rc.1 - 2024-11-15

    Minor Changes

    Patch Changes

    • #12126 d10d702 Thanks @ jerelmiller! - Maintain the existing document if its unchanged by the codemod and move to more naive whitespace formatting

    • #12134 cfaf4ef Thanks @ jerelmiller! - Fix issue where data went missing when an unmasked fragment in migrate mode selected fields that the parent did not.

    • #12130 1e7d009 Thanks @ jerelmiller! - Fix error thrown when applying unmask migrate mode warnings on interface types with selection sets that contain inline fragment conditions.

    • #12126 d10d702 Thanks @ jerelmiller! - Ensure documents unchanged by the codemod are left untouched.

    • #12133 a6ece37 Thanks @ jerelmiller! - Ensure null is retained in nullable types when unmasking a type with the Unmasked helper type.

  • 3.12.0-rc.0 - 2024-11-13

    Patch Changes

    • #12116 8ae6e4e Thanks @ jerelmiller! - Prevent field accessor warnings when using @ unmask(mode: "migrate") on objects that are passed into cache.identify.

    • #12120 6a98e76 Thanks @ jerelmiller! - Provide a codemod that applies @ unmask to all named fragments for all operations and fragments. To use the codemod, run the following command:

      npx jscodeshift -t node_modules/@ apollo/client/scripts/codemods/data-masking/unmask.ts --extensions tsx --parser tsx path/to/app/
      

      To customize the tag used to search for GraphQL operations, use the --tag option. By default the codemod looks for gql and graphql tags.

      To apply the directive in migrate mode in order to receive runtime warnings on potentially masked fields, use the --mode migrate option.

      For more information on the options that can be used with jscodeshift, check out the jscodeshift documentation.

    • #12121 1085a95 Thanks @ jerelmiller! - Warn when using data masking with "no-cache" operations.

    • #12114 1d4ce00 Thanks @ jerelmiller! - Fix error when combining @ unmask and @ defer directives on a fragment spread when data masking is enabled.

  • 3.12.0-alpha.0 - 2024-10-01
  • 3.11.11-rc.0 - 2024-11-13
  • 3.11.10 - 2024-11-11

    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.
  • 3.11.9 - 2024-11-07
  • 3.11.8 - 2024-09-05
  • 3.11.7 - 2024-09-04
  • 3.11.6 - 2024-09-03
  • 3.11.5 - 2024-08-28
  • 3.11.4 - 2024-08-07
  • 3.11.3 - 2024-08-05
  • 3.11.2 - 2024-07-31
  • 3.11.1 - 2024-07-23
  • 3.11.0 - 2024-07-22
  • 3.11.0-rc.2 - 2024-07-15
  • 3.11.0-rc.1 - 2024-07-10
  • 3.11.0-rc.0 - 2024-07-09
  • 3.10.8 - 2024-06-27
  • 3.10.7 - 2024-06-26
  • 3.10.6 - 2024-06-21
  • 3.10.5 - 2024-06-12
  • 3.10.4 - 2024-05-15
  • 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
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.

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:

Summary by Sourcery

Build:

  • Upgrade @apollo/client dependency in with-apollo example.

Snyk has created this PR to upgrade @apollo/client from 3.7.17 to 3.12.3.

See this package in npm:
@apollo/client

See this project in Snyk:
https://app.snyk.io/org/sammyfilly/project/d6bf29b8-ebed-45e7-b3aa-f5b548b2b4f3?utm_source=github&utm_medium=referral&page=upgrade-pr
Copy link

vercel bot commented Jan 5, 2025

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

Name Status Preview Comments Updated (UTC)
next-js-next-plugin-storybook ❌ Failed (Inspect) Jan 5, 2025 4:20pm
next-js-next-plugin-storybook-g5dx ❌ Failed (Inspect) Jan 5, 2025 4:20pm
next-js-next-plugin-storybook-y5ka ❌ Failed (Inspect) Jan 5, 2025 4:20pm
next-x-storybook ❌ Failed (Inspect) Jan 5, 2025 4:20pm

Copy link

vercel bot commented Jan 5, 2025

Deployment failed with the following error:

Could not parse File as JSON: vercel.json

Copy link

stackblitz bot commented Jan 5, 2025

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

Copy link

sourcery-ai bot commented Jan 5, 2025

Reviewer's Guide by Sourcery

This PR upgrades @apollo/client from 3.7.17 to 3.12.3. This introduces data masking in Apollo Client, which enforces that only the fields requested by the query or fragment are available to that component. It also updates peer dependencies to allow for React 19 stable release.

Sequence diagram for data masking behavior in Apollo Client 3.12.3

sequenceDiagram
    participant C as Component
    participant AC as Apollo Client
    participant S as GraphQL Server

    C->>AC: Request data with query
    AC->>S: Execute query
    S-->>AC: Return data
    Note over AC: Apply data masking
    AC-->>C: Return only requested fields
    Note over C,AC: Components can only access<br/>fields they explicitly requested
Loading

File-Level Changes

Change Details Files
Upgrade @apollo/client from 3.7.17 to 3.12.3.
  • Updated the @apollo/client dependency version in package.json from 3.7.17 to 3.12.3.
examples/with-apollo/package.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time. You can also use
    this command to specify where the summary should be inserted.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

changeset-bot bot commented Jan 5, 2025

⚠️ No Changeset found

Latest commit: 159c93e

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have skipped reviewing this pull request. Here's why:

  • It seems to have been created by a bot ('[Snyk]' found in title). We assume it knows what it's doing!
  • We don't review packaging changes - Let us know if you'd like us to change this.

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.

2 participants