Synapse v1.22.0 Release Notes
Release Date: 2020-10-27 // over 3 years ago-
Synapse 1.22.0 (2020-10-27)
No significant changes.
Synapse 1.22.0rc2 (2020-10-26)
๐ Bugfixes
- ๐ Fix bugs where ephemeral events were not sent to appservices. Broke in v1.22.0rc1. (#8648, #8656)
- Fix
user_daily_visits
table to not have duplicate rows per user/device due to multiple user agents. Broke in v1.22.0rc1. (#8654)
Synapse 1.22.0rc1 (2020-10-22)
๐ Features
- โ Add a configuration option for always using the "userinfo endpoint" for OpenID Connect. This fixes support for some identity providers, e.g. GitLab. Contributed by Benjamin Koch. (#7658)
- โ Add ability for
ThirdPartyEventRules
modules to query and manipulate whether a room is in the public rooms directory. (#8292, #8467) - โ Add support for olm fallback keys (MSC2732). (#8312, #8501)
- โ Add support for running background tasks in a separate worker process. (#8369, #8458, #8489, #8513, #8544, #8599)
- โ Add support for device dehydration (MSC2697). (#8380)
- โ Add support for MSC2409, which allows sending typing, read receipts, and presence events to appservices. (#8437, #8590)
- ๐ Change default room version to "6", per MSC2788. (#8461)
- โ Add the ability to send non-membership events into a room via the
ModuleApi
. (#8479) - 0๏ธโฃ Increase default upload size limit from 10M to 50M. Contributed by @Akkowicz. (#8502)
- โ Add support for modifying event content in
ThirdPartyRules
modules. (#8535, #8564)
๐ Bugfixes
- ๐ Fix a longstanding bug where invalid ignored users in account data could break clients. (#8454)
- ๐ Fix a bug where backfilling a room with an event that was missing the
redacts
field would break. (#8457) - Don't attempt to respond to some requests if the client has already disconnected. (#8465)
- ๐ Fix message duplication if something goes wrong after persisting the event. (#8476)
- ๐ Fix incremental sync returning an incorrect
prev_batch
token in timeline section, which when used to paginate returned events that were included in the incremental sync. Broken since v0.16.0. (#8486) - ๐ฆ Expose the
uk.half-shot.msc2778.login.application_service
to clients from the login API. This feature was added in v1.21.0, but was not exposed as a potential login flow. (#8504) - Fix error code for
/profile/{userId}/displayname
to beM_BAD_JSON
. (#8517) - ๐ Fix a bug introduced in v1.7.0 that could cause Synapse to insert values from non-state
m.room.retention
events into theroom_retention
database table. (#8527) - ๐ Fix not sending events over federation when using sharded event writers. (#8536)
- ๐ Fix a long standing bug where email notifications for encrypted messages were blank. (#8545)
- ๐ Fix increase in the number of
There was no active span...
errors logged when using OpenTracing. (#8567) - Fix a bug that prevented errors encountered during execution of the
synapse_port_db
from being correctly printed. (#8585) - ๐ Fix appservice transactions to only include a maximum of 100 persistent and 100 ephemeral events. (#8606)
โก๏ธ Updates to the Docker image
- โ Added multi-arch support (arm64,arm/v7) for the docker images. Contributed by @maquis196. (#7921)
- โ Add support for passing commandline args to the synapse process. Contributed by @samuel-p. (#8390)
๐ Improved Documentation
- โก๏ธ Update the directions for using the manhole with coroutines. (#8462)
- ๐ Improve readme by adding new shield.io badges. (#8493)
- โ Added note about docker in manhole.md regarding which ip address to bind to. Contributed by @maquis196. (#8526)
- Document the new behaviour of the
allowed_lifetime_min
andallowed_lifetime_max
settings in the room retention configuration. (#8529)
๐ Deprecations and Removals
- Drop unused
device_max_stream_id
table. (#8589)
Internal Changes
- Check for unreachable code with mypy. (#8432)
- โ Add unit test for event persister sharding. (#8433)
- ๐ Allow events to be sent to clients sooner when using sharded event persisters. (#8439, #8488, #8496, #8499)
- ๐ง Configure
public_baseurl
when using demo scripts. (#8443) - โ Add SQL logging on queries that happen during startup. (#8448)
- โ Speed up unit tests when using PostgreSQL. (#8450)
- โ Remove redundant database loads of stream_ordering for events we already have. (#8452)
- โฌ๏ธ Reduce inconsistencies between codepaths for membership and non-membership events. (#8463)
- Combine
SpamCheckerApi
with the more genericModuleApi
. (#8464) - โ Additional testing for
ThirdPartyEventRules
. (#8468) - โ Add
-d
option to./scripts-dev/lint.sh
to lint files that have changed since the last git commit. (#8472) - โ Unblacklist some sytests. (#8474)
- ๐ฒ Include the log level in the phone home stats. (#8477)
- โ Remove outdated sphinx documentation, scripts and configuration. (#8480)
- ๐ Clarify error message when plugin config parsers raise an error. (#8492)
- โ Remove the deprecated
Handlers
object. (#8494) - ๐ Fix a threadsafety bug in unit tests. (#8497)
- Add user agent to user_daily_visits table. (#8503)
- โ Add type hints to various parts of the code base. (#8407, #8505, #8507, #8547, #8562, #8609)
- โ Remove unused code from the test framework. (#8514)
- ๐ Apply some internal fixes to the
HomeServer
class to make its code more idiomatic and statically-verifiable. (#8515) - Factor out common code between
RoomMemberHandler._locally_reject_invite
andEventCreationHandler.create_event
. (#8537) - ๐ Improve database performance by executing more queries without starting transactions. (#8542)
- ๐ Rename
Cache
toDeferredCache
, to better reflect its purpose. (#8548) - ๐ Move metric registration code down into
LruCache
. (#8561, #8591) - Replace
DeferredCache
with the lighter-weightLruCache
where possible. (#8563) - โ Add virtualenv-generated folders to
.gitignore
. (#8566) - โ Add
get_immediate
method toDeferredCache
. (#8568) - ๐ Fix mypy not properly checking across the codebase, additionally, fix a typing assertion error in
handlers/auth.py
. (#8569) - ๐ Fix
synmark
benchmark runner. (#8571) - Modify
DeferredCache.get()
to returnDeferred
s instead ofObservableDeferred
s. (#8572) - Adjust a protocol-type definition to fit
sqlite3
assertions. (#8577) - ๐ Support macOS on the
synmark
benchmark runner. (#8578) - โก๏ธ Update
mypy
static type checker to 0.790. (#8583, #8600) - ๐ฒ Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. (#8587)
- โ Remove extraneous unittest logging decorators from unit tests. (#8592)
- Minor optimisations in caching code. (#8593, #8594)