diff --git a/CHANGES.md b/CHANGES.md index 27483532d0..6e7cc5374a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,75 @@ +Synapse 1.32.0rc1 (2021-04-13) +============================== + +**Note:** This release requires Python 3.6+ and Postgres 9.6+ or SQLite 3.22+. + +This release removes the deprecated `GET /_synapse/admin/v1/users/` admin API. Please use the [v2 API](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/user_admin_api.rst#query-user-account) instead, which has improved capabilities. + +This release requires Application Services to use type `m.login.application_services` when registering users via the `/_matrix/client/r0/register` endpoint to comply with the spec. Please ensure your Application Services are up to date. + +Features +-------- + +- Add a Synapse module for routing presence updates between users. ([\#9491](https://github.com/matrix-org/synapse/issues/9491)) +- Add an admin API to manage ratelimit for a specific user. ([\#9648](https://github.com/matrix-org/synapse/issues/9648)) +- Include request information in structured logging output. ([\#9654](https://github.com/matrix-org/synapse/issues/9654)) +- Add `order_by` to the admin API `GET /_synapse/admin/v2/users`. Contributed by @dklimpel. ([\#9691](https://github.com/matrix-org/synapse/issues/9691)) +- Replace the `room_invite_state_types` configuration setting with `room_prejoin_state`. ([\#9700](https://github.com/matrix-org/synapse/issues/9700)) +- Add experimental support for [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083): restricting room access via group membership. ([\#9717](https://github.com/matrix-org/synapse/issues/9717), [\#9735](https://github.com/matrix-org/synapse/issues/9735)) +- Update experimental support for Spaces: include `m.room.create` in the room state sent with room-invites. ([\#9710](https://github.com/matrix-org/synapse/issues/9710)) +- Synapse now requires Python 3.6 or later. It also requires Postgres 9.6 or later or SQLite 3.22 or later. ([\#9766](https://github.com/matrix-org/synapse/issues/9766)) + + +Bugfixes +-------- + +- Prevent `synapse_forward_extremities` and `synapse_excess_extremity_events` Prometheus metrics from initially reporting zero-values after startup. ([\#8926](https://github.com/matrix-org/synapse/issues/8926)) +- Fix recently added ratelimits to correctly honour the application service `rate_limited` flag. ([\#9711](https://github.com/matrix-org/synapse/issues/9711)) +- Fix longstanding bug which caused `duplicate key value violates unique constraint "remote_media_cache_thumbnails_media_origin_media_id_thumbna_key"` errors. ([\#9725](https://github.com/matrix-org/synapse/issues/9725)) +- Fix bug where sharded federation senders could get stuck repeatedly querying the DB in a loop, using lots of CPU. ([\#9770](https://github.com/matrix-org/synapse/issues/9770)) +- Fix duplicate logging of exceptions thrown during federation transaction processing. ([\#9780](https://github.com/matrix-org/synapse/issues/9780)) + + +Updates to the Docker image +--------------------------- + +- Move opencontainers labels to the final Docker image such that users can inspect them. ([\#9765](https://github.com/matrix-org/synapse/issues/9765)) + + +Improved Documentation +---------------------- + +- Make the `allowed_local_3pids` regex example in the sample config stricter. ([\#9719](https://github.com/matrix-org/synapse/issues/9719)) + + +Deprecations and Removals +------------------------- + +- Remove old admin API `GET /_synapse/admin/v1/users/`. ([\#9401](https://github.com/matrix-org/synapse/issues/9401)) +- Make `/_matrix/client/r0/register` expect a type of `m.login.application_service` when an Application Service registers a user, to align with [the relevant spec](https://spec.matrix.org/unstable/application-service-api/#server-admin-style-permissions). ([\#9548](https://github.com/matrix-org/synapse/issues/9548)) +- Replace deprecated `imp` module with successor `importlib`. Contributed by Cristina Muñoz. ([\#9718](https://github.com/matrix-org/synapse/issues/9718)) + + +Internal Changes +---------------- + +- Experiment with GitHub Actions for CI. ([\#9661](https://github.com/matrix-org/synapse/issues/9661)) +- Introduce flake8-bugbear to the test suite and fix some of its lint violations. ([\#9682](https://github.com/matrix-org/synapse/issues/9682)) +- Update `scripts-dev/complement.sh` to use a local checkout of Complement, allow running a subset of tests and have it use Synapse's Complement test blacklist. ([\#9685](https://github.com/matrix-org/synapse/issues/9685)) +- Improve Jaeger tracing for `to_device` messages. ([\#9686](https://github.com/matrix-org/synapse/issues/9686)) +- Add release helper script for automating part of the Synapse release process. ([\#9713](https://github.com/matrix-org/synapse/issues/9713)) +- Add type hints to expiring cache. ([\#9730](https://github.com/matrix-org/synapse/issues/9730)) +- Convert various testcases to `HomeserverTestCase`. ([\#9736](https://github.com/matrix-org/synapse/issues/9736)) +- Start linting mypy with `no_implicit_optional`. ([\#9742](https://github.com/matrix-org/synapse/issues/9742)) +- Add missing type hints to federation handler and server. ([\#9743](https://github.com/matrix-org/synapse/issues/9743)) +- Check that a `ConfigError` is raised, rather than simply `Exception`, when appropriate in homeserver config file generation tests. ([\#9753](https://github.com/matrix-org/synapse/issues/9753)) +- Fix incompatibility with `tox` 2.5. ([\#9769](https://github.com/matrix-org/synapse/issues/9769)) +- Enable Complement tests for [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946): Spaces Summary API. ([\#9771](https://github.com/matrix-org/synapse/issues/9771)) +- Use mock from the standard library instead of a separate package. ([\#9772](https://github.com/matrix-org/synapse/issues/9772)) +- Update Black configuration to target Python 3.6. ([\#9781](https://github.com/matrix-org/synapse/issues/9781)) +- Add option to skip unit tests when building Debian packages. ([\#9793](https://github.com/matrix-org/synapse/issues/9793)) + + Synapse 1.31.0 (2021-04-06) =========================== diff --git a/changelog.d/8926.bugfix b/changelog.d/8926.bugfix deleted file mode 100644 index aad7bd83ce..0000000000 --- a/changelog.d/8926.bugfix +++ /dev/null @@ -1 +0,0 @@ -Prevent `synapse_forward_extremities` and `synapse_excess_extremity_events` Prometheus metrics from initially reporting zero-values after startup. diff --git a/changelog.d/9401.removal b/changelog.d/9401.removal deleted file mode 100644 index 9c813e0215..0000000000 --- a/changelog.d/9401.removal +++ /dev/null @@ -1 +0,0 @@ -Remove old admin API `GET /_synapse/admin/v1/users/`. \ No newline at end of file diff --git a/changelog.d/9491.feature b/changelog.d/9491.feature deleted file mode 100644 index 8b56a95a44..0000000000 --- a/changelog.d/9491.feature +++ /dev/null @@ -1 +0,0 @@ -Add a Synapse module for routing presence updates between users. diff --git a/changelog.d/9548.removal b/changelog.d/9548.removal deleted file mode 100644 index 1fb88236c6..0000000000 --- a/changelog.d/9548.removal +++ /dev/null @@ -1 +0,0 @@ -Make `/_matrix/client/r0/register` expect a type of `m.login.application_service` when an Application Service registers a user, to align with [the relevant spec](https://spec.matrix.org/unstable/application-service-api/#server-admin-style-permissions). diff --git a/changelog.d/9648.feature b/changelog.d/9648.feature deleted file mode 100644 index bc77026039..0000000000 --- a/changelog.d/9648.feature +++ /dev/null @@ -1 +0,0 @@ -Add an admin API to manage ratelimit for a specific user. \ No newline at end of file diff --git a/changelog.d/9654.feature b/changelog.d/9654.feature deleted file mode 100644 index a54c96cf19..0000000000 --- a/changelog.d/9654.feature +++ /dev/null @@ -1 +0,0 @@ -Include request information in structured logging output. diff --git a/changelog.d/9661.misc b/changelog.d/9661.misc deleted file mode 100644 index b5beb4626c..0000000000 --- a/changelog.d/9661.misc +++ /dev/null @@ -1 +0,0 @@ -Experiment with GitHub Actions for CI. diff --git a/changelog.d/9682.misc b/changelog.d/9682.misc deleted file mode 100644 index 428a466fac..0000000000 --- a/changelog.d/9682.misc +++ /dev/null @@ -1 +0,0 @@ -Introduce flake8-bugbear to the test suite and fix some of its lint violations. diff --git a/changelog.d/9685.misc b/changelog.d/9685.misc deleted file mode 100644 index 0506d8af0c..0000000000 --- a/changelog.d/9685.misc +++ /dev/null @@ -1 +0,0 @@ -Update `scripts-dev/complement.sh` to use a local checkout of Complement, allow running a subset of tests and have it use Synapse's Complement test blacklist. \ No newline at end of file diff --git a/changelog.d/9686.misc b/changelog.d/9686.misc deleted file mode 100644 index bb2335acf9..0000000000 --- a/changelog.d/9686.misc +++ /dev/null @@ -1 +0,0 @@ -Improve Jaeger tracing for `to_device` messages. diff --git a/changelog.d/9691.feature b/changelog.d/9691.feature deleted file mode 100644 index 3c711db4f5..0000000000 --- a/changelog.d/9691.feature +++ /dev/null @@ -1 +0,0 @@ -Add `order_by` to the admin API `GET /_synapse/admin/v2/users`. Contributed by @dklimpel. \ No newline at end of file diff --git a/changelog.d/9700.feature b/changelog.d/9700.feature deleted file mode 100644 index 037de8367f..0000000000 --- a/changelog.d/9700.feature +++ /dev/null @@ -1 +0,0 @@ -Replace the `room_invite_state_types` configuration setting with `room_prejoin_state`. diff --git a/changelog.d/9710.feature b/changelog.d/9710.feature deleted file mode 100644 index fce308cc41..0000000000 --- a/changelog.d/9710.feature +++ /dev/null @@ -1 +0,0 @@ -Experimental Spaces support: include `m.room.create` in the room state sent with room-invites. diff --git a/changelog.d/9711.bugfix b/changelog.d/9711.bugfix deleted file mode 100644 index 4ca3438d46..0000000000 --- a/changelog.d/9711.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix recently added ratelimits to correctly honour the application service `rate_limited` flag. diff --git a/changelog.d/9713.misc b/changelog.d/9713.misc deleted file mode 100644 index 908e7a2459..0000000000 --- a/changelog.d/9713.misc +++ /dev/null @@ -1 +0,0 @@ -Add release helper script for automating part of the Synapse release process. diff --git a/changelog.d/9717.feature b/changelog.d/9717.feature deleted file mode 100644 index c2c74f13d5..0000000000 --- a/changelog.d/9717.feature +++ /dev/null @@ -1 +0,0 @@ -Add experimental support for [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083): restricting room access via group membership. diff --git a/changelog.d/9718.removal b/changelog.d/9718.removal deleted file mode 100644 index 6de7814217..0000000000 --- a/changelog.d/9718.removal +++ /dev/null @@ -1 +0,0 @@ -Replace deprecated `imp` module with successor `importlib`. Contributed by Cristina Muñoz. diff --git a/changelog.d/9719.doc b/changelog.d/9719.doc deleted file mode 100644 index f018606dd6..0000000000 --- a/changelog.d/9719.doc +++ /dev/null @@ -1 +0,0 @@ -Make the allowed_local_3pids regex example in the sample config stricter. diff --git a/changelog.d/9725.bugfix b/changelog.d/9725.bugfix deleted file mode 100644 index 71283685c8..0000000000 --- a/changelog.d/9725.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix longstanding bug which caused `duplicate key value violates unique constraint "remote_media_cache_thumbnails_media_origin_media_id_thumbna_key"` errors. diff --git a/changelog.d/9730.misc b/changelog.d/9730.misc deleted file mode 100644 index 8063059b0b..0000000000 --- a/changelog.d/9730.misc +++ /dev/null @@ -1 +0,0 @@ -Add type hints to expiring cache. diff --git a/changelog.d/9735.feature b/changelog.d/9735.feature deleted file mode 100644 index c2c74f13d5..0000000000 --- a/changelog.d/9735.feature +++ /dev/null @@ -1 +0,0 @@ -Add experimental support for [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083): restricting room access via group membership. diff --git a/changelog.d/9736.misc b/changelog.d/9736.misc deleted file mode 100644 index 1e445e4344..0000000000 --- a/changelog.d/9736.misc +++ /dev/null @@ -1 +0,0 @@ -Convert various testcases to `HomeserverTestCase`. diff --git a/changelog.d/9742.misc b/changelog.d/9742.misc deleted file mode 100644 index 681ab04df8..0000000000 --- a/changelog.d/9742.misc +++ /dev/null @@ -1 +0,0 @@ -Start linting mypy with `no_implicit_optional`. \ No newline at end of file diff --git a/changelog.d/9743.misc b/changelog.d/9743.misc deleted file mode 100644 index c2f75c1df9..0000000000 --- a/changelog.d/9743.misc +++ /dev/null @@ -1 +0,0 @@ -Add missing type hints to federation handler and server. diff --git a/changelog.d/9753.misc b/changelog.d/9753.misc deleted file mode 100644 index 31184fe0bd..0000000000 --- a/changelog.d/9753.misc +++ /dev/null @@ -1 +0,0 @@ -Check that a `ConfigError` is raised, rather than simply `Exception`, when appropriate in homeserver config file generation tests. \ No newline at end of file diff --git a/changelog.d/9765.docker b/changelog.d/9765.docker deleted file mode 100644 index f170a36714..0000000000 --- a/changelog.d/9765.docker +++ /dev/null @@ -1 +0,0 @@ -Move opencontainers labels to the final Docker image such that users can inspect them. diff --git a/changelog.d/9766.feature b/changelog.d/9766.feature deleted file mode 100644 index ecf49cfee1..0000000000 --- a/changelog.d/9766.feature +++ /dev/null @@ -1 +0,0 @@ -Synapse now requires Python 3.6 or later. It also requires Postgres 9.6 or later or SQLite 3.22 or later. diff --git a/changelog.d/9769.misc b/changelog.d/9769.misc deleted file mode 100644 index 042a50615f..0000000000 --- a/changelog.d/9769.misc +++ /dev/null @@ -1 +0,0 @@ -Fix incompatibility with `tox` 2.5. diff --git a/changelog.d/9770.bugfix b/changelog.d/9770.bugfix deleted file mode 100644 index baf93138de..0000000000 --- a/changelog.d/9770.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix bug where sharded federation senders could get stuck repeatedly querying the DB in a loop, using lots of CPU. diff --git a/changelog.d/9771.misc b/changelog.d/9771.misc deleted file mode 100644 index 42d651d4cc..0000000000 --- a/changelog.d/9771.misc +++ /dev/null @@ -1 +0,0 @@ -Enable Complement tests for [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946): Spaces Summary API. diff --git a/changelog.d/9772.misc b/changelog.d/9772.misc deleted file mode 100644 index ec7d94cc25..0000000000 --- a/changelog.d/9772.misc +++ /dev/null @@ -1 +0,0 @@ -Use mock from the standard library instead of a separate package. diff --git a/changelog.d/9780.bugfix b/changelog.d/9780.bugfix deleted file mode 100644 index 70985a050f..0000000000 --- a/changelog.d/9780.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix duplicate logging of exceptions thrown during federation transaction processing. diff --git a/changelog.d/9781.misc b/changelog.d/9781.misc deleted file mode 100644 index d1c73fc741..0000000000 --- a/changelog.d/9781.misc +++ /dev/null @@ -1 +0,0 @@ -Update Black configuration to target Python 3.6. diff --git a/changelog.d/9782.misc b/changelog.d/9782.misc deleted file mode 100644 index ecf49cfee1..0000000000 --- a/changelog.d/9782.misc +++ /dev/null @@ -1 +0,0 @@ -Synapse now requires Python 3.6 or later. It also requires Postgres 9.6 or later or SQLite 3.22 or later. diff --git a/changelog.d/9793.misc b/changelog.d/9793.misc deleted file mode 100644 index 6334689d26..0000000000 --- a/changelog.d/9793.misc +++ /dev/null @@ -1 +0,0 @@ -Add option to skip unit tests when building Debian packages. diff --git a/synapse/__init__.py b/synapse/__init__.py index 1d2883acf6..125a73d378 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -48,7 +48,7 @@ try: except ImportError: pass -__version__ = "1.31.0" +__version__ = "1.32.0rc1" if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): # We import here so that we don't have to install a bunch of deps when