Releases: apollographql/apollo-server
@apollo/[email protected]
Patch Changes
- #7170
4ce738193
Thanks @trevor-scheer! - Update @apollo/utils packages to v2 (dropping node 12 support)
@apollo/[email protected]
Patch Changes
-
#7187
3fd7b5f26
Thanks @trevor-scheer! - Update@apollo/utils.keyvaluecache
dependency to the latest patch which correctly specifies its version oflru-cache
. -
Updated dependencies [
3fd7b5f26
]:- @apollo/[email protected]
@apollo/[email protected]
Minor Changes
-
#7171
37b3b7fb5
Thanks @glasser! - If a POST body contains a non-stringoperationName
or a non-objectvariables
orextensions
, 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
orextensions
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 thegraphql-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 acode
extension ofBAD_USER_INPUT
rather thanINTERNAL_SERVER_ERROR
. Previously this would unconditionally set thecode
; now, it only sets thecode
if nocode
is already set, so that (for example) custom scalarparseValue
methods can throw errors with specificcode
s. (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/[email protected]
@apollo/[email protected]
Patch Changes
- #7187
3fd7b5f26
Thanks @trevor-scheer! - Update@apollo/utils.keyvaluecache
dependency to the latest patch which correctly specifies its version oflru-cache
.
@apollo/[email protected]
Patch Changes
-
#7170
4ce738193
Thanks @trevor-scheer! - Update @apollo/utils packages to v2 (dropping node 12 support) -
#7173
45856e1dd
Thanks @trevor-scheer! - Remove unnecessary engines constraint on types-only package
@apollo/[email protected]
@apollo/[email protected]
Patch Changes
-
#7118
c835637be
Thanks @glasser! - Provide newGraphQLRequestContext.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/[email protected]
@apollo/[email protected]
Patch Changes
- Updated dependencies [
c835637be
]:- @apollo/[email protected]
@apollo/[email protected]
@apollo/[email protected]
Minor Changes
-
2a2d1e3b4
Thanks @glasser! - Thecache-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 thecache-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 sharedrequestContext.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 fieldGraphQLRequestContext.requestIsBatched
available to plugins.