diff --git a/CHANGES.md b/CHANGES.md
index b04abbeb4d7da382fbfe9c0a1eaf396f2642cede..0e5e052951a995c917be493a260111987c346d73 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,9 @@
+Synapse 1.40.0 (2021-08-10)
+===========================
+
+No significant changes.
+
+
 Synapse 1.40.0rc3 (2021-08-09)
 ==============================
 
diff --git a/debian/changelog b/debian/changelog
index 22f9406e5b5fc020aeb584bb459ea48166c8d506..e101423fe4f54c5f87f60370fee2ab3c888490bb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.40.0) stable; urgency=medium
+
+  * New synapse release 1.40.0.
+
+ -- Synapse Packaging team <packages@matrix.org>  Tue, 10 Aug 2021 13:50:48 +0100
+
 matrix-synapse-py3 (1.40.0~rc3) stable; urgency=medium
 
   * New synapse release 1.40.0~rc3.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 5cca899f7d8bb2db4f905ce55076d24a6dce7185..919293cd80c55a46a7b221294977dc75256019a1 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -47,7 +47,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.40.0rc3"
+__version__ = "1.40.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