Tags: xiu/synapse
Tags
Synapse 1.23.0rc1 (2020-11-13) ============================== Features -------- - Add a push rule that highlights when a jitsi conference is created in a room. ([\matrix-org#8286](matrix-org#8286)) - Add an admin api to delete a single file or files that were not used for a defined time from server. Contributed by @dklimpel. ([\matrix-org#8519](matrix-org#8519)) - Split admin API for reported events (`GET /_synapse/admin/v1/event_reports`) into detail and list endpoints. This is a breaking change to matrix-org#8217 which was introduced in Synapse v1.21.0. Those who already use this API should check their scripts. Contributed by @dklimpel. ([\matrix-org#8539](matrix-org#8539)) - Support generating structured logs via the standard logging configuration. ([\matrix-org#8607](matrix-org#8607), [\matrix-org#8685](matrix-org#8685)) - Add an admin API to allow server admins to list users' pushers. Contributed by @dklimpel. ([\matrix-org#8610](matrix-org#8610), [\matrix-org#8689](matrix-org#8689)) - Add an admin API `GET /_synapse/admin/v1/users/<user_id>/media` to get information about uploaded media. Contributed by @dklimpel. ([\matrix-org#8647](matrix-org#8647)) - Add an admin API for local user media statistics. Contributed by @dklimpel. ([\matrix-org#8700](matrix-org#8700)) - Add `displayname` to Shared-Secret Registration for admins. ([\matrix-org#8722](matrix-org#8722)) Bugfixes -------- - Fix fetching of E2E cross signing keys over federation when only one of the master key and device signing key is cached already. ([\matrix-org#8455](matrix-org#8455)) - Fix a bug where Synapse would blindly forward bad responses from federation to clients when retrieving profile information. ([\matrix-org#8580](matrix-org#8580)) - Fix a bug where the account validity endpoint would silently fail if the user ID did not have an expiration time. It now returns a 400 error. ([\matrix-org#8620](matrix-org#8620)) - Fix email notifications for invites without local state. ([\matrix-org#8627](matrix-org#8627)) - Fix handling of invalid group IDs to return a 400 rather than log an exception and return a 500. ([\matrix-org#8628](matrix-org#8628)) - Fix handling of User-Agent headers that are invalid UTF-8, which caused user agents of users to not get correctly recorded. ([\matrix-org#8632](matrix-org#8632)) - Fix a bug in the `joined_rooms` admin API if the user has never joined any rooms. The bug was introduced, along with the API, in v1.21.0. ([\matrix-org#8643](matrix-org#8643)) - Fix exception during handling multiple concurrent requests for remote media when using multiple media repositories. ([\matrix-org#8682](matrix-org#8682)) - Fix bug that prevented Synapse from recovering after losing connection to the database. ([\matrix-org#8726](matrix-org#8726)) - Fix bug where the `/_synapse/admin/v1/send_server_notice` API could send notices to non-notice rooms. ([\matrix-org#8728](matrix-org#8728)) - Fix PostgreSQL port script fails when DB has no backfilled events. Broke in v1.21.0. ([\matrix-org#8729](matrix-org#8729)) - Fix PostgreSQL port script to correctly handle foreign key constraints. Broke in v1.21.0. ([\matrix-org#8730](matrix-org#8730)) - Fix PostgreSQL port script so that it can be run again after a failure. Broke in v1.21.0. ([\matrix-org#8755](matrix-org#8755)) Improved Documentation ---------------------- - Instructions for Azure AD in the OpenID Connect documentation. Contributed by peterk. ([\matrix-org#8582](matrix-org#8582)) - Improve the sample configuration for single sign-on providers. ([\matrix-org#8635](matrix-org#8635)) - Fix the filepath of Dex's example config and the link to Dex's Getting Started guide in the OpenID Connect docs. ([\matrix-org#8657](matrix-org#8657)) - Note support for Python 3.9. ([\matrix-org#8665](matrix-org#8665)) - Minor updates to docs on running tests. ([\matrix-org#8666](matrix-org#8666)) - Interlink prometheus/grafana documentation. ([\matrix-org#8667](matrix-org#8667)) - Notes on SSO logins and media_repository worker. ([\matrix-org#8701](matrix-org#8701)) - Document experimental support for running multiple event persisters. ([\matrix-org#8706](matrix-org#8706)) - Add information regarding the various sources of, and expected contributions to, Synapse's documentation to `CONTRIBUTING.md`. ([\matrix-org#8714](matrix-org#8714)) - Migrate documentation `docs/admin_api/event_reports` to markdown. ([\matrix-org#8742](matrix-org#8742)) - Add some helpful hints to the README for new Synapse developers. Contributed by @chagai95. ([\matrix-org#8746](matrix-org#8746)) Internal Changes ---------------- - Optimise `/createRoom` with multiple invited users. ([\matrix-org#8559](matrix-org#8559)) - Implement and use an @lru_cache decorator. ([\matrix-org#8595](matrix-org#8595)) - Don't instansiate Requester directly. ([\matrix-org#8614](matrix-org#8614)) - Type hints for `RegistrationStore`. ([\matrix-org#8615](matrix-org#8615)) - Change schema to support access tokens belonging to one user but granting access to another. ([\matrix-org#8616](matrix-org#8616)) - Remove unused OPTIONS handlers. ([\matrix-org#8621](matrix-org#8621)) - Run `mypy` as part of the lint.sh script. ([\matrix-org#8633](matrix-org#8633)) - Correct Synapse's PyPI package name in the OpenID Connect installation instructions. ([\matrix-org#8634](matrix-org#8634)) - Catch exceptions during initialization of `password_providers`. Contributed by Nicolai Søborg. ([\matrix-org#8636](matrix-org#8636)) - Fix typos and spelling errors in the code. ([\matrix-org#8639](matrix-org#8639)) - Reduce number of OpenTracing spans started. ([\matrix-org#8640](matrix-org#8640), [\matrix-org#8668](matrix-org#8668), [\matrix-org#8670](matrix-org#8670)) - Add field `total` to device list in admin API. ([\matrix-org#8644](matrix-org#8644)) - Add more type hints to the application services code. ([\matrix-org#8655](matrix-org#8655), [\matrix-org#8693](matrix-org#8693)) - Tell Black to format code for Python 3.5. ([\matrix-org#8664](matrix-org#8664)) - Don't pull event from DB when handling replication traffic. ([\matrix-org#8669](matrix-org#8669)) - Abstract some invite-related code in preparation for landing knocking. ([\matrix-org#8671](matrix-org#8671), [\matrix-org#8688](matrix-org#8688)) - Clarify representation of events in logfiles. ([\matrix-org#8679](matrix-org#8679)) - Don't require `hiredis` package to be installed to run unit tests. ([\matrix-org#8680](matrix-org#8680)) - Fix typing info on cache call signature to accept `on_invalidate`. ([\matrix-org#8684](matrix-org#8684)) - Fail tests if they do not await coroutines. ([\matrix-org#8690](matrix-org#8690)) - Improve start time by adding an index to `e2e_cross_signing_keys.stream_id`. ([\matrix-org#8694](matrix-org#8694)) - Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. ([\matrix-org#8697](matrix-org#8697)) - Use Python 3.8 in Docker images by default. ([\matrix-org#8698](matrix-org#8698)) - Remove the "draft" status of the Room Details Admin API. ([\matrix-org#8702](matrix-org#8702)) - Improve the error returned when a non-string displayname or avatar_url is used when updating a user's profile. ([\matrix-org#8705](matrix-org#8705)) - Block attempts by clients to send server ACLs, or redactions of server ACLs, that would result in the local server being blocked from the room. ([\matrix-org#8708](matrix-org#8708)) - Add metrics the allow the local sysadmin to track 3PID `/requestToken` requests. ([\matrix-org#8712](matrix-org#8712)) - Consolidate duplicated lists of purged tables that are checked in tests. ([\matrix-org#8713](matrix-org#8713)) - Add some `mdui:UIInfo` element examples for `saml2_config` in the homeserver config. ([\matrix-org#8718](matrix-org#8718)) - Improve the error message returned when a remote server incorrectly sets the `Content-Type` header in response to a JSON request. ([\matrix-org#8719](matrix-org#8719)) - Speed up repeated state resolutions on the same room by caching event ID to auth event ID lookups. ([\matrix-org#8752](matrix-org#8752))
Synapse 1.22.1 (2020-10-30) =========================== Bugfixes -------- - Fix a bug where an appservice may not be forwarded events for a room it was recently invited to. Broke in v1.22.0. ([\matrix-org#8676](matrix-org#8676)) - Fix `Object of type frozendict is not JSON serializable` exceptions when using third-party event rules. Broke in v1.22.0. ([\matrix-org#8678](matrix-org#8678))
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. ([\matrix-org#8648](matrix-org#8648), [\matrix-org#8656](matrix-org#8656)) - Fix `user_daily_visits` table to not have duplicate rows per user/device due to multiple user agents. Broke in v1.22.0rc1. ([\matrix-org#8654](matrix-org#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. ([\matrix-org#7658](matrix-org#7658)) - Add ability for `ThirdPartyEventRules` modules to query and manipulate whether a room is in the public rooms directory. ([\matrix-org#8292](matrix-org#8292), [\matrix-org#8467](matrix-org#8467)) - Add support for olm fallback keys ([MSC2732](matrix-org/matrix-spec-proposals#2732)). ([\matrix-org#8312](matrix-org#8312), [\matrix-org#8501](matrix-org#8501)) - Add support for running background tasks in a separate worker process. ([\matrix-org#8369](matrix-org#8369), [\matrix-org#8458](matrix-org#8458), [\matrix-org#8489](matrix-org#8489), [\matrix-org#8513](matrix-org#8513), [\matrix-org#8544](matrix-org#8544), [\matrix-org#8599](matrix-org#8599)) - Add support for device dehydration ([MSC2697](matrix-org/matrix-spec-proposals#2697)). ([\matrix-org#8380](matrix-org#8380)) - Add support for [MSC2409](matrix-org/matrix-spec-proposals#2409), which allows sending typing, read receipts, and presence events to appservices. ([\matrix-org#8437](matrix-org#8437), [\matrix-org#8590](matrix-org#8590)) - Change default room version to "6", per [MSC2788](matrix-org/matrix-spec-proposals#2788). ([\matrix-org#8461](matrix-org#8461)) - Add the ability to send non-membership events into a room via the `ModuleApi`. ([\matrix-org#8479](matrix-org#8479)) - Increase default upload size limit from 10M to 50M. Contributed by @Akkowicz. ([\matrix-org#8502](matrix-org#8502)) - Add support for modifying event content in `ThirdPartyRules` modules. ([\matrix-org#8535](matrix-org#8535), [\matrix-org#8564](matrix-org#8564)) Bugfixes -------- - Fix a longstanding bug where invalid ignored users in account data could break clients. ([\matrix-org#8454](matrix-org#8454)) - Fix a bug where backfilling a room with an event that was missing the `redacts` field would break. ([\matrix-org#8457](matrix-org#8457)) - Don't attempt to respond to some requests if the client has already disconnected. ([\matrix-org#8465](matrix-org#8465)) - Fix message duplication if something goes wrong after persisting the event. ([\matrix-org#8476](matrix-org#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. ([\matrix-org#8486](matrix-org#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. ([\matrix-org#8504](matrix-org#8504)) - Fix error code for `/profile/{userId}/displayname` to be `M_BAD_JSON`. ([\matrix-org#8517](matrix-org#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. ([\matrix-org#8527](matrix-org#8527)) - Fix not sending events over federation when using sharded event writers. ([\matrix-org#8536](matrix-org#8536)) - Fix a long standing bug where email notifications for encrypted messages were blank. ([\matrix-org#8545](matrix-org#8545)) - Fix increase in the number of `There was no active span...` errors logged when using OpenTracing. ([\matrix-org#8567](matrix-org#8567)) - Fix a bug that prevented errors encountered during execution of the `synapse_port_db` from being correctly printed. ([\matrix-org#8585](matrix-org#8585)) - Fix appservice transactions to only include a maximum of 100 persistent and 100 ephemeral events. ([\matrix-org#8606](matrix-org#8606)) Updates to the Docker image --------------------------- - Added multi-arch support (arm64,arm/v7) for the docker images. Contributed by @maquis196. ([\matrix-org#7921](matrix-org#7921)) - Add support for passing commandline args to the synapse process. Contributed by @samuel-p. ([\matrix-org#8390](matrix-org#8390)) Improved Documentation ---------------------- - Update the directions for using the manhole with coroutines. ([\matrix-org#8462](matrix-org#8462)) - Improve readme by adding new shield.io badges. ([\matrix-org#8493](matrix-org#8493)) - Added note about docker in manhole.md regarding which ip address to bind to. Contributed by @maquis196. ([\matrix-org#8526](matrix-org#8526)) - Document the new behaviour of the `allowed_lifetime_min` and `allowed_lifetime_max` settings in the room retention configuration. ([\matrix-org#8529](matrix-org#8529)) Deprecations and Removals ------------------------- - Drop unused `device_max_stream_id` table. ([\matrix-org#8589](matrix-org#8589)) Internal Changes ---------------- - Check for unreachable code with mypy. ([\matrix-org#8432](matrix-org#8432)) - Add unit test for event persister sharding. ([\matrix-org#8433](matrix-org#8433)) - Allow events to be sent to clients sooner when using sharded event persisters. ([\matrix-org#8439](matrix-org#8439), [\matrix-org#8488](matrix-org#8488), [\matrix-org#8496](matrix-org#8496), [\matrix-org#8499](matrix-org#8499)) - Configure `public_baseurl` when using demo scripts. ([\matrix-org#8443](matrix-org#8443)) - Add SQL logging on queries that happen during startup. ([\matrix-org#8448](matrix-org#8448)) - Speed up unit tests when using PostgreSQL. ([\matrix-org#8450](matrix-org#8450)) - Remove redundant database loads of stream_ordering for events we already have. ([\matrix-org#8452](matrix-org#8452)) - Reduce inconsistencies between codepaths for membership and non-membership events. ([\matrix-org#8463](matrix-org#8463)) - Combine `SpamCheckerApi` with the more generic `ModuleApi`. ([\matrix-org#8464](matrix-org#8464)) - Additional testing for `ThirdPartyEventRules`. ([\matrix-org#8468](matrix-org#8468)) - Add `-d` option to `./scripts-dev/lint.sh` to lint files that have changed since the last git commit. ([\matrix-org#8472](matrix-org#8472)) - Unblacklist some sytests. ([\matrix-org#8474](matrix-org#8474)) - Include the log level in the phone home stats. ([\matrix-org#8477](matrix-org#8477)) - Remove outdated sphinx documentation, scripts and configuration. ([\matrix-org#8480](matrix-org#8480)) - Clarify error message when plugin config parsers raise an error. ([\matrix-org#8492](matrix-org#8492)) - Remove the deprecated `Handlers` object. ([\matrix-org#8494](matrix-org#8494)) - Fix a threadsafety bug in unit tests. ([\matrix-org#8497](matrix-org#8497)) - Add user agent to user_daily_visits table. ([\matrix-org#8503](matrix-org#8503)) - Add type hints to various parts of the code base. ([\matrix-org#8407](matrix-org#8407), [\matrix-org#8505](matrix-org#8505), [\matrix-org#8507](matrix-org#8507), [\matrix-org#8547](matrix-org#8547), [\matrix-org#8562](matrix-org#8562), [\matrix-org#8609](matrix-org#8609)) - Remove unused code from the test framework. ([\matrix-org#8514](matrix-org#8514)) - Apply some internal fixes to the `HomeServer` class to make its code more idiomatic and statically-verifiable. ([\matrix-org#8515](matrix-org#8515)) - Factor out common code between `RoomMemberHandler._locally_reject_invite` and `EventCreationHandler.create_event`. ([\matrix-org#8537](matrix-org#8537)) - Improve database performance by executing more queries without starting transactions. ([\matrix-org#8542](matrix-org#8542)) - Rename `Cache` to `DeferredCache`, to better reflect its purpose. ([\matrix-org#8548](matrix-org#8548)) - Move metric registration code down into `LruCache`. ([\matrix-org#8561](matrix-org#8561), [\matrix-org#8591](matrix-org#8591)) - Replace `DeferredCache` with the lighter-weight `LruCache` where possible. ([\matrix-org#8563](matrix-org#8563)) - Add virtualenv-generated folders to `.gitignore`. ([\matrix-org#8566](matrix-org#8566)) - Add `get_immediate` method to `DeferredCache`. ([\matrix-org#8568](matrix-org#8568)) - Fix mypy not properly checking across the codebase, additionally, fix a typing assertion error in `handlers/auth.py`. ([\matrix-org#8569](matrix-org#8569)) - Fix `synmark` benchmark runner. ([\matrix-org#8571](matrix-org#8571)) - Modify `DeferredCache.get()` to return `Deferred`s instead of `ObservableDeferred`s. ([\matrix-org#8572](matrix-org#8572)) - Adjust a protocol-type definition to fit `sqlite3` assertions. ([\matrix-org#8577](matrix-org#8577)) - Support macOS on the `synmark` benchmark runner. ([\matrix-org#8578](matrix-org#8578)) - Update `mypy` static type checker to 0.790. ([\matrix-org#8583](matrix-org#8583), [\matrix-org#8600](matrix-org#8600)) - Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. ([\matrix-org#8587](matrix-org#8587)) - Remove extraneous unittest logging decorators from unit tests. ([\matrix-org#8592](matrix-org#8592)) - Minor optimisations in caching code. ([\matrix-org#8593](matrix-org#8593), [\matrix-org#8594](matrix-org#8594))
Synapse 1.22.0rc2 (2020-10-26) ============================== Bugfixes -------- - Fix bugs where ephemeral events were not sent to appservices. Broke in v1.22.0rc1. ([\matrix-org#8648](matrix-org#8648), [\matrix-org#8656](matrix-org#8656)) - Fix `user_daily_visits` table to not have duplicate rows per user/device due to multiple user agents. Broke in v1.22.0rc1. ([\matrix-org#8654](matrix-org#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. ([\matrix-org#7658](matrix-org#7658)) - Add ability for `ThirdPartyEventRules` modules to query and manipulate whether a room is in the public rooms directory. ([\matrix-org#8292](matrix-org#8292), [\matrix-org#8467](matrix-org#8467)) - Add support for olm fallback keys ([MSC2732](matrix-org/matrix-spec-proposals#2732)). ([\matrix-org#8312](matrix-org#8312), [\matrix-org#8501](matrix-org#8501)) - Add support for running background tasks in a separate worker process. ([\matrix-org#8369](matrix-org#8369), [\matrix-org#8458](matrix-org#8458), [\matrix-org#8489](matrix-org#8489), [\matrix-org#8513](matrix-org#8513), [\matrix-org#8544](matrix-org#8544), [\matrix-org#8599](matrix-org#8599)) - Add support for device dehydration ([MSC2697](matrix-org/matrix-spec-proposals#2697)). ([\matrix-org#8380](matrix-org#8380)) - Add support for [MSC2409](matrix-org/matrix-spec-proposals#2409), which allows sending typing, read receipts, and presence events to appservices. ([\matrix-org#8437](matrix-org#8437), [\matrix-org#8590](matrix-org#8590)) - Change default room version to "6", per [MSC2788](matrix-org/matrix-spec-proposals#2788). ([\matrix-org#8461](matrix-org#8461)) - Add the ability to send non-membership events into a room via the `ModuleApi`. ([\matrix-org#8479](matrix-org#8479)) - Increase default upload size limit from 10M to 50M. Contributed by @Akkowicz. ([\matrix-org#8502](matrix-org#8502)) - Add support for modifying event content in `ThirdPartyRules` modules. ([\matrix-org#8535](matrix-org#8535), [\matrix-org#8564](matrix-org#8564)) Bugfixes -------- - Fix a longstanding bug where invalid ignored users in account data could break clients. ([\matrix-org#8454](matrix-org#8454)) - Fix a bug where backfilling a room with an event that was missing the `redacts` field would break. ([\matrix-org#8457](matrix-org#8457)) - Don't attempt to respond to some requests if the client has already disconnected. ([\matrix-org#8465](matrix-org#8465)) - Fix message duplication if something goes wrong after persisting the event. ([\matrix-org#8476](matrix-org#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. ([\matrix-org#8486](matrix-org#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. ([\matrix-org#8504](matrix-org#8504)) - Fix error code for `/profile/{userId}/displayname` to be `M_BAD_JSON`. ([\matrix-org#8517](matrix-org#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. ([\matrix-org#8527](matrix-org#8527)) - Fix not sending events over federation when using sharded event writers. ([\matrix-org#8536](matrix-org#8536)) - Fix a long standing bug where email notifications for encrypted messages were blank. ([\matrix-org#8545](matrix-org#8545)) - Fix increase in the number of `There was no active span...` errors logged when using OpenTracing. ([\matrix-org#8567](matrix-org#8567)) - Fix a bug that prevented errors encountered during execution of the `synapse_port_db` from being correctly printed. ([\matrix-org#8585](matrix-org#8585)) - Fix appservice transactions to only include a maximum of 100 persistent and 100 ephemeral events. ([\matrix-org#8606](matrix-org#8606)) Updates to the Docker image --------------------------- - Added multi-arch support (arm64,arm/v7) for the docker images. Contributed by @maquis196. ([\matrix-org#7921](matrix-org#7921)) - Add support for passing commandline args to the synapse process. Contributed by @samuel-p. ([\matrix-org#8390](matrix-org#8390)) Improved Documentation ---------------------- - Update the directions for using the manhole with coroutines. ([\matrix-org#8462](matrix-org#8462)) - Improve readme by adding new shield.io badges. ([\matrix-org#8493](matrix-org#8493)) - Added note about docker in manhole.md regarding which ip address to bind to. Contributed by @maquis196. ([\matrix-org#8526](matrix-org#8526)) - Document the new behaviour of the `allowed_lifetime_min` and `allowed_lifetime_max` settings in the room retention configuration. ([\matrix-org#8529](matrix-org#8529)) Deprecations and Removals ------------------------- - Drop unused `device_max_stream_id` table. ([\matrix-org#8589](matrix-org#8589)) Internal Changes ---------------- - Check for unreachable code with mypy. ([\matrix-org#8432](matrix-org#8432)) - Add unit test for event persister sharding. ([\matrix-org#8433](matrix-org#8433)) - Allow events to be sent to clients sooner when using sharded event persisters. ([\matrix-org#8439](matrix-org#8439), [\matrix-org#8488](matrix-org#8488), [\matrix-org#8496](matrix-org#8496), [\matrix-org#8499](matrix-org#8499)) - Configure `public_baseurl` when using demo scripts. ([\matrix-org#8443](matrix-org#8443)) - Add SQL logging on queries that happen during startup. ([\matrix-org#8448](matrix-org#8448)) - Speed up unit tests when using PostgreSQL. ([\matrix-org#8450](matrix-org#8450)) - Remove redundant database loads of stream_ordering for events we already have. ([\matrix-org#8452](matrix-org#8452)) - Reduce inconsistencies between codepaths for membership and non-membership events. ([\matrix-org#8463](matrix-org#8463)) - Combine `SpamCheckerApi` with the more generic `ModuleApi`. ([\matrix-org#8464](matrix-org#8464)) - Additional testing for `ThirdPartyEventRules`. ([\matrix-org#8468](matrix-org#8468)) - Add `-d` option to `./scripts-dev/lint.sh` to lint files that have changed since the last git commit. ([\matrix-org#8472](matrix-org#8472)) - Unblacklist some sytests. ([\matrix-org#8474](matrix-org#8474)) - Include the log level in the phone home stats. ([\matrix-org#8477](matrix-org#8477)) - Remove outdated sphinx documentation, scripts and configuration. ([\matrix-org#8480](matrix-org#8480)) - Clarify error message when plugin config parsers raise an error. ([\matrix-org#8492](matrix-org#8492)) - Remove the deprecated `Handlers` object. ([\matrix-org#8494](matrix-org#8494)) - Fix a threadsafety bug in unit tests. ([\matrix-org#8497](matrix-org#8497)) - Add user agent to user_daily_visits table. ([\matrix-org#8503](matrix-org#8503)) - Add type hints to various parts of the code base. ([\matrix-org#8407](matrix-org#8407), [\matrix-org#8505](matrix-org#8505), [\matrix-org#8507](matrix-org#8507), [\matrix-org#8547](matrix-org#8547), [\matrix-org#8562](matrix-org#8562), [\matrix-org#8609](matrix-org#8609)) - Remove unused code from the test framework. ([\matrix-org#8514](matrix-org#8514)) - Apply some internal fixes to the `HomeServer` class to make its code more idiomatic and statically-verifiable. ([\matrix-org#8515](matrix-org#8515)) - Factor out common code between `RoomMemberHandler._locally_reject_invite` and `EventCreationHandler.create_event`. ([\matrix-org#8537](matrix-org#8537)) - Improve database performance by executing more queries without starting transactions. ([\matrix-org#8542](matrix-org#8542)) - Rename `Cache` to `DeferredCache`, to better reflect its purpose. ([\matrix-org#8548](matrix-org#8548)) - Move metric registration code down into `LruCache`. ([\matrix-org#8561](matrix-org#8561), [\matrix-org#8591](matrix-org#8591)) - Replace `DeferredCache` with the lighter-weight `LruCache` where possible. ([\matrix-org#8563](matrix-org#8563)) - Add virtualenv-generated folders to `.gitignore`. ([\matrix-org#8566](matrix-org#8566)) - Add `get_immediate` method to `DeferredCache`. ([\matrix-org#8568](matrix-org#8568)) - Fix mypy not properly checking across the codebase, additionally, fix a typing assertion error in `handlers/auth.py`. ([\matrix-org#8569](matrix-org#8569)) - Fix `synmark` benchmark runner. ([\matrix-org#8571](matrix-org#8571)) - Modify `DeferredCache.get()` to return `Deferred`s instead of `ObservableDeferred`s. ([\matrix-org#8572](matrix-org#8572)) - Adjust a protocol-type definition to fit `sqlite3` assertions. ([\matrix-org#8577](matrix-org#8577)) - Support macOS on the `synmark` benchmark runner. ([\matrix-org#8578](matrix-org#8578)) - Update `mypy` static type checker to 0.790. ([\matrix-org#8583](matrix-org#8583), [\matrix-org#8600](matrix-org#8600)) - Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. ([\matrix-org#8587](matrix-org#8587)) - Remove extraneous unittest logging decorators from unit tests. ([\matrix-org#8592](matrix-org#8592)) - Minor optimisations in caching code. ([\matrix-org#8593](matrix-org#8593), [\matrix-org#8594](matrix-org#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. ([\matrix-org#8444](matrix-org#8444)) ([CVE-2020-26891](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26891)) This fix was originally included in v1.21.0 but was missing a security advisory. This was reported by [Denis Kasak](https://github.com/dkasak). Bugfixes -------- - Fix rare bug where sending an event would fail due to a racey assertion. ([\matrix-org#8530](matrix-org#8530)) - An updated version of the authlib dependency is included in the Docker and Debian images to fix an issue using OpenID Connect. See [\matrix-org#8534](matrix-org#8534) for details.
Synapse 1.21.0 (2020-10-12) =========================== No significant changes since v1.21.0rc3. As [noted in v1.20.0](https://github.com/matrix-org/synapse/blob/release-v1.21.0/CHANGES.md#synapse-1200-2020-09-22), a future release will drop support for accessing Synapse's [Admin API](https://github.com/matrix-org/synapse/tree/master/docs/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. ([\matrix-org#8456](matrix-org#8456)) Internal Changes ---------------- - Add Groovy Gorilla to the list of distributions we build `.deb`s for. ([\matrix-org#8475](matrix-org#8475)) Synapse 1.21.0rc2 (2020-10-02) ============================== Features -------- - Convert additional templates from inline HTML to Jinja2 templates. ([\matrix-org#8444](matrix-org#8444)) Bugfixes -------- - Fix a regression in v1.21.0rc1 which broke thumbnails of remote media. ([\matrix-org#8438](matrix-org#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. ([\matrix-org#8440](matrix-org#8440)) - Fix malformed log line in new federation "catch up" logic. ([\matrix-org#8442](matrix-org#8442)) - Fix DB query on startup for negative streams which caused long start up times. Introduced in [\matrix-org#8374](matrix-org#8374). ([\matrix-org#8447](matrix-org#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. ([\matrix-org#8004](matrix-org#8004)) - Add an admin API `GET /_synapse/admin/v1/event_reports` to read entries of table `event_reports`. Contributed by @dklimpel. ([\matrix-org#8217](matrix-org#8217)) - Consolidate the SSO error template across all configuration. ([\matrix-org#8248](matrix-org#8248), [\matrix-org#8405](matrix-org#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. ([\matrix-org#8275](matrix-org#8275), [\matrix-org#8417](matrix-org#8417)) - Add experimental support for sharding event persister. ([\matrix-org#8294](matrix-org#8294), [\matrix-org#8387](matrix-org#8387), [\matrix-org#8396](matrix-org#8396), [\matrix-org#8419](matrix-org#8419)) - Add the room topic and avatar to the room details admin API. ([\matrix-org#8305](matrix-org#8305)) - Add an admin API for querying rooms where a user is a member. Contributed by @dklimpel. ([\matrix-org#8306](matrix-org#8306)) - Add `uk.half-shot.msc2778.login.application_service` login type to allow appservices to login. ([\matrix-org#8320](matrix-org#8320)) - Add a configuration option that allows existing users to log in with OpenID Connect. Contributed by @BBBSnowball and @OmmyZhang. ([\matrix-org#8345](matrix-org#8345)) - Add prometheus metrics for replication requests. ([\matrix-org#8406](matrix-org#8406)) - Support passing additional single sign-on parameters to the client. ([\matrix-org#8413](matrix-org#8413)) - Add experimental reporting of metrics on expensive rooms for state-resolution. ([\matrix-org#8420](matrix-org#8420)) - Add experimental prometheus metric to track numbers of "large" rooms for state resolutiom. ([\matrix-org#8425](matrix-org#8425)) - Add prometheus metrics to track federation delays. ([\matrix-org#8430](matrix-org#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. ([\matrix-org#7124](matrix-org#7124)) - Fix inconsistent handling of non-existent push rules, and stop tracking the `enabled` state of removed push rules. ([\matrix-org#7796](matrix-org#7796)) - Fix a longstanding bug when storing a media file with an empty `upload_name`. ([\matrix-org#7905](matrix-org#7905)) - Fix messages not being sent over federation until an event is sent into the same room. ([\matrix-org#8230](matrix-org#8230), [\matrix-org#8247](matrix-org#8247), [\matrix-org#8258](matrix-org#8258), [\matrix-org#8272](matrix-org#8272), [\matrix-org#8322](matrix-org#8322)) - Fix a longstanding bug where files that could not be thumbnailed would result in an Internal Server Error. ([\matrix-org#8236](matrix-org#8236), [\matrix-org#8435](matrix-org#8435)) - Upgrade minimum version of `canonicaljson` to version 1.4.0, to fix an unicode encoding issue. ([\matrix-org#8262](matrix-org#8262)) - Fix longstanding bug which could lead to incomplete database upgrades on SQLite. ([\matrix-org#8265](matrix-org#8265)) - Fix stack overflow when stderr is redirected to the logging system, and the logging system encounters an error. ([\matrix-org#8268](matrix-org#8268)) - Fix a bug which cause the logging system to report errors, if `DEBUG` was enabled and no `context` filter was applied. ([\matrix-org#8278](matrix-org#8278)) - Fix edge case where push could get delayed for a user until a later event was pushed. ([\matrix-org#8287](matrix-org#8287)) - Fix fetching malformed events from remote servers. ([\matrix-org#8324](matrix-org#8324)) - Fix `UnboundLocalError` from occuring when appservices send a malformed register request. ([\matrix-org#8329](matrix-org#8329)) - Don't send push notifications to expired user accounts. ([\matrix-org#8353](matrix-org#8353)) - Fix a regression in v1.19.0 with reactivating users through the admin API. ([\matrix-org#8362](matrix-org#8362)) - Fix a bug where during device registration the length of the device name wasn't limited. ([\matrix-org#8364](matrix-org#8364)) - Include `guest_access` in the fields that are checked for null bytes when updating `room_stats_state`. Broke in v1.7.2. ([\matrix-org#8373](matrix-org#8373)) - Fix theoretical race condition where events are not sent down `/sync` if the synchrotron worker is restarted without restarting other workers. ([\matrix-org#8374](matrix-org#8374)) - Fix a bug which could cause errors in rooms with malformed membership events, on servers using sqlite. ([\matrix-org#8385](matrix-org#8385)) - Fix "Re-starting finished log context" warning when receiving an event we already had over federation. ([\matrix-org#8398](matrix-org#8398)) - Fix incorrect handling of timeouts on outgoing HTTP requests. ([\matrix-org#8400](matrix-org#8400)) - Fix a regression in v1.20.0 in the `synapse_port_db` script regarding the `ui_auth_sessions_ips` table. ([\matrix-org#8410](matrix-org#8410)) - Remove unnecessary 3PID registration check when resetting password via an email address. Bug introduced in v0.34.0rc2. ([\matrix-org#8414](matrix-org#8414)) Improved Documentation ---------------------- - Add `/_synapse/client` to the reverse proxy documentation. ([\matrix-org#8227](matrix-org#8227)) - Add note to the reverse proxy settings documentation about disabling Apache's mod_security2. Contributed by Julian Fietkau (@jfietkau). ([\matrix-org#8375](matrix-org#8375)) - Improve description of `server_name` config option in `homserver.yaml`. ([\matrix-org#8415](matrix-org#8415)) Deprecations and Removals ------------------------- - Drop support for `prometheus_client` older than 0.4.0. ([\matrix-org#8426](matrix-org#8426)) Internal Changes ---------------- - Fix tests on distros which disable TLSv1.0. Contributed by @danc86. ([\matrix-org#8208](matrix-org#8208)) - Simplify the distributor code to avoid unnecessary work. ([\matrix-org#8216](matrix-org#8216)) - Remove the `populate_stats_process_rooms_2` background job and restore functionality to `populate_stats_process_rooms`. ([\matrix-org#8243](matrix-org#8243)) - Clean up type hints for `PaginationConfig`. ([\matrix-org#8250](matrix-org#8250), [\matrix-org#8282](matrix-org#8282)) - Track the latest event for every destination and room for catch-up after federation outage. ([\matrix-org#8256](matrix-org#8256)) - Fix non-user visible bug in implementation of `MultiWriterIdGenerator.get_current_token_for_writer`. ([\matrix-org#8257](matrix-org#8257)) - Switch to the JSON implementation from the standard library. ([\matrix-org#8259](matrix-org#8259)) - Add type hints to `synapse.util.async_helpers`. ([\matrix-org#8260](matrix-org#8260)) - Simplify tests that mock asynchronous functions. ([\matrix-org#8261](matrix-org#8261)) - Add type hints to `StreamToken` and `RoomStreamToken` classes. ([\matrix-org#8279](matrix-org#8279)) - Change `StreamToken.room_key` to be a `RoomStreamToken` instance. ([\matrix-org#8281](matrix-org#8281)) - Refactor notifier code to correctly use the max event stream position. ([\matrix-org#8288](matrix-org#8288)) - Use slotted classes where possible. ([\matrix-org#8296](matrix-org#8296)) - Support testing the local Synapse checkout against the [Complement homeserver test suite](https://github.com/matrix-org/complement/). ([\matrix-org#8317](matrix-org#8317)) - Update outdated usages of `metaclass` to python 3 syntax. ([\matrix-org#8326](matrix-org#8326)) - Move lint-related dependencies to package-extra field, update CONTRIBUTING.md to utilise this. ([\matrix-org#8330](matrix-org#8330), [\matrix-org#8377](matrix-org#8377)) - Use the `admin_patterns` helper in additional locations. ([\matrix-org#8331](matrix-org#8331)) - Fix test logging to allow braces in log output. ([\matrix-org#8335](matrix-org#8335)) - Remove `__future__` imports related to Python 2 compatibility. ([\matrix-org#8337](matrix-org#8337)) - Simplify `super()` calls to Python 3 syntax. ([\matrix-org#8344](matrix-org#8344)) - Fix bad merge from `release-v1.20.0` branch to `develop`. ([\matrix-org#8354](matrix-org#8354)) - Factor out a `_send_dummy_event_for_room` method. ([\matrix-org#8370](matrix-org#8370)) - Improve logging of state resolution. ([\matrix-org#8371](matrix-org#8371)) - Add type annotations to `SimpleHttpClient`. ([\matrix-org#8372](matrix-org#8372)) - Refactor ID generators to use `async with` syntax. ([\matrix-org#8383](matrix-org#8383)) - Add `EventStreamPosition` type. ([\matrix-org#8388](matrix-org#8388)) - Create a mechanism for marking tests "logcontext clean". ([\matrix-org#8399](matrix-org#8399)) - A pair of tiny cleanups in the federation request code. ([\matrix-org#8401](matrix-org#8401)) - Add checks on startup that PostgreSQL sequences are consistent with their associated tables. ([\matrix-org#8402](matrix-org#8402)) - Do not include appservice users when calculating the total MAU for a server. ([\matrix-org#8404](matrix-org#8404)) - Typing fixes for `synapse.handlers.federation`. ([\matrix-org#8422](matrix-org#8422)) - Various refactors to simplify stream token handling. ([\matrix-org#8423](matrix-org#8423)) - Make stream token serializing/deserializing async. ([\matrix-org#8427](matrix-org#8427))
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. ([\matrix-org#8456](matrix-org#8456)) Internal Changes ---------------- - Add Groovy Gorilla to the list of distributions we build `.deb`s for. ([\matrix-org#8475](matrix-org#8475))
Synapse 1.21.0rc2 (2020-10-02) ============================== Features -------- - Convert additional templates from inline HTML to Jinja2 templates. ([\matrix-org#8444](matrix-org#8444)) Bugfixes -------- - Fix a regression in v1.21.0rc1 which broke thumbnails of remote media. ([\matrix-org#8438](matrix-org#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. ([\matrix-org#8440](matrix-org#8440)) - Fix malformed log line in new federation "catch up" logic. ([\matrix-org#8442](matrix-org#8442)) - Fix DB query on startup for negative streams which caused long start up times. Introduced in [\matrix-org#8374](matrix-org#8374). ([\matrix-org#8447](matrix-org#8447))
PreviousNext