Synapse 1.24.0rc1 (2020-12-02)
Features
- Add admin API for logging in as a user. (#8617)
- Allow specification of the SAML IdP if the metadata returns multiple IdPs. (#8630)
- Add support for re-trying generation of a localpart for OpenID Connect mapping providers. (#8801, #8855)
- Allow the
Date
header through CORS. Contributed by Nicolas Chamo. (#8804) - Add a config option,
push.group_by_unread_count
, which controls whether unread message counts in push notifications are defined as "the number of rooms with unread messages" or "total unread messages". (#8820) - Add
force_purge
option to delete-room admin api. (#8843)
Bugfixes
- Fix a bug where appservices may be sent an excessive amount of read receipts and presence. Broke in v1.22.0. (#8744)
- Fix a bug in some federation APIs which could lead to unexpected behaviour if different parameters were set in the URI and the request body. (#8776)
- Fix a bug where synctl could spawn duplicate copies of a worker. Contributed by Waylon Cude. (#8798)
- Allow per-room profiles to be used for the server notice user. (#8799)
- Fix a bug where logging could break after a call to SIGHUP. (#8817)
- Fix
register_new_matrix_user
failing with "Bad Request" when trailing slash is included in server URL. Contributed by @angdraug. (#8823) - Fix a minor long-standing bug in login, where we would offer the
password
login type if a custom auth provider supported it, even if password login was disabled. (#8835) - Fix a long-standing bug which caused Synapse to require unspecified parameters during user-interactive authentication. (#8848)
- Fix a bug introduced in v1.20.0 where the user-agent and IP address reported during user registration for CAS, OpenID Connect, and SAML were of the wrong form. (#8784)
Improved Documentation
- Clarify the usecase for a msisdn delegate. Contributed by Adrian Wannenmacher. (#8734)
- Remove extraneous comma from JSON example in User Admin API docs. (#8771)
- Update
turn-howto.md
with troubleshooting notes. (#8779) - Fix the example on how to set the
Content-Type
header in nginx for the Client Well-Known URI. (#8793) - Improve the documentation for the admin API to list all media in a room with respect to encrypted events. (#8795)
- Update the formatting of the
push
section of the homeserver config file to better align with the code style guidelines. (#8818) - Improve documentation how to configure prometheus for workers. (#8822)
- Update example prometheus console. (#8824)
Deprecations and Removals
- Remove old
/_matrix/client/*/admin
endpoints which were deprecated since Synapse 1.20.0. (#8785) - Disable pretty printing JSON responses for curl. Users who want pretty-printed output should use jq in combination with curl. Contributed by @tulir. (#8833)
Internal Changes
- Simplify the way the
HomeServer
object caches its internal attributes. (#8565, #8851) - Add an example and documentation for clock skew to the SAML2 sample configuration to allow for clock/time difference between the homserver and IdP. Contributed by @localguru. (#8731)
- Generalise
RoomMemberHandler._locally_reject_invite
to apply to more flows than just invite. (#8751) - Generalise
RoomStore.maybe_store_room_on_invite
to handle other, non-invite membership events. (#8754) - Refactor test utilities for injecting HTTP requests. (#8757, #8758, #8759, #8760, #8761, #8777)
- Consolidate logic between the OpenID Connect and SAML code. (#8765)
- Use
TYPE_CHECKING
instead of magicMYPY
variable. (#8770) - Add a commandline script to sign arbitrary json objects. (#8772)
- Minor log line improvements for the SSO mapping code used to generate Matrix IDs from SSO IDs. (#8773)
- Add additional error checking for OpenID Connect and SAML mapping providers. (#8774, #8800)
- Add type hints to HTTP abstractions. (#8806, #8812)
- Remove unnecessary function arguments and add typing to several membership replication classes. (#8809)
- Optimise the lookup for an invite from another homeserver when trying to reject it. (#8815)
- Add tests for
password_auth_provider
s. (#8819) - Drop redundant database index on
event_json
. (#8845) - Simplify
uk.half-shot.msc2778.login.application_service
login handler. (#8847) - Refactor
password_auth_provider
support code. (#8849) - Add missing
ordering
to background database updates. (#8850) - Allow for specifying a room version when creating a room in unit tests via
RestHelper.create_room_as
. (#8854)