-
Notifications
You must be signed in to change notification settings - Fork 268
merge main #3275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
merge main #3275
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Connectors directives are not part of the Federation spec so this changelog entry is misleading.
It seems a bit counterintuitive that the `Reviews` subgraph contributes to the `inStock` field of the `Product` type. I'd like to update the code example so that it contributes to the `rating` field instead. This change is also consistent with the code example in the overview section of [the document](http://apollographql.com/docs/graphos/schema-design/federated-schemas/entities/intro).
Updates gateway 0.x EOL
Co-authored-by: Sachin D. Shinde <sachin@apollographql.com> Co-authored-by: Taylor Ninesling <taylor.ninesling@apollographql.com> Co-authored-by: Dylan Anthony <dylan@apollographql.com> Co-authored-by: Ben Newman <ben@apollographql.com> Co-authored-by: Taylor Jones <45475656+tayrrible@users.noreply.github.com> Co-authored-by: Taylor Jones <taylor@apollographql.com> Co-authored-by: Nicholas Cioli <nicholas.cioli@apollographql.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Maria Elisabeth Schreiber <maria.schreiber@apollographql.com> Co-authored-by: Chris Lenfest <clenfest@apollographql.com> Co-authored-by: Edward Huang <edward.huang@apollographql.com> Co-authored-by: Matt Peake <7741049+peakematt@users.noreply.github.com> Co-authored-by: kamila-brylewska-zendesk <kamila.brylewska@zendesk.com> Co-authored-by: Andrew McGivery <andrew.mcgivery@apollographql.com> Co-authored-by: Duckki Oe <duckki.oe@apollographql.com> Co-authored-by: Dale Seo <5466341+DaleSeo@users.noreply.github.com>
<!--
First, 🌠 thank you 🌠 for taking the time to consider a contribution to
Apollo!
Here are some important details to follow:
* ⏰ Your time is important
To save your precious time, if the contribution you are making will
take more than an hour, please make sure it has been discussed in an
issue first. This is especially true for feature requests!
* 💡 Features
Feature requests can be created and discussed within a GitHub Issue.
Be sure to search for existing feature requests (and related issues!)
prior to opening a new request. If an existing issue covers the need,
please upvote that issue by using the 👍 emote, rather than opening a
new issue.
* 🕷 Bug fixes
These can be created and discussed in this repository. When fixing a
bug,
please _try_ to add a test which verifies the fix. If you cannot, you
should
still submit the PR but we may still ask you (and help you!) to create a
test.
* Federation versions
Please make sure you're targeting the federation version you're opening
the PR for. Federation 2 (alpha) is currently located on the `main`
branch and prior versions of Federation live on the `version-0.x`
branch.
* 📖 Contribution guidelines
Follow
https://github.com/apollographql/federation/blob/HEAD/CONTRIBUTING.md
when submitting a pull request. Make sure existing tests still pass, and
add
tests for all new behavior.
* ✏️ Explain your pull request
Describe the big picture of your changes here to communicate to what
your pull request is meant to accomplish. Provide 🔗 links 🔗 to
associated issues!
We hope you will find this to be a positive experience! Open source
contribution can be intimidating and we hope to alleviate that pain as
much
as possible. Without following these guidelines, you may be missing
context
that can help you succeed with your contribution, which is why we
encourage
discussion first. Ultimately, there is no guarantee that we will be able
to
merge your pull-request, but by following these guidelines we can try to
avoid disappointment.
-->
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @apollo/composition@2.11.0 ### Minor Changes - Adds connect spec v0.2, available for use with Apollo Router 2.3.0 or greater. ([#3262](#3262)) ### Patch Changes - Allow merging external types when using arrays as default arguments. ([#3262](#3262)) - Updated dependencies \[[`1462c91879d41884c0a7e60551d8dd0d67c832d3`](1462c91), [`9614b26e5a17cbf1f6aaf08f6fcb1c95eb12592d`](9614b26)]: - @apollo/query-graphs@2.11.0 - @apollo/federation-internals@2.11.0 ## @apollo/gateway@2.11.0 ### Minor Changes - Adds connect spec v0.2, available for use with Apollo Router 2.3.0 or greater. ([#3262](#3262)) ### Patch Changes - Corrects a set of denial-of-service (DOS) vulnerabilities that made it possible for an attacker to render gateway inoperable with certain simple query patterns due to uncontrolled resource consumption. All prior-released versions and configurations are vulnerable. ([#3238](#3238)) See the associated GitHub Advisories [GHSA-q2f9-x4p4-7xmh](GHSA-q2f9-x4p4-7xmh) and [GHSA-p2q6-pwh5-m6jr](GHSA-p2q6-pwh5-m6jr) for more information. - Updated dependencies \[[`1462c91879d41884c0a7e60551d8dd0d67c832d3`](1462c91), [`9614b26e5a17cbf1f6aaf08f6fcb1c95eb12592d`](9614b26), [`9614b26e5a17cbf1f6aaf08f6fcb1c95eb12592d`](9614b26)]: - @apollo/query-planner@2.11.0 - @apollo/federation-internals@2.11.0 - @apollo/composition@2.11.0 ## @apollo/federation-internals@2.11.0 ### Minor Changes - Adds connect spec v0.2, available for use with Apollo Router 2.3.0 or greater. ([#3262](#3262)) ### Patch Changes - Corrects a set of denial-of-service (DOS) vulnerabilities that made it possible for an attacker to render gateway inoperable with certain simple query patterns due to uncontrolled resource consumption. All prior-released versions and configurations are vulnerable. ([#3238](#3238)) See the associated GitHub Advisories [GHSA-q2f9-x4p4-7xmh](GHSA-q2f9-x4p4-7xmh) and [GHSA-p2q6-pwh5-m6jr](GHSA-p2q6-pwh5-m6jr) for more information. ## @apollo/query-graphs@2.11.0 ### Minor Changes - Adds connect spec v0.2, available for use with Apollo Router 2.3.0 or greater. ([#3262](#3262)) ### Patch Changes - Corrects a set of denial-of-service (DOS) vulnerabilities that made it possible for an attacker to render gateway inoperable with certain simple query patterns due to uncontrolled resource consumption. All prior-released versions and configurations are vulnerable. ([#3238](#3238)) See the associated GitHub Advisories [GHSA-q2f9-x4p4-7xmh](GHSA-q2f9-x4p4-7xmh) and [GHSA-p2q6-pwh5-m6jr](GHSA-p2q6-pwh5-m6jr) for more information. - Updated dependencies \[[`1462c91879d41884c0a7e60551d8dd0d67c832d3`](1462c91), [`9614b26e5a17cbf1f6aaf08f6fcb1c95eb12592d`](9614b26)]: - @apollo/federation-internals@2.11.0 ## @apollo/query-planner@2.11.0 ### Minor Changes - Adds connect spec v0.2, available for use with Apollo Router 2.3.0 or greater. ([#3262](#3262)) ### Patch Changes - Corrects a set of denial-of-service (DOS) vulnerabilities that made it possible for an attacker to render gateway inoperable with certain simple query patterns due to uncontrolled resource consumption. All prior-released versions and configurations are vulnerable. ([#3238](#3238)) See the associated GitHub Advisories [GHSA-q2f9-x4p4-7xmh](GHSA-q2f9-x4p4-7xmh) and [GHSA-p2q6-pwh5-m6jr](GHSA-p2q6-pwh5-m6jr) for more information. - Updated dependencies \[[`1462c91879d41884c0a7e60551d8dd0d67c832d3`](1462c91), [`9614b26e5a17cbf1f6aaf08f6fcb1c95eb12592d`](9614b26)]: - @apollo/query-graphs@2.11.0 - @apollo/federation-internals@2.11.0 ## @apollo/subgraph@2.11.0 ### Minor Changes - Adds connect spec v0.2, available for use with Apollo Router 2.3.0 or greater. ([#3262](#3262)) ### Patch Changes - Updated dependencies \[[`1462c91879d41884c0a7e60551d8dd0d67c832d3`](1462c91), [`9614b26e5a17cbf1f6aaf08f6fcb1c95eb12592d`](9614b26)]: - @apollo/federation-internals@2.11.0 ## apollo-federation-integration-testsuite@2.11.0 ### Minor Changes - Adds connect spec v0.2, available for use with Apollo Router 2.3.0 or greater. ([#3262](#3262)) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…fos in the stack gets above a configured value. (#3254)
Uses the new `MinVersionBadge` component and makes syntax consistent. --------- Co-authored-by: Liz Hennessy <95302380+lizhennessy@users.noreply.github.com>
Fix link to migration breaking changes for Fed 1 --------- Co-authored-by: Maria Elisabeth Schreiber <maria.schreiber@apollographql.com>
🦋 Changeset detectedLatest commit: b0bfc2b The changes in this PR will be included in the next version bump. This PR includes changesets to release 7 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
andrewmcgivery
approved these changes
Jun 12, 2025
lennyburdette
pushed a commit
that referenced
this pull request
Jun 18, 2025
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ `next` is currently in **pre mode** so this branch has prereleases rather than normal releases. If you want to exit prereleases, run `changeset pre exit` on `next`.⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ # Releases ## @apollo/composition@2.12.0-preview.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) ### Patch Changes - Adding new CompositionOption `maxValidationSubgraphPaths`. This value represents the maximum number of SubgraphPathInfo objects that may exist in a ValidationTraversal when checking for satisfiability. Setting this value can help composition error before running out of memory. Default is 1,000,000. ([#3275](#3275)) - Allow merging external types when using arrays as default arguments. ([#3096](#3096)) - Updated dependencies \[[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0)]: - @apollo/query-graphs@2.12.0-preview.0 - @apollo/federation-internals@2.12.0-preview.0 ## @apollo/gateway@2.12.0-preview.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) ### Patch Changes - Updated dependencies \[[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0), [`0dbc7cc72ffacf324231e9ccb2de4189f6bf3289`](0dbc7cc)]: - @apollo/query-planner@2.12.0-preview.0 - @apollo/composition@2.12.0-preview.0 - @apollo/federation-internals@2.12.0-preview.0 ## @apollo/federation-internals@2.12.0-preview.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) ### Patch Changes - Adding new CompositionOption `maxValidationSubgraphPaths`. This value represents the maximum number of SubgraphPathInfo objects that may exist in a ValidationTraversal when checking for satisfiability. Setting this value can help composition error before running out of memory. Default is 1,000,000. ([#3275](#3275)) ## @apollo/query-graphs@2.12.0-preview.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) ### Patch Changes - Updated dependencies \[[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0)]: - @apollo/federation-internals@2.12.0-preview.0 ## @apollo/query-planner@2.12.0-preview.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) ### Patch Changes - Updated dependencies \[[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0)]: - @apollo/query-graphs@2.12.0-preview.0 - @apollo/federation-internals@2.12.0-preview.0 ## @apollo/subgraph@2.12.0-preview.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) ### Patch Changes - Updated dependencies \[[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0)]: - @apollo/federation-internals@2.12.0-preview.0 ## apollo-federation-integration-testsuite@2.12.0-preview.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
dariuszkuc
added a commit
that referenced
this pull request
Nov 4, 2025
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated. # Releases ## @apollo/composition@2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) - Add connect spec v0.2 ([#3228](#3228)) - Federation v2.12 release ([#3323](#3323)) - Added isSuccess argument to @connect and @source ([#3294](#3294)) - Fixes a bug where composition may not generate a satisfiability error for an unsatisfiable `@shareable` mutation field. ([#3305](#3305)) ([#3305](#3305)) ### Patch Changes - Preparing preview.2 release ([#3255](#3255)) - Automatically propagate authorization requirements from implementing type to interface in the supergraph. ([#3321](#3321)) Authorization requirements now automatically propagate from implementing types to interfaces during composition. Direct auth specifications on interfaces are no longer allowed. Interface access requires satisfying ALL implementing types' requirements (`AND` rule), with these requirements included in the supergraph for backward compatibility with older routers. - Fix transitive auth requirements on `@requires` and `@fromcontext` ([#3321](#3321)) Adds new `postMergeValidation` check to ensure that all fields that depends on data from other parts of the supergraph through `@requires` and/or `@fromContext` directives explicitly specify matching `@authenticated`, `@requiresScopes` and/or `@policy` auth requirements, e.g. ```graphql type T @key(fields: "id") { id: ID! extra: String @external # we need explicit `@authenticated` as it is needed to access extra requiresExtra: String @requires(fields: "extra") @authenticated } type T @key(fields: "id") { id: ID! extra: String @authenticated } ``` - Preparing new preview release 2.12.0-preview.3 (patch). ([#3308](#3308)) - Adding new CompositionOption `maxValidationSubgraphPaths`. This value represents the maximum number of SubgraphPathInfo objects that may exist in a ValidationTraversal when checking for satisfiability. Setting this value can help composition error before running out of memory. Default is 1,000,000. ([#3275](#3275)) - Restrict usage of auth directives on interfaces ([#3321](#3321)) Restricts usage of `@authenticated`, `@policy` and `@requiresScopes` from being applied on interfaces, interface objects and their fields. GraphQL spec currently does not define any interface inheritance rules and developers have to explicitly redefine all interface fields on their implementations. At runtime, GraphQL servers cannot return abstract types and always return concrete output types. Due to the above, applying auth directives on the interfaces may lead to unexpected runtime behavior as they won't have any effect at runtime. - Allow merging external types when using arrays as default arguments. ([#3096](#3096)) - Stricter merge rules for @requiresScopes and @Policy ([#3321](#3321)) Current merge policies for `@authenticated`, `@requiresScopes` and `@policy` were inconsistent. If a shared field uses the same authorization directives across subgraphs, composition merges them using `OR` logic. However, if a shared field uses different authorization directives across subgraphs composition merges them using `AND` logic. This simplified schema evolution, but weakened security requirements. Therefore, the behavior has been changed to always apply `AND` logic to authorization directives applied to the same field across subgraphs. Since `@policy` and `@requiresScopes` values represent boolean conditions in Disjunctive Normal Form, we can merge them conjunctively to get the final auth requirements. For example: ```graphql # subgraph A type T @authenticated { # requires scopes (A1 AND A2) OR A3 secret: String @requiresScopes(scopes: [["A1", "A2"], ["A3"]]) } # subgraph B type T { # requires scopes B1 OR B2 secret: String @requiresScopes(scopes: [["B1"], ["B2"]] } # composed supergraph type T @authenticated { secret: String @requiresScopes( scopes: [ ["A1", "A2", "B1"], ["A1", "A2", "B2"], ["A3", "B1"], ["A3", "B2"] ]) } ``` This algorithm also deduplicates redundant requirements, e.g. ```graphql # subgraph A type T { # requires A1 AND A2 scopes to access secret: String @requiresScopes(scopes: [["A1", "A2"]]) } # subgraph B type T { # requires only A1 scope to access secret: String @requiresScopes(scopes: [["A1"]]) } # composed supergraph type T { # requires only A1 scope to access as A2 is redundant secret: String @requiresScopes(scopes: [["A1"]]) } ``` - Fixed handling `@requires` dependency on fields returned by `@interfaceObject` ([#3318](#3318)) Depending on the merge order of the types, we could fail composition if a type that `@requires` data from an `@interfaceObject` is merged before the interface. Updated merge logic to use explicit merge order of scalars, input objects, interfaces, and finally objects. - Updated dependencies \[[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](3e2b0a8), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](bb4614d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](99f2da2), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](3fd5157), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](4bda3a4), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](e7e6757), [`f3ab499eaf62b1a1c0f08b838d2cbde5accb303a`](f3ab499), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](faea2d1), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](97b9d2e), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](f6af504), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](a595235)]: - @apollo/query-graphs@2.12.0 - @apollo/federation-internals@2.12.0 ## @apollo/gateway@2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) - Add connect spec v0.2 ([#3228](#3228)) - Federation v2.12 release ([#3323](#3323)) ### Patch Changes - Preparing preview.2 release ([#3255](#3255)) - Updated dependencies \[[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](3e2b0a8), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](bb4614d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](99f2da2), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](3fd5157), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](4bda3a4), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](e7e6757), [`f3ab499eaf62b1a1c0f08b838d2cbde5accb303a`](f3ab499), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](faea2d1), [`0dbc7cc72ffacf324231e9ccb2de4189f6bf3289`](0dbc7cc), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](97b9d2e), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](f6af504), [`bc07e979b9fd24c9b94740b170f11023fe99ba1e`](bc07e97), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](a595235), [`9cbdcb53f859c877a476e2725faa4cb205506f57`](9cbdcb5)]: - @apollo/query-planner@2.12.0 - @apollo/composition@2.12.0 - @apollo/federation-internals@2.12.0 ## @apollo/federation-internals@2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) - Add connect spec v0.2 ([#3228](#3228)) - Federation v2.12 release ([#3323](#3323)) - Added isSuccess argument to @connect and @source ([#3294](#3294)) ### Patch Changes - Preparing preview.2 release ([#3255](#3255)) - Automatically propagate authorization requirements from implementing type to interface in the supergraph. ([#3321](#3321)) Authorization requirements now automatically propagate from implementing types to interfaces during composition. Direct auth specifications on interfaces are no longer allowed. Interface access requires satisfying ALL implementing types' requirements (`AND` rule), with these requirements included in the supergraph for backward compatibility with older routers. - Fix transitive auth requirements on `@requires` and `@fromcontext` ([#3321](#3321)) Adds new `postMergeValidation` check to ensure that all fields that depends on data from other parts of the supergraph through `@requires` and/or `@fromContext` directives explicitly specify matching `@authenticated`, `@requiresScopes` and/or `@policy` auth requirements, e.g. ```graphql type T @key(fields: "id") { id: ID! extra: String @external # we need explicit `@authenticated` as it is needed to access extra requiresExtra: String @requires(fields: "extra") @authenticated } type T @key(fields: "id") { id: ID! extra: String @authenticated } ``` - Preparing new preview release 2.12.0-preview.3 (patch). ([#3308](#3308)) - Adding new CompositionOption `maxValidationSubgraphPaths`. This value represents the maximum number of SubgraphPathInfo objects that may exist in a ValidationTraversal when checking for satisfiability. Setting this value can help composition error before running out of memory. Default is 1,000,000. ([#3275](#3275)) - Fixed demand control validations ([#3314](#3314)) Updated `@cost`/`@listSize` validations to use correct federation spec to look them up in the schema. - Restrict usage of auth directives on interfaces ([#3321](#3321)) Restricts usage of `@authenticated`, `@policy` and `@requiresScopes` from being applied on interfaces, interface objects and their fields. GraphQL spec currently does not define any interface inheritance rules and developers have to explicitly redefine all interface fields on their implementations. At runtime, GraphQL servers cannot return abstract types and always return concrete output types. Due to the above, applying auth directives on the interfaces may lead to unexpected runtime behavior as they won't have any effect at runtime. - Stricter merge rules for @requiresScopes and @Policy ([#3321](#3321)) Current merge policies for `@authenticated`, `@requiresScopes` and `@policy` were inconsistent. If a shared field uses the same authorization directives across subgraphs, composition merges them using `OR` logic. However, if a shared field uses different authorization directives across subgraphs composition merges them using `AND` logic. This simplified schema evolution, but weakened security requirements. Therefore, the behavior has been changed to always apply `AND` logic to authorization directives applied to the same field across subgraphs. Since `@policy` and `@requiresScopes` values represent boolean conditions in Disjunctive Normal Form, we can merge them conjunctively to get the final auth requirements. For example: ```graphql # subgraph A type T @authenticated { # requires scopes (A1 AND A2) OR A3 secret: String @requiresScopes(scopes: [["A1", "A2"], ["A3"]]) } # subgraph B type T { # requires scopes B1 OR B2 secret: String @requiresScopes(scopes: [["B1"], ["B2"]] } # composed supergraph type T @authenticated { secret: String @requiresScopes( scopes: [ ["A1", "A2", "B1"], ["A1", "A2", "B2"], ["A3", "B1"], ["A3", "B2"] ]) } ``` This algorithm also deduplicates redundant requirements, e.g. ```graphql # subgraph A type T { # requires A1 AND A2 scopes to access secret: String @requiresScopes(scopes: [["A1", "A2"]]) } # subgraph B type T { # requires only A1 scope to access secret: String @requiresScopes(scopes: [["A1"]]) } # composed supergraph type T { # requires only A1 scope to access as A2 is redundant secret: String @requiresScopes(scopes: [["A1"]]) } ``` ## @apollo/query-graphs@2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) - Add connect spec v0.2 ([#3228](#3228)) - Federation v2.12 release ([#3323](#3323)) ### Patch Changes - Preparing preview.2 release ([#3255](#3255)) - Fixes a bug where query planning may unexpectedly error due to attempting to generate a plan where a `@shareable` mutation field is called more than once across multiple subgraphs. ([#3304](#3304)) ([#3304](#3304)) - Updated dependencies \[[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](3e2b0a8), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](bb4614d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](99f2da2), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](3fd5157), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](4bda3a4), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](e7e6757), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](faea2d1), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](97b9d2e), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](f6af504), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](a595235)]: - @apollo/federation-internals@2.12.0 ## @apollo/query-planner@2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) - Add connect spec v0.2 ([#3228](#3228)) - Federation v2.12 release ([#3323](#3323)) ### Patch Changes - Preparing preview.2 release ([#3255](#3255)) - Fixes a bug where query planning may unexpectedly error due to attempting to generate a plan where a `@shareable` mutation field is called more than once across multiple subgraphs. ([#3304](#3304)) ([#3304](#3304)) - Updated dependencies \[[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](3e2b0a8), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](bb4614d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](99f2da2), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](3fd5157), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](4bda3a4), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](e7e6757), [`f3ab499eaf62b1a1c0f08b838d2cbde5accb303a`](f3ab499), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](faea2d1), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](97b9d2e), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](f6af504), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](a595235)]: - @apollo/query-graphs@2.12.0 - @apollo/federation-internals@2.12.0 ## @apollo/subgraph@2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) - Add connect spec v0.2 ([#3228](#3228)) - Federation v2.12 release ([#3323](#3323)) ### Patch Changes - Preparing preview.2 release ([#3255](#3255)) - When a `GraphQLScalarType` resolver is provided to `buildSubgraphSchema()`, omitted configuration options in the `GraphQLScalarType` no longer cause the corresponding properties in the GraphQL document/AST to be cleared. To explicitly clear these properties, use `null` for the configuration option instead. ([#3287](#3287)) - Updated dependencies \[[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](3e2b0a8), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](bb4614d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](99f2da2), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](468f278), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](3fd5157), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](b734ea0), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](4bda3a4), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](e7e6757), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](faea2d1), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](97b9d2e), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](f6af504), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](a595235)]: - @apollo/federation-internals@2.12.0 ## apollo-federation-integration-testsuite@2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](#3276)) - Add connect spec v0.2 ([#3228](#3228)) - Federation v2.12 release ([#3323](#3323)) ### Patch Changes - Preparing preview.2 release ([#3255](#3255)) --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: dariuszkuc <9501705+dariuszkuc@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.