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 #131

Merged
merged 1 commit into from
Mar 25, 2023
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 19, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence Type Update
@apollo/gateway 2.2.2 -> 2.4.0 age adoption passing confidence dependencies minor
@apollo/server 4.3.0 -> 4.5.0 age adoption passing confidence dependencies minor
@apollo/subgraph 2.2.2 -> 2.4.0 age adoption passing confidence dependencies minor
apollo-server-express ^3.11.1 -> ^4.0.0 age adoption passing confidence dependencies replacement
apollo-server-micro 3.11.1 -> 3.12.0 age adoption passing confidence dependencies minor

This is a special PR that replaces apollo-server-express with the community suggested minimal stable replacement version.


Release Notes

apollographql/federation (@​apollo/gateway)

v2.4.0

Compare Source

Minor Changes
  • This change introduces a configurable query plan cache. This option allows (#​2385)
    developers to provide their own query plan cache like so:

    new ApolloGateway({
      queryPlannerConfig: {
        cache: new MyCustomQueryPlanCache(),
      },
    });
    

    The current default implementation is effectively as follows:

    import { InMemoryLRUCache } from "@​apollo/utils.keyvaluecache";
    
    const cache = new InMemoryLRUCache<string>({
      maxSize: Math.pow(2, 20) * 30,
      sizeCalculation<T>(obj: T): number {
        return Buffer.byteLength(JSON.stringify(obj), "utf8");
      },
    });
    

    TypeScript users should implement the QueryPlanCache type which is now
    exported by @apollo/query-planner:

    import { QueryPlanCache } from '@&#8203;apollo/query-planner';
    
    class MyCustomQueryPlanCache implements QueryPlanCache {
      // ...
    }
    
  • Adds debug/testing query planner options (debug.bypassPlannerForSingleSubgraph) to bypass the query planning (#​2441)
    process for federated supergraph having only a single subgraph. The option is disabled by default, is not recommended
    for production, and is not supported (it may be removed later). It is meant for debugging/testing purposes.

Patch Changes

v2.3.5

Compare Source

Patch Changes

v2.3.4

Compare Source

Patch Changes
  • Handle defaulted variables correctly during post-processing. (#​2443)

    Users who tried to use built-in conditional directives (skip/include) with defaulted variables and no variable provided would encounter an error thrown by operation post-processing saying that the variables weren't provided. The defaulted values went unaccounted for, so the operation would validate but then fail an assertion while resolving the conditional.

    With this change, defaulted variable values are now collected and provided to post-processing (with defaults being overwritten by variables that are actually provided).

  • Updated dependencies [6e2d24b5]:

v2.3.3

Compare Source

Patch Changes
  • Update @​apollo/utils.logger typings dependency (#​2269)

  • Exposes, for each subgraph request, the path in the overall gateway operation at which that subgraph request gets inserted. This path is now available as the pathInIncomingRequest field in the arguments of RemoteGraphQLDataSource.willSendRequest and RemoteGraphQLDataSource.didReceiveResponse. (#​2384)

  • Previously the queryPlanStoreKey was a hash of the query concatenated with an unhashed operationName if it was present. This resulted in variable length cache keys that could become unnecessarily long, occupying additional space in the query plan cache. (#​2310)

    This change incorporates the operationName into the hash itself (if operationName is present).

  • Update @​apollo/utils.createhash package, which drops support for node 12 (#​2266)

  • Update @​apollo/utils.isnodelike package, which dropped support for node 12 (#​2268)

  • Update @​apollo/utils.fetcher package, which drops support for node 12 (#​2267)

  • Updated dependencies [71a07f30]:

v2.3.2

Compare Source

Patch Changes

v2.3.1

Compare Source

Patch Changes

This CHANGELOG pertains only to Apollo Federation packages in the 2.x range. The Federation v0.x equivalent for this package can be found here on the version-0.x branch of this repo.

v2.3.0

Compare Source

  • Fix unexpected composition error about @shareable field when @external is on a type in a fed1 schema (one without @link) PR #​2343.
  • Fix issue with some @interfaceObject queries due to missing "input rewrites" PR #​2346.

v2.2.3

Compare Source

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

v4.5.0

Compare Source

Minor Changes
  • #​7431 7cc163ac8 Thanks @​mayakoneval! - In the Apollo Server Landing Page Local config, you can now automatically turn off autopolling on your endpoints as well as pass headers used to introspect your schema, embed an operation from a collection, and configure whether the endpoint input box is editable. In the Apollo Server Landing Page Prod config, you can embed an operation from a collection & we fixed a bug introduced in release 4.4.0

    Example of all new config options:

    const server = new ApolloServer({
      typeDefs,
      resolvers,
      plugins: [
        process.env.NODE_ENV === 'production'
          ? ApolloServerPluginLandingPageProductionDefault({
              graphRef: 'my-graph-id@my-graph-variant',
              collectionId: 'abcdef',
              operationId: '12345'
              embed: true,
              footer: false,
            })
          : ApolloServerPluginLandingPageLocalDefault({
              collectionId: 'abcdef',
              operationId: '12345'
              embed: {
                initialState: {
                  pollForSchemaUpdates: false,
                  sharedHeaders: {
                    "HeaderNeededForIntrospection": "ValueForIntrospection"
                  },
                },
                endpointIsEditable: true,
              },
              footer: false,
            }),
      ],
    });
    
    
  • #​7430 b694bb1dd Thanks @​mayakoneval! - We now send your @​apollo/server version to the embedded Explorer & Sandbox used in the landing pages for analytics.

Patch Changes
  • #​7432 8cbc61406 Thanks @​mayakoneval! - Bug fix: TL;DR revert a previous change that stops passing includeCookies from the prod landing page config.

    Who was affected?

    Any Apollo Server instance that passes a graphRef to a production landing page with a non-default includeCookies value that does not match the Include cookies setting on your registered variant on studio.apollographql.com.

    How were they affected?

    From release 4.4.0 to this patch release, folks affected would have seen their Explorer requests being sent with cookies included only if they had set Include cookies on their variant. Cookies would not have been included by default.

v4.4.1

Compare Source

Patch Changes

v4.4.0

Compare Source

Minor Changes

v4.3.3

Compare Source

Patch Changes
  • #​7331 9de18b34c Thanks @​trevor-scheer! - Unpin node-abort-controller and update to latest unbreaking patch

  • #​7136 8c635d104 Thanks @​trevor-scheer! - Errors reported by subgraphs (with no trace data in the response) are now accurately reflected in the numeric error stats.

    Operations that receive errors from subgraphs (with no trace data in the response) are no longer sent as incomplete, error-less traces.

    Note: in order for this fix to take effect, your @apollo/gateway version must be updated to v2.3.1 or later.

v4.3.2

Compare Source

Patch Changes
  • #​7314 f246ddb71 Thanks @​trevor-scheer! - Add an __identity property to HeaderMap class to disallow standard Maps (in TypeScript).

    This ensures that typechecking occurs on fields which are declared to accept a
    HeaderMap (notably, the httpGraphQLRequest.headers option to
    ApolloServer.executeHTTPGraphQLRequest and the http.headers option to
    ApolloServer.executeOperation). This might be a breaking change for
    integration authors, but should be easily fixed by switching from new Map<string, string>() to new HeaderMap().

  • #​7326 e25cb58ff Thanks @​trevor-scheer! - Pin node-abort-controller version to avoid breaking change. Apollo Server users can enter a broken state if they update their package-lock.json due to a breaking change in a minor release of the mentioned package.

    Ref: https://github.com/southpolesteve/node-abort-controller/issues/39

  • Updated dependencies [e0f959a63]:

v4.3.1

Compare Source

Patch Changes
  • #​7313 ec28b4b33 Thanks @​vtipparam! - Allow case insensitive lookup on headers. Use HeaderMap instead of plain Map for headers in expressMiddleware.

  • #​7311 322b5ebbc Thanks @​axe-me! - Export intermediate ApolloServerOptions* types

  • #​7274 3b0ec8529 Thanks @​patrick91! - The subgraph spec has evolved in Federation v2 such that the type of
    _Service.sdl (formerly nullable) is now non-nullable. Apollo Server now
    detects both cases correctly in order to determine whether to:

    1. install / enable the ApolloServerPluginInlineTrace plugin
    2. throw on startup if ApolloServerPluginSchemaReporting should not be installed
    3. warn when ApolloServerPluginUsageReporting is installed and configured with the __onlyIfSchemaIsNotSubgraph option
apollographql/federation (@​apollo/subgraph)

v2.4.0

Compare Source

Patch Changes

v2.3.5

Compare Source

Patch Changes

v2.3.4

Compare Source

Patch Changes

v2.3.3

Compare Source

Patch Changes

v2.3.2

Compare Source

Patch Changes

v2.3.1

Compare Source

Patch Changes

This CHANGELOG pertains only to Apollo Federation packages in the 2.x range. The Federation v0.x equivalent for this package can be found here on the version-0.x branch of this repo.

v2.3.0

Compare Source

  • @tag directive support for the SCHEMA location. This has been added to the 2.3 version of the federation spec, so to access this functionality you must bump your federation spec version to 2.3 by using @link(url: "https://specs.apollo.dev/federation/v2.3", ...) on your schema element. PR #​2314.

v2.2.3

Compare Source

apollographql/apollo-server (apollo-server-micro)

v3.12.0

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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 has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 4 times, most recently from 19d1878 to e63d512 Compare March 24, 2023 21:32
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from e63d512 to 5186380 Compare March 25, 2023 00:59
@genkey6 genkey6 merged commit 8ec08d2 into main Mar 25, 2023
@genkey6 genkey6 deleted the renovate/apollo-graphql-packages branch March 25, 2023 01:08
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.

1 participant