Changelog History
Page 10
-
v1.22.0 Changes
October 27, 2020Synapse 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)
-
v1.22.0.rc2 Changes
October 26, 2020 -
v1.22.0.rc1 Changes
October 22, 2020๐ 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)
Synapse 1.21.2 (2020-10-15)
๐ Debian packages and Docker images have been rebuilt using the latest versions of dependency libraries, including authlib 0.15.1. Please see bugfixes below.
๐ Security advisory
- HTML pages served via Synapse were vulnerable to cross-site scripting (XSS) attacks. All server administrators are encouraged to upgrade. (#8444) (CVE-2020-26891)
This fix was originally included in v1.21.0 but was missing a security advisory.
This was reported by Denis Kasak.
๐ Bugfixes
- ๐ Fix rare bug where sending an event would fail due to a racey assertion. (#8530)
- โก๏ธ An updated version of the authlib dependency is included in the Docker and Debian images to fix an issue using OpenID Connect. See #8534 for details.
Synapse 1.21.1 (2020-10-13)
๐ This release fixes a regression in v1.21.0 that prevented debian packages from being built. It is otherwise identical to v1.21.0.
Synapse 1.21.0 (2020-10-12)
No significant changes since v1.21.0rc3.
As noted in ๐ v1.20.0, ๐ a future release will drop support for accessing Synapse's ๐ Admin API under the
/_matrix/client/*
endpoint prefixes. At that point, the Admin API will only be accessible under/_synapse/admin
. -
v1.21.2 Changes
October 15, 2020Synapse 1.21.2 (2020-10-15)
๐ Debian packages and Docker images have been rebuilt using the latest versions of dependency libraries, including authlib 0.15.1. Please see bugfixes below.
๐ Security advisory
โฌ๏ธ HTML pages served via Synapse were vulnerable to cross-site scripting (XSS) attacks. All server administrators are encouraged to upgrade. (#8444) (CVE-2020-26891)
๐ This fix was originally included in v1.21.0 but was missing a security advisory.
This was reported by Denis Kasak.
๐ Bugfixes
-
v1.21.1 Changes
October 13, 2020Synapse 1.21.1 (2020-10-13)
๐ This release fixes a regression in v1.21.0 that prevented debian packages from being built.
It is otherwise identical to v1.21.0.
-
v1.21.0 Changes
October 12, 2020Synapse 1.21.0 (2020-10-12)
No significant changes since v1.21.0rc3.
As noted in v1.20.0, a future release will drop support for accessing Synapse's Admin API under the
/_matrix/client/*
endpoint prefixes. At that point, the Admin API will only be accessible under/_synapse/admin
.Synapse 1.21.0rc3 (2020-10-08)
๐ Bugfixes
- ๐ Fix duplication of events on high traffic servers, caused by PostgreSQL
could not serialize access due to concurrent update
errors. (#8456)
Internal Changes
- โ Add Groovy Gorilla to the list of distributions we build
.deb
s for. (#8475)
Synapse 1.21.0rc2 (2020-10-02)
๐ Features
- Convert additional templates from inline HTML to Jinja2 templates. (#8444)
๐ Bugfixes
- ๐ Fix a regression in v1.21.0rc1 which broke thumbnails of remote media. (#8438)
- Do not expose the experimental
uk.half-shot.msc2778.login.application_service
flow in the login API, which caused a compatibility problem with Element iOS. (#8440) - ๐ Fix malformed log line in new federation "catch up" logic. (#8442)
- ๐ Fix DB query on startup for negative streams which caused long start up times. Introduced in #8374. (#8447)
Synapse 1.21.0rc1 (2020-10-01)
๐ Features
- Require the user to confirm that their password should be reset after clicking the email confirmation link. (#8004)
- Add an admin API
GET /_synapse/admin/v1/event_reports
to read entries of tableevent_reports
. Contributed by @dklimpel. (#8217) - ๐ง Consolidate the SSO error template across all configuration. (#8248, #8405)
- โ Add a configuration option to specify a whitelist of domains that a user can be redirected to after validating their email or phone number. (#8275, #8417)
- โ Add experimental support for sharding event persister. (#8294, #8387, #8396, #8419)
- โ Add the room topic and avatar to the room details admin API. (#8305)
- โ Add an admin API for querying rooms where a user is a member. Contributed by @dklimpel. (#8306)
- โ Add
uk.half-shot.msc2778.login.application_service
login type to allow appservices to login. (#8320) - โ Add a configuration option that allows existing users to log in with OpenID Connect. Contributed by @BBBSnowball and @OmmyZhang. (#8345)
- โ Add prometheus metrics for replication requests. (#8406)
- ๐ Support passing additional single sign-on parameters to the client. (#8413)
- โ Add experimental reporting of metrics on expensive rooms for state-resolution. (#8420)
- โ Add experimental prometheus metric to track numbers of "large" rooms for state resolutiom. (#8425)
- โ Add prometheus metrics to track federation delays. (#8430)
๐ Bugfixes
- ๐ Fix a bug in the media repository where remote thumbnails with the same size but different crop methods would overwrite each other. Contributed by @deepbluev7. (#7124)
- ๐ Fix inconsistent handling of non-existent push rules, and stop tracking the
enabled
state of removed push rules. (#7796) - ๐ Fix a longstanding bug when storing a media file with an empty
upload_name
. (#7905) - ๐ Fix messages not being sent over federation until an event is sent into the same room. (#8230, #8247, #8258, #8272, #8322)
- ๐ Fix a longstanding bug where files that could not be thumbnailed would result in an Internal Server Error. (#8236, #8435)
- โฌ๏ธ Upgrade minimum version of
canonicaljson
to version 1.4.0, to fix an unicode encoding issue. (#8262) - ๐ Fix longstanding bug which could lead to incomplete database upgrades on SQLite. (#8265)
- ๐ Fix stack overflow when stderr is redirected to the logging system, and the logging system encounters an error. (#8268)
- ๐ Fix a bug which cause the logging system to report errors, if
DEBUG
was enabled and nocontext
filter was applied. (#8278) - ๐ Fix edge case where push could get delayed for a user until a later event was pushed. (#8287)
- ๐ Fix fetching malformed events from remote servers. (#8324)
- ๐ Fix
UnboundLocalError
from occuring when appservices send a malformed register request. (#8329) - Don't send push notifications to expired user accounts. (#8353)
- ๐ Fix a regression in v1.19.0 with reactivating users through the admin API. (#8362)
- ๐ Fix a bug where during device registration the length of the device name wasn't limited. (#8364)
- โก๏ธ Include
guest_access
in the fields that are checked for null bytes when updatingroom_stats_state
. Broke in v1.7.2. (#8373) - ๐ Fix theoretical race condition where events are not sent down
/sync
if the synchrotron worker is restarted without restarting other workers. (#8374) - ๐ Fix a bug which could cause errors in rooms with malformed membership events, on servers using sqlite. (#8385)
- ๐ Fix "Re-starting finished log context" warning when receiving an event we already had over federation. (#8398)
- ๐ Fix incorrect handling of timeouts on outgoing HTTP requests. (#8400)
- Fix a regression in v1.20.0 in the
synapse_port_db
script regarding theui_auth_sessions_ips
table. (#8410) - โ Remove unnecessary 3PID registration check when resetting password via an email address. Bug introduced in v0.34.0rc2. (#8414)
๐ Improved Documentation
- โ Add
/_synapse/client
to the reverse proxy documentation. (#8227) - โ Add note to the reverse proxy settings documentation about disabling Apache's mod_security2. Contributed by Julian Fietkau (@jfietkau). (#8375)
- ๐ Improve description of
server_name
config option inhomserver.yaml
. (#8415)
๐ Deprecations and Removals
- โฌ๏ธ Drop support for
prometheus_client
older than 0.4.0. (#8426)
Internal Changes
- ๐ Fix tests on distros which disable TLSv1.0. Contributed by @danc86. (#8208)
- Simplify the distributor code to avoid unnecessary work. (#8216)
- Remove the
populate_stats_process_rooms_2
background job and restore functionality topopulate_stats_process_rooms
. (#8243) - Clean up type hints for
PaginationConfig
. (#8250, #8282) - โ Track the latest event for every destination and room for catch-up after federation outage. (#8256)
- Fix non-user visible bug in implementation of
MultiWriterIdGenerator.get_current_token_for_writer
. (#8257) - Switch to the JSON implementation from the standard library. (#8259)
- โ Add type hints to
synapse.util.async_helpers
. (#8260) - โ Simplify tests that mock asynchronous functions. (#8261)
- โ Add type hints to
StreamToken
andRoomStreamToken
classes. (#8279) - ๐ Change
StreamToken.room_key
to be aRoomStreamToken
instance. (#8281) - ๐จ Refactor notifier code to correctly use the max event stream position. (#8288)
- ๐ Use slotted classes where possible. (#8296)
- ๐ Support testing the local Synapse checkout against the Complement homeserver test suite. (#8317)
- โก๏ธ Update outdated usages of
metaclass
to python 3 syntax. (#8326) - โก๏ธ Move lint-related dependencies to package-extra field, update CONTRIBUTING.md to utilise this. (#8330, #8377)
- ๐ Use the
admin_patterns
helper in additional locations. (#8331) - ๐ Fix test logging to allow braces in log output. (#8335)
- Remove
__future__
imports related to Python 2 compatibility. (#8337) - Simplify
super()
calls to Python 3 syntax. (#8344) - ๐ Fix bad merge from
release-v1.20.0
branch todevelop
. (#8354) - Factor out a
_send_dummy_event_for_room
method. (#8370) - ๐ Improve logging of state resolution. (#8371)
- โ Add type annotations to
SimpleHttpClient
. (#8372) - ๐จ Refactor ID generators to use
async with
syntax. (#8383) - โ Add
EventStreamPosition
type. (#8388) - โ Create a mechanism for marking tests "logcontext clean". (#8399)
- A pair of tiny cleanups in the federation request code. (#8401)
- โ Add checks on startup that PostgreSQL sequences are consistent with their associated tables. (#8402)
- Do not include appservice users when calculating the total MAU for a server. (#8404)
- ๐ Typing fixes for
synapse.handlers.federation
. (#8422) - ๐จ Various refactors to simplify stream token handling. (#8423)
- ๐ Make stream token serializing/deserializing async. (#8427)
- ๐ Fix duplication of events on high traffic servers, caused by PostgreSQL
-
v1.21.0.rc3 Changes
October 08, 2020 -
v1.21.0.rc2 Changes
October 02, 2020Synapse 1.21.0rc2 (2020-10-02)
๐ Features
- Convert additional templates from inline HTML to Jinja2 templates. (#8444)
๐ Bugfixes
- ๐ Fix a regression in v1.21.0rc1 which broke thumbnails of remote media. (#8438)
- Do not expose the experimental
uk.half-shot.msc2778.login.application_service
flow in the login API, which caused a compatibility problem with Element iOS. (#8440) - ๐ Fix malformed log line in new federation "catch up" logic. (#8442)
- ๐ Fix DB query on startup for negative streams which caused long start up times. Introduced in #8374. (#8447)
-
v1.21.0.rc1 Changes
October 01, 2020๐ Features
- Require the user to confirm that their password should be reset after clicking the email confirmation link. (#8004)
- Add an admin API
GET /_synapse/admin/v1/event_reports
to read entries of tableevent_reports
. Contributed by @dklimpel. (#8217) - ๐ง Consolidate the SSO error template across all configuration. (#8248, #8405)
- โ Add a configuration option to specify a whitelist of domains that a user can be redirected to after validating their email or phone number. (#8275, #8417)
- โ Add experimental support for sharding event persister. (#8294, #8387, #8396, #8419)
- โ Add the room topic and avatar to the room details admin API. (#8305)
- โ Add an admin API for querying rooms where a user is a member. Contributed by @dklimpel. (#8306)
- โ Add
uk.half-shot.msc2778.login.application_service
login type to allow appservices to login. (#8320) - โ Add a configuration option that allows existing users to log in with OpenID Connect. Contributed by @BBBSnowball and @OmmyZhang. (#8345)
- โ Add prometheus metrics for replication requests. (#8406)
- ๐ Support passing additional single sign-on parameters to the client. (#8413)
- โ Add experimental reporting of metrics on expensive rooms for state-resolution. (#8420)
- โ Add experimental prometheus metric to track numbers of "large" rooms for state resolutiom. (#8425)
- โ Add prometheus metrics to track federation delays. (#8430)
๐ Bugfixes
- ๐ Fix a bug in the media repository where remote thumbnails with the same size but different crop methods would overwrite each other. Contributed by @deepbluev7. (#7124)
- ๐ Fix inconsistent handling of non-existent push rules, and stop tracking the
enabled
state of removed push rules. (#7796) - ๐ Fix a longstanding bug when storing a media file with an empty
upload_name
. (#7905) - ๐ Fix messages not being sent over federation until an event is sent into the same room. (#8230, #8247, #8258, #8272, #8322)
- ๐ Fix a longstanding bug where files that could not be thumbnailed would result in an Internal Server Error. (#8236, #8435)
- โฌ๏ธ Upgrade minimum version of
canonicaljson
to version 1.4.0, to fix an unicode encoding issue. (#8262) - ๐ Fix longstanding bug which could lead to incomplete database upgrades on SQLite. (#8265)
- ๐ Fix stack overflow when stderr is redirected to the logging system, and the logging system encounters an error. (#8268)
- ๐ Fix a bug which cause the logging system to report errors, if
DEBUG
was enabled and nocontext
filter was applied. (#8278) - ๐ Fix edge case where push could get delayed for a user until a later event was pushed. (#8287)
- ๐ Fix fetching malformed events from remote servers. (#8324)
- ๐ Fix
UnboundLocalError
from occuring when appservices send a malformed register request. (#8329) - Don't send push notifications to expired user accounts. (#8353)
- ๐ Fix a regression in v1.19.0 with reactivating users through the admin API. (#8362)
- ๐ Fix a bug where during device registration the length of the device name wasn't limited. (#8364)
- โก๏ธ Include
guest_access
in the fields that are checked for null bytes when updatingroom_stats_state
. Broke in v1.7.2. (#8373) - ๐ Fix theoretical race condition where events are not sent down
/sync
if the synchrotron worker is restarted without restarting other workers. (#8374) - ๐ Fix a bug which could cause errors in rooms with malformed membership events, on servers using sqlite. (#8385)
- ๐ Fix "Re-starting finished log context" warning when receiving an event we already had over federation. (#8398)
- ๐ Fix incorrect handling of timeouts on outgoing HTTP requests. (#8400)
- Fix a regression in v1.20.0 in the
synapse_port_db
script regarding theui_auth_sessions_ips
table. (#8410) - โ Remove unnecessary 3PID registration check when resetting password via an email address. Bug introduced in v0.34.0rc2. (#8414)
๐ Improved Documentation
- โ Add
/_synapse/client
to the reverse proxy documentation. (#8227) - โ Add note to the reverse proxy settings documentation about disabling Apache's mod_security2. Contributed by Julian Fietkau (@jfietkau). (#8375)
- ๐ Improve description of
server_name
config option inhomserver.yaml
. (#8415)
๐ Deprecations and Removals
- โฌ๏ธ Drop support for
prometheus_client
older than 0.4.0. (#8426)
Internal Changes
- ๐ Fix tests on distros which disable TLSv1.0. Contributed by @danc86. (#8208)
- Simplify the distributor code to avoid unnecessary work. (#8216)
- Remove the
populate_stats_process_rooms_2
background job and restore functionality topopulate_stats_process_rooms
. (#8243) - Clean up type hints for
PaginationConfig
. (#8250, #8282) - โ Track the latest event for every destination and room for catch-up after federation outage. (#8256)
- Fix non-user visible bug in implementation of
MultiWriterIdGenerator.get_current_token_for_writer
. (#8257) - Switch to the JSON implementation from the standard library. (#8259)
- โ Add type hints to
synapse.util.async_helpers
. (#8260) - โ Simplify tests that mock asynchronous functions. (#8261)
- โ Add type hints to
StreamToken
andRoomStreamToken
classes. (#8279) - ๐ Change
StreamToken.room_key
to be aRoomStreamToken
instance. (#8281) - ๐จ Refactor notifier code to correctly use the max event stream position. (#8288)
- ๐ Use slotted classes where possible. (#8296)
- ๐ Support testing the local Synapse checkout against the Complement homeserver test suite. (#8317)
- โก๏ธ Update outdated usages of
metaclass
to python 3 syntax. (#8326) - โก๏ธ Move lint-related dependencies to package-extra field, update CONTRIBUTING.md to utilise this. (#8330, #8377)
- ๐ Use the
admin_patterns
helper in additional locations. (#8331) - ๐ Fix test logging to allow braces in log output. (#8335)
- Remove
__future__
imports related to Python 2 compatibility. (#8337) - Simplify
super()
calls to Python 3 syntax. (#8344) - ๐ Fix bad merge from
release-v1.20.0
branch todevelop
. (#8354) - Factor out a
_send_dummy_event_for_room
method. (#8370) - ๐ Improve logging of state resolution. (#8371)
- โ Add type annotations to
SimpleHttpClient
. (#8372) - ๐จ Refactor ID generators to use
async with
syntax. (#8383) - โ Add
EventStreamPosition
type. (#8388) - โ Create a mechanism for marking tests "logcontext clean". (#8399)
- A pair of tiny cleanups in the federation request code. (#8401)
- โ Add checks on startup that PostgreSQL sequences are consistent with their associated tables. (#8402)
- Do not include appservice users when calculating the total MAU for a server. (#8404)
- ๐ Typing fixes for
synapse.handlers.federation
. (#8422) - ๐จ Various refactors to simplify stream token handling. (#8423)
- ๐ Make stream token serializing/deserializing async. (#8427)
Synapse 1.20.1 (2020-09-24)
๐ Bugfixes
- Fix a bug introduced in v1.20.0 which caused the
synapse_port_db
script to fail. (#8386) - ๐ Fix a bug introduced in v1.20.0 which caused variables to be incorrectly escaped in Jinja2 templates. (#8394)
Synapse 1.20.0 (2020-09-22)
No significant changes since v1.20.0rc5.
โ Removal warning
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.From that point, the Admin API will only be accessible under
/_synapse/admin
. ๐ This makes it easier for homeserver admins to lock down external access to the Admin API endpoints. -
v1.20.1 Changes
September 24, 2020