Synapse 1.63.0rc1 (2022-07-12)
Features
- Add a rate limit for local users sending invites. (#13125)
- Implement MSC3827: Filtering of
/publicRooms
by room type. (#13031) - Improve validation logic in Synapse's REST endpoints. (#13148)
Bugfixes
- Fix a long-standing bug where application services were not able to join remote federated rooms without a profile. (#13131)
- Fix a long-standing bug where
_get_state_map_for_room
might raise errors when third party event rules callbacks are present. (#13174) - Fix a long-standing bug where the
synapse_port_db
script could fail to copy rows with negative row ids. (#13226) - Fix a bug introduced in 1.54.0 where appservices would not receive room-less EDUs, like presence, when both MSC2409 and MSC3202 are enabled. (#13236)
- Fix a bug introduced in 1.62.0 where rows were not deleted from
event_push_actions
table on large servers. (#13194) - Fix a bug introduced in 1.62.0 where notification counts would get stuck after a highlighted message. (#13223)
- Fix exception when using experimental MSC3030
/timestamp_to_event
endpoint to look for remote federated imported events before room creation. (#13197) - Fix MSC3202-enabled appservices not receiving to-device messages, preventing messages from being decrypted. (#13235)
Updates to the Docker image
- Bump the version of
lxml
in matrix.org Docker images Debian packages from 4.8.0 to 4.9.1. (#13207)
Improved Documentation
- Add an explanation of the
--report-stats
argument to the docs. (#13029) - Add a helpful example bash script to the contrib directory for creating multiple worker configuration files of the same type. Contributed by @villepeh. (#13032)
- Add missing links to config options. (#13166)
- Add documentation for anonymised homeserver statistics collection. (#13086)
- Add documentation for the existing
databases
option in the homeserver configuration manual. (#13212) - Clean up references to sample configuration and redirect users to the configuration manual instead. (#13077, #13139)
- Document how the Synapse team does reviews. (#13132)
- Fix wrong section header for
allow_public_rooms_over_federation
in the homeserver config documentation. (#13116)
Deprecations and Removals
Internal Changes
- Add type annotations to
synapse.logging
,tests.server
andtests.utils
. (#13028, #13103, #13159, #13136) - Enforce type annotations for
tests.test_server
. (#13135) - Support temporary experimental return values for spam checker module callbacks. (#13044)
- Add support to
complement.sh
for skipping the docker build. (#13143, #13158) - Add support to
complement.sh
for setting the log level using theSYNAPSE_TEST_LOG_LEVEL
environment variable. (#13152) - Enable Complement testing in the 'Twisted Trunk' CI runs. (#13079, #13157)
- Improve startup times in Complement test runs against workers, particularly in CPU-constrained environments. (#13127)
- Update config used by Complement to allow device name lookup over federation. (#13167)
- Faster room joins: handle race between persisting an event and un-partial stating a room. (#13100)
- Faster room joins: fix race in recalculation of current room state. (#13151)
- Faster room joins: skip waiting for full state when processing incoming events over federation. (#13144)
- Raise a
DependencyError
on missing dependencies instead of aConfigError
. (#13113) - Avoid stripping line breaks from SQL sent to the database. (#13129)
- Apply ratelimiting earlier in processing of
/send
requests. (#13134) - Improve exception handling when processing events received over federation. (#13145)
- Check that
auto_vacuum
is disabled when porting a SQLite database to Postgres, asVACUUM
s must not be performed between runs of the script. (#13195) - Reduce DB usage of
/sync
when a large number of unread messages have recently been sent in a room. (#13119, #13153) - Reduce memory consumption when processing incoming events in large rooms. (#13078, #13222)
- Reduce number of queries used to get profile information. Contributed by Nick @ Beeper (@Fizzadar). (#13209)
- Reduce number of events queried during room creation. Contributed by Nick @ Beeper (@Fizzadar). (#13210)
- More aggressively rotate push actions. (#13211)
- Add
max_line_length
setting for Python files to the.editorconfig
. Contributed by @sumnerevans @ Beeper. (#13228)