diff --git a/.changeset/cuddly-badgers-sit.md b/.changeset/cuddly-badgers-sit.md
deleted file mode 100644
index c9880a281..000000000
--- a/.changeset/cuddly-badgers-sit.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@apollo/gateway": patch
-"@apollo/query-graphs": patch
----
-
-Avoid type explosion for inline fragments where the type condition is an interface that implements the parent type.
diff --git a/.changeset/fast-points-wonder.md b/.changeset/fast-points-wonder.md
deleted file mode 100644
index 710f230b1..000000000
--- a/.changeset/fast-points-wonder.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-"@apollo/federation-internals": patch
-"@apollo/gateway": patch
-"@apollo/composition": patch
----
-
-Reduce memory overhead during satisfiability checking when there are many options.
diff --git a/.changeset/happy-bats-exist.md b/.changeset/happy-bats-exist.md
deleted file mode 100644
index c81f41a6c..000000000
--- a/.changeset/happy-bats-exist.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@apollo/composition": minor
-"@apollo/federation-internals": minor
----
-
-Implements two new directives for defining custom costs for demand control. The `@cost` directive allows setting a custom weight to a particular field in the graph, overriding the default cost calculation. The `@listSize` directive gives the cost calculator information about how to estimate the size of lists returned by subgraphs. This can either be a static size or a value derived from input arguments, such as paging parameters.
diff --git a/.changeset/poor-seahorses-whisper.md b/.changeset/poor-seahorses-whisper.md
deleted file mode 100644
index 0dd498b33..000000000
--- a/.changeset/poor-seahorses-whisper.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@apollo/query-planner": patch
-"@apollo/federation-internals": patch
----
-
-Fix issue where variable was not passed into subgraph when embedded in a fragment
diff --git a/.cspell/cspell-dict.txt b/.cspell/cspell-dict.txt
index 50263058a..2f8435806 100644
--- a/.cspell/cspell-dict.txt
+++ b/.cspell/cspell-dict.txt
@@ -81,6 +81,7 @@ follwoing
fooz
Fragmentization
fufilled
+GHSA
Gmsuh
gqlgen
Graphi
diff --git a/composition-js/CHANGELOG.md b/composition-js/CHANGELOG.md
index 6cd4f10ca..12d6dbe2a 100644
--- a/composition-js/CHANGELOG.md
+++ b/composition-js/CHANGELOG.md
@@ -1,5 +1,27 @@
# CHANGELOG for `@apollo/composition`
+## 2.9.0
+
+### Minor Changes
+
+- Implements two new directives for defining custom costs for demand control. The `@cost` directive allows setting a custom weight to a particular field in the graph, overriding the default cost calculation. The `@listSize` directive gives the cost calculator information about how to estimate the size of lists returned by subgraphs. This can either be a static size or a value derived from input arguments, such as paging parameters. ([#3074](https://github.com/apollographql/federation/pull/3074))
+
+### Patch Changes
+
+- Reduce memory overhead during satisfiability checking when there are many options. ([#3109](https://github.com/apollographql/federation/pull/3109))
+
+- Updated dependencies [[`acfe3193429c7f99b4fc564b20828aaa8659a75c`](https://github.com/apollographql/federation/commit/acfe3193429c7f99b4fc564b20828aaa8659a75c), [`02c2a34a62c3717a4885449172e404f19ebf66c9`](https://github.com/apollographql/federation/commit/02c2a34a62c3717a4885449172e404f19ebf66c9), [`0ccfd937d4b4a576f890665ceebbd7986fac5d0c`](https://github.com/apollographql/federation/commit/0ccfd937d4b4a576f890665ceebbd7986fac5d0c), [`e0a5075c0d12a0e2f7ef303b246e3216a139d3e0`](https://github.com/apollographql/federation/commit/e0a5075c0d12a0e2f7ef303b246e3216a139d3e0)]:
+ - @apollo/query-graphs@2.9.0
+ - @apollo/federation-internals@2.9.0
+
+## 2.8.5
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @apollo/federation-internals@2.8.5
+ - @apollo/query-graphs@2.8.5
+
## 2.8.4
### Patch Changes
diff --git a/composition-js/package.json b/composition-js/package.json
index 879bf59fd..b6ac62614 100644
--- a/composition-js/package.json
+++ b/composition-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@apollo/composition",
- "version": "2.8.4",
+ "version": "2.9.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.8.4",
- "@apollo/query-graphs": "2.8.4"
+ "@apollo/federation-internals": "2.9.0",
+ "@apollo/query-graphs": "2.9.0"
},
"peerDependencies": {
"graphql": "^16.5.0"
diff --git a/docs/source/entities/index.mdx b/docs/source/entities/index.mdx
index 101dc00e1..221de3b17 100644
--- a/docs/source/entities/index.mdx
+++ b/docs/source/entities/index.mdx
@@ -4,6 +4,12 @@ subtitle: Learn how to define federated types across multiple subgraphs
description: Learn to define and contribute to object types that resolve their fields across multiple services in a federated GraphQL architecture.
---
+
+
_Entities_ are a fundamental building block of Apollo Federation.
In a supergraph, an entity is an object type that can resolve its fields across multiple subgraphs.
Each subgraph can contribute different fields to the entity and is responsible for resolving only the fields that it contributes.
diff --git a/docs/source/federation-2/moving-to-federation-2.mdx b/docs/source/federation-2/moving-to-federation-2.mdx
index c272919b0..e02e1efd5 100644
--- a/docs/source/federation-2/moving-to-federation-2.mdx
+++ b/docs/source/federation-2/moving-to-federation-2.mdx
@@ -172,7 +172,7 @@ Federation 2 provides powerful new features that require making some changes to
- Safely migrating fields from one subgraph to another with [`@override`](../federated-types/federated-directives#override)
- Hiding internal routing fields from graph consumers with [`@inaccessible`](../federated-types/federated-directives#inaccessible)
-The schema changes you make are backward incompatible with Federation 1, which means you won't be able to use Federation 1 composition anymore unless you revert those changes.
+The schema changes you make are not backward compatible with Federation 1, which means you won't be able to use Federation 1 composition anymore unless you revert those changes.
### Update your subgraph library
diff --git a/docs/source/index.mdx b/docs/source/index.mdx
index 7aff0a094..5e3337a69 100644
--- a/docs/source/index.mdx
+++ b/docs/source/index.mdx
@@ -4,6 +4,12 @@ subtitle: Learn how to combine your GraphQL APIs into a unified supergraph
description: Learn how Apollo Federation can help you declaratively combine your services into a unified, federated GraphQL API using a microservices architecture.
---
+
+
## What is Apollo Federation?
Apollo Federation lets you declaratively combine multiple GraphQL APIs into a single, federated graph. This federated graph enables clients to interact with multiple APIs through a single request.
diff --git a/docs/source/quickstart.mdx b/docs/source/quickstart.mdx
index 69ffa40e0..2de402fe8 100644
--- a/docs/source/quickstart.mdx
+++ b/docs/source/quickstart.mdx
@@ -34,6 +34,12 @@ To learn more about Apollo Federation and the benefits of using it with GraphOS,
- [Introduction to Apollo Federation](./)
- [Introduction to GraphOS](/graphos)
+
+
## Prerequisites
To complete this quickstart, you must have the following:
diff --git a/federation-integration-testsuite-js/CHANGELOG.md b/federation-integration-testsuite-js/CHANGELOG.md
index 6f2d35b9b..bb20c7f64 100644
--- a/federation-integration-testsuite-js/CHANGELOG.md
+++ b/federation-integration-testsuite-js/CHANGELOG.md
@@ -1,5 +1,9 @@
# CHANGELOG for `federation-integration-testsuite-js`
+## 2.9.0
+
+## 2.8.5
+
## 2.8.4
## 2.8.3
diff --git a/federation-integration-testsuite-js/package.json b/federation-integration-testsuite-js/package.json
index 8226d9ea5..8aa518ff6 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.8.4",
+ "version": "2.9.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 f5ad0508e..e86f80054 100644
--- a/gateway-js/CHANGELOG.md
+++ b/gateway-js/CHANGELOG.md
@@ -1,5 +1,35 @@
# CHANGELOG for `@apollo/gateway`
+## 2.9.0
+
+### Patch Changes
+
+- Avoid type explosion for inline fragments where the type condition is an interface that implements the parent type. ([#3122](https://github.com/apollographql/federation/pull/3122))
+
+- Reduce memory overhead during satisfiability checking when there are many options. ([#3109](https://github.com/apollographql/federation/pull/3109))
+
+- Updated dependencies [[`02c2a34a62c3717a4885449172e404f19ebf66c9`](https://github.com/apollographql/federation/commit/02c2a34a62c3717a4885449172e404f19ebf66c9), [`0ccfd937d4b4a576f890665ceebbd7986fac5d0c`](https://github.com/apollographql/federation/commit/0ccfd937d4b4a576f890665ceebbd7986fac5d0c), [`e0a5075c0d12a0e2f7ef303b246e3216a139d3e0`](https://github.com/apollographql/federation/commit/e0a5075c0d12a0e2f7ef303b246e3216a139d3e0)]:
+ - @apollo/federation-internals@2.9.0
+ - @apollo/composition@2.9.0
+ - @apollo/query-planner@2.9.0
+
+## 2.8.5
+
+## 🔒 Security
+
+### CVE-2024-43414: Prevent uncontrolled recursion for complex queries
+
+Correct a bug where complex queries can cause uncontrolled recursion due to failure to reduce the number of possible query plans (classified as [CWE-674](https://cwe.mitre.org/data/definitions/674.html)). ([#3128](https://github.com/apollographql/federation/pull/3128))
+
+This weakness impacts all v2 versions of `@apollo/gateway` prior to this release. See the associated Github Advisory, [GHSA-fmj9-77q8-g6c4](https://github.com/apollographql/federation/security/advisories/GHSA-fmj9-77q8-g6c4), for more information.
+
+##
+
+- Updated dependencies [[`926cbb7949200e12b81100a07fa3438b5ae9efd0`](https://github.com/apollographql/federation/commit/926cbb7949200e12b81100a07fa3438b5ae9efd0)]:
+ - @apollo/query-planner@2.8.5
+ - @apollo/composition@2.8.5
+ - @apollo/federation-internals@2.8.5
+
## 2.8.4
### Patch Changes
diff --git a/gateway-js/package.json b/gateway-js/package.json
index 3d6e1fef8..25605aa62 100644
--- a/gateway-js/package.json
+++ b/gateway-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@apollo/gateway",
- "version": "2.8.4",
+ "version": "2.9.0",
"description": "Apollo Gateway",
"author": "Apollo ",
"main": "dist/index.js",
@@ -25,9 +25,9 @@
"access": "public"
},
"dependencies": {
- "@apollo/composition": "2.8.4",
- "@apollo/federation-internals": "2.8.4",
- "@apollo/query-planner": "2.8.4",
+ "@apollo/composition": "2.9.0",
+ "@apollo/federation-internals": "2.9.0",
+ "@apollo/query-planner": "2.9.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 160cac070..1265c2550 100644
--- a/internals-js/CHANGELOG.md
+++ b/internals-js/CHANGELOG.md
@@ -1,5 +1,19 @@
# CHANGELOG for `@apollo/federation-internals`
+## 2.9.0
+
+### Minor Changes
+
+- Implements two new directives for defining custom costs for demand control. The `@cost` directive allows setting a custom weight to a particular field in the graph, overriding the default cost calculation. The `@listSize` directive gives the cost calculator information about how to estimate the size of lists returned by subgraphs. This can either be a static size or a value derived from input arguments, such as paging parameters. ([#3074](https://github.com/apollographql/federation/pull/3074))
+
+### Patch Changes
+
+- Reduce memory overhead during satisfiability checking when there are many options. ([#3109](https://github.com/apollographql/federation/pull/3109))
+
+- Fix issue where variable was not passed into subgraph when embedded in a fragment ([#3119](https://github.com/apollographql/federation/pull/3119))
+
+## 2.8.5
+
## 2.8.4
### Patch Changes
diff --git a/internals-js/package.json b/internals-js/package.json
index cef7a14af..6ab818e1d 100644
--- a/internals-js/package.json
+++ b/internals-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@apollo/federation-internals",
- "version": "2.8.4",
+ "version": "2.9.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 0210d41ee..730142f89 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -70,11 +70,11 @@
},
"composition-js": {
"name": "@apollo/composition",
- "version": "2.8.4",
+ "version": "2.9.0",
"license": "Elastic-2.0",
"dependencies": {
- "@apollo/federation-internals": "2.8.4",
- "@apollo/query-graphs": "2.8.4"
+ "@apollo/federation-internals": "2.9.0",
+ "@apollo/query-graphs": "2.9.0"
},
"engines": {
"node": ">=14.15.0"
@@ -85,7 +85,7 @@
},
"federation-integration-testsuite-js": {
"name": "apollo-federation-integration-testsuite",
- "version": "2.8.4",
+ "version": "2.9.0",
"license": "Elastic-2.0",
"dependencies": {
"graphql-tag": "^2.12.6",
@@ -94,12 +94,12 @@
},
"gateway-js": {
"name": "@apollo/gateway",
- "version": "2.8.4",
+ "version": "2.9.0",
"license": "Elastic-2.0",
"dependencies": {
- "@apollo/composition": "2.8.4",
- "@apollo/federation-internals": "2.8.4",
- "@apollo/query-planner": "2.8.4",
+ "@apollo/composition": "2.9.0",
+ "@apollo/federation-internals": "2.9.0",
+ "@apollo/query-planner": "2.9.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.8.4",
+ "version": "2.9.0",
"license": "Elastic-2.0",
"dependencies": {
"@types/uuid": "^9.0.0",
@@ -17859,10 +17859,10 @@
},
"query-graphs-js": {
"name": "@apollo/query-graphs",
- "version": "2.8.4",
+ "version": "2.9.0",
"license": "Elastic-2.0",
"dependencies": {
- "@apollo/federation-internals": "2.8.4",
+ "@apollo/federation-internals": "2.9.0",
"deep-equal": "^2.0.5",
"ts-graphviz": "^1.5.4",
"uuid": "^9.0.0"
@@ -17876,11 +17876,11 @@
},
"query-planner-js": {
"name": "@apollo/query-planner",
- "version": "2.8.4",
+ "version": "2.9.0",
"license": "Elastic-2.0",
"dependencies": {
- "@apollo/federation-internals": "2.8.4",
- "@apollo/query-graphs": "2.8.4",
+ "@apollo/federation-internals": "2.9.0",
+ "@apollo/query-graphs": "2.9.0",
"@apollo/utils.keyvaluecache": "^2.1.0",
"chalk": "^4.1.0",
"deep-equal": "^2.0.5",
@@ -17909,11 +17909,11 @@
},
"subgraph-js": {
"name": "@apollo/subgraph",
- "version": "2.8.4",
+ "version": "2.9.0",
"license": "MIT",
"dependencies": {
"@apollo/cache-control-types": "^1.0.2",
- "@apollo/federation-internals": "2.8.4"
+ "@apollo/federation-internals": "2.9.0"
},
"engines": {
"node": ">=14.15.0"
diff --git a/query-graphs-js/CHANGELOG.md b/query-graphs-js/CHANGELOG.md
index e298f10db..2b2b6686b 100644
--- a/query-graphs-js/CHANGELOG.md
+++ b/query-graphs-js/CHANGELOG.md
@@ -1,5 +1,21 @@
# CHANGELOG for `@apollo/query-graphs`
+## 2.9.0
+
+### Patch Changes
+
+- Avoid type explosion for inline fragments where the type condition is an interface that implements the parent type. ([#3122](https://github.com/apollographql/federation/pull/3122))
+
+- Updated dependencies [[`02c2a34a62c3717a4885449172e404f19ebf66c9`](https://github.com/apollographql/federation/commit/02c2a34a62c3717a4885449172e404f19ebf66c9), [`0ccfd937d4b4a576f890665ceebbd7986fac5d0c`](https://github.com/apollographql/federation/commit/0ccfd937d4b4a576f890665ceebbd7986fac5d0c), [`e0a5075c0d12a0e2f7ef303b246e3216a139d3e0`](https://github.com/apollographql/federation/commit/e0a5075c0d12a0e2f7ef303b246e3216a139d3e0)]:
+ - @apollo/federation-internals@2.9.0
+
+## 2.8.5
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @apollo/federation-internals@2.8.5
+
## 2.8.4
### Patch Changes
diff --git a/query-graphs-js/package.json b/query-graphs-js/package.json
index 00f5bbb45..1760a4785 100644
--- a/query-graphs-js/package.json
+++ b/query-graphs-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@apollo/query-graphs",
- "version": "2.8.4",
+ "version": "2.9.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.8.4",
+ "@apollo/federation-internals": "2.9.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 98ff2ca8a..35ccd0011 100644
--- a/query-planner-js/CHANGELOG.md
+++ b/query-planner-js/CHANGELOG.md
@@ -1,5 +1,31 @@
# CHANGELOG for `@apollo/query-planner`
+## 2.9.0
+
+### Patch Changes
+
+- Fix issue where variable was not passed into subgraph when embedded in a fragment ([#3119](https://github.com/apollographql/federation/pull/3119))
+
+- Updated dependencies [[`acfe3193429c7f99b4fc564b20828aaa8659a75c`](https://github.com/apollographql/federation/commit/acfe3193429c7f99b4fc564b20828aaa8659a75c), [`02c2a34a62c3717a4885449172e404f19ebf66c9`](https://github.com/apollographql/federation/commit/02c2a34a62c3717a4885449172e404f19ebf66c9), [`0ccfd937d4b4a576f890665ceebbd7986fac5d0c`](https://github.com/apollographql/federation/commit/0ccfd937d4b4a576f890665ceebbd7986fac5d0c), [`e0a5075c0d12a0e2f7ef303b246e3216a139d3e0`](https://github.com/apollographql/federation/commit/e0a5075c0d12a0e2f7ef303b246e3216a139d3e0)]:
+ - @apollo/query-graphs@2.9.0
+ - @apollo/federation-internals@2.9.0
+
+## 2.8.5
+
+## 🔒 Security
+
+### CVE-2024-43414: Prevent uncontrolled recursion for complex queries
+
+Correct a bug where complex queries can cause uncontrolled recursion due to failure to reduce the number of possible query plans (classified as [CWE-674](https://cwe.mitre.org/data/definitions/674.html)). ([#3128](https://github.com/apollographql/federation/pull/3128))
+
+This weakness impacts all v2 versions of `@apollo/query-planner` prior to this release. See the associated Github Advisory, [GHSA-fmj9-77q8-g6c4](https://github.com/apollographql/federation/security/advisories/GHSA-fmj9-77q8-g6c4), for more information.
+
+##
+
+- Updated dependencies []:
+ - @apollo/federation-internals@2.8.5
+ - @apollo/query-graphs@2.8.5
+
## 2.8.4
### Patch Changes
diff --git a/query-planner-js/package.json b/query-planner-js/package.json
index 6056bb544..73ae7b8a7 100644
--- a/query-planner-js/package.json
+++ b/query-planner-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@apollo/query-planner",
- "version": "2.8.4",
+ "version": "2.9.0",
"description": "Apollo Query Planner",
"author": "Apollo ",
"main": "dist/index.js",
@@ -25,8 +25,8 @@
"access": "public"
},
"dependencies": {
- "@apollo/federation-internals": "2.8.4",
- "@apollo/query-graphs": "2.8.4",
+ "@apollo/federation-internals": "2.9.0",
+ "@apollo/query-graphs": "2.9.0",
"@apollo/utils.keyvaluecache": "^2.1.0",
"chalk": "^4.1.0",
"deep-equal": "^2.0.5",
diff --git a/query-planner-js/src/buildPlan.ts b/query-planner-js/src/buildPlan.ts
index d12701a91..9825a9bcb 100644
--- a/query-planner-js/src/buildPlan.ts
+++ b/query-planner-js/src/buildPlan.ts
@@ -666,7 +666,7 @@ class QueryPlanningTraversal {
const maxPlansToCompute = this.parameters.config.debug.maxEvaluatedPlans;
while (planCount > maxPlansToCompute && firstBranch.length > 1) {
// we remove the right-most option of the first branch, and them move that branch to it's new place.
- const prevSize = firstBranch.length;
+ const prevSize = BigInt(firstBranch.length);
firstBranch.pop();
planCount -= planCount / prevSize;
this.reorderFirstBranch();
@@ -679,7 +679,7 @@ class QueryPlanningTraversal {
// Note that if `!this.isTopLevel`, then this means we're resolving a sub-plan for an edge condition, and we
// don't want to count those as "evaluated plans".
if (this.parameters.statistics && this.isTopLevel) {
- this.parameters.statistics.evaluatedPlanCount += planCount;
+ this.parameters.statistics.evaluatedPlanCount += Number(planCount);
}
debug.log(() => `All branches:${this.closedBranches.map((opts, i) => `\n${i}:${opts.map((opt => `\n - ${closedPathToString(opt)}`))}`)}`);
@@ -3610,16 +3610,16 @@ function mapOptionsToSelections(
return selectionSet.selectionsInReverseOrder().map(node => [node, options]);
}
-function possiblePlans(closedBranches: ClosedBranch[]): number {
- let totalCombinations = 1;
+function possiblePlans(closedBranches: ClosedBranch[]): bigint {
+ let totalCombinations = BigInt(1);
for (let i = 0; i < closedBranches.length; ++i){
- const eltSize = closedBranches[i].length;
- if (eltSize === 0) {
+ const eltSize = BigInt(closedBranches[i].length);
+ if (eltSize === BigInt(0)) {
// This would correspond to not being to find *any* path for a particular queried field, which means we have no plan
// for the overall query. Now, this shouldn't happen in practice if composition validation has been run successfully
// (and is not buggy), since the goal of composition validation is exactly to ensure we can never run into this path.
// In any case, we will throw later if that happens, but let's just return the proper result here, which is no plan at all.
- return 0;
+ return BigInt(0);
}
totalCombinations *= eltSize;
}
diff --git a/subgraph-js/CHANGELOG.md b/subgraph-js/CHANGELOG.md
index a0749fc9c..0abb1e797 100644
--- a/subgraph-js/CHANGELOG.md
+++ b/subgraph-js/CHANGELOG.md
@@ -1,5 +1,19 @@
# CHANGELOG for `@apollo/subgraph`
+## 2.9.0
+
+### Patch Changes
+
+- Updated dependencies [[`02c2a34a62c3717a4885449172e404f19ebf66c9`](https://github.com/apollographql/federation/commit/02c2a34a62c3717a4885449172e404f19ebf66c9), [`0ccfd937d4b4a576f890665ceebbd7986fac5d0c`](https://github.com/apollographql/federation/commit/0ccfd937d4b4a576f890665ceebbd7986fac5d0c), [`e0a5075c0d12a0e2f7ef303b246e3216a139d3e0`](https://github.com/apollographql/federation/commit/e0a5075c0d12a0e2f7ef303b246e3216a139d3e0)]:
+ - @apollo/federation-internals@2.9.0
+
+## 2.8.5
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @apollo/federation-internals@2.8.5
+
## 2.8.4
### Patch Changes
diff --git a/subgraph-js/package.json b/subgraph-js/package.json
index f9e554b4f..3a1a03598 100644
--- a/subgraph-js/package.json
+++ b/subgraph-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@apollo/subgraph",
- "version": "2.8.4",
+ "version": "2.9.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.8.4"
+ "@apollo/federation-internals": "2.9.0"
},
"peerDependencies": {
"graphql": "^16.5.0"