Synapse 1.89.0rc1 (2023-07-25)
Features
- Add Unix Socket support for HTTP Replication Listeners. Document and provide usage instructions for utilizing Unix sockets in Synapse. Contributed by Jason Little. (#15708, #15924)
- Allow
+
in Matrix IDs, per MSC4009. (#15911) - Support room version 11 from MSC3820. (#15912)
- Allow configuring the set of workers to proxy outbound federation traffic through via
outbound_federation_restricted_to
. (#15913, #15969) - Implement MSC3814, dehydrated devices v2/shrivelled sessions and move MSC2697 behind a config flag. Contributed by Nico from Famedly, H-Shay and poljar. (#15929)
Bugfixes
- Fix a long-standing bug where remote invites weren't correctly pushed. (#15820)
- Fix background schema updates failing over a large upgrade gap. (#15887)
- Fix a bug introduced in 1.86.0 where Synapse starting with an empty
experimental_features
configuration setting. (#15925) - Fixed deploy annotations in the provided Grafana dashboard config, so that it shows for any homeserver and not just matrix.org. Contributed by @wrjlewis. (#15957)
- Ensure a long state res does not starve CPU by occasionally yielding to the reactor. (#15960)
- Properly handle redactions of creation events. (#15973)
- Fix a bug where resyncing stale device lists could block responding to federation transactions, and thus delay receiving new data from the remote server. (#15975)
Improved Documentation
- Better clarify how to run a worker instance (pass both configs). (#15921)
- Improve the documentation for the login as a user admin API. (#15938)
- Fix broken Arch Linux package link. Contributed by @SnipeXandrej. (#15981)
Deprecations and Removals
- Remove support for calling the
/register
endpoint with an unspecceduser
property for application services. (#15928)
Internal Changes
- Mark
get_user_in_directory
private since it is only used in tests. Also remove the cache from it. (#15884) - Document which Python version runs on a given Linux distribution so we can more easily clean up later. (#15909)
- Add details to warning in log when we fail to fetch an alias. (#15922)
- Remove unneeded
__init__
. (#15926) - Fix bug with read/write lock implementation. This is currently unused so has no observable effects. (#15933, #15958)
- Unbreak the nix development environment by pinning the Rust version to 1.70.0. (#15940)
- Update presence metrics to differentiate remote vs local users. (#15952)
- Stop reading from column
user_id
of tableprofiles
. (#15955) - Build packages for Debian Trixie. (#15961)
- Reduce the amount of state we pull out. (#15968)
- Speed up updating state in large rooms. (#15971)
Updates to locked dependencies
- Bump anyhow from 1.0.71 to 1.0.72. (#15949)
- Bump click from 8.1.3 to 8.1.6. (#15984)
- Bump cryptography from 41.0.1 to 41.0.2. (#15943)
- Bump jsonschema from 4.17.3 to 4.18.3. (#15948)
- Bump pillow from 9.4.0 to 10.0.0. (#15986)
- Bump prometheus-client from 0.17.0 to 0.17.1. (#15945)
- Bump pydantic from 1.10.10 to 1.10.11. (#15946)
- Bump pygithub from 1.58.2 to 1.59.0. (#15834)
- Bump pyo3-log from 0.8.2 to 0.8.3. (#15951)
- Bump sentry-sdk from 1.26.0 to 1.28.1. (#15985)
- Bump serde_json from 1.0.100 to 1.0.103. (#15950)
- Bump types-pillow from 9.5.0.4 to 10.0.0.1. (#15932)
- Bump types-requests from 2.31.0.1 to 2.31.0.2. (#15983)
- Bump typing-extensions from 4.5.0 to 4.7.1. (#15947)