Skip to content

Releases: apollographql/apollo-server

@apollo/server-integration-testsuite@4.2.1

23 Nov 19:17
9724e0f
Compare
Choose a tag to compare

Patch Changes

  • #7187 3fd7b5f26 Thanks @trevor-scheer! - Update @apollo/utils.keyvaluecache dependency to the latest patch which correctly specifies its version of lru-cache.

  • Updated dependencies [3fd7b5f26]:

    • @apollo/server@4.2.1

@apollo/server-integration-testsuite@4.2.0

23 Nov 02:23
12176ad
Compare
Choose a tag to compare

Minor Changes

  • #7171 37b3b7fb5 Thanks @glasser! - If a POST body contains a non-string operationName or a non-object variables or extensions, fail with status code 400 instead of ignoring the field.

    In addition to being a reasonable idea, this provides more compliance with the "GraphQL over HTTP" spec.

    This is a backwards incompatible change, but we are still early in the Apollo Server 4 adoption cycle and this is in line with the change already made in Apollo Server 4 to reject requests providing variables or extensions as strings. If this causes major problems for users who have already upgraded to Apollo Server 4 in production, we can consider reverting or partially reverting this change.

Patch Changes

  • #7170 4ce738193 Thanks @trevor-scheer! - Update @apollo/utils packages to v2 (dropping node 12 support)

  • #7179 c8129c23f Thanks @renovate! - Fix a few tests to support (but not require) TypeScript 4.9.

  • #7171 37b3b7fb5 Thanks @glasser! - The integration test suite now incorporates the graphql-http package's audit suite for the "GraphQL over HTTP" specification.

  • #7183 46af8255c Thanks @glasser! - Apollo Server tries to detect if execution errors are variable coercion errors in order to give them a code extension of BAD_USER_INPUT rather than INTERNAL_SERVER_ERROR. Previously this would unconditionally set the code; now, it only sets the code if no code is already set, so that (for example) custom scalar parseValue methods can throw errors with specific codes. (Note that a separate graphql-js bug can lead to these extensions being lost; see graphql/graphql-js#3785 for details.)

  • Updated dependencies [4ce738193, 37b3b7fb5, b1548c1d6, 7ff96f533, 46af8255c]:

    • @apollo/server@4.2.0

@apollo/server-gateway-interface@1.0.7

23 Nov 19:17
9724e0f
Compare
Choose a tag to compare

Patch Changes

  • #7187 3fd7b5f26 Thanks @trevor-scheer! - Update @apollo/utils.keyvaluecache dependency to the latest patch which correctly specifies its version of lru-cache.

@apollo/server-gateway-interface@1.0.6

23 Nov 02:23
12176ad
Compare
Choose a tag to compare

Patch Changes

@apollo/usage-reporting-protobuf@4.0.2

09 Nov 20:06
83b3205
Compare
Choose a tag to compare

Patch Changes

  • #7134 361ca5c8e Thanks @renovate! - Update @apollo/protobufjs to drop its hopefully-unnecessary dependency on (an old version of) @types/node.

@apollo/server@4.1.1

03 Nov 20:57
54659e7
Compare
Choose a tag to compare

Patch Changes

  • #7118 c835637be Thanks @glasser! - Provide new GraphQLRequestContext.requestIsBatched field to gateways, because we did add it in a backport to AS3 and the gateway interface is based on AS3.

  • Updated dependencies [c835637be]:

    • @apollo/server-gateway-interface@1.0.5

@apollo/server-integration-testsuite@4.1.1

03 Nov 20:57
54659e7
Compare
Choose a tag to compare

Patch Changes

  • Updated dependencies [c835637be]:
    • @apollo/server@4.1.1

@apollo/server-gateway-interface@1.0.5

03 Nov 20:57
54659e7
Compare
Choose a tag to compare

Patch Changes

  • #7118 c835637be Thanks @glasser! - Provide new GraphQLRequestContext.requestIsBatched field to gateways, because we did add it in a backport to AS3 and the gateway interface is based on AS3.

@apollo/server@4.1.0

02 Nov 15:54
943fd7f
Compare
Choose a tag to compare

Minor Changes

  • 2a2d1e3b4 Thanks @glasser! - The cache-control HTTP response header set by the cache control plugin now properly reflects the cache policy of all operations in a batched HTTP request. (If you write the cache-control response header via a different mechanism to a format that the plugin would not produce, the plugin no longer writes the header.) For more information, see advisory GHSA-8r69-3cvp-wxc3.

  • 2a2d1e3b4 Thanks @glasser! - Plugins processing multiple operations in a batched HTTP request now have a shared requestContext.request.http object. Changes to HTTP response headers and HTTP status code made by plugins operating on one operation can be immediately seen by plugins operating on other operations in the same HTTP request.

  • 2a2d1e3b4 Thanks @glasser! - New field GraphQLRequestContext.requestIsBatched available to plugins.

@apollo/server-integration-testsuite@4.1.0

02 Nov 15:54
943fd7f
Compare
Choose a tag to compare

Minor Changes

  • 2a2d1e3b4 Thanks @glasser! - The cache-control HTTP response header set by the cache control plugin now properly reflects the cache policy of all operations in a batched HTTP request. (If you write the cache-control response header via a different mechanism to a format that the plugin would not produce, the plugin no longer writes the header.) For more information, see advisory GHSA-8r69-3cvp-wxc3.

  • 2a2d1e3b4 Thanks @glasser! - Plugins processing multiple operations in a batched HTTP request now have a shared requestContext.request.http object. Changes to HTTP response headers and HTTP status code made by plugins operating on one operation can be immediately seen by plugins operating on other operations in the same HTTP request.

  • 2a2d1e3b4 Thanks @glasser! - New field GraphQLRequestContext.requestIsBatched available to plugins.

  • #7114 c1651bfac Thanks @trevor-scheer! - Directly depend on Apollo Server rather than as a peer

Patch Changes