Synapse 1.72.0 (2022-11-22)
Please note that Synapse now only supports PostgreSQL 11+, because PostgreSQL 10 has reached end-of-life, c.f. our Deprecation Policy.
Bugfixes
- Update forgotten references to legacy metrics in the included Grafana dashboard. (#14477)
Synapse 1.72.0rc1 (2022-11-16)
Features
- Add experimental support for MSC3912: Relation-based redactions. (#14260)
- Build Debian packages for Ubuntu 22.10 (Kinetic Kudu). (#14396)
- Add an Admin API endpoint for user lookup based on third-party ID (3PID). Contributed by @ashfame. (#14405)
- Faster joins: include heroes' membership events in the partial join response, for rooms without a name or canonical alias. (#14442)
Bugfixes
- Faster joins: do not block creation of or queries for room aliases during the resync. (#14292)
- Fix a bug introduced in Synapse 1.64.0rc1 which could cause log spam when fetching events from other homeservers. (#14347)
- Fix a bug introduced in 1.66 which would not send certain pushrules to clients. Contributed by Nico. (#14356)
- Fix a bug introduced in v1.71.0rc1 where the power level event was incorrectly created during initial room creation. (#14361)
- Fix the refresh token endpoint to be under /r0 and /v3 instead of /v1. Contributed by Tulir @ Beeper. (#14364)
- Fix a long-standing bug where Synapse would raise an error when encountering an unrecognised field in a
/sync
filter, instead of ignoring it for forward compatibility. (#14369) - Fix a background database update, introduced in Synapse 1.64.0, which could cause poor database performance. (#14374)
- Fix PostgreSQL sometimes using table scans for queries against the
event_search
table, taking a long time and a large amount of IO. (#14409) - Fix rendering of some HTML templates (including emails). Introduced in v1.71.0. (#14448)
- Fix a bug introduced in Synapse 1.70.0 where the background updates to add non-thread unique indexes on receipts could fail when upgrading from 1.67.0 or earlier. (#14453)
Updates to the Docker image
- Add all Stream Writer worker types to
configure_workers_and_start.py
. (#14197) - Remove references to legacy worker types in the multi-worker Dockerfile. (#14294)
Improved Documentation
- Upload documentation PRs to Netlify. (#12947, #14370)
- Add addtional TURN server configuration example based on eturnal and adjust general TURN server doc structure. (#14293)
- Add example on how to load balance /sync requests. Contributed by aceArt. (#14297)
- Edit sample Nginx reverse proxy configuration to use HTTP/1.1. Contributed by Brad Jones. (#14414)
Deprecations and Removals
Internal Changes
- Run unit tests against Python 3.11. (#13812)
- Add TLS support for generic worker endpoints. (#14128, #14455)
- Switch to a maintained action for installing Rust in CI. (#14313)
- Add override ability to
complement.sh
command line script to request certain types of workers. (#14324) - Enabling testing of MSC3874 (filtering of
/messages
by relation type) in complement. (#14339) - Concisely log a failure to resolve state due to missing
prev_events
. (#14346) - Use a maintained Github action to install Rust. (#14351)
- Cleanup old worker datastore classes. Contributed by Nick @ Beeper (@Fizzadar). (#14375)
- Test against PostgreSQL 15 in CI. (#14394)
- Remove unreachable code. (#14410)
- Clean-up event persistence code. (#14411)
- Update docstring to clarify that
get_partial_state_events_batch
does not just give you completely arbitrary partial-state events. (#14417) - Fix mypy errors introduced by bumping the locked version of
attrs
andgitpython
. (#14433) - Make Dependabot only bump Rust deps in the lock file. (#14434)
- Fix an incorrect stub return type for
PushRuleEvaluator.run
. (#14451) - Improve performance of
/context
in large rooms. (#14461)