All Versions
327
Latest Version
Avg Release Cycle
7 days
Latest Release
505 days ago

Changelog History
Page 10

  • v1.22.0 Changes

    October 27, 2020

    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 be M_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 the room_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 and allowed_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 generic ModuleApi. (#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 and EventCreationHandler.create_event. (#8537)
    • ๐Ÿ‘Œ Improve database performance by executing more queries without starting transactions. (#8542)
    • ๐Ÿ“‡ Rename Cache to DeferredCache, to better reflect its purpose. (#8548)
    • ๐Ÿšš Move metric registration code down into LruCache. (#8561, #8591)
    • Replace DeferredCache with the lighter-weight LruCache where possible. (#8563)
    • โž• Add virtualenv-generated folders to .gitignore. (#8566)
    • โž• Add get_immediate method to DeferredCache. (#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 return Deferreds instead of ObservableDeferreds. (#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

    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)
  • 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 be M_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 the room_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 and allowed_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 generic ModuleApi. (#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 and EventCreationHandler.create_event. (#8537)
    • ๐Ÿ‘Œ Improve database performance by executing more queries without starting transactions. (#8542)
    • ๐Ÿ“‡ Rename Cache to DeferredCache, to better reflect its purpose. (#8548)
    • ๐Ÿšš Move metric registration code down into LruCache. (#8561, #8591)
    • Replace DeferredCache with the lighter-weight LruCache where possible. (#8563)
    • โž• Add virtualenv-generated folders to .gitignore. (#8566)
    • โž• Add get_immediate method to DeferredCache. (#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 return Deferreds instead of ObservableDeferreds. (#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, 2020

    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.
  • v1.21.1 Changes

    October 13, 2020

    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.

  • v1.21.0 Changes

    October 12, 2020

    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.

    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 .debs 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 table event_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 no context 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 updating room_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 the ui_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 in homserver.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 to populate_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 and RoomStreamToken classes. (#8279)
    • ๐Ÿ”„ Change StreamToken.room_key to be a RoomStreamToken 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 to develop. (#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)
  • v1.21.0.rc3 Changes

    October 08, 2020

    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 .debs for. (#8475)
  • v1.21.0.rc2 Changes

    October 02, 2020

    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)
  • 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 table event_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 no context 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 updating room_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 the ui_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 in homserver.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 to populate_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 and RoomStreamToken classes. (#8279)
    • ๐Ÿ”„ Change StreamToken.room_key to be a RoomStreamToken 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 to develop. (#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

    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)