diff --git a/synapse/__init__.py b/synapse/__init__.py
index 3d0d165f48..4ef8728018 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -21,8 +21,8 @@ import os
import sys
# Check that we're not running on an unsupported Python version.
-if sys.version_info < (3, 6):
- print("Synapse requires Python 3.6 or above.")
+if sys.version_info < (3, 7):
+ print("Synapse requires Python 3.7 or above.")
sys.exit(1)
# Twisted and canonicaljson will fail to import when this file is executed to
diff --git a/synapse/app/_base.py b/synapse/app/_base.py
index 579adbbca0..e5ee03b79f 100644
--- a/synapse/app/_base.py
+++ b/synapse/app/_base.py
@@ -16,7 +16,6 @@ import atexit
import gc
import logging
import os
-import platform
import signal
import socket
import sys
@@ -468,16 +467,12 @@ async def start(hs: "HomeServer") -> None:
# everything currently allocated are things that will be used for the
# rest of time. Doing so means less work each GC (hopefully).
#
- # This only works on Python 3.7
- if platform.python_implementation() == "CPython" and sys.version_info >= (3, 7):
- gc.collect()
- gc.freeze()
+ gc.collect()
+ gc.freeze()
# Speed up shutdowns by freezing all allocated objects. This moves everything
# into the permanent generation and excludes them from the final GC.
- # Unfortunately only works on Python 3.7
- if platform.python_implementation() == "CPython" and sys.version_info >= (3, 7):
- atexit.register(gc.freeze)
+ atexit.register(gc.freeze)
def setup_sentry(hs: "HomeServer") -> None:
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
index d844fbb3b3..22b4606ae0 100644
--- a/synapse/python_dependencies.py
+++ b/synapse/python_dependencies.py
@@ -70,7 +70,7 @@ REQUIREMENTS = [
"pyasn1>=0.1.9",
"pyasn1-modules>=0.0.7",
"bcrypt>=3.1.0",
- "pillow>=4.3.0",
+ "pillow>=5.4.0",
"sortedcontainers>=1.4.4",
"pymacaroons>=0.13.0",
"msgpack>=0.5.2",
@@ -107,7 +107,7 @@ CONDITIONAL_REQUIREMENTS = {
# `systemd.journal.JournalHandler`, as is documented in
# `contrib/systemd/log_config.yaml`.
"systemd": ["systemd-python>=231"],
- "url_preview": ["lxml>=3.5.0"],
+ "url_preview": ["lxml>=4.2.0"],
"sentry": ["sentry-sdk>=0.7.2"],
"opentracing": ["jaeger-client>=4.0.0", "opentracing>=2.2.0"],
"jwt": ["pyjwt>=1.6.4"],
diff --git a/synapse/storage/engines/postgres.py b/synapse/storage/engines/postgres.py
index 30f948a0f7..b3d71f661c 100644
--- a/synapse/storage/engines/postgres.py
+++ b/synapse/storage/engines/postgres.py
@@ -46,8 +46,8 @@ class PostgresEngine(BaseDatabaseEngine):
self._version = db_conn.server_version
# Are we on a supported PostgreSQL version?
- if not allow_outdated_version and self._version < 90600:
- raise RuntimeError("Synapse requires PostgreSQL 9.6 or above.")
+ if not allow_outdated_version and self._version < 100000:
+ raise RuntimeError("Synapse requires PostgreSQL 10 or above.")
with db_conn.cursor() as txn:
txn.execute("SHOW SERVER_ENCODING")
|