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

Update Apollo GraphQL packages (minor) #36

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

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Mar 20, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@apollo/client (source) ^3.5.8 -> ^3.11.6 age adoption passing confidence
apollo-server (source) ^2.25.3 -> ^2.26.2 age adoption passing confidence

Release Notes

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

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 '@​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.

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

Patch Changes
  • #​11738 b1a5eb8 Thanks @​jerelmiller! - Fix an issue where rerendering useBackgroundQuery after the queryRef had been disposed, either via the auto dispose timeout or by unmounting useReadQuery, would cause the queryRef to be recreated potentially resulting in another network request.

  • #​11738 b1a5eb8 Thanks @​jerelmiller! - Allow queryRefs to be disposed of synchronously when a suspense hook unmounts. This prevents some situations where using a suspense hook with the same query/variables as the disposed queryRef accidentally used the disposed queryRef rather than creating a new instance.

  • #​11670 cc5c03b Thanks @​phryneas! - Bail out of executeSubSelectedArray calls if the array has 0 elements.

v3.9.9

Compare Source

Patch Changes
  • #​11696 466ef82 Thanks @​PiR1! - Immediately dispose of the queryRef if useBackgroundQuery unmounts before the auto dispose timeout kicks in.

v3.9.8

Compare Source

Patch Changes
  • #​11706 8619bc7 Thanks @​jerelmiller! - Fix issue in all suspense hooks where returning an empty array after calling fetchMore would rerender the component with an empty list.

  • #​11694 835d5f3 Thanks @​phryneas! - Expose setErrorMessageHandler from @apollo/client/dev entrypoint.

  • #​11689 cb8ffe5 Thanks @​jerelmiller! - Fix issue where passing a new from option to useFragment would first render with the previous value before rerendering with the correct value.

  • #​11713 642092c Thanks @​jerelmiller! - Fix issue where setting a default watchQuery option in the ApolloClient constructor could break startTransition when used with suspense hooks.

v3.9.7

Compare Source

Patch Changes

v3.9.6

Compare Source

Patch Changes

v3.9.5

Compare Source

Patch Changes

v3.9.4

Compare Source

Patch Changes

v3.9.3

Compare Source

Patch Changes

v3.9.2

Compare Source

Patch Changes

v3.9.1

Compare Source

Patch Changes

v3.9.0

Compare Source

Minor Changes
Memory optimizations
  • #​11424 62f3b6d Thanks @​phryneas! - Simplify RetryLink, fix potential memory leak

    Historically, RetryLink would keep a values array of all previous values, in case the operation would get an additional subscriber at a later point in time.

    In practice, this could lead to a memory leak (#​11393) and did not serve any further purpose, as the resulting observable would only be subscribed to by Apollo Client itself, and only once - it would be wrapped in a Concast before being exposed to the user, and that Concast would handle subscribers on its own.

  • #​11435 5cce53e Thanks @​phryneas! - Deprecates canonizeResults.

    Using canonizeResults can result in memory leaks so we generally do not recommend using this option anymore. A future version of Apollo Client will contain a similar feature without the risk of memory leaks.

  • #​11254 d08970d Thanks @​benjamn! - Decouple canonicalStringify from ObjectCanon for better time and memory performance.

  • #​11356 cc4ac7e Thanks @​phryneas! - Fix a potential memory leak in FragmentRegistry.transform and FragmentRegistry.findFragmentSpreads that would hold on to passed-in DocumentNodes for too long.

  • #​11370 25e2cb4 Thanks @​phryneas! - parse function: improve memory management

    • use LRU WeakCache instead of Map to keep a limited number of parsed results
    • cache is initiated lazily, only when needed
    • expose parse.resetCache() method
  • #​11389 139acd1 Thanks @​phryneas! - documentTransform: use optimism and WeakCache instead of directly storing data on the Trie

  • #​11358 7d939f8 Thanks @​phryneas! - Fixes a potential memory leak in Concast that might have been triggered when Concast was used outside of Apollo Client.

  • #​11344 bd26676 Thanks @​phryneas! - Add a resetCache method to DocumentTransform and hook InMemoryCache.addTypenameTransform up to InMemoryCache.gc

  • #​11367 30d17bf Thanks @​phryneas! - print: use WeakCache instead of WeakMap

  • #​11387 4dce867 Thanks @​phryneas! - QueryManager.transformCache: use WeakCache instead of WeakMap

  • #​11369 2a47164 Thanks @​phryneas! - Persisted Query Link: improve memory management

    • use LRU WeakCache instead of WeakMap to keep a limited number of hash results
    • hash cache is initiated lazily, only when needed
    • expose persistedLink.resetHashCache() method
    • reset hash cache if the upstream server reports it doesn't accept persisted queries
  • #​10804 221dd99 Thanks @​phryneas! - use WeakMap in React Native with Hermes

  • #​11355 7d8e184 Thanks @​phryneas! - InMemoryCache.gc now also triggers FragmentRegistry.resetCaches (if there is a FragmentRegistry)

  • #​11409 2e7203b Thanks @​phryneas! - Adds an experimental ApolloClient.getMemoryInternals helper

  • #​11343 776631d Thanks @​phryneas! - Add reset method to print, hook up to InMemoryCache.gc

Suspense-enabled data fetching on user interaction with useLoadableQuery

Configuration

📅 Schedule: Branch creation - "before 7am on Tuesday,before 7am on Wednesday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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.

@changeset-bot
Copy link

changeset-bot bot commented Mar 20, 2023

⚠️ No Changeset found

Latest commit: a9680e6

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.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

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

@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from f440d5c to 53f1999 Compare April 3, 2023 15:02
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 53f1999 to 5e8592f Compare April 17, 2023 15:38
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 5e8592f to 9f0a371 Compare May 29, 2023 14:37
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 9f0a371 to 5963bd5 Compare June 5, 2023 15:47
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 5963bd5 to 58b6a18 Compare June 26, 2023 16:23
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 58b6a18 to 8c223f7 Compare July 10, 2023 14:32
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from cf09b62 to 010223e Compare August 14, 2023 16:37
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 6a5a224 to 6eaf8fd Compare September 5, 2023 19:04
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 6eaf8fd to 29d4832 Compare September 19, 2023 20:22
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 29d4832 to da0febd Compare October 9, 2023 15:10
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from da0febd to 933938a Compare October 16, 2023 19:40
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 933938a to 65eb71b Compare November 6, 2023 18:39
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 65eb71b to 39112a7 Compare December 4, 2023 14:37
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from fc945af to 31cb05c Compare January 22, 2024 13:32
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 31cb05c to 7458b0a Compare February 5, 2024 13:41
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 7458b0a to 690566f Compare February 12, 2024 13:44
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 690566f to a9680e6 Compare February 19, 2024 16:25
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from f147513 to c213a81 Compare March 18, 2024 14:06
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from c213a81 to 603aeb3 Compare March 25, 2024 14:44
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 603aeb3 to 7db0c59 Compare April 2, 2024 13:40
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 7db0c59 to 8dea0c9 Compare April 15, 2024 14:58
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 027d466 to e1aaaf3 Compare May 6, 2024 16:05
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from e1aaaf3 to 440be1a Compare May 7, 2024 16:28
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 440be1a to 6018171 Compare May 20, 2024 16:08
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 3eedd74 to e4b7232 Compare June 24, 2024 14:05
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from e4b7232 to 35d128b Compare July 1, 2024 16:29
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 59b15ea to 3eb87ab Compare July 23, 2024 19:23
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from fcb58aa to dd4ed0d Compare August 5, 2024 20:19
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from dd4ed0d to ad0a581 Compare August 12, 2024 15:53
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from ad0a581 to 7a9a5c3 Compare September 2, 2024 16:35
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 7a9a5c3 to 9dfc945 Compare September 3, 2024 17:18
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.

None yet

0 participants