diff --git a/CHANGES.md b/CHANGES.md
index b997af1630..ee28080e38 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -6,6 +6,22 @@ Next version
configuration then this template will need to be duplicated into that
directory.
+Synapse 1.12.1 (2020-04-02)
+===========================
+
+No significant changes since 1.12.1rc1.
+
+
+Synapse 1.12.1rc1 (2020-03-31)
+==============================
+
+Bugfixes
+--------
+
+- Fix starting workers when federation sending not split out. ([\#7133](https://github.com/matrix-org/synapse/issues/7133)). Introduced in v1.12.0.
+- Avoid importing `sqlite3` when using the postgres backend. Contributed by David Vo. ([\#7155](https://github.com/matrix-org/synapse/issues/7155)). Introduced in v1.12.0rc1.
+- Fix a bug which could cause outbound federation traffic to stop working if a client uploaded an incorrect e2e device signature. ([\#7177](https://github.com/matrix-org/synapse/issues/7177)). Introduced in v1.11.0.
+
Synapse 1.12.0 (2020-03-23)
===========================
diff --git a/INSTALL.md b/INSTALL.md
index 9c6f507db8..b8f8a67329 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -36,7 +36,7 @@ that your email address is probably `user@example.com` rather than
System requirements:
- POSIX-compliant system (tested on Linux & OS X)
-- Python 3.5, 3.6, 3.7 or 3.8.
+- Python 3.5.2 or later, up to Python 3.8.
- At least 1GB of free RAM if you want to join large public rooms like #matrix:matrix.org
Synapse is written in Python but some of the libraries it uses are written in
@@ -393,8 +393,8 @@ so, you will need to edit `homeserver.yaml`, as follows:
for having Synapse automatically provision and renew federation
certificates through ACME can be found at [ACME.md](docs/ACME.md).
Note that, as pointed out in that document, this feature will not
- work with installs set up after November 2019.
-
+ work with installs set up after November 2019.
+
If you are using your own certificate, be sure to use a `.pem` file that
includes the full certificate chain including any intermediate certificates
(for instance, if using certbot, use `fullchain.pem` as your certificate, not
diff --git a/debian/changelog b/debian/changelog
index 39ec9da7ab..8e14e59c0d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.12.1) stable; urgency=medium
+
+ * New synapse release 1.12.1.
+
+ -- Synapse Packaging team <packages@matrix.org> Mon, 02 Apr 2020 11:30:47 +0000
+
matrix-synapse-py3 (1.12.0) stable; urgency=medium
* New synapse release 1.12.0.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 5b86008945..5df7d51ab1 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -36,7 +36,7 @@ try:
except ImportError:
pass
-__version__ = "1.12.0"
+__version__ = "1.12.1"
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
|