Synapse 1.48.0rc1 (2021-11-25)
This release removes support for the long-deprecated trust_identity_server_for_password_resets
configuration flag.
This release also fixes some performance issues with some background database updates introduced in Synapse 1.47.0.
Features
- Experimental support for the thread relation defined in MSC3440. (#11161)
- Support filtering by relation senders & types per MSC3440. (#11236)
- Add support for the
/_matrix/client/v3
and/_matrix/media/v3
APIs from Matrix v1.1. (#11318, #11371) - Support the stable version of MSC2778: the
m.login.application_service
login type. Contributed by @tulir. (#11335) - Add a new version of delete room admin API
DELETE /_synapse/admin/v2/rooms/<room_id>
to run it in the background. Contributed by @dklimpel. (#11223) - Allow the admin Delete Room API to block a room without the need to join it. (#11228)
- Add an admin API to un-shadow-ban a user. (#11347)
- Add an admin API to run background database schema updates. (#11352)
- Add an admin API for blocking a room. (#11324)
- Update the JWT login type to support custom a
sub
claim. (#11361) - Store and allow querying of arbitrary event relations. (#11391)
Bugfixes
- Fix a long-standing bug wherein display names or avatar URLs containing null bytes cause an internal server error when stored in the DB. (#11230)
- Prevent MSC2716 historical state events from being pushed to an application service via
/transactions
. (#11265) - Fix a long-standing bug where uploading extremely thin images (e.g. 1000x1) would fail. Contributed by @Neeeflix. (#11288)
- Fix a bug, introduced in Synapse 1.46.0, which caused the
check_3pid_auth
andon_logged_out
callbacks in legacy password authentication provider modules to not be registered. Modules using the generic module interface were not affected. (#11340) - Fix a bug introduced in 1.41.0 where space hierarchy responses would be incorrectly reused if multiple users were to make the same request at the same time. (#11355)
- Fix a bug introduced in 1.45.0 where the
read_templates
method of the module API would error. (#11377) - Fix an issue introduced in 1.47.0 which prevented servers re-joining rooms they had previously left, if their signing keys were replaced. (#11379)
- Fix a bug introduced in 1.13.0 where creating and publishing a room could cause errors if
room_list_publication_rules
is configured. (#11392) - Improve performance of various background database updates. (#11421, #11422)
Improved Documentation
- Suggest users of the Debian packages add configuration to
/etc/matrix-synapse/conf.d/
to prevent, upon upgrade, being asked to choose between their configuration and the maintainer's. (#11281) - Fix typos in the documentation for the
username_available
admin API. Contributed by Stanislav Motylkov. (#11286) - Add Single Sign-On, SAML and CAS pages to the documentation. (#11298)
- Change the word 'Home server' as one word 'homeserver' in documentation. (#11320)
- Fix missing quotes for wildcard domains in
federation_certificate_verification_whitelist
. (#11381)
Deprecations and Removals
- Remove deprecated
trust_identity_server_for_password_resets
configuration flag. (#11395)
Internal Changes
- Add type annotations to
synapse.metrics
. (#10847) - Split out federated PDU retrieval function into a non-cached version. (#11242)
- Clean up code relating to to-device messages and sending ephemeral events to application services. (#11247)
- Fix a small typo in the error response when a relation type other than 'm.annotation' is passed to
GET /rooms/{room_id}/aggregations/{event_id}
. (#11278) - Drop unused database tables
room_stats_historical
anduser_stats_historical
. (#11280) - Require all files in synapse/ and tests/ to pass mypy unless specifically excluded. (#11282, #11285, #11359)
- Add missing type hints to
synapse.app
. (#11287) - Remove unused parameters on
FederationEventHandler._check_event_auth
. (#11292) - Add type hints to
synapse._scripts
. (#11297) - Fix an issue which prevented the
remove_deleted_devices_from_device_inbox
background database schema update from running when updating from a recent Synapse version. (#11303) - Add type hints to storage classes. (#11307, #11310, #11311, #11312, #11313, #11314, #11316, #11322, #11332, #11339, #11342)
- Add type hints to
synapse.util
. (#11321, #11328) - Improve type annotations in Synapse's test suite. (#11323, #11330)
- Test that room alias deletion works as intended. (#11327)
- Remove deprecated
trust_identity_server_for_password_resets
configuration flag. (#11333) - Add type annotations for some methods and properties in the module API. (#11341)
- Fix running
scripts-dev/complement.sh
, which was broken in v1.47.0rc1. (#11368) - Rename internal functions for token generation to better reflect what they do. (#11369, #11370)
- Add type hints to configuration classes. (#11377)
- Publish a
develop
image to Docker Hub. (#11380) - Keep fallback key marked as used if it's re-uploaded. (#11382)
- Use
auto_attribs
on theattrs
classRefreshTokenLookupResult
. (#11386) - Rename unstable
access_token_lifetime
configuration option torefreshable_access_token_lifetime
to make it clear it only concerns refreshable access tokens. (#11388) - Do not run the broken MSC2716 tests when running
scripts-dev/complement.sh
. (#11389) - Remove dead code from supporting ACME. (#11393)
- Refactor including the bundled relations when serializing an event. (#11408)