diff --git a/CHANGES.md b/CHANGES.md
index 7f47011a30bd03b35d726670fb4228c95a70978a..342768c8c8b883a0bc7d1dd58fdae43f9649d0db 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,9 @@
+Synapse 1.12.4 (2020-04-23)
+===========================
+
+No significant changes.
+
+
 Synapse 1.12.4rc1 (2020-04-22)
 ==============================
 
diff --git a/debian/changelog b/debian/changelog
index 642115fc5af403cd370d761b6cb176fcd2b9e5f8..8eaca852327dac0e4b5b82fea902f5af9a1d02c0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.12.4) stable; urgency=medium
+
+  * New synapse release 1.12.4.
+
+ -- Synapse Packaging team <packages@matrix.org>  Thu, 23 Apr 2020 10:58:14 -0400
+
 matrix-synapse-py3 (1.12.3) stable; urgency=medium
 
   [ Richard van der Hoff ]
diff --git a/synapse/__init__.py b/synapse/__init__.py
index fff9d311f341b1163738b6a6019655295dfc4b2f..d8d340f4268a33cb8cdb0283523f7104d0541e48 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -36,7 +36,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.12.4rc1"
+__version__ = "1.12.4"
 
 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