diff --git a/changelog.d/20354.bugfix b/changelog.d/20354.bugfix new file mode 100644 index 0000000000..6777f2f9ae --- /dev/null +++ b/changelog.d/20354.bugfix @@ -0,0 +1 @@ +Fix Synapse failing to start with Redis enabled when installed using pip (avoid incompatible breaking changes in `txredisapi@1.6.0`). diff --git a/poetry.lock b/poetry.lock index a19babbcd9..2649e2450d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1972,7 +1972,7 @@ files = [ {file = "pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992"}, {file = "pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29"}, ] -markers = {main = "implementation_name != \"PyPy\"", dev = "platform_python_implementation != \"PyPy\" and implementation_name != \"PyPy\""} +markers = {main = "implementation_name != \"PyPy\"", dev = "implementation_name != \"PyPy\" and platform_python_implementation != \"PyPy\""} [[package]] name = "pydantic" @@ -3661,4 +3661,4 @@ url-preview = ["beautifulsoup4"] [metadata] lock-version = "2.1" python-versions = ">=3.10.0,<4.0.0" -content-hash = "b8ee2c063150549de2946f70cd557c427e16a9101052915ef23eb6dd9d8f77eb" +content-hash = "6e8f0d223b61ab7c100236797f0ec1eed7f23b819c01c117fe445c6b1e91bbfc" diff --git a/pyproject.toml b/pyproject.toml index 4ad1c8d4f2..5f7f66e978 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -152,11 +152,18 @@ opentracing = [ "tornado>=6.0", # via jaeger-client ] jwt = ["authlib"] -# hiredis is not a *strict* dependency, but it makes things much faster. -# (if it is not installed, we fall back to slow code.) -# txredisapi 1.4.12 is the first release to accept a `username` kwarg for -# Redis ACL auth: https://github.com/IlyaSkriblovsky/txredisapi/releases/tag/1.4.12 -redis = ["txredisapi>=1.4.12", "hiredis>=0.3"] +redis = [ + # txredisapi 1.4.12 is the first release to accept a `username` kwarg for + # Redis ACL auth: https://github.com/IlyaSkriblovsky/txredisapi/releases/tag/1.4.12 + # + # FIXME: 1.6.0 introduces a number of incompatible breaking changes that will + # require updates to our own code, see + # https://github.com/element-hq/synapse/issues/20347#issuecomment-6154861014 + "txredisapi>=1.4.12,<1.6.0", + # hiredis is not a *strict* dependency, but it makes things much faster. + # (if it is not installed, we fall back to slow code.) + "hiredis>=0.3" +] # Required to use experimental `caches.track_memory_usage` config option. cache-memory = ["pympler>=1.0"] # If this is updated, don't forget to update the equivalent lines in @@ -190,7 +197,7 @@ all = [ # opentracing "jaeger-client>=4.2.0", "opentracing>=2.2.0", # redis - "txredisapi>=1.4.12", "hiredis>=0.3", + "txredisapi>=1.4.12,<1.6.0", "hiredis>=0.3", # cache-memory # 1.0 added support for python 3.10, our current minimum supported python version "pympler>=1.0",