diff --git a/CHANGES.md b/CHANGES.md index 38213bd2ff..92f6a87a77 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,54 @@ +# Synapse 1.157.0rc1 (2026-07-14) + +Please check [the relevant section in the upgrade notes](https://github.com/element-hq/synapse/blob/develop/docs/upgrade.md#upgrading-to-v11570) as this release removes support for the deprecated MSC3861 Auth Delegation (`experimental_features.msc3861`). + +## Features + +- [MSC4140: Cancellable delayed events](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): Limit how many delayed events a user may have scheduled at once. ([\#19539](https://github.com/element-hq/synapse/issues/19539)) +- Support [MSC4446](https://github.com/matrix-org/matrix-spec-proposals/pull/4446) for moving fully read markers backwards. Contributed by @SpiritCroc @ Beeper. ([\#19663](https://github.com/element-hq/synapse/issues/19663)) +- Add before and after time filters to the ['Redact events of a user'](https://element-hq.github.io/synapse/v1.157/admin_api/user_admin_api.html#redact-events-of-a-user) Admin API. ([\#19802](https://github.com/element-hq/synapse/issues/19802)) +- Updated experimental support for [MSC4388: Secure out-of-band channel for sign in with QR](https://github.com/matrix-org/matrix-spec-proposals/pull/4388). ([\#19808](https://github.com/element-hq/synapse/issues/19808)) +- Add an `exclude_rooms_from_presence` configuration option to stop presence being routed between users solely because they share one of the listed rooms. ([\#19935](https://github.com/element-hq/synapse/issues/19935)) + +## Bugfixes + +- [MSC4140: Cancellable delayed events](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): Update error responses to match their format in the current draft of the MSC. ([\#19539](https://github.com/element-hq/synapse/issues/19539)) +- Lock Sliding Sync connections when inserting lazy members, to prevent repeated deadlocks. ([\#19826](https://github.com/element-hq/synapse/issues/19826)) +- Fix the `flag_existing_quarantined_media` background update skipping some quarantined remote media. Introduced in v1.152.0. ([\#19901](https://github.com/element-hq/synapse/issues/19901)) +- Fix a bug introduced in Synapse v1.150.0 where reactivating a deactivated and erased user did not restore their profile, breaking login, name changes, and invitations. + Contributed by @m4us1ne. ([\#19902](https://github.com/element-hq/synapse/issues/19902)) +- Fix a regression where application services that opted into ephemeral events using the legacy `de.sorunome.msc2409.push_ephemeral` registration flag stopped receiving ephemeral events (including to-device messages used for encryption). Introduced in v1.156.0. ([\#19928](https://github.com/element-hq/synapse/issues/19928)) +- Fix a bug causing device list pruning to skip some rows when the transaction gets retried. ([\#19947](https://github.com/element-hq/synapse/issues/19947)) +- Fix presence states being shown to clients forever after presence is disabled, by marking any previously only users as offline. ([\#19948](https://github.com/element-hq/synapse/issues/19948)) +- Fix `SYNAPSE_ASYNC_IO_REACTOR=1` on Python 3.14. ([\#19949](https://github.com/element-hq/synapse/issues/19949)) + +## Deprecations and Removals + +- Remove support for experimental [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) auth delegation, in favour of the stable Matrix Authentication Service integration support. See [the upgrade notes](https://element-hq.github.io/synapse/v1.157/upgrade.html#upgrading-to-v11570). ([\#19895](https://github.com/element-hq/synapse/issues/19895)) + +## Internal Changes + +- Port the synchronous core of client event serialization to Rust. ([\#19837](https://github.com/element-hq/synapse/issues/19837), [\#19922](https://github.com/element-hq/synapse/issues/19922)) +- Update `HomeserverTestCase.get_success(...)` and friends to drive async Rust (Tokio runtime/thread pool). ([\#19871](https://github.com/element-hq/synapse/issues/19871), [\#19879](https://github.com/element-hq/synapse/issues/19879)) +- Allow Rust code to have database access via Python database connection pool. ([\#19878](https://github.com/element-hq/synapse/issues/19878)) +- Add `golangci-lint` to CI. ([\#19888](https://github.com/element-hq/synapse/issues/19888)) +- Remove wall-clock dependency of `test_redact_messages_all_rooms` test, as this caused flakiness. ([\#19890](https://github.com/element-hq/synapse/issues/19890)) +- Change the [MSC3814](https://github.com/matrix-org/matrix-spec-proposals/pull/3814) dehydrated device `/events` endpoint from `POST` to `GET`. ([\#19896](https://github.com/element-hq/synapse/issues/19896)) +- Change the [MSC3814](https://github.com/matrix-org/matrix-spec-proposals/pull/3814) dehydrated device `/events` endpoint paging to match spec conventions. ([\#19897](https://github.com/element-hq/synapse/issues/19897)) +- Fix storage type mismatches where values were bound with a type that didn't match their database column. ([\#19911](https://github.com/element-hq/synapse/issues/19911)) +- Speed up deletion of old sliding sync connections by adding an index. ([\#19912](https://github.com/element-hq/synapse/issues/19912)) +- Add note to 3PID email token request unit tests that the endpoint being tested can have an expected, artificial delay of up to 1s. ([\#19916](https://github.com/element-hq/synapse/issues/19916)) +- Add an index to `sliding_sync_connection_lazy_members` to speed up deleting old sliding sync connection positions. ([\#19923](https://github.com/element-hq/synapse/issues/19923)) +- Fix `test_lock_contention` being flaky when running against PostgreSQL by budgeting CPU time rather than wall-clock time. ([\#19929](https://github.com/element-hq/synapse/issues/19929)) +- Fix Complement test flake when restarting Synapse workers (cross-test pollution caused by nginx upstreams being temporarily unavailable). ([\#19936](https://github.com/element-hq/synapse/issues/19936)) +- Add clean deploy `FIXME` note for `TestOIDCProviderUnavailable` (problem tracked by [#19937](https://github.com/element-hq/synapse/issues/19937)). ([\#19938](https://github.com/element-hq/synapse/issues/19938)) +- Minor presence performance improvements for large servers. ([\#19939](https://github.com/element-hq/synapse/issues/19939)) +- Reduce replication traffic caused by presence. ([\#19941](https://github.com/element-hq/synapse/issues/19941)) +- Add `last_active_granularity`, `sync_online_timeout` and `idle_timeout` options to the `presence` config section to allow tuning the presence state machine timers. ([\#19942](https://github.com/element-hq/synapse/issues/19942)) + + + + # Synapse 1.156.0 (2026-07-07) No significant changes since 1.156.0rc1. diff --git a/changelog.d/19539.bugfix b/changelog.d/19539.bugfix deleted file mode 100644 index 41beb3a179..0000000000 --- a/changelog.d/19539.bugfix +++ /dev/null @@ -1 +0,0 @@ -[MSC4140: Cancellable delayed events](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): Update error responses to match their format in the current draft of the MSC. diff --git a/changelog.d/19539.feature b/changelog.d/19539.feature deleted file mode 100644 index 93eb4cc1b9..0000000000 --- a/changelog.d/19539.feature +++ /dev/null @@ -1 +0,0 @@ -[MSC4140: Cancellable delayed events](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): Limit how many delayed events a user may have scheduled at once. diff --git a/changelog.d/19663.feature b/changelog.d/19663.feature deleted file mode 100644 index 9f61182a90..0000000000 --- a/changelog.d/19663.feature +++ /dev/null @@ -1 +0,0 @@ -Support [MSC4446](https://github.com/matrix-org/matrix-spec-proposals/pull/4446) for moving fully read markers backwards. Contributed by @SpiritCroc @ Beeper. diff --git a/changelog.d/19802.feature b/changelog.d/19802.feature deleted file mode 100644 index 455b64ce0c..0000000000 --- a/changelog.d/19802.feature +++ /dev/null @@ -1 +0,0 @@ -Add before and after time filters to the 'Redact events of a user' Admin API. diff --git a/changelog.d/19808.feature b/changelog.d/19808.feature deleted file mode 100644 index 69eca83681..0000000000 --- a/changelog.d/19808.feature +++ /dev/null @@ -1 +0,0 @@ -Updated experimental support for [MSC4388: Secure out-of-band channel for sign in with QR](https://github.com/matrix-org/matrix-spec-proposals/pull/4388). diff --git a/changelog.d/19826.bugfix b/changelog.d/19826.bugfix deleted file mode 100644 index 771b197b20..0000000000 --- a/changelog.d/19826.bugfix +++ /dev/null @@ -1 +0,0 @@ -Lock Sliding Sync connections when inserting lazy members, to prevent repeated deadlocks. \ No newline at end of file diff --git a/changelog.d/19837.misc b/changelog.d/19837.misc deleted file mode 100644 index 64a531d4ed..0000000000 --- a/changelog.d/19837.misc +++ /dev/null @@ -1 +0,0 @@ -Port the synchronous core of client event serialization to Rust. diff --git a/changelog.d/19871.misc b/changelog.d/19871.misc deleted file mode 100644 index be10ee0540..0000000000 --- a/changelog.d/19871.misc +++ /dev/null @@ -1 +0,0 @@ -Update `HomeserverTestCase.get_success(...)` and friends to drive async Rust (Tokio runtime/thread pool). diff --git a/changelog.d/19878.misc b/changelog.d/19878.misc deleted file mode 100644 index 9ea93729c9..0000000000 --- a/changelog.d/19878.misc +++ /dev/null @@ -1 +0,0 @@ -Allow Rust code to have database access via Python database connection pool. diff --git a/changelog.d/19879.misc b/changelog.d/19879.misc deleted file mode 100644 index be10ee0540..0000000000 --- a/changelog.d/19879.misc +++ /dev/null @@ -1 +0,0 @@ -Update `HomeserverTestCase.get_success(...)` and friends to drive async Rust (Tokio runtime/thread pool). diff --git a/changelog.d/19888.misc b/changelog.d/19888.misc deleted file mode 100644 index 0506b21d42..0000000000 --- a/changelog.d/19888.misc +++ /dev/null @@ -1 +0,0 @@ -Add `golangci-lint` to CI. \ No newline at end of file diff --git a/changelog.d/19890.misc b/changelog.d/19890.misc deleted file mode 100644 index b74dbc3086..0000000000 --- a/changelog.d/19890.misc +++ /dev/null @@ -1 +0,0 @@ -Remove wall-clock dependency of `test_redact_messages_all_rooms` test, as this caused flakiness. \ No newline at end of file diff --git a/changelog.d/19895.removal b/changelog.d/19895.removal deleted file mode 100644 index 1b39ffb139..0000000000 --- a/changelog.d/19895.removal +++ /dev/null @@ -1 +0,0 @@ -Remove support for experimental [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) auth delegation, in favour of the stable Matrix Authentication Service integration support. See [the upgrade notes](https://element-hq.github.io/synapse/v1.157/upgrade.html#upgrading-to-v11570). diff --git a/changelog.d/19896.misc b/changelog.d/19896.misc deleted file mode 100644 index 2c6a8740ef..0000000000 --- a/changelog.d/19896.misc +++ /dev/null @@ -1 +0,0 @@ -Change the [MSC3814](https://github.com/matrix-org/matrix-spec-proposals/pull/3814) dehydrated device `/events` endpoint from `POST` to `GET`. diff --git a/changelog.d/19897.misc b/changelog.d/19897.misc deleted file mode 100644 index f1163dc1f1..0000000000 --- a/changelog.d/19897.misc +++ /dev/null @@ -1 +0,0 @@ -Change the [MSC3814](https://github.com/matrix-org/matrix-spec-proposals/pull/3814) dehydrated device `/events` endpoint paging to match spec conventions. diff --git a/changelog.d/19901.bugfix b/changelog.d/19901.bugfix deleted file mode 100644 index e31c665c18..0000000000 --- a/changelog.d/19901.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix the `flag_existing_quarantined_media` background update skipping some quarantined remote media. Introduced in v1.152.0. diff --git a/changelog.d/19902.bugfix b/changelog.d/19902.bugfix deleted file mode 100644 index fb5f75c295..0000000000 --- a/changelog.d/19902.bugfix +++ /dev/null @@ -1,2 +0,0 @@ -Fix a bug introduced in Synapse v1.150.0 where reactivating a deactivated and erased user did not restore their profile, breaking login, name changes, and invitations. -Contributed by @m4us1ne. diff --git a/changelog.d/19911.misc b/changelog.d/19911.misc deleted file mode 100644 index 11331455aa..0000000000 --- a/changelog.d/19911.misc +++ /dev/null @@ -1 +0,0 @@ -Fix storage type mismatches where values were bound with a type that didn't match their database column. diff --git a/changelog.d/19912.misc b/changelog.d/19912.misc deleted file mode 100644 index e9491ab335..0000000000 --- a/changelog.d/19912.misc +++ /dev/null @@ -1 +0,0 @@ -Speed up deletion of old sliding sync connections by adding an index. diff --git a/changelog.d/19916.misc b/changelog.d/19916.misc deleted file mode 100644 index aeec5ae412..0000000000 --- a/changelog.d/19916.misc +++ /dev/null @@ -1 +0,0 @@ -Add note to 3PID email token request unit tests that the endpoint being tested can have an expected, artificial delay of up to 1s. \ No newline at end of file diff --git a/changelog.d/19922.misc b/changelog.d/19922.misc deleted file mode 100644 index 64a531d4ed..0000000000 --- a/changelog.d/19922.misc +++ /dev/null @@ -1 +0,0 @@ -Port the synchronous core of client event serialization to Rust. diff --git a/changelog.d/19923.misc b/changelog.d/19923.misc deleted file mode 100644 index 4a52d1cca2..0000000000 --- a/changelog.d/19923.misc +++ /dev/null @@ -1 +0,0 @@ -Add an index to `sliding_sync_connection_lazy_members` to speed up deleting old sliding sync connection positions. diff --git a/changelog.d/19928.bugfix b/changelog.d/19928.bugfix deleted file mode 100644 index d69e4febbe..0000000000 --- a/changelog.d/19928.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix a regression where application services that opted into ephemeral events using the legacy `de.sorunome.msc2409.push_ephemeral` registration flag stopped receiving ephemeral events (including to-device messages used for encryption). Introduced in v1.156.0. diff --git a/changelog.d/19929.misc b/changelog.d/19929.misc deleted file mode 100644 index 4778f9fa32..0000000000 --- a/changelog.d/19929.misc +++ /dev/null @@ -1 +0,0 @@ -Fix `test_lock_contention` being flaky when running against PostgreSQL by budgeting CPU time rather than wall-clock time. diff --git a/changelog.d/19935.feature b/changelog.d/19935.feature deleted file mode 100644 index cd5fa804b8..0000000000 --- a/changelog.d/19935.feature +++ /dev/null @@ -1 +0,0 @@ -Add an `exclude_rooms_from_presence` configuration option to stop presence being routed between users solely because they share one of the listed rooms. diff --git a/changelog.d/19936.misc b/changelog.d/19936.misc deleted file mode 100644 index 5c1f7eef52..0000000000 --- a/changelog.d/19936.misc +++ /dev/null @@ -1 +0,0 @@ -Fix Complement test flake when restarting Synapse workers (cross-test pollution caused by nginx upstreams being temporarily unavailable). diff --git a/changelog.d/19938.misc b/changelog.d/19938.misc deleted file mode 100644 index d02c9bf3b7..0000000000 --- a/changelog.d/19938.misc +++ /dev/null @@ -1 +0,0 @@ -Add clean deploy `FIXME` note for `TestOIDCProviderUnavailable` (problem tracked by [#19937](https://github.com/element-hq/synapse/issues/19937)). diff --git a/changelog.d/19939.misc b/changelog.d/19939.misc deleted file mode 100644 index 59d480c98d..0000000000 --- a/changelog.d/19939.misc +++ /dev/null @@ -1 +0,0 @@ -Minor presence performance improvements for large servers. diff --git a/changelog.d/19941.misc b/changelog.d/19941.misc deleted file mode 100644 index e928f68bc5..0000000000 --- a/changelog.d/19941.misc +++ /dev/null @@ -1 +0,0 @@ -Reduce replication traffic caused by presence. diff --git a/changelog.d/19942.misc b/changelog.d/19942.misc deleted file mode 100644 index bdd95c3c0f..0000000000 --- a/changelog.d/19942.misc +++ /dev/null @@ -1 +0,0 @@ -Add `last_active_granularity`, `sync_online_timeout` and `idle_timeout` options to the `presence` config section to allow tuning the presence state machine timers. diff --git a/changelog.d/19947.bugfix b/changelog.d/19947.bugfix deleted file mode 100644 index c16d6deea0..0000000000 --- a/changelog.d/19947.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix a bug causing device list pruning to skip some rows when the transaction gets retried. \ No newline at end of file diff --git a/changelog.d/19948.bugfix b/changelog.d/19948.bugfix deleted file mode 100644 index 5cd34d1abf..0000000000 --- a/changelog.d/19948.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix presence states being shown to clients forever after presence is disabled, by marking any previously only users as offline. diff --git a/changelog.d/19949.bugfix b/changelog.d/19949.bugfix deleted file mode 100644 index 24ddd4dc4f..0000000000 --- a/changelog.d/19949.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix `SYNAPSE_ASYNC_IO_REACTOR=1` on Python 3.14. diff --git a/debian/changelog b/debian/changelog index c1522f068d..8c0e1ccfe8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.157.0~rc1) stable; urgency=medium + + * New synapse release 1.157.0rc1. + + -- Synapse Packaging team Tue, 14 Jul 2026 21:18:16 +0000 + matrix-synapse-py3 (1.156.0) stable; urgency=medium * New Synapse release 1.156.0. diff --git a/pyproject.toml b/pyproject.toml index 6023740d6c..f30ac49847 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "matrix-synapse" -version = "1.156.0" +version = "1.157.0rc1" description = "Homeserver for the Matrix decentralised comms protocol" readme = "README.rst" authors = [ diff --git a/schema/synapse-config.schema.yaml b/schema/synapse-config.schema.yaml index 62e09377d4..ea5bd7c7af 100644 --- a/schema/synapse-config.schema.yaml +++ b/schema/synapse-config.schema.yaml @@ -1,5 +1,5 @@ $schema: https://element-hq.github.io/synapse/latest/schema/v1/meta.schema.json -$id: https://element-hq.github.io/synapse/schema/synapse/v1.156/synapse-config.schema.json +$id: https://element-hq.github.io/synapse/schema/synapse/v1.157/synapse-config.schema.json type: object properties: modules: