Synapse 1.59.0rc1 (2022-05-10)
============================== This release makes several changes that server administrators should be aware of: - Device name lookup over federation is now disabled by default. ([\#12616](https://github.com/matrix-org/synapse/issues/12616)) - The `synapse.app.appservice` and `synapse.app.user_dir` worker application types are now deprecated. ([\#12452](https://github.com/matrix-org/synapse/issues/12452), [\#12654](https://github.com/matrix-org/synapse/issues/12654)) See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1590) for more details. Additionally, this release removes the non-standard `m.login.jwt` login type from Synapse. It can be replaced with `org.matrix.login.jwt` for identical behaviour. This is only used if `jwt_config.enabled` is set to `true` in the configuration. ([\#12597](https://github.com/matrix-org/synapse/issues/12597)) Features -------- - Support [MSC3266](https://github.com/matrix-org/matrix-doc/pull/3266) room summaries over federation. ([\#11507](https://github.com/matrix-org/synapse/issues/11507)) - Implement [changes](4a77139249
) to [MSC2285 (hidden read receipts)](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). Contributed by @SimonBrandner. ([\#12168](https://github.com/matrix-org/synapse/issues/12168), [\#12635](https://github.com/matrix-org/synapse/issues/12635), [\#12636](https://github.com/matrix-org/synapse/issues/12636), [\#12670](https://github.com/matrix-org/synapse/issues/12670)) - Extend the [module API](https://github.com/matrix-org/synapse/blob/release-v1.59/synapse/module_api/__init__.py) to allow modules to change actions for existing push rules of local users. ([\#12406](https://github.com/matrix-org/synapse/issues/12406)) - Add the `notify_appservices_from_worker` configuration option (superseding `notify_appservices`) to allow a generic worker to be designated as the worker to send traffic to Application Services. ([\#12452](https://github.com/matrix-org/synapse/issues/12452)) - Add the `update_user_directory_from_worker` configuration option (superseding `update_user_directory`) to allow a generic worker to be designated as the worker to update the user directory. ([\#12654](https://github.com/matrix-org/synapse/issues/12654)) - Add new `enable_registration_token_3pid_bypass` configuration option to allow registrations via token as an alternative to verifying a 3pid. ([\#12526](https://github.com/matrix-org/synapse/issues/12526)) - Implement [MSC3786](https://github.com/matrix-org/matrix-spec-proposals/pull/3786): Add a default push rule to ignore `m.room.server_acl` events. ([\#12601](https://github.com/matrix-org/synapse/issues/12601)) - Add new `mau_appservice_trial_days` configuration option to specify a different trial period for users registered via an appservice. ([\#12619](https://github.com/matrix-org/synapse/issues/12619)) Bugfixes -------- - Fix a bug introduced in Synapse 1.48.0 where the latest thread reply provided failed to include the proper bundled aggregations. ([\#12273](https://github.com/matrix-org/synapse/issues/12273)) - Fix a bug introduced in Synapse 1.22.0 where attempting to send a large amount of read receipts to an application service all at once would result in duplicate content and abnormally high memory usage. Contributed by Brad & Nick @ Beeper. ([\#12544](https://github.com/matrix-org/synapse/issues/12544)) - Fix a bug introduced in Synapse 1.57.0 which could cause `Failed to calculate hosts in room` errors to be logged for outbound federation. ([\#12570](https://github.com/matrix-org/synapse/issues/12570)) - Fix a long-standing bug where status codes would almost always get logged as `200!`, irrespective of the actual status code, when clients disconnect before a request has finished processing. ([\#12580](https://github.com/matrix-org/synapse/issues/12580)) - Fix race when persisting an event and deleting a room that could lead to outbound federation breaking. ([\#12594](https://github.com/matrix-org/synapse/issues/12594)) - Fix a bug introduced in Synapse 1.53.0 where bundled aggregations for annotations/edits were incorrectly calculated. ([\#12633](https://github.com/matrix-org/synapse/issues/12633)) - Fix a long-standing bug where rooms containing power levels with string values could not be upgraded. ([\#12657](https://github.com/matrix-org/synapse/issues/12657)) - Prevent memory leak from reoccurring when presence is disabled. ([\#12656](https://github.com/matrix-org/synapse/issues/12656)) Updates to the Docker image --------------------------- - Explicitly opt-in to using [BuildKit-specific features](https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md) in the Dockerfile. This fixes issues with building images in some GitLab CI environments. ([\#12541](https://github.com/matrix-org/synapse/issues/12541)) - Update the "Build docker images" GitHub Actions workflow to use `docker/metadata-action` to generate docker image tags, instead of a custom shell script. Contributed by @henryclw. ([\#12573](https://github.com/matrix-org/synapse/issues/12573)) Improved Documentation ---------------------- - Update SQL statements and replace use of old table `user_stats_historical` in docs for Synapse Admins. ([\#12536](https://github.com/matrix-org/synapse/issues/12536)) - Add missing linebreak to `pipx` install instructions. ([\#12579](https://github.com/matrix-org/synapse/issues/12579)) - Add information about the TCP replication module to docs. ([\#12621](https://github.com/matrix-org/synapse/issues/12621)) - Fixes to the formatting of `README.rst`. ([\#12627](https://github.com/matrix-org/synapse/issues/12627)) - Fix docs on how to run specific Complement tests using the `complement.sh` test runner. ([\#12664](https://github.com/matrix-org/synapse/issues/12664)) Deprecations and Removals ------------------------- - Remove unstable identifiers from [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069). ([\#12596](https://github.com/matrix-org/synapse/issues/12596)) - Remove the unspecified `m.login.jwt` login type and the unstable `uk.half-shot.msc2778.login.application_service` from [MSC2778](https://github.com/matrix-org/matrix-doc/pull/2778). ([\#12597](https://github.com/matrix-org/synapse/issues/12597)) - Synapse now requires at least Python 3.7.1 (up from 3.7.0), for compatibility with the latest Twisted trunk. ([\#12613](https://github.com/matrix-org/synapse/issues/12613)) Internal Changes ---------------- - Use supervisord to supervise Postgres and Caddy in the Complement image to reduce restart time. ([\#12480](https://github.com/matrix-org/synapse/issues/12480)) - Immediately retry any requests that have backed off when a server comes back online. ([\#12500](https://github.com/matrix-org/synapse/issues/12500)) - Use `make_awaitable` instead of `defer.succeed` for return values of mocks in tests. ([\#12505](https://github.com/matrix-org/synapse/issues/12505)) - Consistently check if an object is a `frozendict`. ([\#12564](https://github.com/matrix-org/synapse/issues/12564)) - Protect module callbacks with read semantics against cancellation. ([\#12568](https://github.com/matrix-org/synapse/issues/12568)) - Improve comments and error messages around access tokens. ([\#12577](https://github.com/matrix-org/synapse/issues/12577)) - Improve docstrings for the receipts store. ([\#12581](https://github.com/matrix-org/synapse/issues/12581)) - Use constants for read-receipts in tests. ([\#12582](https://github.com/matrix-org/synapse/issues/12582)) - Log status code of cancelled requests as 499 and avoid logging stack traces for them. ([\#12587](https://github.com/matrix-org/synapse/issues/12587), [\#12663](https://github.com/matrix-org/synapse/issues/12663)) - Remove special-case for `twisted` logger from default log config. ([\#12589](https://github.com/matrix-org/synapse/issues/12589)) - Use `getClientAddress` instead of the deprecated `getClientIP`. ([\#12599](https://github.com/matrix-org/synapse/issues/12599)) - Add link to documentation in Grafana Dashboard. ([\#12602](https://github.com/matrix-org/synapse/issues/12602)) - Reduce log spam when running multiple event persisters. ([\#12610](https://github.com/matrix-org/synapse/issues/12610)) - Add extra debug logging to federation sender. ([\#12614](https://github.com/matrix-org/synapse/issues/12614)) - Prevent remote homeservers from requesting local user device names by default. ([\#12616](https://github.com/matrix-org/synapse/issues/12616)) - Add a consistency check on events which we read from the database. ([\#12620](https://github.com/matrix-org/synapse/issues/12620)) - Remove use of the `constantly` library and switch to enums for `EventRedactBehaviour`. Contributed by @andrewdoh. ([\#12624](https://github.com/matrix-org/synapse/issues/12624)) - Remove unused code related to receipts. ([\#12632](https://github.com/matrix-org/synapse/issues/12632)) - Minor improvements to the scripts for running Synapse in worker mode under Complement. ([\#12637](https://github.com/matrix-org/synapse/issues/12637)) - Move `pympler` back in to the `all` extras. ([\#12652](https://github.com/matrix-org/synapse/issues/12652)) - Fix spelling of `M_UNRECOGNIZED` in comments. ([\#12665](https://github.com/matrix-org/synapse/issues/12665)) - Release script: confirm the commit to be tagged before tagging. ([\#12556](https://github.com/matrix-org/synapse/issues/12556)) - Fix a typo in the announcement text generated by the Synapse release development script. ([\#12612](https://github.com/matrix-org/synapse/issues/12612)) - Fix scripts-dev to pass typechecking. ([\#12356](https://github.com/matrix-org/synapse/issues/12356)) - Add some type hints to datastore. ([\#12485](https://github.com/matrix-org/synapse/issues/12485)) - Remove unused `# type: ignore`s. ([\#12531](https://github.com/matrix-org/synapse/issues/12531)) - Allow unused `# type: ignore` comments in bleeding edge CI jobs. ([\#12576](https://github.com/matrix-org/synapse/issues/12576)) - Remove redundant lines of config from `mypy.ini`. ([\#12608](https://github.com/matrix-org/synapse/issues/12608)) - Update to mypy 0.950. ([\#12650](https://github.com/matrix-org/synapse/issues/12650)) - Use `Concatenate` to better annotate `_do_execute`. ([\#12666](https://github.com/matrix-org/synapse/issues/12666)) - Use `ParamSpec` to refine type hints. ([\#12667](https://github.com/matrix-org/synapse/issues/12667)) - Fix mypy against latest pillow stubs. ([\#12671](https://github.com/matrix-org/synapse/issues/12671)) -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE1508oLYUKainYFJakD7OEIo53t0FAmJ6UDoACgkQkD7OEIo5 3t3XMw/9GfROfC///lio77EhdI0lh39bkgvfqkFE/wRYtTs4n3ZSiclgVBnNmgnN WnLvjL/4wXRjzJZ8vcO+qG0OasT3H9l5xdGE+7h8oUMIYCG7Xdyx37xnhv5IC8Y5 dAjqs2mMnIWnAqyOAVZQVgmNLDhRAb9YGCJ3fJY9cV8dmzr8/RzR8gXrFPaBT9Nj w5Xag0jkiJuff4+Y5oan2yBxMvHT/zAb8rQf5wNjen00lwYHSAr/5aiAsbnHcMYM q0ZahVB/hVaA5GqxwrySlE0mqrPP6M/CpbcLr1h8LlmLdgA6f3vcf/sREGq6wCRK Z8yYXM4RyvNTyYirQfnP5QseVazJqcCY0pCXrMnQxwXda7nSDKjXo0WFBmyIQpK4 YqDvlOhECr+Pcac/EAviH2OEvTMBg4cUs1xdm4/CBElIOZQPyXHJ0DLku8R0CRx/ i01fN0I/r/wX1Oliy4wFJgSYt/uUQzZaJmRieK8fznlFibM3Gk1GvniX0M5Hu6cZ PQuHdPqRxQzvBmEAA1hxTfyOaDeP3g29NnOz9cjsBiAVNqUbEV5KFusjwksI4kcT Bsdk+v/i8/Kx6t0ovRI2i3JJAFNWmUzpY0iDzY3kJCn1YmEMZ7rs+e5qRmv2eBLW oS9dhLGsW7A/mJC6fLM+CATwbFiL/SqB5ocnl4POodZ/b27eDyw= =NPHq -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE1508oLYUKainYFJakD7OEIo53t0FAmJ6V/YACgkQkD7OEIo5 3t0ANA/7BZ762LAjLNsFvJVxnH8LjDEjsjCyjHQ/zzVkAete3354zcW/mqN2YzMl shaxHucfZ9sKCXlOSuwY9N+1Q24ALMAb8QebCQZjNamxKqddpMD0+ijeaKRoFq8P 6VY5saL+rjW0g2QaKE/IHc99UKnw/cNN/vGa3xc3dJFRiiNkK95jS8R7aaaT2mXB 9frbbN0Q45Q6JTU9qJTP6jqdYmKZNjvIHBJcEXkstGqS8NPJXpfVKMZIgTj/8nGL RVJqOStsnHdx4vywZ76GPTAxQ+ZjXMilIbz+bF/6Zw1SCJEZfwFOelYApwMi0qU7 yDK7xeokKxzXyykzmptmiqmePCbr9fHbk+BJtE7VblMdj7OaM7jX7foSX6J1elIp zwDwBK0VH3CJzk9SRoy4JW3PI9K45DZodev33CT+sT39/wYTiV3mbGIYkgP8oSDH rd588QZDovVDy6NWzxkT0MsutHE5Rhx2aP+hkIFDHL4WWnKeFRD5HbiZfg/eC6r0 0nPRY2CCikvqLRqefTi4dgxb+twVBnioPZiDBTEKA/M1/qVg978SIpdHsfmaDJf9 BzWsvfsns0t54J2QnazOjKx2yxIYH6pZ2VFnrb47404O5O3+TuKZL9eX8oNZeBFl JKZKD2xii/ktkw5p27RxEpBJ13hrssN+RMd0JrvS3LTa5G9aIUM= =2gaD -----END PGP SIGNATURE----- Merge tag 'v1.59.0rc1' into develop Synapse 1.59.0rc1 (2022-05-10) ============================== This release makes several changes that server administrators should be aware of: - Device name lookup over federation is now disabled by default. ([\#12616](https://github.com/matrix-org/synapse/issues/12616)) - The `synapse.app.appservice` and `synapse.app.user_dir` worker application types are now deprecated. ([\#12452](https://github.com/matrix-org/synapse/issues/12452), [\#12654](https://github.com/matrix-org/synapse/issues/12654)) See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1590) for more details. Additionally, this release removes the non-standard `m.login.jwt` login type from Synapse. It can be replaced with `org.matrix.login.jwt` for identical behaviour. This is only used if `jwt_config.enabled` is set to `true` in the configuration. ([\#12597](https://github.com/matrix-org/synapse/issues/12597)) Features -------- - Support [MSC3266](https://github.com/matrix-org/matrix-doc/pull/3266) room summaries over federation. ([\#11507](https://github.com/matrix-org/synapse/issues/11507)) - Implement [changes](4a77139249
) to [MSC2285 (hidden read receipts)](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). Contributed by @SimonBrandner. ([\#12168](https://github.com/matrix-org/synapse/issues/12168), [\#12635](https://github.com/matrix-org/synapse/issues/12635), [\#12636](https://github.com/matrix-org/synapse/issues/12636), [\#12670](https://github.com/matrix-org/synapse/issues/12670)) - Extend the [module API](https://github.com/matrix-org/synapse/blob/release-v1.59/synapse/module_api/__init__.py) to allow modules to change actions for existing push rules of local users. ([\#12406](https://github.com/matrix-org/synapse/issues/12406)) - Add the `notify_appservices_from_worker` configuration option (superseding `notify_appservices`) to allow a generic worker to be designated as the worker to send traffic to Application Services. ([\#12452](https://github.com/matrix-org/synapse/issues/12452)) - Add the `update_user_directory_from_worker` configuration option (superseding `update_user_directory`) to allow a generic worker to be designated as the worker to update the user directory. ([\#12654](https://github.com/matrix-org/synapse/issues/12654)) - Add new `enable_registration_token_3pid_bypass` configuration option to allow registrations via token as an alternative to verifying a 3pid. ([\#12526](https://github.com/matrix-org/synapse/issues/12526)) - Implement [MSC3786](https://github.com/matrix-org/matrix-spec-proposals/pull/3786): Add a default push rule to ignore `m.room.server_acl` events. ([\#12601](https://github.com/matrix-org/synapse/issues/12601)) - Add new `mau_appservice_trial_days` configuration option to specify a different trial period for users registered via an appservice. ([\#12619](https://github.com/matrix-org/synapse/issues/12619)) Bugfixes -------- - Fix a bug introduced in Synapse 1.48.0 where the latest thread reply provided failed to include the proper bundled aggregations. ([\#12273](https://github.com/matrix-org/synapse/issues/12273)) - Fix a bug introduced in Synapse 1.22.0 where attempting to send a large amount of read receipts to an application service all at once would result in duplicate content and abnormally high memory usage. Contributed by Brad & Nick @ Beeper. ([\#12544](https://github.com/matrix-org/synapse/issues/12544)) - Fix a bug introduced in Synapse 1.57.0 which could cause `Failed to calculate hosts in room` errors to be logged for outbound federation. ([\#12570](https://github.com/matrix-org/synapse/issues/12570)) - Fix a long-standing bug where status codes would almost always get logged as `200!`, irrespective of the actual status code, when clients disconnect before a request has finished processing. ([\#12580](https://github.com/matrix-org/synapse/issues/12580)) - Fix race when persisting an event and deleting a room that could lead to outbound federation breaking. ([\#12594](https://github.com/matrix-org/synapse/issues/12594)) - Fix a bug introduced in Synapse 1.53.0 where bundled aggregations for annotations/edits were incorrectly calculated. ([\#12633](https://github.com/matrix-org/synapse/issues/12633)) - Fix a long-standing bug where rooms containing power levels with string values could not be upgraded. ([\#12657](https://github.com/matrix-org/synapse/issues/12657)) - Prevent memory leak from reoccurring when presence is disabled. ([\#12656](https://github.com/matrix-org/synapse/issues/12656)) Updates to the Docker image --------------------------- - Explicitly opt-in to using [BuildKit-specific features](https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md) in the Dockerfile. This fixes issues with building images in some GitLab CI environments. ([\#12541](https://github.com/matrix-org/synapse/issues/12541)) - Update the "Build docker images" GitHub Actions workflow to use `docker/metadata-action` to generate docker image tags, instead of a custom shell script. Contributed by @henryclw. ([\#12573](https://github.com/matrix-org/synapse/issues/12573)) Improved Documentation ---------------------- - Update SQL statements and replace use of old table `user_stats_historical` in docs for Synapse Admins. ([\#12536](https://github.com/matrix-org/synapse/issues/12536)) - Add missing linebreak to `pipx` install instructions. ([\#12579](https://github.com/matrix-org/synapse/issues/12579)) - Add information about the TCP replication module to docs. ([\#12621](https://github.com/matrix-org/synapse/issues/12621)) - Fixes to the formatting of `README.rst`. ([\#12627](https://github.com/matrix-org/synapse/issues/12627)) - Fix docs on how to run specific Complement tests using the `complement.sh` test runner. ([\#12664](https://github.com/matrix-org/synapse/issues/12664)) Deprecations and Removals ------------------------- - Remove unstable identifiers from [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069). ([\#12596](https://github.com/matrix-org/synapse/issues/12596)) - Remove the unspecified `m.login.jwt` login type and the unstable `uk.half-shot.msc2778.login.application_service` from [MSC2778](https://github.com/matrix-org/matrix-doc/pull/2778). ([\#12597](https://github.com/matrix-org/synapse/issues/12597)) - Synapse now requires at least Python 3.7.1 (up from 3.7.0), for compatibility with the latest Twisted trunk. ([\#12613](https://github.com/matrix-org/synapse/issues/12613)) Internal Changes ---------------- - Use supervisord to supervise Postgres and Caddy in the Complement image to reduce restart time. ([\#12480](https://github.com/matrix-org/synapse/issues/12480)) - Immediately retry any requests that have backed off when a server comes back online. ([\#12500](https://github.com/matrix-org/synapse/issues/12500)) - Use `make_awaitable` instead of `defer.succeed` for return values of mocks in tests. ([\#12505](https://github.com/matrix-org/synapse/issues/12505)) - Consistently check if an object is a `frozendict`. ([\#12564](https://github.com/matrix-org/synapse/issues/12564)) - Protect module callbacks with read semantics against cancellation. ([\#12568](https://github.com/matrix-org/synapse/issues/12568)) - Improve comments and error messages around access tokens. ([\#12577](https://github.com/matrix-org/synapse/issues/12577)) - Improve docstrings for the receipts store. ([\#12581](https://github.com/matrix-org/synapse/issues/12581)) - Use constants for read-receipts in tests. ([\#12582](https://github.com/matrix-org/synapse/issues/12582)) - Log status code of cancelled requests as 499 and avoid logging stack traces for them. ([\#12587](https://github.com/matrix-org/synapse/issues/12587), [\#12663](https://github.com/matrix-org/synapse/issues/12663)) - Remove special-case for `twisted` logger from default log config. ([\#12589](https://github.com/matrix-org/synapse/issues/12589)) - Use `getClientAddress` instead of the deprecated `getClientIP`. ([\#12599](https://github.com/matrix-org/synapse/issues/12599)) - Add link to documentation in Grafana Dashboard. ([\#12602](https://github.com/matrix-org/synapse/issues/12602)) - Reduce log spam when running multiple event persisters. ([\#12610](https://github.com/matrix-org/synapse/issues/12610)) - Add extra debug logging to federation sender. ([\#12614](https://github.com/matrix-org/synapse/issues/12614)) - Prevent remote homeservers from requesting local user device names by default. ([\#12616](https://github.com/matrix-org/synapse/issues/12616)) - Add a consistency check on events which we read from the database. ([\#12620](https://github.com/matrix-org/synapse/issues/12620)) - Remove use of the `constantly` library and switch to enums for `EventRedactBehaviour`. Contributed by @andrewdoh. ([\#12624](https://github.com/matrix-org/synapse/issues/12624)) - Remove unused code related to receipts. ([\#12632](https://github.com/matrix-org/synapse/issues/12632)) - Minor improvements to the scripts for running Synapse in worker mode under Complement. ([\#12637](https://github.com/matrix-org/synapse/issues/12637)) - Move `pympler` back in to the `all` extras. ([\#12652](https://github.com/matrix-org/synapse/issues/12652)) - Fix spelling of `M_UNRECOGNIZED` in comments. ([\#12665](https://github.com/matrix-org/synapse/issues/12665)) - Release script: confirm the commit to be tagged before tagging. ([\#12556](https://github.com/matrix-org/synapse/issues/12556)) - Fix a typo in the announcement text generated by the Synapse release development script. ([\#12612](https://github.com/matrix-org/synapse/issues/12612)) - Fix scripts-dev to pass typechecking. ([\#12356](https://github.com/matrix-org/synapse/issues/12356)) - Add some type hints to datastore. ([\#12485](https://github.com/matrix-org/synapse/issues/12485)) - Remove unused `# type: ignore`s. ([\#12531](https://github.com/matrix-org/synapse/issues/12531)) - Allow unused `# type: ignore` comments in bleeding edge CI jobs. ([\#12576](https://github.com/matrix-org/synapse/issues/12576)) - Remove redundant lines of config from `mypy.ini`. ([\#12608](https://github.com/matrix-org/synapse/issues/12608)) - Update to mypy 0.950. ([\#12650](https://github.com/matrix-org/synapse/issues/12650)) - Use `Concatenate` to better annotate `_do_execute`. ([\#12666](https://github.com/matrix-org/synapse/issues/12666)) - Use `ParamSpec` to refine type hints. ([\#12667](https://github.com/matrix-org/synapse/issues/12667)) - Fix mypy against latest pillow stubs. ([\#12671](https://github.com/matrix-org/synapse/issues/12671))
This commit is contained in:
commit
2aad0ae57f
103
CHANGES.md
103
CHANGES.md
|
@ -1,8 +1,105 @@
|
||||||
Synapse 1.59.0
|
Synapse 1.59.0rc1 (2022-05-10)
|
||||||
==============
|
==============================
|
||||||
|
|
||||||
The non-standard `m.login.jwt` login type has been removed from Synapse. It can be replaced with `org.matrix.login.jwt` for identical behaviour. This is only used if `jwt_config.enabled` is set to `true` in the configuration.
|
This release makes several changes that server administrators should be aware of:
|
||||||
|
|
||||||
|
- Device name lookup over federation is now disabled by default. ([\#12616](https://github.com/matrix-org/synapse/issues/12616))
|
||||||
|
- The `synapse.app.appservice` and `synapse.app.user_dir` worker application types are now deprecated. ([\#12452](https://github.com/matrix-org/synapse/issues/12452), [\#12654](https://github.com/matrix-org/synapse/issues/12654))
|
||||||
|
|
||||||
|
See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1590) for more details.
|
||||||
|
|
||||||
|
Additionally, this release removes the non-standard `m.login.jwt` login type from Synapse. It can be replaced with `org.matrix.login.jwt` for identical behaviour. This is only used if `jwt_config.enabled` is set to `true` in the configuration. ([\#12597](https://github.com/matrix-org/synapse/issues/12597))
|
||||||
|
|
||||||
|
Features
|
||||||
|
--------
|
||||||
|
|
||||||
|
- Support [MSC3266](https://github.com/matrix-org/matrix-doc/pull/3266) room summaries over federation. ([\#11507](https://github.com/matrix-org/synapse/issues/11507))
|
||||||
|
- Implement [changes](https://github.com/matrix-org/matrix-spec-proposals/pull/2285/commits/4a77139249c2e830aec3c7d6bd5501a514d1cc27) to [MSC2285 (hidden read receipts)](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). Contributed by @SimonBrandner. ([\#12168](https://github.com/matrix-org/synapse/issues/12168), [\#12635](https://github.com/matrix-org/synapse/issues/12635), [\#12636](https://github.com/matrix-org/synapse/issues/12636), [\#12670](https://github.com/matrix-org/synapse/issues/12670))
|
||||||
|
- Extend the [module API](https://github.com/matrix-org/synapse/blob/release-v1.59/synapse/module_api/__init__.py) to allow modules to change actions for existing push rules of local users. ([\#12406](https://github.com/matrix-org/synapse/issues/12406))
|
||||||
|
- Add the `notify_appservices_from_worker` configuration option (superseding `notify_appservices`) to allow a generic worker to be designated as the worker to send traffic to Application Services. ([\#12452](https://github.com/matrix-org/synapse/issues/12452))
|
||||||
|
- Add the `update_user_directory_from_worker` configuration option (superseding `update_user_directory`) to allow a generic worker to be designated as the worker to update the user directory. ([\#12654](https://github.com/matrix-org/synapse/issues/12654))
|
||||||
|
- Add new `enable_registration_token_3pid_bypass` configuration option to allow registrations via token as an alternative to verifying a 3pid. ([\#12526](https://github.com/matrix-org/synapse/issues/12526))
|
||||||
|
- Implement [MSC3786](https://github.com/matrix-org/matrix-spec-proposals/pull/3786): Add a default push rule to ignore `m.room.server_acl` events. ([\#12601](https://github.com/matrix-org/synapse/issues/12601))
|
||||||
|
- Add new `mau_appservice_trial_days` configuration option to specify a different trial period for users registered via an appservice. ([\#12619](https://github.com/matrix-org/synapse/issues/12619))
|
||||||
|
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- Fix a bug introduced in Synapse 1.48.0 where the latest thread reply provided failed to include the proper bundled aggregations. ([\#12273](https://github.com/matrix-org/synapse/issues/12273))
|
||||||
|
- Fix a bug introduced in Synapse 1.22.0 where attempting to send a large amount of read receipts to an application service all at once would result in duplicate content and abnormally high memory usage. Contributed by Brad & Nick @ Beeper. ([\#12544](https://github.com/matrix-org/synapse/issues/12544))
|
||||||
|
- Fix a bug introduced in Synapse 1.57.0 which could cause `Failed to calculate hosts in room` errors to be logged for outbound federation. ([\#12570](https://github.com/matrix-org/synapse/issues/12570))
|
||||||
|
- Fix a long-standing bug where status codes would almost always get logged as `200!`, irrespective of the actual status code, when clients disconnect before a request has finished processing. ([\#12580](https://github.com/matrix-org/synapse/issues/12580))
|
||||||
|
- Fix race when persisting an event and deleting a room that could lead to outbound federation breaking. ([\#12594](https://github.com/matrix-org/synapse/issues/12594))
|
||||||
|
- Fix a bug introduced in Synapse 1.53.0 where bundled aggregations for annotations/edits were incorrectly calculated. ([\#12633](https://github.com/matrix-org/synapse/issues/12633))
|
||||||
|
- Fix a long-standing bug where rooms containing power levels with string values could not be upgraded. ([\#12657](https://github.com/matrix-org/synapse/issues/12657))
|
||||||
|
- Prevent memory leak from reoccurring when presence is disabled. ([\#12656](https://github.com/matrix-org/synapse/issues/12656))
|
||||||
|
|
||||||
|
|
||||||
|
Updates to the Docker image
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Explicitly opt-in to using [BuildKit-specific features](https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md) in the Dockerfile. This fixes issues with building images in some GitLab CI environments. ([\#12541](https://github.com/matrix-org/synapse/issues/12541))
|
||||||
|
- Update the "Build docker images" GitHub Actions workflow to use `docker/metadata-action` to generate docker image tags, instead of a custom shell script. Contributed by @henryclw. ([\#12573](https://github.com/matrix-org/synapse/issues/12573))
|
||||||
|
|
||||||
|
|
||||||
|
Improved Documentation
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
- Update SQL statements and replace use of old table `user_stats_historical` in docs for Synapse Admins. ([\#12536](https://github.com/matrix-org/synapse/issues/12536))
|
||||||
|
- Add missing linebreak to `pipx` install instructions. ([\#12579](https://github.com/matrix-org/synapse/issues/12579))
|
||||||
|
- Add information about the TCP replication module to docs. ([\#12621](https://github.com/matrix-org/synapse/issues/12621))
|
||||||
|
- Fixes to the formatting of `README.rst`. ([\#12627](https://github.com/matrix-org/synapse/issues/12627))
|
||||||
|
- Fix docs on how to run specific Complement tests using the `complement.sh` test runner. ([\#12664](https://github.com/matrix-org/synapse/issues/12664))
|
||||||
|
|
||||||
|
|
||||||
|
Deprecations and Removals
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
- Remove unstable identifiers from [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069). ([\#12596](https://github.com/matrix-org/synapse/issues/12596))
|
||||||
|
- Remove the unspecified `m.login.jwt` login type and the unstable `uk.half-shot.msc2778.login.application_service` from
|
||||||
|
[MSC2778](https://github.com/matrix-org/matrix-doc/pull/2778). ([\#12597](https://github.com/matrix-org/synapse/issues/12597))
|
||||||
|
- Synapse now requires at least Python 3.7.1 (up from 3.7.0), for compatibility with the latest Twisted trunk. ([\#12613](https://github.com/matrix-org/synapse/issues/12613))
|
||||||
|
|
||||||
|
|
||||||
|
Internal Changes
|
||||||
|
----------------
|
||||||
|
|
||||||
|
- Use supervisord to supervise Postgres and Caddy in the Complement image to reduce restart time. ([\#12480](https://github.com/matrix-org/synapse/issues/12480))
|
||||||
|
- Immediately retry any requests that have backed off when a server comes back online. ([\#12500](https://github.com/matrix-org/synapse/issues/12500))
|
||||||
|
- Use `make_awaitable` instead of `defer.succeed` for return values of mocks in tests. ([\#12505](https://github.com/matrix-org/synapse/issues/12505))
|
||||||
|
- Consistently check if an object is a `frozendict`. ([\#12564](https://github.com/matrix-org/synapse/issues/12564))
|
||||||
|
- Protect module callbacks with read semantics against cancellation. ([\#12568](https://github.com/matrix-org/synapse/issues/12568))
|
||||||
|
- Improve comments and error messages around access tokens. ([\#12577](https://github.com/matrix-org/synapse/issues/12577))
|
||||||
|
- Improve docstrings for the receipts store. ([\#12581](https://github.com/matrix-org/synapse/issues/12581))
|
||||||
|
- Use constants for read-receipts in tests. ([\#12582](https://github.com/matrix-org/synapse/issues/12582))
|
||||||
|
- Log status code of cancelled requests as 499 and avoid logging stack traces for them. ([\#12587](https://github.com/matrix-org/synapse/issues/12587), [\#12663](https://github.com/matrix-org/synapse/issues/12663))
|
||||||
|
- Remove special-case for `twisted` logger from default log config. ([\#12589](https://github.com/matrix-org/synapse/issues/12589))
|
||||||
|
- Use `getClientAddress` instead of the deprecated `getClientIP`. ([\#12599](https://github.com/matrix-org/synapse/issues/12599))
|
||||||
|
- Add link to documentation in Grafana Dashboard. ([\#12602](https://github.com/matrix-org/synapse/issues/12602))
|
||||||
|
- Reduce log spam when running multiple event persisters. ([\#12610](https://github.com/matrix-org/synapse/issues/12610))
|
||||||
|
- Add extra debug logging to federation sender. ([\#12614](https://github.com/matrix-org/synapse/issues/12614))
|
||||||
|
- Prevent remote homeservers from requesting local user device names by default. ([\#12616](https://github.com/matrix-org/synapse/issues/12616))
|
||||||
|
- Add a consistency check on events which we read from the database. ([\#12620](https://github.com/matrix-org/synapse/issues/12620))
|
||||||
|
- Remove use of the `constantly` library and switch to enums for `EventRedactBehaviour`. Contributed by @andrewdoh. ([\#12624](https://github.com/matrix-org/synapse/issues/12624))
|
||||||
|
- Remove unused code related to receipts. ([\#12632](https://github.com/matrix-org/synapse/issues/12632))
|
||||||
|
- Minor improvements to the scripts for running Synapse in worker mode under Complement. ([\#12637](https://github.com/matrix-org/synapse/issues/12637))
|
||||||
|
- Move `pympler` back in to the `all` extras. ([\#12652](https://github.com/matrix-org/synapse/issues/12652))
|
||||||
|
- Fix spelling of `M_UNRECOGNIZED` in comments. ([\#12665](https://github.com/matrix-org/synapse/issues/12665))
|
||||||
|
- Release script: confirm the commit to be tagged before tagging. ([\#12556](https://github.com/matrix-org/synapse/issues/12556))
|
||||||
|
- Fix a typo in the announcement text generated by the Synapse release development script. ([\#12612](https://github.com/matrix-org/synapse/issues/12612))
|
||||||
|
|
||||||
|
### Typechecking
|
||||||
|
|
||||||
|
- Fix scripts-dev to pass typechecking. ([\#12356](https://github.com/matrix-org/synapse/issues/12356))
|
||||||
|
- Add some type hints to datastore. ([\#12485](https://github.com/matrix-org/synapse/issues/12485))
|
||||||
|
- Remove unused `# type: ignore`s. ([\#12531](https://github.com/matrix-org/synapse/issues/12531))
|
||||||
|
- Allow unused `# type: ignore` comments in bleeding edge CI jobs. ([\#12576](https://github.com/matrix-org/synapse/issues/12576))
|
||||||
|
- Remove redundant lines of config from `mypy.ini`. ([\#12608](https://github.com/matrix-org/synapse/issues/12608))
|
||||||
|
- Update to mypy 0.950. ([\#12650](https://github.com/matrix-org/synapse/issues/12650))
|
||||||
|
- Use `Concatenate` to better annotate `_do_execute`. ([\#12666](https://github.com/matrix-org/synapse/issues/12666))
|
||||||
|
- Use `ParamSpec` to refine type hints. ([\#12667](https://github.com/matrix-org/synapse/issues/12667))
|
||||||
|
- Fix mypy against latest pillow stubs. ([\#12671](https://github.com/matrix-org/synapse/issues/12671))
|
||||||
|
|
||||||
Synapse 1.58.1 (2022-05-05)
|
Synapse 1.58.1 (2022-05-05)
|
||||||
===========================
|
===========================
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Support [MSC3266](https://github.com/matrix-org/matrix-doc/pull/3266) room summaries over federation.
|
|
|
@ -1 +0,0 @@
|
||||||
Implement [changes](https://github.com/matrix-org/matrix-spec-proposals/pull/2285/commits/4a77139249c2e830aec3c7d6bd5501a514d1cc27) to [MSC2285 (hidden read receipts)](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). Contributed by @SimonBrandner.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a bug introduced in Synapse v1.48.0 where latest thread reply provided failed to include the proper bundled aggregations.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix scripts-dev to pass typechecking.
|
|
|
@ -1 +0,0 @@
|
||||||
Add a module API to allow modules to change actions for existing push rules of local users.
|
|
|
@ -1 +0,0 @@
|
||||||
Add the `notify_appservices_from_worker` configuration option (superseding `notify_appservices`) to allow a generic worker to be designated as the worker to send traffic to Application Services.
|
|
|
@ -1 +0,0 @@
|
||||||
Use supervisord to supervise Postgres and Caddy in the Complement image to reduce restart time.
|
|
|
@ -1 +0,0 @@
|
||||||
Add some type hints to datastore.
|
|
|
@ -1 +0,0 @@
|
||||||
Immediately retry any requests that have backed off when a server comes back online.
|
|
|
@ -1 +0,0 @@
|
||||||
Use `make_awaitable` instead of `defer.succeed` for return values of mocks in tests.
|
|
|
@ -1 +0,0 @@
|
||||||
Add new `enable_registration_token_3pid_bypass` configuration option to allow registrations via token as an alternative to verifying a 3pid.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove unused `# type: ignore`s.
|
|
|
@ -1 +0,0 @@
|
||||||
Update SQL statements and replace use of old table `user_stats_historical` in docs for Synapse Admins.
|
|
|
@ -1 +0,0 @@
|
||||||
Explicitly opt-in to using [BuildKit-specific features](https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md) in the Dockerfile. This fixes issues with building images in some GitLab CI environments.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a bug where attempting to send a large amount of read receipts to an application service all at once would result in duplicate content and abnormally high memory usage. Contributed by Brad & Nick @ Beeper.
|
|
|
@ -1 +0,0 @@
|
||||||
Release script: confirm the commit to be tagged before tagging.
|
|
|
@ -1 +0,0 @@
|
||||||
Consistently check if an object is a `frozendict`.
|
|
|
@ -1 +0,0 @@
|
||||||
Protect module callbacks with read semantics against cancellation.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a bug introduced in Synapse 1.57 which could cause `Failed to calculate hosts in room` errors to be logged for outbound federation.
|
|
|
@ -1 +0,0 @@
|
||||||
Update the "Build docker images" GitHub Actions workflow to use `docker/metadata-action` to generate docker image tags, instead of a custom shell script. Contributed by henryclw.
|
|
|
@ -1 +0,0 @@
|
||||||
Allow unused `#type: ignore` comments in bleeding edge CI jobs.
|
|
|
@ -1 +0,0 @@
|
||||||
Improve comments and error messages around access tokens.
|
|
|
@ -1 +0,0 @@
|
||||||
Add missing linebreak to pipx install instructions.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a long standing bug where status codes would almost always get logged as 200!, irrespective of the actual status code, when clients disconnect before a request has finished processing.
|
|
|
@ -1 +0,0 @@
|
||||||
Improve docstrings for the receipts store.
|
|
|
@ -1 +0,0 @@
|
||||||
Use constants for read-receipts in tests.
|
|
|
@ -1 +0,0 @@
|
||||||
Log status code of cancelled requests as 499 and avoid logging stack traces for them.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove special-case for `twisted` logger from default log config.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix race when persisting an event and deleting a room that could lead to outbound federation breaking.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove unstable identifiers from [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069).
|
|
|
@ -1,2 +0,0 @@
|
||||||
Remove the unspecified `m.login.jwt` login type and the unstable `uk.half-shot.msc2778.login.application_service` from
|
|
||||||
[MSC2778](https://github.com/matrix-org/matrix-doc/pull/2778).
|
|
|
@ -1 +0,0 @@
|
||||||
Use `getClientAddress` instead of the deprecated `getClientIP`.
|
|
|
@ -1 +0,0 @@
|
||||||
Implement MSC3786: Add a default push rule to ignore m.room.server_acl events.
|
|
|
@ -1 +0,0 @@
|
||||||
Add link to documentation in Grafana Dashboard.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove redundant lines of config from `mypy.ini`.
|
|
|
@ -1 +0,0 @@
|
||||||
Reduce log spam when running multiple event persisters.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a typo in the announcement text generated by the Synapse release development script.
|
|
|
@ -1 +0,0 @@
|
||||||
Synapse now requires at least Python 3.7.1 (up from 3.7.0), for compatibility with the latest Twisted trunk.
|
|
|
@ -1 +0,0 @@
|
||||||
Add extra debug logging to federation sender.
|
|
|
@ -1 +0,0 @@
|
||||||
Prevent remote homeservers from requesting local user device names by default.
|
|
|
@ -1 +0,0 @@
|
||||||
Add new `mau_appservice_trial_days` configuration option to specify a different trial period for users registered via an appservice.
|
|
|
@ -1 +0,0 @@
|
||||||
Add a consistency check on events which we read from the database.
|
|
|
@ -1 +0,0 @@
|
||||||
Add information about the TCP replication module to docs.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove use of constantly library and switch to enums for EventRedactBehaviour. Contributed by @andrewdoh.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixes to the formatting of README.rst.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove unused code related to receipts.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a bug introduced in Synapse v1.53.0 where bundled aggregations for annotations/edits were incorrectly calculated.
|
|
|
@ -1 +0,0 @@
|
||||||
Implement [changes](https://github.com/matrix-org/matrix-spec-proposals/pull/2285/commits/4a77139249c2e830aec3c7d6bd5501a514d1cc27) to [MSC2285 (hidden read receipts)](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). Contributed by @SimonBrandner.
|
|
|
@ -1 +0,0 @@
|
||||||
Implement [changes](https://github.com/matrix-org/matrix-spec-proposals/pull/2285/commits/4a77139249c2e830aec3c7d6bd5501a514d1cc27) to [MSC2285 (hidden read receipts)](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). Contributed by @SimonBrandner.
|
|
|
@ -1 +0,0 @@
|
||||||
Minor improvements to the scripts for running Synapse in worker mode under Complement.
|
|
|
@ -1 +0,0 @@
|
||||||
Add new `enable_registration_token_3pid_bypass` configuration option to allow registrations via token as an alternative to verifying a 3pid.
|
|
|
@ -1 +0,0 @@
|
||||||
Update to mypy 0.950.
|
|
|
@ -1 +0,0 @@
|
||||||
Move `pympler` back in to the `all` extras.
|
|
|
@ -1 +0,0 @@
|
||||||
Prevent memory leak from reoccurring when presence is disabled.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a long-standing bug where rooms containing power levels with string values could not be upgraded.
|
|
|
@ -1 +0,0 @@
|
||||||
Log status code of cancelled requests as 499 and avoid logging stack traces for them.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix docs on how to run specific Complement tests using the `complement.sh` test runner.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix spelling of `M_UNRECOGNIZED` in comments.
|
|
|
@ -1 +0,0 @@
|
||||||
Use `Concatenate` to better annotate `_do_execute`.
|
|
|
@ -1 +0,0 @@
|
||||||
Use `ParamSpec` to refine type hints.
|
|
|
@ -1 +0,0 @@
|
||||||
Implement [changes](https://github.com/matrix-org/matrix-spec-proposals/pull/2285/commits/4a77139249c2e830aec3c7d6bd5501a514d1cc27) to [MSC2285 (hidden read receipts)](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). Contributed by @SimonBrandner.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix mypy against latest pillow stubs.
|
|
|
@ -1,10 +1,11 @@
|
||||||
matrix-synapse-py3 (1.58.2) UNRELEASED; urgency=medium
|
matrix-synapse-py3 (1.59.0~rc1) stable; urgency=medium
|
||||||
|
|
||||||
* Adjust how the `exported-requirements.txt` file is generated as part of
|
* Adjust how the `exported-requirements.txt` file is generated as part of
|
||||||
the process of building these packages. This affects the package
|
the process of building these packages. This affects the package
|
||||||
maintainers only; end-users are unaffected.
|
maintainers only; end-users are unaffected.
|
||||||
|
* New Synapse release 1.59.0rc1.
|
||||||
|
|
||||||
-- Synapse Packaging team <packages@matrix.org> Fri, 06 May 2022 13:49:29 +0100
|
-- Synapse Packaging team <packages@matrix.org> Tue, 10 May 2022 10:45:08 +0100
|
||||||
|
|
||||||
matrix-synapse-py3 (1.58.1) stable; urgency=medium
|
matrix-synapse-py3 (1.58.1) stable; urgency=medium
|
||||||
|
|
||||||
|
|
|
@ -101,29 +101,36 @@ To re-enable this functionality, set the
|
||||||
homeserver config option to `true`.
|
homeserver config option to `true`.
|
||||||
|
|
||||||
|
|
||||||
## Deprecation of the `synapse.app.appservice` worker application type
|
## Deprecation of the `synapse.app.appservice` and `synapse.app.user_dir` worker application types
|
||||||
|
|
||||||
The `synapse.app.appservice` worker application type allowed you to configure a
|
The `synapse.app.appservice` worker application type allowed you to configure a
|
||||||
single worker to use to notify application services of new events, as long
|
single worker to use to notify application services of new events, as long
|
||||||
as this functionality was disabled on the main process with `notify_appservices: False`.
|
as this functionality was disabled on the main process with `notify_appservices: False`.
|
||||||
|
Further, the `synapse.app.user_dir` worker application type allowed you to configure
|
||||||
|
a single worker to be responsible for updating the user directory, as long as this
|
||||||
|
was disabled on the main process with `update_user_directory: False`.
|
||||||
|
|
||||||
To unify Synapse's worker types, the `synapse.app.appservice` worker application
|
To unify Synapse's worker types, the `synapse.app.appservice` worker application
|
||||||
type and the `notify_appservices` configuration option have been deprecated.
|
type and the `notify_appservices` configuration option have been deprecated.
|
||||||
|
The `synapse.app.user_dir` worker application type and `update_user_directory`
|
||||||
|
configuration option have also been deprecated.
|
||||||
|
|
||||||
To get the same functionality, it's now recommended that the `synapse.app.generic_worker`
|
To get the same functionality as was provided by the deprecated options, it's now recommended that the `synapse.app.generic_worker`
|
||||||
worker application type is used and that the `notify_appservices_from_worker` option
|
worker application type is used and that the `notify_appservices_from_worker` and/or
|
||||||
is set to the name of a worker.
|
`update_user_directory_from_worker` options are set to the name of a worker.
|
||||||
|
|
||||||
For the time being, `notify_appservices_from_worker` can be used alongside
|
For the time being, the old options can be used alongside the new options to make
|
||||||
`synapse.app.appservice` and `notify_appservices` to make it easier to transition
|
it easier to transition between the two configurations, however please note that:
|
||||||
between the two configurations, however please note that:
|
|
||||||
|
|
||||||
- the options must not contradict each other (otherwise Synapse won't start); and
|
- the options must not contradict each other (otherwise Synapse won't start); and
|
||||||
- the `notify_appservices` option will be removed in a future release of Synapse.
|
- the `notify_appservices` and `update_user_directory` options will be removed in a future release of Synapse.
|
||||||
|
|
||||||
Please see [the relevant section of the worker documentation][v1_59_notify_ases_from] for more information.
|
Please see the [*Notifying Application Services*][v1_59_notify_ases_from] and
|
||||||
|
[*Updating the User Directory*][v1_59_update_user_dir] sections of the worker
|
||||||
|
documentation for more information.
|
||||||
|
|
||||||
[v1_59_notify_ases_from]: workers.md#notifying-application-services
|
[v1_59_notify_ases_from]: workers.md#notifying-application-services
|
||||||
|
[v1_59_update_user_dir]: workers.md#updating-the-user-directory
|
||||||
|
|
||||||
|
|
||||||
# Upgrading to v1.58.0
|
# Upgrading to v1.58.0
|
||||||
|
|
|
@ -426,7 +426,7 @@ the shared configuration would include:
|
||||||
run_background_tasks_on: background_worker
|
run_background_tasks_on: background_worker
|
||||||
```
|
```
|
||||||
|
|
||||||
You might also wish to investigate the `update_user_directory` and
|
You might also wish to investigate the `update_user_directory_from_worker` and
|
||||||
`media_instance_running_background_jobs` settings.
|
`media_instance_running_background_jobs` settings.
|
||||||
|
|
||||||
An example for a dedicated background worker instance:
|
An example for a dedicated background worker instance:
|
||||||
|
@ -435,9 +435,26 @@ An example for a dedicated background worker instance:
|
||||||
{{#include systemd-with-workers/workers/background_worker.yaml}}
|
{{#include systemd-with-workers/workers/background_worker.yaml}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Updating the User Directory
|
||||||
|
|
||||||
|
You can designate one generic worker to update the user directory.
|
||||||
|
|
||||||
|
Specify its name in the shared configuration as follows:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
update_user_directory_from_worker: worker_name
|
||||||
|
```
|
||||||
|
|
||||||
|
This work cannot be load-balanced; please ensure the main process is restarted
|
||||||
|
after setting this option in the shared configuration!
|
||||||
|
|
||||||
|
This style of configuration supersedes the legacy `synapse.app.user_dir`
|
||||||
|
worker application type.
|
||||||
|
|
||||||
|
|
||||||
#### Notifying Application Services
|
#### Notifying Application Services
|
||||||
|
|
||||||
You can designate one worker to send output traffic to Application Services.
|
You can designate one generic worker to send output traffic to Application Services.
|
||||||
|
|
||||||
Specify its name in the shared configuration as follows:
|
Specify its name in the shared configuration as follows:
|
||||||
|
|
||||||
|
@ -470,7 +487,7 @@ pusher_instances:
|
||||||
|
|
||||||
### `synapse.app.appservice`
|
### `synapse.app.appservice`
|
||||||
|
|
||||||
**Deprecated as of Synapse v1.58.** [Use `synapse.app.generic_worker` with the
|
**Deprecated as of Synapse v1.59.** [Use `synapse.app.generic_worker` with the
|
||||||
`notify_appservices_from_worker` option instead.](#notifying-application-services)
|
`notify_appservices_from_worker` option instead.](#notifying-application-services)
|
||||||
|
|
||||||
Handles sending output traffic to Application Services. Doesn't handle any
|
Handles sending output traffic to Application Services. Doesn't handle any
|
||||||
|
@ -540,6 +557,9 @@ Note that if a reverse proxy is used , then `/_matrix/media/` must be routed for
|
||||||
|
|
||||||
### `synapse.app.user_dir`
|
### `synapse.app.user_dir`
|
||||||
|
|
||||||
|
**Deprecated as of Synapse v1.59.** [Use `synapse.app.generic_worker` with the
|
||||||
|
`update_user_directory_from_worker` option instead.](#updating-the-user-directory)
|
||||||
|
|
||||||
Handles searches in the user directory. It can handle REST endpoints matching
|
Handles searches in the user directory. It can handle REST endpoints matching
|
||||||
the following regular expressions:
|
the following regular expressions:
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ skip_gitignore = true
|
||||||
|
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "matrix-synapse"
|
name = "matrix-synapse"
|
||||||
version = "1.58.1"
|
version = "1.59.0rc1"
|
||||||
description = "Homeserver for the Matrix decentralised comms protocol"
|
description = "Homeserver for the Matrix decentralised comms protocol"
|
||||||
authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
|
authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
|
|
|
@ -210,7 +210,7 @@ def start(config_options: List[str]) -> None:
|
||||||
config.logging.no_redirect_stdio = True
|
config.logging.no_redirect_stdio = True
|
||||||
|
|
||||||
# Explicitly disable background processes
|
# Explicitly disable background processes
|
||||||
config.server.update_user_directory = False
|
config.worker.should_update_user_directory = False
|
||||||
config.worker.run_background_tasks = False
|
config.worker.run_background_tasks = False
|
||||||
config.worker.start_pushers = False
|
config.worker.start_pushers = False
|
||||||
config.worker.pusher_shard_config.instances = []
|
config.worker.pusher_shard_config.instances = []
|
||||||
|
|
|
@ -441,22 +441,6 @@ def start(config_options: List[str]) -> None:
|
||||||
"synapse.app.user_dir",
|
"synapse.app.user_dir",
|
||||||
)
|
)
|
||||||
|
|
||||||
if config.worker.worker_app == "synapse.app.user_dir":
|
|
||||||
if config.server.update_user_directory:
|
|
||||||
sys.stderr.write(
|
|
||||||
"\nThe update_user_directory must be disabled in the main synapse process"
|
|
||||||
"\nbefore they can be run in a separate worker."
|
|
||||||
"\nPlease add ``update_user_directory: false`` to the main config"
|
|
||||||
"\n"
|
|
||||||
)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
# Force the pushers to start since they will be disabled in the main config
|
|
||||||
config.server.update_user_directory = True
|
|
||||||
else:
|
|
||||||
# For other worker types we force this to off.
|
|
||||||
config.server.update_user_directory = False
|
|
||||||
|
|
||||||
synapse.events.USE_FROZEN_DICTS = config.server.use_frozen_dicts
|
synapse.events.USE_FROZEN_DICTS = config.server.use_frozen_dicts
|
||||||
synapse.util.caches.TRACK_MEMORY_USAGE = config.caches.track_memory_usage
|
synapse.util.caches.TRACK_MEMORY_USAGE = config.caches.track_memory_usage
|
||||||
|
|
||||||
|
|
|
@ -319,10 +319,6 @@ class ServerConfig(Config):
|
||||||
self.presence_router_config,
|
self.presence_router_config,
|
||||||
) = load_module(presence_router_config, ("presence", "presence_router"))
|
) = load_module(presence_router_config, ("presence", "presence_router"))
|
||||||
|
|
||||||
# Whether to update the user directory or not. This should be set to
|
|
||||||
# false only if we are updating the user directory in a worker
|
|
||||||
self.update_user_directory = config.get("update_user_directory", True)
|
|
||||||
|
|
||||||
# whether to enable the media repository endpoints. This should be set
|
# whether to enable the media repository endpoints. This should be set
|
||||||
# to false if the media repository is running as a separate endpoint;
|
# to false if the media repository is running as a separate endpoint;
|
||||||
# doing so ensures that we will not run cache cleanup jobs on the
|
# doing so ensures that we will not run cache cleanup jobs on the
|
||||||
|
|
|
@ -311,6 +311,13 @@ class WorkerConfig(Config):
|
||||||
new_option_name="notify_appservices_from_worker",
|
new_option_name="notify_appservices_from_worker",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.should_update_user_directory = self._should_this_worker_perform_duty(
|
||||||
|
config,
|
||||||
|
legacy_master_option_name="update_user_directory",
|
||||||
|
legacy_worker_app_name="synapse.app.user_dir",
|
||||||
|
new_option_name="update_user_directory_from_worker",
|
||||||
|
)
|
||||||
|
|
||||||
def _should_this_worker_perform_duty(
|
def _should_this_worker_perform_duty(
|
||||||
self,
|
self,
|
||||||
config: Dict[str, Any],
|
config: Dict[str, Any],
|
||||||
|
|
|
@ -60,7 +60,7 @@ class UserDirectoryHandler(StateDeltasHandler):
|
||||||
self.clock = hs.get_clock()
|
self.clock = hs.get_clock()
|
||||||
self.notifier = hs.get_notifier()
|
self.notifier = hs.get_notifier()
|
||||||
self.is_mine_id = hs.is_mine_id
|
self.is_mine_id = hs.is_mine_id
|
||||||
self.update_user_directory = hs.config.server.update_user_directory
|
self.update_user_directory = hs.config.worker.should_update_user_directory
|
||||||
self.search_all_users = hs.config.userdirectory.user_directory_search_all_users
|
self.search_all_users = hs.config.userdirectory.user_directory_search_all_users
|
||||||
self.spam_checker = hs.get_spam_checker()
|
self.spam_checker = hs.get_spam_checker()
|
||||||
# The current position in the current_state_delta stream
|
# The current position in the current_state_delta stream
|
||||||
|
|
|
@ -286,3 +286,30 @@ class WorkerDutyConfigTestCase(TestCase):
|
||||||
"notify_appservices_from_worker",
|
"notify_appservices_from_worker",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_worker_duty_configs(self) -> None:
|
||||||
|
"""
|
||||||
|
Additional tests for the worker duties
|
||||||
|
"""
|
||||||
|
|
||||||
|
worker1_config = self._make_worker_config(
|
||||||
|
worker_app="synapse.app.generic_worker",
|
||||||
|
worker_name="worker1",
|
||||||
|
extras={
|
||||||
|
"notify_appservices_from_worker": "worker2",
|
||||||
|
"update_user_directory_from_worker": "worker1",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
self.assertFalse(worker1_config.should_notify_appservices)
|
||||||
|
self.assertTrue(worker1_config.should_update_user_directory)
|
||||||
|
|
||||||
|
worker2_config = self._make_worker_config(
|
||||||
|
worker_app="synapse.app.generic_worker",
|
||||||
|
worker_name="worker2",
|
||||||
|
extras={
|
||||||
|
"notify_appservices_from_worker": "worker2",
|
||||||
|
"update_user_directory_from_worker": "worker1",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
self.assertTrue(worker2_config.should_notify_appservices)
|
||||||
|
self.assertFalse(worker2_config.should_update_user_directory)
|
||||||
|
|
Loading…
Reference in New Issue