diff --git a/.changeset/afraid-queens-drive.md b/.changeset/afraid-queens-drive.md deleted file mode 100644 index d51a14cad..000000000 --- a/.changeset/afraid-queens-drive.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"apollo-federation-integration-testsuite": patch -"@apollo/query-planner": patch -"@apollo/query-graphs": patch -"@apollo/composition": patch -"@apollo/federation-internals": patch -"@apollo/subgraph": patch -"@apollo/gateway": patch ---- - -Preparing preview.2 release diff --git a/.changeset/chilled-baboons-whisper.md b/.changeset/chilled-baboons-whisper.md deleted file mode 100644 index e600459be..000000000 --- a/.changeset/chilled-baboons-whisper.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@apollo/composition": patch -"@apollo/federation-internals": patch ---- - -Automatically propagate authorization requirements from implementing type to interface in the supergraph. - -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. \ No newline at end of file diff --git a/.changeset/eleven-maps-look.md b/.changeset/eleven-maps-look.md deleted file mode 100644 index e4243095d..000000000 --- a/.changeset/eleven-maps-look.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -"@apollo/composition": patch -"@apollo/federation-internals": patch ---- - -Fix transitive auth requirements on `@requires` and `@fromcontext` - -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 -} -``` \ No newline at end of file diff --git a/.changeset/empty-shirts-behave.md b/.changeset/empty-shirts-behave.md deleted file mode 100644 index 10e66770b..000000000 --- a/.changeset/empty-shirts-behave.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"apollo-federation-integration-testsuite": minor -"@apollo/query-planner": minor -"@apollo/query-graphs": minor -"@apollo/composition": minor -"@apollo/federation-internals": minor -"@apollo/subgraph": minor -"@apollo/gateway": minor ---- - -Federation 2.12 and Connect 0.3 diff --git a/.changeset/forty-cups-join.md b/.changeset/forty-cups-join.md deleted file mode 100644 index 6ac024d8f..000000000 --- a/.changeset/forty-cups-join.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@apollo/composition": patch -"@apollo/federation-internals": patch ---- - -Preparing new preview release 2.12.0-preview.3 (patch). diff --git a/.changeset/four-panthers-itch.md b/.changeset/four-panthers-itch.md deleted file mode 100644 index 7a88d78c7..000000000 --- a/.changeset/four-panthers-itch.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@apollo/composition": patch -"@apollo/federation-internals": patch ---- - -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. diff --git a/.changeset/lemon-toes-sort.md b/.changeset/lemon-toes-sort.md deleted file mode 100644 index e16c539db..000000000 --- a/.changeset/lemon-toes-sort.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@apollo/federation-internals": patch ---- - -Fixed demand control validations - -Updated `@cost`/`@listSize` validations to use correct federation spec to look them up in the schema. \ No newline at end of file diff --git a/.changeset/lucky-pillows-rhyme.md b/.changeset/lucky-pillows-rhyme.md deleted file mode 100644 index 64982e721..000000000 --- a/.changeset/lucky-pillows-rhyme.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@apollo/composition": minor -"@apollo/federation-internals": minor -"apollo-federation-integration-testsuite": minor -"@apollo/gateway": minor -"@apollo/query-graphs": minor -"@apollo/query-planner": minor -"@apollo/subgraph": minor ---- - -Add connect spec v0.2 diff --git a/.changeset/many-rings-glow.md b/.changeset/many-rings-glow.md deleted file mode 100644 index 769e2a3d5..000000000 --- a/.changeset/many-rings-glow.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@apollo/query-planner": patch -"@apollo/query-graphs": patch ---- - -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](https://github.com/apollographql/federation/pull/3304)) diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index a52ceb670..000000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "mode": "exit", - "tag": "preview", - "initialVersions": { - "@apollo/composition": "2.11.0", - "apollo-federation-integration-testsuite": "2.11.0", - "@apollo/gateway": "2.11.0", - "@apollo/federation-internals": "2.11.0", - "@apollo/query-graphs": "2.11.0", - "@apollo/query-planner": "2.11.0", - "@apollo/subgraph": "2.11.0" - }, - "changesets": [ - "afraid-queens-drive", - "empty-shirts-behave", - "forty-cups-join", - "four-panthers-itch", - "lemon-toes-sort", - "lucky-pillows-rhyme", - "many-rings-glow", - "sixty-plums-enjoy", - "smooth-terms-decide", - "ten-years-flash", - "three-actors-camp", - "twenty-lies-cry" - ] -} diff --git a/.changeset/rotten-trainers-taste.md b/.changeset/rotten-trainers-taste.md deleted file mode 100644 index 18fe4c2d5..000000000 --- a/.changeset/rotten-trainers-taste.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@apollo/composition": patch -"@apollo/federation-internals": patch ---- - -Restrict usage of auth directives on interfaces - -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. diff --git a/.changeset/sixty-plums-enjoy.md b/.changeset/sixty-plums-enjoy.md deleted file mode 100644 index 10fa1eab4..000000000 --- a/.changeset/sixty-plums-enjoy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@apollo/composition": patch ---- - -Allow merging external types when using arrays as default arguments. diff --git a/.changeset/slimy-otters-smoke.md b/.changeset/slimy-otters-smoke.md deleted file mode 100644 index afd5f7f07..000000000 --- a/.changeset/slimy-otters-smoke.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"apollo-federation-integration-testsuite": minor -"@apollo/query-planner": minor -"@apollo/query-graphs": minor -"@apollo/composition": minor -"@apollo/federation-internals": minor -"@apollo/subgraph": minor -"@apollo/gateway": minor ---- - -Federation v2.12 release diff --git a/.changeset/smooth-terms-decide.md b/.changeset/smooth-terms-decide.md deleted file mode 100644 index 98dbe2943..000000000 --- a/.changeset/smooth-terms-decide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@apollo/subgraph": patch ---- - -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. diff --git a/.changeset/tasty-snails-invent.md b/.changeset/tasty-snails-invent.md deleted file mode 100644 index 5a0ee32b7..000000000 --- a/.changeset/tasty-snails-invent.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -"@apollo/composition": patch -"@apollo/federation-internals": patch ---- - -Stricter merge rules for @requiresScopes and @policy - -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"]]) -} -``` \ No newline at end of file diff --git a/.changeset/ten-years-flash.md b/.changeset/ten-years-flash.md deleted file mode 100644 index 62198ac5d..000000000 --- a/.changeset/ten-years-flash.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@apollo/composition": patch ---- - -Fixed handling `@requires` dependency on fields returned by `@interfaceObject` - -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. diff --git a/.changeset/three-actors-camp.md b/.changeset/three-actors-camp.md deleted file mode 100644 index 54b3cf14d..000000000 --- a/.changeset/three-actors-camp.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@apollo/composition": minor -"@apollo/federation-internals": minor ---- - -Added isSuccess argument to @connect and @source diff --git a/.changeset/twenty-lies-cry.md b/.changeset/twenty-lies-cry.md deleted file mode 100644 index e76ab1147..000000000 --- a/.changeset/twenty-lies-cry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@apollo/composition": minor ---- - -Fixes a bug where composition may not generate a satisfiability error for an unsatisfiable `@shareable` mutation field. ([#3305](https://github.com/apollographql/federation/pull/3305)) diff --git a/composition-js/CHANGELOG.md b/composition-js/CHANGELOG.md index 9f5a732ed..0f5174b07 100644 --- a/composition-js/CHANGELOG.md +++ b/composition-js/CHANGELOG.md @@ -1,68 +1,111 @@ # CHANGELOG for `@apollo/composition` -## 2.12.0-preview.4 +## 2.12.0 ### Minor Changes +- Federation 2.12 and Connect 0.3 ([#3276](https://github.com/apollographql/federation/pull/3276)) + +- Added isSuccess argument to @connect and @source ([#3294](https://github.com/apollographql/federation/pull/3294)) + - Fixes a bug where composition may not generate a satisfiability error for an unsatisfiable `@shareable` mutation field. ([#3305](https://github.com/apollographql/federation/pull/3305)) ([#3305](https://github.com/apollographql/federation/pull/3305)) -### Patch Changes +- Automatically propagate authorization requirements from implementing type to interface in the supergraph. ([#3321](https://github.com/apollographql/federation/pull/3321)) -- Fixed handling `@requires` dependency on fields returned by `@interfaceObject` ([#3318](https://github.com/apollographql/federation/pull/3318)) + 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. - 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. +- Fix transitive auth requirements on `@requires` and `@fromcontext` ([#3321](https://github.com/apollographql/federation/pull/3321)) -- Updated dependencies [[`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c), [`f3ab499eaf62b1a1c0f08b838d2cbde5accb303a`](https://github.com/apollographql/federation/commit/f3ab499eaf62b1a1c0f08b838d2cbde5accb303a)]: - - @apollo/federation-internals@2.12.0-preview.4 - - @apollo/query-graphs@2.12.0-preview.4 + 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. -## 2.12.0-preview.3 + ```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 + } -### Patch Changes + type T @key(fields: "id") { + id: ID! + extra: String @authenticated + } + ``` -- Preparing new preview release 2.12.0-preview.3 (patch). ([#3308](https://github.com/apollographql/federation/pull/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](https://github.com/apollographql/federation/pull/3275)) -- Updated dependencies [[`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c)]: - - @apollo/federation-internals@2.12.0-preview.3 - - @apollo/query-graphs@2.12.0-preview.3 +- Restrict usage of auth directives on interfaces ([#3321](https://github.com/apollographql/federation/pull/3321)) -## 2.12.0-preview.2 + Restricts usage of `@authenticated`, `@policy` and `@requiresScopes` from being applied on interfaces, interface objects and their fields. -### Minor Changes + 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. -- Added `isSuccess` argument to `@connect` and `@source` ([#3294](https://github.com/apollographql/federation/pull/3294)) +- Stricter merge rules for @requiresScopes and @policy ([#3321](https://github.com/apollographql/federation/pull/3321)) -- Added preview `@cacheTag` directive support ([#3274](https://github.com/apollographql/federation/pull/3274)) + Current merge policies for `@authenticated`, `@requiresScopes` and `@policy` were inconsistent. -### Patch Changes + 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. -- Updated dependencies [[`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f)]: - - @apollo/federation-internals@2.12.0-preview.2 - - @apollo/query-graphs@2.12.0-preview.2 + 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: -## 2.12.0-preview.1 + ```graphql + # subgraph A + type T @authenticated { + # requires scopes (A1 AND A2) OR A3 + secret: String @requiresScopes(scopes: [["A1", "A2"], ["A3"]]) + } -### Patch Changes + # subgraph B + type T { + # requires scopes B1 OR B2 + secret: String @requiresScopes(scopes: [["B1"], ["B2"]] + } -- Updated dependencies []: - - @apollo/federation-internals@2.12.0-preview.1 - - @apollo/query-graphs@2.12.0-preview.1 + # composed supergraph + type T @authenticated { + secret: String @requiresScopes( + scopes: [ + ["A1", "A2", "B1"], + ["A1", "A2", "B2"], + ["A3", "B1"], + ["A3", "B2"] + ]) + } + ``` -## 2.12.0-preview.0 + This algorithm also deduplicates redundant requirements, e.g. -### Minor Changes + ```graphql + # subgraph A + type T { + # requires A1 AND A2 scopes to access + secret: String @requiresScopes(scopes: [["A1", "A2"]]) + } -- Federation 2.12 and Connect 0.3 ([#3276](https://github.com/apollographql/federation/pull/3276)) + # subgraph B + type T { + # requires only A1 scope to access + secret: String @requiresScopes(scopes: [["A1"]]) + } -### Patch Changes + # composed supergraph + type T { + # requires only A1 scope to access as A2 is redundant + secret: String @requiresScopes(scopes: [["A1"]]) + } + ``` -- 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](https://github.com/apollographql/federation/pull/3275)) +- Fixed handling `@requires` dependency on fields returned by `@interfaceObject` ([#3318](https://github.com/apollographql/federation/pull/3318)) -- Allow merging external types when using arrays as default arguments. ([#3096](https://github.com/apollographql/federation/pull/3096)) + 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. + +- Added preview `@cacheTag` directive support ([#3274](https://github.com/apollographql/federation/pull/3274)) + +### Patch Changes -- Updated dependencies [[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a)]: - - @apollo/query-graphs@2.12.0-preview.0 - - @apollo/federation-internals@2.12.0-preview.0 +- Updated dependencies [[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](https://github.com/apollographql/federation/commit/3e2b0a8569a9fe46726182887ed0b4bfc0b52468), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](https://github.com/apollographql/federation/commit/bb4614d338ae03bac51a5fc2439590f172c4e54d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](https://github.com/apollographql/federation/commit/99f2da21de88f9ad9a32ee7ed64b2d4a92887b40), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](https://github.com/apollographql/federation/commit/e7e67579908d5cd2fa6fe558228dffe4808cd98d), [`f3ab499eaf62b1a1c0f08b838d2cbde5accb303a`](https://github.com/apollographql/federation/commit/f3ab499eaf62b1a1c0f08b838d2cbde5accb303a), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](https://github.com/apollographql/federation/commit/faea2d1174d80593264f2227cfde9a2ba1a59b96), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](https://github.com/apollographql/federation/commit/97b9d2edfcfeed99124f9e115f992cbef3804682), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](https://github.com/apollographql/federation/commit/f6af504f1ba8283fd00af0d6e3c9c1a665d62736), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f)]: + - @apollo/query-graphs@2.12.0 + - @apollo/federation-internals@2.12.0 ## 2.11.3 diff --git a/composition-js/package.json b/composition-js/package.json index 3269e0fee..ab34b2e8b 100644 --- a/composition-js/package.json +++ b/composition-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/composition", - "version": "2.12.0-preview.4", + "version": "2.12.0", "description": "Apollo Federation composition utilities", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -27,8 +27,8 @@ "access": "public" }, "dependencies": { - "@apollo/federation-internals": "2.12.0-preview.4", - "@apollo/query-graphs": "2.12.0-preview.4" + "@apollo/federation-internals": "2.12.0", + "@apollo/query-graphs": "2.12.0" }, "peerDependencies": { "graphql": "^16.5.0" diff --git a/federation-integration-testsuite-js/CHANGELOG.md b/federation-integration-testsuite-js/CHANGELOG.md index af69a671c..ca5bc0613 100644 --- a/federation-integration-testsuite-js/CHANGELOG.md +++ b/federation-integration-testsuite-js/CHANGELOG.md @@ -1,14 +1,6 @@ # CHANGELOG for `federation-integration-testsuite-js` -## 2.12.0-preview.4 - -## 2.12.0-preview.3 - -## 2.12.0-preview.2 - -## 2.12.0-preview.1 - -## 2.12.0-preview.0 +## 2.12.0 ### Minor Changes diff --git a/federation-integration-testsuite-js/package.json b/federation-integration-testsuite-js/package.json index 86754875e..595699a51 100644 --- a/federation-integration-testsuite-js/package.json +++ b/federation-integration-testsuite-js/package.json @@ -1,7 +1,7 @@ { "name": "apollo-federation-integration-testsuite", "private": true, - "version": "2.12.0-preview.4", + "version": "2.12.0", "description": "Apollo Federation Integrations / Test Fixtures", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/gateway-js/CHANGELOG.md b/gateway-js/CHANGELOG.md index 645bfda9d..a13db49b9 100644 --- a/gateway-js/CHANGELOG.md +++ b/gateway-js/CHANGELOG.md @@ -1,42 +1,6 @@ # CHANGELOG for `@apollo/gateway` -## 2.12.0-preview.4 - -### Patch Changes - -- Updated dependencies [[`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c), [`f3ab499eaf62b1a1c0f08b838d2cbde5accb303a`](https://github.com/apollographql/federation/commit/f3ab499eaf62b1a1c0f08b838d2cbde5accb303a), [`bc07e979b9fd24c9b94740b170f11023fe99ba1e`](https://github.com/apollographql/federation/commit/bc07e979b9fd24c9b94740b170f11023fe99ba1e), [`9cbdcb53f859c877a476e2725faa4cb205506f57`](https://github.com/apollographql/federation/commit/9cbdcb53f859c877a476e2725faa4cb205506f57)]: - - @apollo/federation-internals@2.12.0-preview.4 - - @apollo/query-planner@2.12.0-preview.4 - - @apollo/composition@2.12.0-preview.4 - -## 2.12.0-preview.3 - -### Patch Changes - -- Updated dependencies [[`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c)]: - - @apollo/composition@2.12.0-preview.3 - - @apollo/federation-internals@2.12.0-preview.3 - - @apollo/query-planner@2.12.0-preview.3 - -## 2.12.0-preview.2 - -### Patch Changes - -- Updated dependencies [[`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f)]: - - @apollo/composition@2.12.0-preview.2 - - @apollo/federation-internals@2.12.0-preview.2 - - @apollo/query-planner@2.12.0-preview.2 - -## 2.12.0-preview.1 - -### Patch Changes - -- Updated dependencies []: - - @apollo/composition@2.12.0-preview.1 - - @apollo/federation-internals@2.12.0-preview.1 - - @apollo/query-planner@2.12.0-preview.1 - -## 2.12.0-preview.0 +## 2.12.0 ### Minor Changes @@ -44,10 +8,10 @@ ### Patch Changes -- Updated dependencies [[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a), [`0dbc7cc72ffacf324231e9ccb2de4189f6bf3289`](https://github.com/apollographql/federation/commit/0dbc7cc72ffacf324231e9ccb2de4189f6bf3289)]: - - @apollo/query-planner@2.12.0-preview.0 - - @apollo/composition@2.12.0-preview.0 - - @apollo/federation-internals@2.12.0-preview.0 +- Updated dependencies [[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](https://github.com/apollographql/federation/commit/3e2b0a8569a9fe46726182887ed0b4bfc0b52468), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](https://github.com/apollographql/federation/commit/bb4614d338ae03bac51a5fc2439590f172c4e54d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](https://github.com/apollographql/federation/commit/99f2da21de88f9ad9a32ee7ed64b2d4a92887b40), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](https://github.com/apollographql/federation/commit/e7e67579908d5cd2fa6fe558228dffe4808cd98d), [`f3ab499eaf62b1a1c0f08b838d2cbde5accb303a`](https://github.com/apollographql/federation/commit/f3ab499eaf62b1a1c0f08b838d2cbde5accb303a), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](https://github.com/apollographql/federation/commit/faea2d1174d80593264f2227cfde9a2ba1a59b96), [`0dbc7cc72ffacf324231e9ccb2de4189f6bf3289`](https://github.com/apollographql/federation/commit/0dbc7cc72ffacf324231e9ccb2de4189f6bf3289), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](https://github.com/apollographql/federation/commit/97b9d2edfcfeed99124f9e115f992cbef3804682), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](https://github.com/apollographql/federation/commit/f6af504f1ba8283fd00af0d6e3c9c1a665d62736), [`bc07e979b9fd24c9b94740b170f11023fe99ba1e`](https://github.com/apollographql/federation/commit/bc07e979b9fd24c9b94740b170f11023fe99ba1e), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f), [`9cbdcb53f859c877a476e2725faa4cb205506f57`](https://github.com/apollographql/federation/commit/9cbdcb53f859c877a476e2725faa4cb205506f57)]: + - @apollo/query-planner@2.12.0 + - @apollo/composition@2.12.0 + - @apollo/federation-internals@2.12.0 ## 2.11.3 diff --git a/gateway-js/package.json b/gateway-js/package.json index 89a0ce3ea..f196f9098 100644 --- a/gateway-js/package.json +++ b/gateway-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/gateway", - "version": "2.12.0-preview.4", + "version": "2.12.0", "description": "Apollo Gateway", "author": "Apollo ", "main": "dist/index.js", @@ -25,9 +25,9 @@ "access": "public" }, "dependencies": { - "@apollo/composition": "2.12.0-preview.4", - "@apollo/federation-internals": "2.12.0-preview.4", - "@apollo/query-planner": "2.12.0-preview.4", + "@apollo/composition": "2.12.0", + "@apollo/federation-internals": "2.12.0", + "@apollo/query-planner": "2.12.0", "@apollo/server-gateway-interface": "^1.1.0", "@apollo/usage-reporting-protobuf": "^4.1.0", "@apollo/utils.createhash": "^2.0.0", diff --git a/internals-js/CHANGELOG.md b/internals-js/CHANGELOG.md index 482b587f5..3d9b497b2 100644 --- a/internals-js/CHANGELOG.md +++ b/internals-js/CHANGELOG.md @@ -1,38 +1,103 @@ # CHANGELOG for `@apollo/federation-internals` -## 2.12.0-preview.4 +## 2.12.0 -### Patch Changes +### Minor Changes + +- Federation 2.12 and Connect 0.3 ([#3276](https://github.com/apollographql/federation/pull/3276)) + +- Added isSuccess argument to @connect and @source ([#3294](https://github.com/apollographql/federation/pull/3294)) + +- Automatically propagate authorization requirements from implementing type to interface in the supergraph. ([#3321](https://github.com/apollographql/federation/pull/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](https://github.com/apollographql/federation/pull/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 + } + ``` + +- 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](https://github.com/apollographql/federation/pull/3275)) - Fixed demand control validations ([#3314](https://github.com/apollographql/federation/pull/3314)) Updated `@cost`/`@listSize` validations to use correct federation spec to look them up in the schema. -## 2.12.0-preview.3 +- Restrict usage of auth directives on interfaces ([#3321](https://github.com/apollographql/federation/pull/3321)) -### Patch Changes + Restricts usage of `@authenticated`, `@policy` and `@requiresScopes` from being applied on interfaces, interface objects and their fields. -- Preparing new preview release 2.12.0-preview.3 (patch). ([#3308](https://github.com/apollographql/federation/pull/3308)) + 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. -## 2.12.0-preview.2 +- Stricter merge rules for @requiresScopes and @policy ([#3321](https://github.com/apollographql/federation/pull/3321)) -### Minor Changes + Current merge policies for `@authenticated`, `@requiresScopes` and `@policy` were inconsistent. -- Added `isSuccess` argument to `@connect` and `@source` ([#3294](https://github.com/apollographql/federation/pull/3294)) + 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. -- Added preview `@cacheTag` directive support ([#3274](https://github.com/apollographql/federation/pull/3274)) + 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: -## 2.12.0-preview.1 + ```graphql + # subgraph A + type T @authenticated { + # requires scopes (A1 AND A2) OR A3 + secret: String @requiresScopes(scopes: [["A1", "A2"], ["A3"]]) + } -## 2.12.0-preview.0 + # subgraph B + type T { + # requires scopes B1 OR B2 + secret: String @requiresScopes(scopes: [["B1"], ["B2"]] + } -### Minor Changes + # composed supergraph + type T @authenticated { + secret: String @requiresScopes( + scopes: [ + ["A1", "A2", "B1"], + ["A1", "A2", "B2"], + ["A3", "B1"], + ["A3", "B2"] + ]) + } + ``` -- Federation 2.12 and Connect 0.3 ([#3276](https://github.com/apollographql/federation/pull/3276)) + This algorithm also deduplicates redundant requirements, e.g. -### Patch Changes + ```graphql + # subgraph A + type T { + # requires A1 AND A2 scopes to access + secret: String @requiresScopes(scopes: [["A1", "A2"]]) + } -- 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](https://github.com/apollographql/federation/pull/3275)) + # 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"]]) + } + ``` + +- Added preview `@cacheTag` directive support ([#3274](https://github.com/apollographql/federation/pull/3274)) ## 2.11.3 diff --git a/internals-js/package.json b/internals-js/package.json index 54e5adbf8..3ddc764c6 100644 --- a/internals-js/package.json +++ b/internals-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/federation-internals", - "version": "2.12.0-preview.4", + "version": "2.12.0", "description": "Apollo Federation internal utilities", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/package-lock.json b/package-lock.json index 2a34360d1..4b05dcecd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -70,11 +70,11 @@ }, "composition-js": { "name": "@apollo/composition", - "version": "2.12.0-preview.4", + "version": "2.12.0", "license": "Elastic-2.0", "dependencies": { - "@apollo/federation-internals": "2.12.0-preview.4", - "@apollo/query-graphs": "2.12.0-preview.4" + "@apollo/federation-internals": "2.12.0", + "@apollo/query-graphs": "2.12.0" }, "engines": { "node": ">=14.15.0" @@ -85,7 +85,7 @@ }, "federation-integration-testsuite-js": { "name": "apollo-federation-integration-testsuite", - "version": "2.12.0-preview.4", + "version": "2.12.0", "license": "Elastic-2.0", "dependencies": { "graphql-tag": "^2.12.6", @@ -94,12 +94,12 @@ }, "gateway-js": { "name": "@apollo/gateway", - "version": "2.12.0-preview.4", + "version": "2.12.0", "license": "Elastic-2.0", "dependencies": { - "@apollo/composition": "2.12.0-preview.4", - "@apollo/federation-internals": "2.12.0-preview.4", - "@apollo/query-planner": "2.12.0-preview.4", + "@apollo/composition": "2.12.0", + "@apollo/federation-internals": "2.12.0", + "@apollo/query-planner": "2.12.0", "@apollo/server-gateway-interface": "^1.1.0", "@apollo/usage-reporting-protobuf": "^4.1.0", "@apollo/utils.createhash": "^2.0.0", @@ -125,7 +125,7 @@ }, "internals-js": { "name": "@apollo/federation-internals", - "version": "2.12.0-preview.4", + "version": "2.12.0", "license": "Elastic-2.0", "dependencies": { "@types/uuid": "^9.0.0", @@ -17543,10 +17543,10 @@ }, "query-graphs-js": { "name": "@apollo/query-graphs", - "version": "2.12.0-preview.4", + "version": "2.12.0", "license": "Elastic-2.0", "dependencies": { - "@apollo/federation-internals": "2.12.0-preview.4", + "@apollo/federation-internals": "2.12.0", "deep-equal": "^2.0.5", "ts-graphviz": "^1.5.4", "uuid": "^9.0.0" @@ -17560,11 +17560,11 @@ }, "query-planner-js": { "name": "@apollo/query-planner", - "version": "2.12.0-preview.4", + "version": "2.12.0", "license": "Elastic-2.0", "dependencies": { - "@apollo/federation-internals": "2.12.0-preview.4", - "@apollo/query-graphs": "2.12.0-preview.4", + "@apollo/federation-internals": "2.12.0", + "@apollo/query-graphs": "2.12.0", "@apollo/utils.keyvaluecache": "^2.1.0", "chalk": "^4.1.0", "deep-equal": "^2.0.5", @@ -17593,11 +17593,11 @@ }, "subgraph-js": { "name": "@apollo/subgraph", - "version": "2.12.0-preview.4", + "version": "2.12.0", "license": "MIT", "dependencies": { "@apollo/cache-control-types": "^1.0.2", - "@apollo/federation-internals": "2.12.0-preview.4" + "@apollo/federation-internals": "2.12.0" }, "engines": { "node": ">=14.15.0" diff --git a/query-graphs-js/CHANGELOG.md b/query-graphs-js/CHANGELOG.md index 333b0e72f..472457bbf 100644 --- a/query-graphs-js/CHANGELOG.md +++ b/query-graphs-js/CHANGELOG.md @@ -1,45 +1,17 @@ # CHANGELOG for `@apollo/query-graphs` -## 2.12.0-preview.4 - -### Patch Changes - -- 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](https://github.com/apollographql/federation/pull/3304)) ([#3304](https://github.com/apollographql/federation/pull/3304)) - -- Updated dependencies [[`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c)]: - - @apollo/federation-internals@2.12.0-preview.4 - -## 2.12.0-preview.3 - -### Patch Changes - -- Updated dependencies [[`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c)]: - - @apollo/federation-internals@2.12.0-preview.3 - -## 2.12.0-preview.2 - -### Patch Changes - -- Updated dependencies [[`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f)]: - - @apollo/federation-internals@2.12.0-preview.2 - -## 2.12.0-preview.1 - -### Patch Changes - -- Updated dependencies []: - - @apollo/federation-internals@2.12.0-preview.1 - -## 2.12.0-preview.0 +## 2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](https://github.com/apollographql/federation/pull/3276)) +- 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](https://github.com/apollographql/federation/pull/3304)) ([#3304](https://github.com/apollographql/federation/pull/3304)) + ### Patch Changes -- Updated dependencies [[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a)]: - - @apollo/federation-internals@2.12.0-preview.0 +- Updated dependencies [[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](https://github.com/apollographql/federation/commit/3e2b0a8569a9fe46726182887ed0b4bfc0b52468), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](https://github.com/apollographql/federation/commit/bb4614d338ae03bac51a5fc2439590f172c4e54d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](https://github.com/apollographql/federation/commit/99f2da21de88f9ad9a32ee7ed64b2d4a92887b40), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](https://github.com/apollographql/federation/commit/e7e67579908d5cd2fa6fe558228dffe4808cd98d), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](https://github.com/apollographql/federation/commit/faea2d1174d80593264f2227cfde9a2ba1a59b96), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](https://github.com/apollographql/federation/commit/97b9d2edfcfeed99124f9e115f992cbef3804682), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](https://github.com/apollographql/federation/commit/f6af504f1ba8283fd00af0d6e3c9c1a665d62736), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f)]: + - @apollo/federation-internals@2.12.0 ## 2.11.3 diff --git a/query-graphs-js/package.json b/query-graphs-js/package.json index 8b26dc931..bbe4b3b03 100644 --- a/query-graphs-js/package.json +++ b/query-graphs-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/query-graphs", - "version": "2.12.0-preview.4", + "version": "2.12.0", "description": "Apollo Federation library to work with 'query graphs'", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -23,7 +23,7 @@ "node": ">=14.15.0" }, "dependencies": { - "@apollo/federation-internals": "2.12.0-preview.4", + "@apollo/federation-internals": "2.12.0", "deep-equal": "^2.0.5", "ts-graphviz": "^1.5.4", "uuid": "^9.0.0" diff --git a/query-planner-js/CHANGELOG.md b/query-planner-js/CHANGELOG.md index da6e16b2c..baa43cba0 100644 --- a/query-planner-js/CHANGELOG.md +++ b/query-planner-js/CHANGELOG.md @@ -1,50 +1,18 @@ # CHANGELOG for `@apollo/query-planner` -## 2.12.0-preview.4 - -### Patch Changes - -- 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](https://github.com/apollographql/federation/pull/3304)) ([#3304](https://github.com/apollographql/federation/pull/3304)) - -- Updated dependencies [[`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c), [`f3ab499eaf62b1a1c0f08b838d2cbde5accb303a`](https://github.com/apollographql/federation/commit/f3ab499eaf62b1a1c0f08b838d2cbde5accb303a)]: - - @apollo/federation-internals@2.12.0-preview.4 - - @apollo/query-graphs@2.12.0-preview.4 - -## 2.12.0-preview.3 - -### Patch Changes - -- Updated dependencies [[`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c)]: - - @apollo/federation-internals@2.12.0-preview.3 - - @apollo/query-graphs@2.12.0-preview.3 - -## 2.12.0-preview.2 - -### Patch Changes - -- Updated dependencies [[`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f)]: - - @apollo/federation-internals@2.12.0-preview.2 - - @apollo/query-graphs@2.12.0-preview.2 - -## 2.12.0-preview.1 - -### Patch Changes - -- Updated dependencies []: - - @apollo/federation-internals@2.12.0-preview.1 - - @apollo/query-graphs@2.12.0-preview.1 - -## 2.12.0-preview.0 +## 2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](https://github.com/apollographql/federation/pull/3276)) +- 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](https://github.com/apollographql/federation/pull/3304)) ([#3304](https://github.com/apollographql/federation/pull/3304)) + ### Patch Changes -- Updated dependencies [[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a)]: - - @apollo/query-graphs@2.12.0-preview.0 - - @apollo/federation-internals@2.12.0-preview.0 +- Updated dependencies [[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](https://github.com/apollographql/federation/commit/3e2b0a8569a9fe46726182887ed0b4bfc0b52468), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](https://github.com/apollographql/federation/commit/bb4614d338ae03bac51a5fc2439590f172c4e54d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](https://github.com/apollographql/federation/commit/99f2da21de88f9ad9a32ee7ed64b2d4a92887b40), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](https://github.com/apollographql/federation/commit/e7e67579908d5cd2fa6fe558228dffe4808cd98d), [`f3ab499eaf62b1a1c0f08b838d2cbde5accb303a`](https://github.com/apollographql/federation/commit/f3ab499eaf62b1a1c0f08b838d2cbde5accb303a), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](https://github.com/apollographql/federation/commit/faea2d1174d80593264f2227cfde9a2ba1a59b96), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](https://github.com/apollographql/federation/commit/97b9d2edfcfeed99124f9e115f992cbef3804682), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](https://github.com/apollographql/federation/commit/f6af504f1ba8283fd00af0d6e3c9c1a665d62736), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f)]: + - @apollo/query-graphs@2.12.0 + - @apollo/federation-internals@2.12.0 ## 2.11.3 diff --git a/query-planner-js/package.json b/query-planner-js/package.json index 4680a52f8..b5c626fac 100644 --- a/query-planner-js/package.json +++ b/query-planner-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/query-planner", - "version": "2.12.0-preview.4", + "version": "2.12.0", "description": "Apollo Query Planner", "author": "Apollo ", "main": "dist/index.js", @@ -25,8 +25,8 @@ "access": "public" }, "dependencies": { - "@apollo/federation-internals": "2.12.0-preview.4", - "@apollo/query-graphs": "2.12.0-preview.4", + "@apollo/federation-internals": "2.12.0", + "@apollo/query-graphs": "2.12.0", "@apollo/utils.keyvaluecache": "^2.1.0", "chalk": "^4.1.0", "deep-equal": "^2.0.5", diff --git a/subgraph-js/CHANGELOG.md b/subgraph-js/CHANGELOG.md index 0dc7ad312..7482337c8 100644 --- a/subgraph-js/CHANGELOG.md +++ b/subgraph-js/CHANGELOG.md @@ -1,45 +1,17 @@ # CHANGELOG for `@apollo/subgraph` -## 2.12.0-preview.4 - -### Patch Changes - -- Updated dependencies [[`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c)]: - - @apollo/federation-internals@2.12.0-preview.4 - -## 2.12.0-preview.3 - -### Patch Changes - -- Updated dependencies [[`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c)]: - - @apollo/federation-internals@2.12.0-preview.3 - -## 2.12.0-preview.2 - -### Patch Changes - -- Updated dependencies [[`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f)]: - - @apollo/federation-internals@2.12.0-preview.2 - -## 2.12.0-preview.1 - -### Patch Changes - -- 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](https://github.com/apollographql/federation/pull/3287)) - -- Updated dependencies []: - - @apollo/federation-internals@2.12.0-preview.1 - -## 2.12.0-preview.0 +## 2.12.0 ### Minor Changes - Federation 2.12 and Connect 0.3 ([#3276](https://github.com/apollographql/federation/pull/3276)) ### Patch Changes +- +- 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](https://github.com/apollographql/federation/pull/3287)) -- Updated dependencies [[`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a)]: - - @apollo/federation-internals@2.12.0-preview.0 +- Updated dependencies [[`3e2b0a8569a9fe46726182887ed0b4bfc0b52468`](https://github.com/apollographql/federation/commit/3e2b0a8569a9fe46726182887ed0b4bfc0b52468), [`bb4614d338ae03bac51a5fc2439590f172c4e54d`](https://github.com/apollographql/federation/commit/bb4614d338ae03bac51a5fc2439590f172c4e54d), [`99f2da21de88f9ad9a32ee7ed64b2d4a92887b40`](https://github.com/apollographql/federation/commit/99f2da21de88f9ad9a32ee7ed64b2d4a92887b40), [`468f27842608f4e390cfc88bc7e6b4b0945f95ff`](https://github.com/apollographql/federation/commit/468f27842608f4e390cfc88bc7e6b4b0945f95ff), [`3fd5157b309f1d3439b2d87c67b0601fb246d04c`](https://github.com/apollographql/federation/commit/3fd5157b309f1d3439b2d87c67b0601fb246d04c), [`b734ea04d118db09cf6077fdd968c8f04a96327a`](https://github.com/apollographql/federation/commit/b734ea04d118db09cf6077fdd968c8f04a96327a), [`4bda3a498eba36e187dfd9ae673eca12d3f3502c`](https://github.com/apollographql/federation/commit/4bda3a498eba36e187dfd9ae673eca12d3f3502c), [`e7e67579908d5cd2fa6fe558228dffe4808cd98d`](https://github.com/apollographql/federation/commit/e7e67579908d5cd2fa6fe558228dffe4808cd98d), [`faea2d1174d80593264f2227cfde9a2ba1a59b96`](https://github.com/apollographql/federation/commit/faea2d1174d80593264f2227cfde9a2ba1a59b96), [`97b9d2edfcfeed99124f9e115f992cbef3804682`](https://github.com/apollographql/federation/commit/97b9d2edfcfeed99124f9e115f992cbef3804682), [`f6af504f1ba8283fd00af0d6e3c9c1a665d62736`](https://github.com/apollographql/federation/commit/f6af504f1ba8283fd00af0d6e3c9c1a665d62736), [`a595235d3cf8f67611efd8395332b64d067b5f1f`](https://github.com/apollographql/federation/commit/a595235d3cf8f67611efd8395332b64d067b5f1f)]: + - @apollo/federation-internals@2.12.0 ## 2.11.3 diff --git a/subgraph-js/package.json b/subgraph-js/package.json index 8e786573c..2432c1e94 100644 --- a/subgraph-js/package.json +++ b/subgraph-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/subgraph", - "version": "2.12.0-preview.4", + "version": "2.12.0", "description": "Apollo Subgraph Utilities", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -25,7 +25,7 @@ }, "dependencies": { "@apollo/cache-control-types": "^1.0.2", - "@apollo/federation-internals": "2.12.0-preview.4" + "@apollo/federation-internals": "2.12.0" }, "peerDependencies": { "graphql": "^16.5.0"