Synapse 1.26.0 (2021-01-27)
This release brings a new schema version for Synapse and rolling back to a previous version is not trivial. Please review UPGRADE.rst for more details on these changes and for general upgrade guidance.
No significant changes since 1.26.0rc2.
Synapse 1.26.0rc2 (2021-01-25)
Bugfixes
- Fix receipts and account data not being sent down sync. Introduced in v1.26.0rc1. (#9193, #9195)
- Fix chain cover update to handle events with duplicate auth events. Introduced in v1.26.0rc1. (#9210)
Internal Changes
- Add an
oidc-
prefix to anyidp_id
s which are given in theoidc_providers
configuration. (#9189) - Bump minimum
psycopg2
version to v2.8. (#9204)
Synapse 1.26.0rc1 (2021-01-20)
This release brings a new schema version for Synapse and rolling back to a previous version is not trivial. Please review UPGRADE.rst for more details on these changes and for general upgrade guidance.
Features
- Add support for multiple SSO Identity Providers. (#9015, #9017, #9036, #9067, #9081, #9082, #9105, #9107, #9109, #9110, #9127, #9153, #9154, #9177)
- During user-interactive authentication via single-sign-on, give a better error if the user uses the wrong account on the SSO IdP. (#9091)
- Give the
public_baseurl
a default value, if it is not explicitly set in the configuration file. (#9159) - Improve performance when calculating ignored users in large rooms. (#9024)
- Implement MSC2176 in an experimental room version. (#8984)
- Add an admin API for protecting local media from quarantine. (#9086)
- Remove a user's avatar URL and display name when deactivated with the Admin API. (#8932)
- Update
/_synapse/admin/v1/users/<user_id>/joined_rooms
to work for both local and remote users. (#8948) - Add experimental support for handling to-device messages on worker processes. (#9042, #9043, #9044, #9130)
- Add experimental support for handling
/keys/claim
and/room_keys
APIs on worker processes. (#9068) - Add experimental support for handling
/devices
API on worker processes. (#9092) - Add experimental support for moving off receipts and account data persistence off master. (#9104, #9166)
Bugfixes
- Fix a long-standing issue where an internal server error would occur when requesting a profile over federation that did not include a display name / avatar URL. (#9023)
- Fix a long-standing bug where some caches could grow larger than configured. (#9028)
- Fix error handling during insertion of client IPs into the database. (#9051)
- Fix bug where we didn't correctly record CPU time spent in
on_new_event
block. (#9053) - Fix a minor bug which could cause confusing error messages from invalid configurations. (#9054)
- Fix incorrect exit code when there is an error at startup. (#9059)
- Fix
JSONDecodeError
spamming the logs when sending transactions to remote servers. (#9070) - Fix "Failed to send request" errors when a client provides an invalid room alias. (#9071)
- Fix bugs in federation catchup logic that caused outbound federation to be delayed for large servers after start up. Introduced in v1.8.0 and v1.21.0. (#9114, #9116)
- Fix corruption of
pushers
data when a postgres bouncer is used. (#9117) - Fix minor bugs in handling the
clientRedirectUrl
parameter for SSO login. (#9128) - Fix "Unhandled error in Deferred: BodyExceededMaxSize" errors when .well-known files that are too large. (#9108)
- Fix "UnboundLocalError: local variable 'length' referenced before assignment" errors when the response body exceeds the expected size. This bug was introduced in v1.25.0. (#9145)
- Fix a long-standing bug "ValueError: invalid literal for int() with base 10" when
/publicRooms
is requested with an invalidserver
parameter. (#9161)
Improved Documentation
- Add some extra docs for getting Synapse running on macOS. (#8997)
- Correct a typo in the
systemd-with-workers
documentation. (#9035) - Correct a typo in
INSTALL.md
. (#9040) - Add missing
user_mapping_provider
configuration to the Keycloak OIDC example. Contributed by @chris-ruecker. (#9057) - Quote
pip install
packages when extras are used to avoid shells interpreting bracket characters. (#9151)
Deprecations and Removals
- Remove broken and unmaintained
demo/webserver.py
script. (#9039)
Internal Changes
- Improve efficiency of large state resolutions. (#8868, #9029, #9115, #9118, #9124)
- Various clean-ups to the structured logging and logging context code. (#8939)
- Ensure rejected events get added to some metadata tables. (#9016)
- Ignore date-rotated homeserver logs saved to disk. (#9018)
- Remove an unused column from
access_tokens
table. (#9025) - Add a
-noextras
factor totox.ini
, to support running the tests with no optional dependencies. (#9030) - Fix running unit tests when optional dependencies are not installed. (#9031)
- Allow bumping schema version when using split out state database. (#9033)
- Configure the linters to run on a consistent set of files. (#9038)
- Various cleanups to device inbox store. (#9041)
- Drop unused database tables. (#9055)
- Remove unused
SynapseService
class. (#9058) - Remove unnecessary declarations in the tests for the admin API. (#9063)
- Remove
SynapseRequest.get_user_agent
. (#9069) - Remove redundant
Homeserver.get_ip_from_request
method. (#9080) - Add type hints to media repository. (#9093)
- Fix the wrong arguments being passed to
BlacklistingAgentWrapper
fromMatrixFederationAgent
. Contributed by Timothy Leung. (#9098) - Reduce the scope of caught exceptions in
BlacklistingAgentWrapper
. (#9106) - Improve
UsernamePickerTestCase
. (#9112) - Remove dependency on
distutils
. (#9125) - Enforce that replication HTTP clients are called with keyword arguments only. (#9144)
- Fix the Python 3.5 / old dependencies build in CI. (#9146)
- Replace the old
perspectives
option in the Synapse docker config file template withtrusted_key_servers
. (#9157)