Synapse 1.42.0rc1 (2021-09-01)
Server administrators are reminded to read the upgrade notes.
Features
- Add support for MSC3231: Token authenticated registration. Users can be required to submit a token during registration to authenticate themselves. Contributed by Callum Brown. (#10142)
- Add support for MSC3283: Expose
enable_set_displayname
in capabilities. (#10452) - Port the
PresenceRouter
module interface to the new generic interface. (#10524) - Add pagination to the spaces summary based on updates to MSC2946. (#10613, #10725)
Bugfixes
- Validate new
m.room.power_levels
events. Contributed by @aaronraimist. (#10232) - Display an error on User-Interactive Authentication fallback pages when authentication fails. Contributed by Callum Brown. (#10561)
- Remove pushers when deleting an e-mail address from an account. Pushers for old unlinked emails will also be deleted. (#10581, #10734)
- Reject Client-Server
/keys/query
requests which providedevice_ids
incorrectly. (#10593) - Rooms with unsupported room versions are no longer returned via
/sync
. (#10644) - Enforce the maximum length for per-room display names and avatar URLs. (#10654)
- Fix a bug which caused the
synapse_user_logins_total
Prometheus metric not to be correctly initialised on restart. (#10677) - Improve
ServerNoticeServlet
to avoid duplicate requests and add unit tests. (#10679) - Fix long-standing issue which caused an error when a thumbnail is requested and there are multiple thumbnails with the same quality rating. (#10684)
- Fix a regression introduced in v1.41.0 which affected the performance of concurrent fetches of large sets of events, in extreme cases causing the process to hang. (#10703)
- Fix a regression introduced in Synapse 1.41 which broke email transmission on Systems using older versions of the Twisted library. (#10713)
Improved Documentation
- Add documentation on how to connect Django with Synapse using OpenID Connect and django-oauth-toolkit. Contributed by @HugoDelval. (#10192)
- Advertise https://matrix-org.github.io/synapse documentation in the
README
andCONTRIBUTING
files. (#10595) - Fix some of the titles not rendering in the OpenID Connect documentation. (#10639)
- Minor clarifications to the documentation for reverse proxies. (#10708)
- Remove table of contents from the top of installation and contributing documentation pages. (#10711)
Deprecations and Removals
- Remove deprecated Shutdown Room and Purge Room Admin API. (#8830)
Internal Changes
- Improve type hints for the proxy agent and SRV resolver modules. Contributed by @dklimpel. (#10608)
- Clean up some of the federation event authentication code for clarity. (#10614, #10615, #10624, #10640)
- Add a comment asking developers to leave a reason when bumping the database schema version. (#10621)
- Remove not needed database updates in modify user admin API. (#10627)
- Convert room member storage tuples to
attrs
classes. (#10629, #10642) - Use auto-attribs for the attrs classes used in sync. (#10630)
- Make
backfill
andget_missing_events
use the same codepath. (#10645) - Improve the performance of the
/hierarchy
API (from MSC2946) by caching responses received over federation. (#10647) - Run a nightly CI build against Twisted trunk. (#10651, #10672)
- Do not print out stack traces for network errors when fetching data over federation. (#10662)
- Simplify tests for device admin rest API. (#10664)
- Add missing type hints to REST servlets. (#10665, #10666, #10674)
- Flatten the
tests.synapse.rests
package by moving the contents ofv1
andv2_alpha
into the parent. (#10667) - Update
complement.sh
to rebuild the base Docker image when run with workers. (#10686) - Split the event-processing methods in
FederationHandler
into a separateFederationEventHandler
. (#10692) - Remove unused
compare_digest
function. (#10706)