diff --git a/CHANGES.md b/CHANGES.md
index 29711c60ce6c70d84ce117667afca17319800c30..e5177e714daa98292b0abe9144f6216398b515fc 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,16 @@
+Synapse 1.21.0rc2 (2020-10-02)
+==============================
+
+Bugfixes
+--------
+
+- Fix a regression in v1.21.0rc1 which broke thumbnails of remote media. ([\#8438](https://github.com/matrix-org/synapse/issues/8438))
+- Do not expose the experimental `uk.half-shot.msc2778.login.application_service` flow in the login API. ([\#8440](https://github.com/matrix-org/synapse/issues/8440))
+- Fix malformed log line in new federation "catch up" logic. ([\#8442](https://github.com/matrix-org/synapse/issues/8442))
+- Convert additional templates from inline HTML to Jinja2 templates. ([\#8444](https://github.com/matrix-org/synapse/issues/8444))
+- Fix DB query on startup for negative streams which caused long start up times. Introduced in #8374. ([\#8447](https://github.com/matrix-org/synapse/issues/8447))
+
+
 Synapse 1.21.0rc1 (2020-10-01)
 ==============================
 
diff --git a/changelog.d/8438.bugfix b/changelog.d/8438.bugfix
deleted file mode 100644
index 3edc394149d3ff77d76035cc3acf3b4fe17a7ba4..0000000000000000000000000000000000000000
--- a/changelog.d/8438.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a regression in v1.21.0rc1 which broke thumbnails of remote media.
diff --git a/changelog.d/8440.bugfix b/changelog.d/8440.bugfix
deleted file mode 100644
index 84d5f541d18c1106bcbd8c50d17235b3f4dfb69e..0000000000000000000000000000000000000000
--- a/changelog.d/8440.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Do not expose the experimental `uk.half-shot.msc2778.login.application_service` flow in the login API.
diff --git a/changelog.d/8442.bugfix b/changelog.d/8442.bugfix
deleted file mode 100644
index 6f779a1de57b3ae943b4b15490a694ca2d699c0b..0000000000000000000000000000000000000000
--- a/changelog.d/8442.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix malformed log line in new federation "catch up" logic.
diff --git a/changelog.d/8444.bugfix b/changelog.d/8444.bugfix
deleted file mode 100644
index 30c4328d4bd9a996757a9fcdabd16e9948581518..0000000000000000000000000000000000000000
--- a/changelog.d/8444.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Convert additional templates from inline HTML to Jinja2 templates.
diff --git a/changelog.d/8447.bugfix b/changelog.d/8447.bugfix
deleted file mode 100644
index 88edaf322e01f92f062a9071776bb7a0af3545e2..0000000000000000000000000000000000000000
--- a/changelog.d/8447.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix DB query on startup for negative streams which caused long start up times. Introduced in #8374.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 47069745080f4d08ac4c05e0672bcc68325fab42..500558bbdf8b9ef062898e8b3ece8eb6bac11604 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -48,7 +48,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.21.0rc1"
+__version__ = "1.21.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