Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.2.2
->2.4.0
4.3.0
->4.5.0
2.2.2
->2.4.0
^3.11.1
->^4.0.0
3.11.1
->3.12.0
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:
The current default implementation is effectively as follows:
TypeScript users should implement the
QueryPlanCache
type which is nowexported by
@apollo/query-planner
: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
Refactor the internal implementation of selection sets used by the query planner to decrease the code complexity and (#2387)
improve query plan generation performance in many cases.
Optimises query plan generation for parts of queries that can statically be known to not cross across subgraphs (#2449)
Updated dependencies [
260c357c
,7bc0f8e8
,d4426ff9
,a9385bdb
,1a555d98
,ade7ceb8
,09382e74
,cab383b2
]:v2.3.5
Compare Source
Patch Changes
09382e74
]: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 unhashedoperationName
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 (ifoperationName
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
Move gateway post-processing errors from
errors
intoextensions.valueCompletion
of the response (#2380)[https://github.com/apollographql/federation/pull/2335](https://togithub.com/apollographql/federation/pull/2335)5]\(PR #2335) introduced a breaking change that broke existing usages with respect to nullability and gateway error handling. In response to [https://github.com/apollographql/federation/issues/2374](https://togithub.com/apollographql/federation/issues/2374)4]\(Issue #2374), we are reverting the breaking portion of this change by continuing to swallow post processing errors as the gateway did prior to v2.3.0. Instead, those errors will now be included on the
extensions.valueCompletion
object in the response object.Gateway v2.3.0 and v2.3.1 are both affected by this change in behavior.
Updated dependencies []:
v2.3.1
Compare Source
Patch Changes
Capture non-ftv1 error information in metrics data. This (#2242)
error information allows the inline trace plugin to correctly
aggregate stats about errors (where no federated trace data
is available) and stop reporting incomplete traces which
are missing unavailable error information.
This PR is a precursor to apollographql/apollo-server#7136
Fix issue where the query planner was incorrectly not querying
__typename
in a subgraph fetch when@interfaceObject
is involved (#2366)Updated dependencies [
7e2ca46f
,eb5a8bc0
]: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
@shareable
field when@external
is on a type in a fed1 schema (one without@link
) PR #2343.@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.0Example of all new config options:
#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-defaultincludeCookies
value that does not match theInclude 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
021460e95
]:v4.4.0
Compare Source
Minor Changes
f2d433b4f
Thanks @esilverm! - Show "Include Cookies" toggle in Embedded Sandbox landing page.v4.3.3
Compare Source
Patch Changes
#7331
9de18b34c
Thanks @trevor-scheer! - Unpinnode-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 toHeaderMap
class to disallow standardMap
s (in TypeScript).This ensures that typechecking occurs on fields which are declared to accept a
HeaderMap
(notably, thehttpGraphQLRequest.headers
option toApolloServer.executeHTTPGraphQLRequest
and thehttp.headers
option toApolloServer.executeOperation
). This might be a breaking change forintegration authors, but should be easily fixed by switching from
new Map<string, string>()
tonew HeaderMap()
.#7326
e25cb58ff
Thanks @trevor-scheer! - Pinnode-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 nowdetects both cases correctly in order to determine whether to:
ApolloServerPluginInlineTrace
pluginApolloServerPluginSchemaReporting
should not be installedApolloServerPluginUsageReporting
is installed and configured with the__onlyIfSchemaIsNotSubgraph
optionapollographql/federation (@apollo/subgraph)
v2.4.0
Compare Source
Patch Changes
Optimises query plan generation for parts of queries that can statically be known to not cross across subgraphs (#2449)
Updated dependencies [
260c357c
,7bc0f8e8
,1a555d98
,cab383b2
]:v2.3.5
Compare Source
Patch Changes
v2.3.4
Compare Source
Patch Changes
6e2d24b5
]:v2.3.3
Compare Source
Patch Changes
Correctly attach provided subscription resolvers to the schema object (#2388)
Updated dependencies []:
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 theSCHEMA
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 yourschema
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.
This PR has been generated by Mend Renovate. View repository job log here.