Fix potential bug when an @interfaceObject type has a @requires. When an @interfaceObject type has a field with a (#2524)
@requires and the query requests that field only for some specific implementations of the corresponding interface,
then the generated query plan was sometimes invalid and could result in an invalid query to a subgraph (against a
subgraph that rely on @apollo/subgraph, this lead the subgraph to produce an error message looking like "The _entities resolver tried to load an entity for type X, but no object or interface type of that name was found in the schema").
Fix issues (incorrectly rejected composition and/or subgraph errors) with @interfaceObject. Those issues may occur (#2494)
either due to some use of @requires in an @interfaceObject type, or when some subgraph S defines a type that is an
implementation of an interface I in the supergraph, and there is an @interfaceObject for I in another subgraph,
but S does not itself defines I.
Fix handling of aliases and variables in introspection queries. (#2506)
Start building packages with TS 5.x, which should have no effect on consumers (#2480)
Improves reuse of named fragments in subgraph fetches. When a question has named fragments, the code tries to reuse (#2497)
those fragment in subgraph fetches is those can apply (so when the fragment is fully queried in a single subgraph fetch).
However, the existing was only able to reuse those fragment in a small subset of cases. This change makes it much more
likely that if a fragment can be reused, it will be.
Fix potential bug when an @interfaceObject type has a @requires. When an @interfaceObject type has a field with a (#2524)
@requires and the query requests that field only for some specific implementations of the corresponding interface,
then the generated query plan was sometimes invalid and could result in an invalid query to a subgraph (against a
subgraph that rely on @apollo/subgraph, this lead the subgraph to produce an error message looking like "The _entities resolver tried to load an entity for type X, but no object or interface type of that name was found in the schema").
Fix issues (incorrectly rejected composition and/or subgraph errors) with @interfaceObject. Those issues may occur (#2494)
either due to some use of @requires in an @interfaceObject type, or when some subgraph S defines a type that is an
implementation of an interface I in the supergraph, and there is an @interfaceObject for I in another subgraph,
but S does not itself defines I.
Fix handling of aliases and variables in introspection queries. (#2506)
Start building packages with TS 5.x, which should have no effect on consumers (#2480)
Improves reuse of named fragments in subgraph fetches. When a question has named fragments, the code tries to reuse (#2497)
those fragment in subgraph fetches is those can apply (so when the fragment is fully queried in a single subgraph fetch).
However, the existing was only able to reuse those fragment in a small subset of cases. This change makes it much more
likely that if a fragment can be reused, it will be.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps @apollo/gateway from 2.0.4 to 2.4.2.
Release notes
Sourced from
@apollo/gateway
's releases.... (truncated)
Changelog
Sourced from
@apollo/gateway
's changelog.... (truncated)
Commits
3efbca1
Version Packages (#2525)179b460
Fix potential bug when an@interfaceObject
has a@requires
(#2524)a45768b
Version Packages (#2496)0582147
Fix handling of aliases and variables in introspection queries (#2506)01fe3f8
Improve fragment reuse code (#2497)450b957
Fix incorrectly rejected composition and subgraph issues with `@interfaceObje...2b1f537
update graphql types7b071a6
Add spell checking (without fixing existing errors) (#2472)4ed425e
Revert "Update docs to use 2.4 instead of 2.3 (#2448)" (#2490) (#2492)dda4138
Merge branch 'next'Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)