diff --git a/CHANGES.md b/CHANGES.md
index 0a87f5cd42a7f2199af91a16e4ec9a2c6680f70c..9d27cd35aa5c46e9c9ac740c9781d41cec96a006 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,21 @@
+Synapse 1.54.0 (2022-03-08)
+===========================
+
+Bugfixes
+--------
+
+- Fix a bug introduced in Synapse 1.54.0rc1 preventing the new module callbacks introduced in this release from being registered by modules. ([\#12141](https://github.com/matrix-org/synapse/issues/12141))
+- Fix a bug introduced in Synapse 1.54.0rc1 which meant that Synapse would refuse to start if pre-release versions of dependencies were installed. ([\#12177](https://github.com/matrix-org/synapse/issues/12177))
+
+
+Internal Changes
+----------------
+
+- Update release script to insert the previous version when writing "No significant changes" line in the changelog. ([\#12127](https://github.com/matrix-org/synapse/issues/12127))
+- Inspect application dependencies using `importlib.metadata` or its backport. ([\#12129](https://github.com/matrix-org/synapse/issues/12129))
+- Relax the version guard for "packaging" added in #12088. ([\#12166](https://github.com/matrix-org/synapse/issues/12166))
+
+
 Synapse 1.54.0rc1 (2022-03-02)
 ==============================
 
diff --git a/changelog.d/12127.misc b/changelog.d/12127.misc
deleted file mode 100644
index e42eca63a873e414e20112c337a16bbbf0dd6a4d..0000000000000000000000000000000000000000
--- a/changelog.d/12127.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update release script to insert the previous version when writing "No significant changes" line in the changelog.
diff --git a/changelog.d/12129.misc b/changelog.d/12129.misc
deleted file mode 100644
index ce4213650c5ee3512ce01b54ac5763a21f0755e6..0000000000000000000000000000000000000000
--- a/changelog.d/12129.misc
+++ /dev/null
@@ -1 +0,0 @@
-Inspect application dependencies using `importlib.metadata` or its backport.
\ No newline at end of file
diff --git a/changelog.d/12141.bugfix b/changelog.d/12141.bugfix
deleted file mode 100644
index 03a2507e2ce65d36ec9d01c5ed8359d01c67c54d..0000000000000000000000000000000000000000
--- a/changelog.d/12141.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.54.0rc1 preventing the new module callbacks introduced in this release from being registered by modules.
diff --git a/changelog.d/12166.misc b/changelog.d/12166.misc
deleted file mode 100644
index 24b4a7c7def789994802823cfe8276c68e5913a0..0000000000000000000000000000000000000000
--- a/changelog.d/12166.misc
+++ /dev/null
@@ -1 +0,0 @@
-Relax the version guard for "packaging" added in #12088.
diff --git a/changelog.d/12177.bugfix b/changelog.d/12177.bugfix
deleted file mode 100644
index 3f2852f345b945ccef6da249234633a4bba49ea8..0000000000000000000000000000000000000000
--- a/changelog.d/12177.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in 1.54.0rc1 which meant that Synapse would refuse to start if pre-release versions of dependencies were installed.
\ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
index df3db85b8e77b5e79b2fcfc27fc505141666acd5..02136a0d606f37938a55a96342ab1f4cf0eb6d7b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.54.0) stable; urgency=medium
+
+  * New synapse release 1.54.0.
+
+ -- Synapse Packaging team <packages@matrix.org>  Tue, 08 Mar 2022 10:54:52 +0000
+
 matrix-synapse-py3 (1.54.0~rc1) stable; urgency=medium
 
   * New synapse release 1.54.0~rc1.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index b21e1ed0f342adab5922d480f6097f62829837e1..c6727024f02677f823ebeb503c505573908ba2c7 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -47,7 +47,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.54.0rc1"
+__version__ = "1.54.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