Unread message counts in the sync response to help our client developers, this is a precursor to improving notification support.
No less than 28 async/await PRs, so we can finally share all the hard work.
Also take note that in a future release, we will be dropping support for accessing Synapse's Admin API using the /_matrix/client/* prefixes. More details follow in the changelog.
Historically, the Synapse Admin API has been accessible under the /_matrix/client/api/v1/admin, /_matrix/client/unstable/admin, /_matrix/client/r0/admin and /_synapse/admin prefixes. In a future release, we will be dropping support for accessing Synapse's Admin API using the /_matrix/client/* prefixes. This makes it easier for homeserver admins to lock down external access to the Admin API endpoints.
Synapse 1.20.0rc5 (2020-09-18)
In addition to the below, Synapse 1.20.0rc5 also includes the bug fix that was included in 1.19.3.
Features
Add flags to the /versions endpoint for whether new rooms default to using E2EE. (#8343)
Bugfixes
Fix rate limiting of federation /send requests. (#8342)
Fix a longstanding bug where back pagination over federation could get stuck if it failed to handle a received event. (#8349)
Internal Changes
Blacklist MSC2753 SyTests until it is implemented. (#8285)
Synapse 1.20.0rc4 (2020-09-16)
Synapse 1.20.0rc4 is identical to 1.20.0rc3, with the addition of the security fix that was included in 1.19.2.
Synapse 1.20.0rc3 (2020-09-11)
Bugfixes
Fix a bug introduced in v1.20.0rc1 where the wrong exception was raised when invalid JSON data is encountered. (#8291)
Synapse 1.20.0rc2 (2020-09-09)
Bugfixes
Fix a bug introduced in v1.20.0rc1 causing some features related to notifications to misbehave following the implementation of unread counts. (#8280)
Synapse 1.20.0rc1 (2020-09-08)
Removal warning
Some older clients used a disallowed character (:) in the client_secret parameter of various endpoints. The incorrect behaviour was allowed for backwards compatibility, but is now being removed from Synapse as most users have updated their client. Further context can be found at #6766.
Features
Add an endpoint to query your shared rooms with another user as an implementation of MSC2666. (#7785)
Iteratively encode JSON to avoid blocking the reactor. (#8013, #8116)
Synapse now correctly enforces the valid characters in the client_secret parameter used in various endpoints. (#8101)
Fix a bug introduced in v1.7.2 impacting message retention policies that would allow federated homeservers to dictate a retention period that's lower than the configured minimum allowed duration in the configuration file. (#8104)
Fix a long-standing bug where invalid JSON would be accepted by Synapse. (#8106)
Fix a bug introduced in Synapse v1.12.0 which could cause /sync requests to fail with a 404 if you had a very old outstanding room invite. (#8110)
Return a proper error code when the rooms of an invalid group are requested. (#8129)
Fix a bug which could cause a leaked postgres connection if synapse was set to daemonize. (#8131)
Clarify the error code if a user tries to register with a numeric ID. This bug was introduced in v1.15.0. (#8135)
Fix a bug where appservices with ratelimiting disabled would still be ratelimited when joining rooms. This bug was introduced in v1.19.0. (#8139)
Fix logging in via OpenID Connect with a provider that uses integer user IDs. (#8190)
Fix a longstanding bug where user directory updates could break when unexpected profile data was included in events. (#8223)
Fix a longstanding bug where stats updates could break when unexpected profile data was included in events. (#8226)
Fix slow start times for large servers by removing a table scan of the users table from startup code. (#8271)
Updates to the Docker image
Fix builds of the Docker image on non-x86 platforms. (#8144)
Added curl for healthcheck support and readme updates for the change. Contributed by @maquis196. (#8147)
Improved Documentation
Link to matrix-synapse-rest-password-provider in the password provider documentation. (#8111)
Updated documentation to note that Synapse does not follow HTTP 308 redirects due to an upstream library not supporting them. Contributed by Ryan Cole. (#8120)
Explain better what GDPR-erased means when deactivating a user. (#8189)
Internal Changes
Add filter name to the /users admin API, which filters by user ID or displayname. Contributed by Awesome Technologies Innovationslabor GmbH. (#7377, #8163)
Reduce run times of some unit tests by advancing the reactor a fewer number of times. (#7757)
Don't fail /submit_token requests on incorrect session ID if request_token_inhibit_3pid_errors is turned on. (#7991)