Synapse 1.119.0rc2 (2024-11-11)
Note that due to packaging issues there was no v1.119.0rc1.
Python 3.8 support dropped
Python 3.8 is end-of-life and is no longer supported by Synapse. The minimum supported Python version is now 3.9.
If you are running Synapse with Python 3.8, please upgrade to Python 3.9 (or greater) before upgrading Synapse.
Features
- Support MSC4151's stable report room API. (#17374)
- Add experimental support for MSC4222 (Adding
state_after
to sync v2). (#17888)
Bugfixes
- Fix bug with sliding sync where
$LAZY
-loading room members would not returnrequired_state
membership in incremental syncs. (#17809) - Check if user has membership in a room before tagging it. Contributed by Lama Alosaimi. (#17839)
- Fix a bug in the admin redact endpoint where the background task would not run if a worker was specified in
the config optionrun_background_tasks_on
. (#17847) - Fix bug where some presence and typing timeouts can expire early. (#17850)
- Fix detection when the built Rust library was outdated when using source installations. (#17861)
- Fix a long-standing bug in Synapse which could cause one-time keys to be issued in the incorrect order, causing message decryption failures. (#17903)
- Fix experimental support for MSC4222 (Adding
state_after
to sync v2) where we would return the full state on incremental syncs when using lazy loaded members and there were no new events in the timeline. (#17915)
Internal Changes
- Remove support for python 3.8. (#17908)
- Add a test for downloading and thumbnailing a CMYK JPEG. (#17786)
- Refactor database calls to remove
Generator
usage. (#17813, #17814, #17815, #17816, #17817, #17818, #17890) - Include the destination in the error of 'Destination mismatch' on federation requests. (#17830)
- The nix flake inside the repository no longer tracks nixpkgs/master to not catch the latest bugs from a PR merged 5 minutes ago. (#17852)
- Minor speed-up of sliding sync by computing extensions results in parallel. (#17884)
- Bump the default Python version in the Synapse Dockerfile from 3.11 -> 3.12. (#17887)
- Remove usage of internal header encoding API. (#17894)
- Use unique name for each os.arch variant when uploading Wheel artifacts. (#17905)
- Fix tests to run with latest Twisted. (#17906, #17907, #17911)
- Update version constraint to allow the latest poetry-core 1.9.1. (#17902)
- Update the portdb CI to use Python 3.13 and Postgres 17 as latest dependencies. (#17909)
- Add an index to
current_state_delta_stream
table. (#17912) - Fix building and attaching release artifacts during the release process. (#17921)
Updates to locked dependencies
- Bump actions/download-artifact & actions/upload-artifact from 3 to 4 in /.github/workflows. (#17657)
- Bump anyhow from 1.0.89 to 1.0.92. (#17858, #17876, #17901)
- Bump bytes from 1.7.2 to 1.8.0. (#17877)
- Bump cryptography from 43.0.1 to 43.0.3. (#17853)
- Bump mypy-zope from 1.0.7 to 1.0.8. (#17898)
- Bump phonenumbers from 8.13.47 to 8.13.49. (#17880, #17899)
- Bump python-multipart from 0.0.12 to 0.0.16. (#17879)
- Bump regex from 1.11.0 to 1.11.1. (#17874)
- Bump ruff from 0.6.9 to 0.7.2. (#17868, #17897)
- Bump serde from 1.0.210 to 1.0.214. (#17875, #17900)
- Bump serde_json from 1.0.128 to 1.0.132. (#17857)
- Bump types-psycopg2 from 2.9.21.20240819 to 2.9.21.20241019. (#17855)
- Bump types-setuptools from 75.1.0.20241014 to 75.2.0.20241019. (#17856)