diff --git a/CHANGES.md b/CHANGES.md
index f91109f88570e8b4ba2754134f611198e86f4ea2..43f5a7826954e6d2c469af72b3118fcd076c0858 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,29 @@
+Synapse 1.50.0rc2 (2022-01-14)
+==============================
+
+This release candidate fixes a federation-breaking regression introduced in the previous release candidate. The bug broke sending federation traffic to destination servers that had enough outbound device updates to be sent (including at least one cross-signing key update).
+It would particularly affect sending to servers that have had downtime, as this would make it more likely that a big enough queue of outbound device updates had built up.
+
+
+Bugfixes
+--------
+
+- Fix a bug introduced in Synapse v1.0.0 whereby some device list updates would not be sent to remote homeservers if there were too many to send at once. ([\#11729](https://github.com/matrix-org/synapse/issues/11729))
+- Fix a bug introduced in Synapse v1.50.0rc1 whereby outbound federation could fail because too many EDUs were produced for device updates. ([\#11730](https://github.com/matrix-org/synapse/issues/11730))
+
+
+Improved Documentation
+----------------------
+
+- Document that now the minimum supported PostgreSQL version is 10. ([\#11725](https://github.com/matrix-org/synapse/issues/11725))
+
+
+Internal Changes
+----------------
+
+- Fix a typechecker problem related to our (ab)use of `nacl.signing.SigningKey`s. ([\#11714](https://github.com/matrix-org/synapse/issues/11714))
+
+
 Synapse 1.50.0rc1 (2022-01-05)
 ==============================
 
diff --git a/changelog.d/11714.misc b/changelog.d/11714.misc
deleted file mode 100644
index 7f39bf0e3dca3774b2cbb75f13030a84dda0608c..0000000000000000000000000000000000000000
--- a/changelog.d/11714.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix a typechecker problem related to our (ab)use of `nacl.signing.SigningKey`s.
\ No newline at end of file
diff --git a/changelog.d/11725.doc b/changelog.d/11725.doc
deleted file mode 100644
index 46eb9b814fc3f7a8f0cd07f64f2607be4b298dae..0000000000000000000000000000000000000000
--- a/changelog.d/11725.doc
+++ /dev/null
@@ -1 +0,0 @@
-Document that now the minimum supported PostgreSQL version is 10.
diff --git a/changelog.d/11729.bugfix b/changelog.d/11729.bugfix
deleted file mode 100644
index 8438ce56863097b436eecd35acacc234cbe5b48f..0000000000000000000000000000000000000000
--- a/changelog.d/11729.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse v1.0.0 whereby some device list updates would not be sent to remote homeservers if there were too many to send at once.
\ No newline at end of file
diff --git a/changelog.d/11730.bugfix b/changelog.d/11730.bugfix
deleted file mode 100644
index a0bd7dd1a3baacd6e7f7d952d82511885e0902fc..0000000000000000000000000000000000000000
--- a/changelog.d/11730.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse v1.50.0rc1 whereby outbound federation could fail because too many EDUs were produced for device updates.
\ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
index b54c0ff3487857c680d3a6a0af3885b76cebc832..381980f4683a26c6dbceb998c7258e37de210fb1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.50.0~rc2) stable; urgency=medium
+
+  * New synapse release 1.50.0~rc2.
+
+ -- Synapse Packaging team <packages@matrix.org>  Fri, 14 Jan 2022 11:18:06 +0000
+
 matrix-synapse-py3 (1.50.0~rc1) stable; urgency=medium
 
   * New synapse release 1.50.0~rc1.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 92aec334e6e750feb698082b78def511c5676a03..f2dac4e7de6cf33d3fb596d9ec9f2f035cdc9f12 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -47,7 +47,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.50.0rc1"
+__version__ = "1.50.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