diff --git a/.changeset/pre.json b/.changeset/pre.json
index 4bf2a1a9f60..bfdfa1d0cd9 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -6,6 +6,7 @@
},
"changesets": [
"afraid-zebras-punch",
+ "chatty-experts-fly",
"cold-tips-accept",
"cool-dogs-applaud",
"curvy-dragons-talk",
@@ -41,6 +42,7 @@
"olive-pans-report",
"orange-suns-check",
"polite-birds-rescue",
+ "polite-pianos-kiss",
"popular-beers-move",
"rude-frogs-destroy",
"rude-mayflies-scream",
@@ -57,6 +59,7 @@
"small-tomatoes-explode",
"smooth-clouds-sort",
"smooth-forks-shop",
+ "smooth-goats-cheat",
"sour-weeks-suffer",
"spotty-news-stare",
"strange-drinks-report",
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2c15389d713..930e99c7828 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,38 @@
# @apollo/client
+## 3.8.0-rc.0
+
+### Minor Changes
+
+- [#11058](https://github.com/apollographql/apollo-client/pull/11058) [`89bf33c42`](https://github.com/apollographql/apollo-client/commit/89bf33c425d08880eeaed4584bdd56c4caf085e7) Thanks [@phryneas](https://github.com/phryneas)! - (Batch)HttpLink: Propagate `AbortError`s to the user when a user-provided `signal` is passed to the link. Previously, these links would swallow all `AbortErrors`, potentially causing queries and mutations to never resolve. As a result of this change, users are now expected to handle `AbortError`s when passing in a user-provided `signal`.
+
+- [#11040](https://github.com/apollographql/apollo-client/pull/11040) [`125ef5b2a`](https://github.com/apollographql/apollo-client/commit/125ef5b2a8fd2de1515b2bdd71785ebab3596cb2) Thanks [@phryneas](https://github.com/phryneas)! - `HttpLink`/`BatchHttpLink`: Abort the `AbortController` signal more granularly.
+ Before this change, when `HttpLink`/`BatchHttpLink` created an `AbortController`
+ internally, the signal would always be `.abort`ed after the request was completed. This could cause issues with Sentry Session Replay and Next.js App Router Cache invalidations, which just replayed the fetch with the same options - including the cancelled `AbortSignal`.
+
+ With this change, the `AbortController` will only be `.abort()`ed by outside events,
+ not as a consequence of the request completing.
+
+### Patch Changes
+
+- [#11053](https://github.com/apollographql/apollo-client/pull/11053) [`c0ca70720`](https://github.com/apollographql/apollo-client/commit/c0ca70720cf5fbedd6e4f128b460c1995d9c55a7) Thanks [@phryneas](https://github.com/phryneas)! - Add `SuspenseCache` as a lazy hidden property on ApolloClient.
+ This means that `SuspenseCache` is now an implementation details of Apollo Client
+ and you no longer need to manually instantiate it and no longer need to pass it
+ into `ApolloProvider`.
+ Trying to instantiate a `SuspenseCache` instance in your code will now throw an
+ error.
+
+ Migration:
+
+ ```diff
+ -import { SuspenseCache } from '@apollo/client';
+
+ -const suspenseCache = new SuspenseCache();
+
+ -;
+ +;
+ ```
+
## 3.8.0-beta.7
### Minor Changes
diff --git a/package-lock.json b/package-lock.json
index a980e1170f3..38fe20a7743 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@apollo/client",
- "version": "3.7.17",
+ "version": "3.8.0-rc.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@apollo/client",
- "version": "3.7.17",
+ "version": "3.8.0-rc.0",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
diff --git a/package.json b/package.json
index 3e1810b354d..1b10891bd6a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@apollo/client",
- "version": "3.7.17",
+ "version": "3.8.0-rc.0",
"description": "A fully-featured caching GraphQL client.",
"private": true,
"keywords": [