Synapse 1.30.0rc1 (2021-03-16)
Note that this release deprecates the ability for appservices to call POST /_matrix/client/r0/register
without the body parameter type
. Appservice developers should use a type
value of m.login.application_service
as per the spec. In future releases, calling this endpoint with an access token - but without a m.login.application_service
type - will fail.
Features
- Add prometheus metrics for number of users successfully registering and logging in. (#9510, #9511, #9573)
- Add
synapse_federation_last_sent_pdu_time
andsynapse_federation_last_received_pdu_time
prometheus metrics, which monitor federation delays by reporting the timestamps of messages sent and received to a set of remote servers. (#9540) - Add support for generating JSON Web Tokens dynamically for use as OIDC client secrets. (#9549)
- Optimise handling of incomplete room history for incoming federation. (#9601)
- Finalise support for allowing clients to pick an SSO Identity Provider (MSC2858). (#9617)
- Tell spam checker modules about the SSO IdP a user registered through if one was used. (#9626)
Bugfixes
- Fix long-standing bug when generating thumbnails for some images with transparency:
TypeError: cannot unpack non-iterable int object
. (#9473) - Purge chain cover indexes for events that were purged prior to Synapse v1.29.0. (#9542, #9583)
- Fix bug where federation requests were not correctly retried on 5xx responses. (#9567)
- Fix re-activating an account via the admin API when local passwords are disabled. (#9587)
- Fix a bug introduced in Synapse 1.20 which caused incoming federation transactions to stack up, causing slow recovery from outages. (#9597)
- Fix a bug introduced in v1.28.0 where the OpenID Connect callback endpoint could error with a
MacaroonInitException
. (#9620) - Fix Internal Server Error on
GET /_synapse/client/saml2/authn_response
request. (#9623)
Updates to the Docker image
- Use jemalloc if available in docker. (#8553)
Improved Documentation
- Add relayd entry to reverse proxy example configurations. (#9508)
- Improve the SAML2 upgrade notes for 1.27.0. (#9550)
- Link to the "List user's media" admin API from the media admin API docs. (#9571)
- Clarify the spam checker modules documentation example to mention that
parse_config
is a required method. (#9580) - Clarify the sample configuration for
stats
settings. (#9604)
Deprecations and Removals
- The
synapse_federation_last_sent_pdu_age
andsynapse_federation_last_received_pdu_age
prometheus metrics have been removed. They are replaced bysynapse_federation_last_sent_pdu_time
andsynapse_federation_last_received_pdu_time
. (#9540) - Registering an Application Service user without using the
m.login.application_service
login type will be unsupported in an upcoming Synapse release. (#9559)
Internal Changes
- Add tests to ResponseCache. (#9458)
- Add type hints to purge room and server notice admin API. (#9520)
- Add extra logging to ObservableDeferred when callbacks throw exceptions. (#9523)
- Fix incorrect type hints. (#9528, #9543, #9591, #9608, #9618)
- Add an additional test for purging a room. (#9541)
- Add a
.git-blame-ignore-revs
file with the hashes of auto-formatting. (#9560) - Increase the threshold before which outbound federation to a server goes into "catch up" mode, which is expensive for the remote server to handle. (#9561)
- Fix spurious errors reported by the
config-lint.sh
script. (#9562) - Fix type hints and tests for BlacklistingAgentWrapper and BlacklistingReactorWrapper. (#9563)
- Do not have mypy ignore type hints from unpaddedbase64. (#9568)
- Improve efficiency of calculating the auth chain in large rooms. (#9576)
- Convert
synapse.types.Requester
to anattrs
class. (#9586) - Add logging for redis connection setup. (#9590)
- Improve logging when processing incoming transactions. (#9596)
- Remove unused
stats.retention
setting, and emit a warning if stats are disabled. (#9604) - Prevent attempting to bundle aggregations for state events in /context APIs. (#9619)