Skip to content

Releases: apollographql/apollo-server

@apollo/server@4.9.4

04 Oct 18:50
375f4d2
Compare
Choose a tag to compare

Patch Changes

  • #7747 ddce036e1 Thanks @trevor-scheer! - The minimum version of graphql officially supported by Apollo Server 4 as a peer dependency, v16.6.0, contains a serious bug that can crash your Node server. This bug is fixed in the immediate next version, graphql@16.7.0, and we strongly encourage you to upgrade your installation of graphql to at least v16.7.0 to avoid this bug. (For backwards compatibility reasons, we cannot change Apollo Server 4's minimum peer dependency, but will change it when we release Apollo Server 5.)

    Apollo Server 4 contained a particular line of code that makes triggering this crashing bug much more likely. This line was already removed in Apollo Server v3.8.2 (see #6398) but the fix was accidentally not included in Apollo Server 4. We are now including this change in Apollo Server 4, which will reduce the likelihood of hitting this crashing bug for users of graphql v16.6.0. That said, taking this @apollo/server upgrade does not prevent this bug from being triggered in other ways, and the real fix to this crashing bug is to upgrade graphql.

@apollo/server-integration-testsuite@4.9.4

04 Oct 18:50
375f4d2
Compare
Choose a tag to compare

Patch Changes

  • Updated dependencies [ddce036e1]:
    • @apollo/server@4.9.4

@apollo/server@4.9.3

30 Aug 21:21
a9d288a
Compare
Choose a tag to compare

Patch Changes

  • a1c725eaf Thanks @trevor-scheer! - Ensure API keys are valid header values on startup

    Apollo Server previously performed no sanitization or validation of API keys on startup. In the case that an API key was provided which contained characters that are invalid as header values, Apollo Server could inadvertently log the API key in cleartext.

    This only affected users who:

    • Provide an API key with characters that are invalid as header values
    • Use either schema or usage reporting
    • Use the default fetcher provided by Apollo Server or configure their own node-fetch fetcher

    Apollo Server now trims whitespace from API keys and validates that they are valid header values. If an invalid API key is provided, Apollo Server will throw an error on startup.

    For more details, see the security advisory:
    GHSA-j5g3-5c8r-7qfx

@apollo/server-integration-testsuite@4.9.3

30 Aug 21:20
a9d288a
Compare
Choose a tag to compare

Patch Changes

  • Updated dependencies [a1c725eaf]:
    • @apollo/server@4.9.3

@apollo/server@4.9.2

24 Aug 19:18
e8c00a7
Compare
Choose a tag to compare

Patch Changes

  • #7699 62e7d940d Thanks @trevor-scheer! - Fix error path attachment for list items

    Previously, when errors occurred while resolving a list item, the trace builder would fail to place the error at the correct path and just default to the root node with a warning message:

    Could not find node with path x.y.1, defaulting to put errors on root node.

    This change places these errors at their correct paths and removes the log.

@apollo/server-integration-testsuite@4.9.2

24 Aug 19:18
e8c00a7
Compare
Choose a tag to compare

Patch Changes

  • Updated dependencies [62e7d940d]:
    • @apollo/server@4.9.2

@apollo/server@4.9.1

04 Aug 19:58
a48e8e0
Compare
Choose a tag to compare

Patch Changes

@apollo/server-integration-testsuite@4.9.1

04 Aug 19:58
a48e8e0
Compare
Choose a tag to compare

Patch Changes

  • Updated dependencies [ebfde0007]:
    • @apollo/server@4.9.1

@apollo/server@4.9.0

27 Jul 19:50
1235611
Compare
Choose a tag to compare

Minor Changes

  • #7617 4ff81ca50 Thanks @trevor-scheer! - Introduce new ApolloServerPluginSubscriptionCallback plugin. This plugin implements the subscription callback protocol which is used by Apollo Router. This feature implements subscriptions over HTTP via a callback URL which Apollo Router registers with Apollo Server. This feature is currently in preview and is subject to change.

    You can enable callback subscriptions like so:

    import { ApolloServerPluginSubscriptionCallback } from '@apollo/server/plugin/subscriptionCallback';
    import { ApolloServer } from '@apollo/server';
    
    const server = new ApolloServer({
      // ...
      plugins: [ApolloServerPluginSubscriptionCallback()],
    });

    Note that there is currently no tracing or metrics mechanism in place for callback subscriptions. Additionally, this plugin "intercepts" callback subscription requests and bypasses some of Apollo Server's internals. The result of this is that certain plugin hooks (notably executionDidStart and willResolveField) will not be called when handling callback subscription requests or when sending subscription events.

    For more information on the subscription callback protocol, visit the docs:
    https://www.apollographql.com/docs/router/executing-operations/subscription-callback-protocol/

Patch Changes

@apollo/server-integration-testsuite@4.9.0

27 Jul 19:50
1235611
Compare
Choose a tag to compare

Patch Changes