Synapse 1.28.0 (2021-02-25)
Note that this release drops support for ARMv7 in the official Docker images, due to repeated problems building for ARMv7 (and the associated maintenance burden this entails).
This release also fixes the documentation included in v1.27.0 around the callback URI for SAML2 identity providers. If your server is configured to use single sign-on via a SAML2 IdP, you may need to make configuration changes. Please review UPGRADE.rst for more details on these changes.
Internal Changes
- Revert change in v1.28.0rc1 to remove the deprecated SAML endpoint. (#9474)
Synapse 1.28.0rc1 (2021-02-19)
Removal warning
The v1 list accounts API is deprecated and will be removed in a future release. This API was undocumented and misleading. It can be replaced by the v2 list accounts API, which has been available since Synapse 1.7.0 (2019-12-13).
Please check if you're using any scripts which use the admin API and replace GET /_synapse/admin/v1/users/<user_id>
with GET /_synapse/admin/v2/users
.
Features
- New admin API to get the context of an event:
/_synapse/admin/rooms/{roomId}/context/{eventId}
. (#9150) - Further improvements to the user experience of registration via single sign-on. (#9300, #9301)
- Add hook to spam checker modules that allow checking file uploads and remote downloads. (#9311)
- Add support for receiving OpenID Connect authentication responses via form
POST
s rather thanGET
s. (#9376) - Add the shadow-banning status to the admin API for user info. (#9400)
Bugfixes
- Fix long-standing bug where sending email notifications would fail for rooms that the server had since left. (#9257)
- Fix bug introduced in Synapse 1.27.0rc1 which meant the "session expired" error page during SSO registration was badly formatted. (#9296)
- Assert a maximum length for some parameters for spec compliance. (#9321, #9393)
- Fix additional errors when previewing URLs: "AttributeError 'NoneType' object has no attribute 'xpath'" and "ValueError: Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration.". (#9333)
- Fix a bug causing Synapse to impose the wrong type constraints on fields when processing responses from appservices to
/_matrix/app/v1/thirdparty/user/{protocol}
. (#9361) - Fix bug where Synapse would occasionally stop reconnecting to Redis after the connection was lost. (#9391)
- Fix a long-standing bug when upgrading a room: "TypeError: '>' not supported between instances of 'NoneType' and 'int'". (#9395)
- Reduce the amount of memory used when generating the URL preview of a file that is larger than the
max_spider_size
. (#9421) - Fix a long-standing bug in the deduplication of old presence, resulting in no deduplication. (#9425)
- The
ui_auth.session_timeout
config option can now be specified in terms of number of seconds/minutes/etc/. Contributed by Rishabh Arya. (#9426) - Fix a bug introduced in v1.27.0: "TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType." related to the user directory. (#9428)
Updates to the Docker image
- Drop support for ARMv7 in Docker images. (#9433)
Improved Documentation
- Reorganize CHANGELOG.md. (#9281)
- Add note to
auto_join_rooms
config option explaining existing rooms must be publicly joinable. (#9291) - Correct name of Synapse's service file in TURN howto. (#9308)
- Fix the braces in the
oidc_providers
section of the sample config. (#9317) - Update installation instructions on Fedora. (#9322)
- Add HTTP/2 support to the nginx example configuration. Contributed by David Vo. (#9390)
- Update docs for using Gitea as OpenID provider. (#9404)
- Document that pusher instances are shardable. (#9407)
- Fix erroneous documentation from v1.27.0 about updating the SAML2 callback URL. (#9434)
Deprecations and Removals
- Deprecate old admin API
GET /_synapse/admin/v1/users/<user_id>
. (#9429)
Internal Changes
- Fix 'object name reserved for internal use' errors with recent versions of SQLite. (#9003)
- Add experimental support for running Synapse with PyPy. (#9123)
- Deny access to additional IP addresses by default. (#9240)
- Update the
Cursor
type hints to better match PEP 249. (#9299) - Add debug logging for SRV lookups. Contributed by @Bubu. (#9305)
- Improve logging for OIDC login flow. (#9307)
- Share the code for handling required attributes between the CAS and SAML handlers. (#9326)
- Clean up the code to load the metadata for OpenID Connect identity providers. (#9362)
- Convert tests to use
HomeserverTestCase
. (#9377, #9396) - Update the version of black used to 20.8b1. (#9381)
- Allow OIDC config to override discovered values. (#9384)
- Remove some dead code from the acceptance of room invites path. (#9394)
- Clean up an unused method in the presence handler code. (#9408)