diff --git a/CHANGES.md b/CHANGES.md
index 75871979c2..15d7d0aeea 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,12 @@
+Synapse 1.23.0 (2020-11-18)
+===========================
+
+Bugfixes
+--------
+
+- Fix a dependency versioning bug in the Dockerfile that prevented Synapse from starting. ([\#8767](https://github.com/matrix-org/synapse/issues/8767))
+
+
Synapse 1.23.0rc1 (2020-11-13)
==============================
diff --git a/debian/changelog b/debian/changelog
index ae8948650f..4ea4feddd5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.23.0) stable; urgency=medium
+
+ * New synapse release 1.23.0.
+
+ -- Synapse Packaging team <packages@matrix.org> Wed, 18 Nov 2020 11:41:28 +0000
+
matrix-synapse-py3 (1.22.1) stable; urgency=medium
* New synapse release 1.22.1.
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 9791d3ddf0..791cd6936b 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -36,7 +36,8 @@ RUN pip install --prefix="/install" --no-warn-script-location \
frozendict \
jaeger-client \
opentracing \
- prometheus-client \
+ # Match the version constraints of Synapse
+ "prometheus_client>=0.4.0,<0.9.0" \
psycopg2 \
pycparser \
pyrsistent \
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 537f2239e5..65c1f5aa3f 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -48,7 +48,7 @@ try:
except ImportError:
pass
-__version__ = "1.23.0rc1"
+__version__ = "1.23.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
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
index 3e188cd4d6..cd4547c41b 100644
--- a/synapse/python_dependencies.py
+++ b/synapse/python_dependencies.py
@@ -72,6 +72,10 @@ REQUIREMENTS = [
# prom-client has a history of breaking backwards compatibility between
# minor versions (https://github.com/prometheus/client_python/issues/317),
# so we also pin the minor version.
+ #
+ # Note that we replicate these constraints in the Synapse Dockerfile while
+ # pre-installing dependencies. If these constraints are updated here, the
+ # same change should be made in the Dockerfile.
"prometheus_client>=0.4.0,<0.9.0",
# we use attr.validators.deep_iterable, which arrived in 19.1.0 (Note:
# Fedora 31 only has 19.1, so if we want to upgrade we should wait until 33
|