diff --git a/CHANGES.md b/CHANGES.md
index 8f53ce6c518809c2d6bc5e98101bd21e07a27277..8029a9d21c31fe81f1b33f12c698ea74dcb66742 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,11 +1,16 @@
+Synapse 1.50.0 (2022-01-18)
+===========================
+
+Please note that we now only support Python 3.7+ and PostgreSQL 10+ (if applicable), because Python 3.6 and PostgreSQL 9.6 have reached end-of-life.
+
+No significant changes since 1.50.0rc2.
+
+
 Synapse 1.50.0rc2 (2022-01-14)
 ==============================
 
 This release candidate fixes a federation-breaking regression introduced in Synapse 1.50.0rc1.
 
-Please note that we now only support Python 3.7+ and PostgreSQL 10+ (if applicable), because Python 3.6 and PostgreSQL 9.6 have reached end-of-life.
-
-
 Bugfixes
 --------
 
diff --git a/debian/changelog b/debian/changelog
index 381980f4683a26c6dbceb998c7258e37de210fb1..f1245cd3afa20d00945dcec8fa18358d106bc7fc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.50.0) stable; urgency=medium
+
+  * New synapse release 1.50.0.
+
+ -- Synapse Packaging team <packages@matrix.org>  Tue, 18 Jan 2022 10:40:38 +0000
+
 matrix-synapse-py3 (1.50.0~rc2) stable; urgency=medium
 
   * New synapse release 1.50.0~rc2.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index f2dac4e7de6cf33d3fb596d9ec9f2f035cdc9f12..201925e91d48fbc6574ca599c1e83f17139365d4 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -47,7 +47,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.50.0rc2"
+__version__ = "1.50.0"
 
 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