apollographql/federation (@apollo/gateway)
### [`v2.5.1`](https://togithub.com/apollographql/federation/blob/HEAD/gateway-js/CHANGELOG.md#251)
[Compare Source](https://togithub.com/apollographql/federation/compare/@apollo/gateway@2.5.0...@apollo/gateway@2.5.1)
##### Patch Changes
- Reapply [#2639](https://togithub.com/apollographql/federation/issues/2639): ([#2687](https://togithub.com/apollographql/federation/pull/2687))
Try reusing named fragments in subgraph fetches even if those fragment only apply partially to the subgraph. Before this change, only named fragments that were applying entirely to a subgraph were tried, leading to less reuse that expected. Concretely, this change can sometimes allow the generation of smaller subgraph fetches.
Additionally, resolve a bug which surfaced in the fragment optimization logic which could result in invalid/incorrect optimizations / fragment reuse.
- Updated dependencies \[[`b9052fdd`](https://togithub.com/apollographql/federation/commit/b9052fddfcd2cae1ea750aaea27f0a0b24f4e691)]:
- [@apollo/query-planner](https://togithub.com/apollo/query-planner)[@2](https://togithub.com/2).5.1
- [@apollo/federation-internals](https://togithub.com/apollo/federation-internals)[@2](https://togithub.com/2).5.1
- [@apollo/composition](https://togithub.com/apollo/composition)[@2](https://togithub.com/2).5.1
### [`v2.5.0`](https://togithub.com/apollographql/federation/blob/HEAD/gateway-js/CHANGELOG.md#250)
[Compare Source](https://togithub.com/apollographql/federation/compare/@apollo/gateway@2.4.11...@apollo/gateway@2.5.0)
##### Minor Changes
- Do not run the full suite of graphQL validations on supergraphs and their extracted subgraphs by default in production environment. ([#2657](https://togithub.com/apollographql/federation/pull/2657))
Running those validations on every updates of the schema takes a non-negligible amount of time (especially on large
schema) and mainly only serves in catching bugs early in the supergraph handling code, and in some limited cases,
provide slightly better messages when a corrupted supergraph is received, neither of which is worth the cost in
production environment.
A new `validateSupergraph` option is also introduced in the gateway configuration to force this behaviour.
- Support responses from subgraphs which use the `application/graphql-response+json` content-type header. ([#2162](https://togithub.com/apollographql/federation/pull/2162))
See graphql-over-http spec for more details:
https://graphql.github.io/graphql-over-http/draft/#sec-application-graphql-response-json
- Introduce the new `@authenticated` directive for composition ([#2644](https://togithub.com/apollographql/federation/pull/2644))
> Note that this directive will only be *fully* supported by the Apollo Router as a GraphOS Enterprise feature at runtime. Also note that *composition* of valid `@authenticated` directive applications will succeed, but the resulting supergraph will not be *executable* by the Gateway or an Apollo Router which doesn't have the GraphOS Enterprise entitlement.
Users may now compose `@authenticated` applications from their subgraphs into a supergraph. This addition will support a future version of Apollo Router that enables authenticated access to specific types and fields via directive applications.
The directive is defined as follows:
```graphql
directive @authenticated on
| FIELD_DEFINITION
| OBJECT
| INTERFACE
| SCALAR
| ENUM
```
In order to compose your `@authenticated` usages, you must update your subgraph's federation spec version to v2.5 and add the `@authenticated` import to your existing imports like so:
```graphql
@link(url: "https://specs.apollo.dev/federation/v2.5", import: [..., "@authenticated"])
```
- Introduce the new `@requiresScopes` directive for composition ([#2649](https://togithub.com/apollographql/federation/pull/2649))
> Note that this directive will only be *fully* supported by the Apollo Router as a GraphOS Enterprise feature at runtime. Also note that *composition* of valid `@requiresScopes` directive applications will succeed, but the resulting supergraph will not be *executable* by the Gateway or an Apollo Router which doesn't have the GraphOS Enterprise entitlement.
Users may now compose `@requiresScopes` applications from their subgraphs into a supergraph. This addition will support a future version of Apollo Router that enables scoped access to specific types and fields via directive applications.
The directive is defined as follows:
```graphql
scalar federation__Scope
directive @requiresScopes(scopes: [federation__Scope!]!) on
| FIELD_DEFINITION
| OBJECT
| INTERFACE
| SCALAR
| ENUM
```
The `Scope` scalar is effectively a `String`, similar to the `FieldSet` type.
In order to compose your `@requiresScopes` usages, you must update your subgraph's federation spec version to v2.5 and add the `@requiresScopes` import to your existing imports like so:
```graphql
@link(url: "https://specs.apollo.dev/federation/v2.5", import: [..., "@requiresScopes"])
```
##### Patch Changes
- Updated dependencies \[[`fe1e3d7b`](https://togithub.com/apollographql/federation/commit/fe1e3d7b13ed76ac81e8fd6d911f4497995c59aa), [`aac2893a`](https://togithub.com/apollographql/federation/commit/aac2893ad70ed026607b5a2e4cb698207be87262), [`6b18af50`](https://togithub.com/apollographql/federation/commit/6b18af50910872049938386b82ad40703d934f68), [`9396c0d6`](https://togithub.com/apollographql/federation/commit/9396c0d686092c06fa89f8512378610bfe4154cc), [`2b5796a9`](https://togithub.com/apollographql/federation/commit/2b5796a962b3478961f9486c28f5cfd161fafbb0), [`4f3c3b9e`](https://togithub.com/apollographql/federation/commit/4f3c3b9eedb5dacb6dee29aa21bb74cdd1244732)]:
- [@apollo/query-planner](https://togithub.com/apollo/query-planner)[@2](https://togithub.com/2).5.0
- [@apollo/composition](https://togithub.com/apollo/composition)[@2](https://togithub.com/2).5.0
- [@apollo/federation-internals](https://togithub.com/apollo/federation-internals)[@2](https://togithub.com/2).5.0
### [`v2.4.11`](https://togithub.com/apollographql/federation/releases/tag/%40apollo/gateway%402.4.11)
[Compare Source](https://togithub.com/apollographql/federation/compare/@apollo/gateway@2.4.10...@apollo/gateway@2.4.11)
##### Patch Changes
- Reapply [#2639](https://togithub.com/apollographql/federation/issues/2639): ([#2684](https://togithub.com/apollographql/federation/pull/2684))
Try reusing named fragments in subgraph fetches even if those fragment only apply partially to the subgraph. Before this change, only named fragments that were applying entirely to a subgraph were tried, leading to less reuse that expected. Concretely, this change can sometimes allow the generation of smaller subgraph fetches.
Additionally, resolve a bug which surfaced in the fragment optimization logic which could result in invalid/incorrect optimizations / fragment reuse.
- Updated dependencies \[[`a740e071`](https://togithub.com/apollographql/federation/commit/a740e07193735a2e9a5a0e4b8105722e1587cc09)]:
- [@apollo/query-planner](https://togithub.com/apollo/query-planner)[@2](https://togithub.com/2).4.11
- [@apollo/federation-internals](https://togithub.com/apollo/federation-internals)[@2](https://togithub.com/2).4.11
- [@apollo/composition](https://togithub.com/apollo/composition)[@2](https://togithub.com/2).4.11
### [`v2.4.10`](https://togithub.com/apollographql/federation/blob/HEAD/gateway-js/CHANGELOG.md#2410)
[Compare Source](https://togithub.com/apollographql/federation/compare/@apollo/gateway@2.4.9...@apollo/gateway@2.4.10)
##### Patch Changes
- Revert [#2639](https://togithub.com/apollographql/federation/issues/2639) from v2.4.9 ([#2681](https://togithub.com/apollographql/federation/pull/2681))
PR [#2639](https://togithub.com/apollographql/federation/issues/2639) attempts to resolve issues with query fragment reuse, but we've since turned up multiple issues (at least 1 of which is a regression - see [#2680](https://togithub.com/apollographql/federation/issues/2680). For now, this reverts it until we resolve the regression for a future patch release.
- Updated dependencies \[[`b6be9f96`](https://togithub.com/apollographql/federation/commit/b6be9f9650a69f6214d806d66b198729560da3dc)]:
- [@apollo/query-planner](https://togithub.com/apollo/query-planner)[@2](https://togithub.com/2).4.10
- [@apollo/federation-internals](https://togithub.com/apollo/federation-internals)[@2](https://togithub.com/2).4.10
- [@apollo/composition](https://togithub.com/apollo/composition)[@2](https://togithub.com/2).4.10
Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
2.4.9
->2.5.1
Release Notes
apollographql/federation (@apollo/gateway)
### [`v2.5.1`](https://togithub.com/apollographql/federation/blob/HEAD/gateway-js/CHANGELOG.md#251) [Compare Source](https://togithub.com/apollographql/federation/compare/@apollo/gateway@2.5.0...@apollo/gateway@2.5.1) ##### Patch Changes - Reapply [#2639](https://togithub.com/apollographql/federation/issues/2639): ([#2687](https://togithub.com/apollographql/federation/pull/2687)) Try reusing named fragments in subgraph fetches even if those fragment only apply partially to the subgraph. Before this change, only named fragments that were applying entirely to a subgraph were tried, leading to less reuse that expected. Concretely, this change can sometimes allow the generation of smaller subgraph fetches. Additionally, resolve a bug which surfaced in the fragment optimization logic which could result in invalid/incorrect optimizations / fragment reuse. - Updated dependencies \[[`b9052fdd`](https://togithub.com/apollographql/federation/commit/b9052fddfcd2cae1ea750aaea27f0a0b24f4e691)]: - [@apollo/query-planner](https://togithub.com/apollo/query-planner)[@2](https://togithub.com/2).5.1 - [@apollo/federation-internals](https://togithub.com/apollo/federation-internals)[@2](https://togithub.com/2).5.1 - [@apollo/composition](https://togithub.com/apollo/composition)[@2](https://togithub.com/2).5.1 ### [`v2.5.0`](https://togithub.com/apollographql/federation/blob/HEAD/gateway-js/CHANGELOG.md#250) [Compare Source](https://togithub.com/apollographql/federation/compare/@apollo/gateway@2.4.11...@apollo/gateway@2.5.0) ##### Minor Changes - Do not run the full suite of graphQL validations on supergraphs and their extracted subgraphs by default in production environment. ([#2657](https://togithub.com/apollographql/federation/pull/2657)) Running those validations on every updates of the schema takes a non-negligible amount of time (especially on large schema) and mainly only serves in catching bugs early in the supergraph handling code, and in some limited cases, provide slightly better messages when a corrupted supergraph is received, neither of which is worth the cost in production environment. A new `validateSupergraph` option is also introduced in the gateway configuration to force this behaviour. - Support responses from subgraphs which use the `application/graphql-response+json` content-type header. ([#2162](https://togithub.com/apollographql/federation/pull/2162)) See graphql-over-http spec for more details: https://graphql.github.io/graphql-over-http/draft/#sec-application-graphql-response-json - Introduce the new `@authenticated` directive for composition ([#2644](https://togithub.com/apollographql/federation/pull/2644)) > Note that this directive will only be *fully* supported by the Apollo Router as a GraphOS Enterprise feature at runtime. Also note that *composition* of valid `@authenticated` directive applications will succeed, but the resulting supergraph will not be *executable* by the Gateway or an Apollo Router which doesn't have the GraphOS Enterprise entitlement. Users may now compose `@authenticated` applications from their subgraphs into a supergraph. This addition will support a future version of Apollo Router that enables authenticated access to specific types and fields via directive applications. The directive is defined as follows: ```graphql directive @authenticated on | FIELD_DEFINITION | OBJECT | INTERFACE | SCALAR | ENUM ``` In order to compose your `@authenticated` usages, you must update your subgraph's federation spec version to v2.5 and add the `@authenticated` import to your existing imports like so: ```graphql @link(url: "https://specs.apollo.dev/federation/v2.5", import: [..., "@authenticated"]) ``` - Introduce the new `@requiresScopes` directive for composition ([#2649](https://togithub.com/apollographql/federation/pull/2649)) > Note that this directive will only be *fully* supported by the Apollo Router as a GraphOS Enterprise feature at runtime. Also note that *composition* of valid `@requiresScopes` directive applications will succeed, but the resulting supergraph will not be *executable* by the Gateway or an Apollo Router which doesn't have the GraphOS Enterprise entitlement. Users may now compose `@requiresScopes` applications from their subgraphs into a supergraph. This addition will support a future version of Apollo Router that enables scoped access to specific types and fields via directive applications. The directive is defined as follows: ```graphql scalar federation__Scope directive @requiresScopes(scopes: [federation__Scope!]!) on | FIELD_DEFINITION | OBJECT | INTERFACE | SCALAR | ENUM ``` The `Scope` scalar is effectively a `String`, similar to the `FieldSet` type. In order to compose your `@requiresScopes` usages, you must update your subgraph's federation spec version to v2.5 and add the `@requiresScopes` import to your existing imports like so: ```graphql @link(url: "https://specs.apollo.dev/federation/v2.5", import: [..., "@requiresScopes"]) ``` ##### Patch Changes - Updated dependencies \[[`fe1e3d7b`](https://togithub.com/apollographql/federation/commit/fe1e3d7b13ed76ac81e8fd6d911f4497995c59aa), [`aac2893a`](https://togithub.com/apollographql/federation/commit/aac2893ad70ed026607b5a2e4cb698207be87262), [`6b18af50`](https://togithub.com/apollographql/federation/commit/6b18af50910872049938386b82ad40703d934f68), [`9396c0d6`](https://togithub.com/apollographql/federation/commit/9396c0d686092c06fa89f8512378610bfe4154cc), [`2b5796a9`](https://togithub.com/apollographql/federation/commit/2b5796a962b3478961f9486c28f5cfd161fafbb0), [`4f3c3b9e`](https://togithub.com/apollographql/federation/commit/4f3c3b9eedb5dacb6dee29aa21bb74cdd1244732)]: - [@apollo/query-planner](https://togithub.com/apollo/query-planner)[@2](https://togithub.com/2).5.0 - [@apollo/composition](https://togithub.com/apollo/composition)[@2](https://togithub.com/2).5.0 - [@apollo/federation-internals](https://togithub.com/apollo/federation-internals)[@2](https://togithub.com/2).5.0 ### [`v2.4.11`](https://togithub.com/apollographql/federation/releases/tag/%40apollo/gateway%402.4.11) [Compare Source](https://togithub.com/apollographql/federation/compare/@apollo/gateway@2.4.10...@apollo/gateway@2.4.11) ##### Patch Changes - Reapply [#2639](https://togithub.com/apollographql/federation/issues/2639): ([#2684](https://togithub.com/apollographql/federation/pull/2684)) Try reusing named fragments in subgraph fetches even if those fragment only apply partially to the subgraph. Before this change, only named fragments that were applying entirely to a subgraph were tried, leading to less reuse that expected. Concretely, this change can sometimes allow the generation of smaller subgraph fetches. Additionally, resolve a bug which surfaced in the fragment optimization logic which could result in invalid/incorrect optimizations / fragment reuse. - Updated dependencies \[[`a740e071`](https://togithub.com/apollographql/federation/commit/a740e07193735a2e9a5a0e4b8105722e1587cc09)]: - [@apollo/query-planner](https://togithub.com/apollo/query-planner)[@2](https://togithub.com/2).4.11 - [@apollo/federation-internals](https://togithub.com/apollo/federation-internals)[@2](https://togithub.com/2).4.11 - [@apollo/composition](https://togithub.com/apollo/composition)[@2](https://togithub.com/2).4.11 ### [`v2.4.10`](https://togithub.com/apollographql/federation/blob/HEAD/gateway-js/CHANGELOG.md#2410) [Compare Source](https://togithub.com/apollographql/federation/compare/@apollo/gateway@2.4.9...@apollo/gateway@2.4.10) ##### Patch Changes - Revert [#2639](https://togithub.com/apollographql/federation/issues/2639) from v2.4.9 ([#2681](https://togithub.com/apollographql/federation/pull/2681)) PR [#2639](https://togithub.com/apollographql/federation/issues/2639) attempts to resolve issues with query fragment reuse, but we've since turned up multiple issues (at least 1 of which is a regression - see [#2680](https://togithub.com/apollographql/federation/issues/2680). For now, this reverts it until we resolve the regression for a future patch release. - Updated dependencies \[[`b6be9f96`](https://togithub.com/apollographql/federation/commit/b6be9f9650a69f6214d806d66b198729560da3dc)]: - [@apollo/query-planner](https://togithub.com/apollo/query-planner)[@2](https://togithub.com/2).4.10 - [@apollo/federation-internals](https://togithub.com/apollo/federation-internals)[@2](https://togithub.com/2).4.10 - [@apollo/composition](https://togithub.com/apollo/composition)[@2](https://togithub.com/2).4.10Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.