diff --git a/CHANGES.md b/CHANGES.md
index 5acc8b537e059781d17554c6b181dd8398dc0125..c8b078a2f4319063766df8fab0c2acfc5687de92 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,26 @@
+Synapse 1.45.0rc2 (2021-10-14)
+==============================
+
+**Note:** This release candidate [fixes](https://github.com/matrix-org/synapse/issues/11053) the user directory [bug](https://github.com/matrix-org/synapse/issues/11025) present in 1.45.0rc1. However, the [performance issue](https://github.com/matrix-org/synapse/issues/11049) which appeared in v1.44.0 is yet to be resolved.
+
+Bugfixes
+--------
+
+- Fix a long-standing bug when using multiple event persister workers where events were not correctly sent down `/sync` due to a race. ([\#11045](https://github.com/matrix-org/synapse/issues/11045))
+- Fix a bug introduced in Synapse 1.45.0rc1 where the user directory would stop updating if it processed an event from a
+  user not in the `users` table. ([\#11053](https://github.com/matrix-org/synapse/issues/11053))
+- Fix a bug introduced in Synapse v1.44.0 when logging errors during oEmbed processing. ([\#11061](https://github.com/matrix-org/synapse/issues/11061))
+
+
+Internal Changes
+----------------
+
+- Add an 'approximate difference' method to `StateFilter`. ([\#10825](https://github.com/matrix-org/synapse/issues/10825))
+- Fix inconsistent behavior of `get_last_client_by_ip` when reporting data that has not been stored in the database yet. ([\#10970](https://github.com/matrix-org/synapse/issues/10970))
+- Fix a bug introduced in Synapse 1.21.0 that causes opentracing and Prometheus metrics for replication requests to be measured incorrectly. ([\#10996](https://github.com/matrix-org/synapse/issues/10996))
+- Ensure that cache config tests do not share state. ([\#11036](https://github.com/matrix-org/synapse/issues/11036))
+
+
 Synapse 1.45.0rc1 (2021-10-12)
 ==============================
 
diff --git a/changelog.d/10825.misc b/changelog.d/10825.misc
deleted file mode 100644
index f9786164d7ec1b969514f5a0fa414b35760773e6..0000000000000000000000000000000000000000
--- a/changelog.d/10825.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add an 'approximate difference' method to `StateFilter`.
diff --git a/changelog.d/10970.misc b/changelog.d/10970.misc
deleted file mode 100644
index bb75ea79a657f8f17ffa68735facc2b82a99d01a..0000000000000000000000000000000000000000
--- a/changelog.d/10970.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix inconsistent behavior of `get_last_client_by_ip` when reporting data that has not been stored in the database yet.
diff --git a/changelog.d/10996.misc b/changelog.d/10996.misc
deleted file mode 100644
index c830d7ec2cc77eb9b5b969a7d3131666fb095634..0000000000000000000000000000000000000000
--- a/changelog.d/10996.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.21.0 that causes opentracing and Prometheus metrics for replication requests to be measured incorrectly.
diff --git a/changelog.d/11036.misc b/changelog.d/11036.misc
deleted file mode 100644
index aae5ee62b2e8f9d9d0c8442ec4b1ceae74a274cc..0000000000000000000000000000000000000000
--- a/changelog.d/11036.misc
+++ /dev/null
@@ -1 +0,0 @@
-Ensure that cache config tests do not share state.
diff --git a/changelog.d/11045.bugfix b/changelog.d/11045.bugfix
deleted file mode 100644
index d712dc946a563f3c7568c2b5197a03270ff9aefc..0000000000000000000000000000000000000000
--- a/changelog.d/11045.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug when using multiple event persister workers where events were not correctly sent down `/sync` due to a race.
diff --git a/changelog.d/11053.bugfix b/changelog.d/11053.bugfix
deleted file mode 100644
index a59cfac93157e8f5bdcf4b57b3d9738d1b0fee64..0000000000000000000000000000000000000000
--- a/changelog.d/11053.bugfix
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a bug introduced in Synapse 1.45.0rc1 where the user directory would stop updating if it processed an event from a
-user not in the `users` table.
diff --git a/changelog.d/11061.bugfix b/changelog.d/11061.bugfix
deleted file mode 100644
index 26fb64379375db4eef6eac61ce4347b10617457f..0000000000000000000000000000000000000000
--- a/changelog.d/11061.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse v1.44.0 when logging errors during oEmbed processing.
diff --git a/debian/changelog b/debian/changelog
index 0d5db739e7e85f02abbca842aba05e449a7a5985..f930befbe73a1eeb6b147a4d8273014a1f8dc8bf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.45.0~rc2) stable; urgency=medium
+
+  * New synapse release 1.45.0~rc2.
+
+ -- Synapse Packaging team <packages@matrix.org>  Thu, 14 Oct 2021 10:58:24 +0100
+
 matrix-synapse-py3 (1.45.0~rc1) stable; urgency=medium
 
   [ Nick @ Beeper ]
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 6b109ccffa9fb675e585628fa093e1a1006fffed..ab90093e7081c773080bc14b8ce2e105e493249d 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -47,7 +47,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.45.0rc1"
+__version__ = "1.45.0rc2"
 
 if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
     # We import here so that we don't have to install a bunch of deps when