From a0e6a0595fa7f0c5417f6cf429eced8308001611 Mon Sep 17 00:00:00 2001 From: Devon Hudson Date: Tue, 20 Jan 2026 08:53:34 -0700 Subject: [PATCH] 1.146.0rc1 --- CHANGES.md | 49 +++++++++++++++++++++++++++++++ changelog.d/19204.feature | 1 - changelog.d/19273.feature | 1 - changelog.d/19310.misc | 1 - changelog.d/19320.misc | 1 - changelog.d/19321.bugfix | 1 - changelog.d/19335.bugfix | 1 - changelog.d/19336.docker | 1 - changelog.d/19337.feature | 1 - changelog.d/19341.doc | 1 - changelog.d/19345.misc | 1 - changelog.d/19346.removal | 1 - changelog.d/19348.misc | 1 - changelog.d/19351.misc | 1 - changelog.d/19353.bugfix | 1 - changelog.d/19356.misc | 1 - changelog.d/19358.misc | 1 - changelog.d/19360.bugfix | 1 - changelog.d/19368.misc | 1 - changelog.d/19372.bugfix | 1 - changelog.d/19376.misc | 1 - changelog.d/19379.bugfix | 1 - changelog.d/19381.misc | 1 - changelog.d/19383.misc | 1 - changelog.d/19384.doc | 1 - changelog.d/19385.misc | 1 - debian/changelog | 6 ++++ pyproject.toml | 2 +- schema/synapse-config.schema.yaml | 2 +- 29 files changed, 57 insertions(+), 27 deletions(-) delete mode 100644 changelog.d/19204.feature delete mode 100644 changelog.d/19273.feature delete mode 100644 changelog.d/19310.misc delete mode 100644 changelog.d/19320.misc delete mode 100644 changelog.d/19321.bugfix delete mode 100644 changelog.d/19335.bugfix delete mode 100644 changelog.d/19336.docker delete mode 100644 changelog.d/19337.feature delete mode 100644 changelog.d/19341.doc delete mode 100644 changelog.d/19345.misc delete mode 100644 changelog.d/19346.removal delete mode 100644 changelog.d/19348.misc delete mode 100644 changelog.d/19351.misc delete mode 100644 changelog.d/19353.bugfix delete mode 100644 changelog.d/19356.misc delete mode 100644 changelog.d/19358.misc delete mode 100644 changelog.d/19360.bugfix delete mode 100644 changelog.d/19368.misc delete mode 100644 changelog.d/19372.bugfix delete mode 100644 changelog.d/19376.misc delete mode 100644 changelog.d/19379.bugfix delete mode 100644 changelog.d/19381.misc delete mode 100644 changelog.d/19383.misc delete mode 100644 changelog.d/19384.doc delete mode 100644 changelog.d/19385.misc diff --git a/CHANGES.md b/CHANGES.md index e11a4f6fb7..508b1b9b35 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,52 @@ +# Synapse 1.146.0rc1 (2026-01-20) + +## Deprecations and Removals + +- [MSC2697](https://github.com/matrix-org/matrix-spec-proposals/pull/2697) (Dehydrated devices) has been removed, as the MSC is closed. Developers should migrate to [MSC3814](https://github.com/matrix-org/matrix-spec-proposals/pull/3814). ([\#19346](https://github.com/element-hq/synapse/issues/19346)) +- Support for Ubuntu 25.04 (Plucky Puffin) has been dropped. Synapse no longer builds debian packages for Ubuntu 25.04. + +## Features + +- Add a new config option [`enable_local_media_storage`](https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#enable_local_media_storage) which controls whether media is additionally stored locally when using configured `media_storage_providers`. Setting this to `false` allows off-site media storage without a local cache. Contributed by Patrice Brend'amour @dr.allgood. ([\#19204](https://github.com/element-hq/synapse/issues/19204)) +- Stabilise support for [MSC4312](https://github.com/matrix-org/matrix-spec-proposals/pull/4312)'s `m.oauth` User-Interactive Auth stage for resetting cross-signing identity with the OAuth 2.0 API. The old, unstable name (`org.matrix.cross_signing_reset`) is now deprecated and will be removed in a future release. ([\#19273](https://github.com/element-hq/synapse/issues/19273)) +- Refactor Grafana dashboard to use `server_name` label (instead of `instance`). ([\#19337](https://github.com/element-hq/synapse/issues/19337)) + +## Bugfixes + +- Fix joining a restricted v12 room locally when no local room creator is present but local users with sufficient power levels are. Contributed by @nexy7574. ([\#19321](https://github.com/element-hq/synapse/issues/19321)) +- Fixed parallel calls to `/_matrix/media/v1/create` being ratelimited for appservices even if `rate_limited: false` was set in the registration. Contributed by @tulir @ Beeper. ([\#19335](https://github.com/element-hq/synapse/issues/19335)) +- Fix a bug introduced in 1.61.0 where a user's membership in a room was accidentally ignored when considering access to historical state events in rooms with the "shared" history visibility. Contributed by Lukas Tautz. ([\#19353](https://github.com/element-hq/synapse/issues/19353)) +- [MSC4140](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): Store the JSON content of scheduled delayed events as text instead of a byte array. This fixes the inability to schedule a delayed event with non-ASCII characters in its content. ([\#19360](https://github.com/element-hq/synapse/issues/19360)) +- Always rollback database transactions when retrying (avoid orphaned connections). ([\#19372](https://github.com/element-hq/synapse/issues/19372)) +- Fix `InFlightGauge` typing to allow upgrading to `prometheus_client` 0.24. ([\#19379](https://github.com/element-hq/synapse/issues/19379)) + +## Updates to the Docker image + +- Add [Prometheus HTTP service discovery](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#http_sd_config) endpoint for easy discovery of all workers when using the `docker/Dockerfile-workers` image (see the [*Metrics* section of our Docker testing docs](docker/README-testing.md#metrics)). ([\#19336](https://github.com/element-hq/synapse/issues/19336)) + +## Improved Documentation + +- Remove docs on legacy metric names (no longer in the codebase since 2022-12-06). ([\#19341](https://github.com/element-hq/synapse/issues/19341)) +- Clarify how the estimated value of room complexity is calculated internally. ([\#19384](https://github.com/element-hq/synapse/issues/19384)) + +## Internal Changes + +- Add an internal `cancel_task` API to the task scheduler. ([\#19310](https://github.com/element-hq/synapse/issues/19310)) +- Tweak docstrings and signatures of `auth_types_for_event` and `get_catchup_room_event_ids`. ([\#19320](https://github.com/element-hq/synapse/issues/19320)) +- Replace usage of deprecated `assertEquals` with `assertEqual` in unit test code. ([\#19345](https://github.com/element-hq/synapse/issues/19345)) +- Drop support for Ubuntu 25.04 'Plucky Puffin', add support for Ubuntu 25.10 'Questing Quokka'. ([\#19348](https://github.com/element-hq/synapse/issues/19348)) +- Revert "Add an Admin API endpoint for listing quarantined media (#19268)". ([\#19351](https://github.com/element-hq/synapse/issues/19351)) +- Bump `mdbook` from 0.4.17 to 0.5.2 and remove our custom table-of-contents plugin in favour of the new default functionality. ([\#19356](https://github.com/element-hq/synapse/issues/19356)) +- Replace deprecated usage of PyGitHub's `GitRelease.title` with `.name` in release script. ([\#19358](https://github.com/element-hq/synapse/issues/19358)) +- Update the Element logo in Synapse's README to be an absolute URL, allowing it to render on other sites (such as PyPI). ([\#19368](https://github.com/element-hq/synapse/issues/19368)) +- Apply minor tweaks to v1.145.0 changelog. ([\#19376](https://github.com/element-hq/synapse/issues/19376)) +- Update Grafana dashboard syntax to use the latest from importing/exporting with Grafana 12.3.1. ([\#19381](https://github.com/element-hq/synapse/issues/19381)) +- Warn about skipping reactor metrics when using unknown reactor type. ([\#19383](https://github.com/element-hq/synapse/issues/19383)) +- Add support for reactor metrics with the `ProxiedReactor` used in worker Complement tests. ([\#19385](https://github.com/element-hq/synapse/issues/19385)) + + + + # Synapse 1.145.0 (2026-01-13) No significant changes since 1.145.0rc4. diff --git a/changelog.d/19204.feature b/changelog.d/19204.feature deleted file mode 100644 index 04a2d93e32..0000000000 --- a/changelog.d/19204.feature +++ /dev/null @@ -1 +0,0 @@ -Add a new config option [`enable_local_media_storage`](https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#enable_local_media_storage) which controls whether media is additionally stored locally when using configured `media_storage_providers`. Setting this to `false` allows off-site media storage without a local cache. Contributed by Patrice Brend'amour @dr.allgood. diff --git a/changelog.d/19273.feature b/changelog.d/19273.feature deleted file mode 100644 index ef849b3c37..0000000000 --- a/changelog.d/19273.feature +++ /dev/null @@ -1 +0,0 @@ -Stabilise support for [MSC4312](https://github.com/matrix-org/matrix-spec-proposals/pull/4312)'s `m.oauth` User-Interactive Auth stage for resetting cross-signing identity with the OAuth 2.0 API. The old, unstable name (`org.matrix.cross_signing_reset`) is now deprecated and will be removed in a future release. \ No newline at end of file diff --git a/changelog.d/19310.misc b/changelog.d/19310.misc deleted file mode 100644 index 5080d7d985..0000000000 --- a/changelog.d/19310.misc +++ /dev/null @@ -1 +0,0 @@ -Add an internal `cancel_task` API to the task scheduler. diff --git a/changelog.d/19320.misc b/changelog.d/19320.misc deleted file mode 100644 index e18ad78c91..0000000000 --- a/changelog.d/19320.misc +++ /dev/null @@ -1 +0,0 @@ -Tweak docstrings and signatures of `auth_types_for_event` and `get_catchup_room_event_ids`. diff --git a/changelog.d/19321.bugfix b/changelog.d/19321.bugfix deleted file mode 100644 index 9292ca5ebf..0000000000 --- a/changelog.d/19321.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix joining a restricted v12 room locally when no local room creator is present but local users with sufficient power levels are. Contributed by @nexy7574. \ No newline at end of file diff --git a/changelog.d/19335.bugfix b/changelog.d/19335.bugfix deleted file mode 100644 index d5566b9777..0000000000 --- a/changelog.d/19335.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed parallel calls to `/_matrix/media/v1/create` being ratelimited for appservices even if `rate_limited: false` was set in the registration. Contributed by @tulir @ Beeper. diff --git a/changelog.d/19336.docker b/changelog.d/19336.docker deleted file mode 100644 index 2230e2d0e2..0000000000 --- a/changelog.d/19336.docker +++ /dev/null @@ -1 +0,0 @@ -Add [Prometheus HTTP service discovery](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#http_sd_config) endpoint for easy discovery of all workers when using the `docker/Dockerfile-workers` image (see the [*Metrics* section of our Docker testing docs](docker/README-testing.md#metrics)). diff --git a/changelog.d/19337.feature b/changelog.d/19337.feature deleted file mode 100644 index dd6e4810a4..0000000000 --- a/changelog.d/19337.feature +++ /dev/null @@ -1 +0,0 @@ -Refactor Grafana dashboard to use `server_name` label (instead of `instance`). diff --git a/changelog.d/19341.doc b/changelog.d/19341.doc deleted file mode 100644 index c3d3281211..0000000000 --- a/changelog.d/19341.doc +++ /dev/null @@ -1 +0,0 @@ -Remove docs on legacy metric names (no longer in the codebase since 2022-12-06). diff --git a/changelog.d/19345.misc b/changelog.d/19345.misc deleted file mode 100644 index 3025af82c9..0000000000 --- a/changelog.d/19345.misc +++ /dev/null @@ -1 +0,0 @@ -Replace usage of deprecated `assertEquals` with `assertEqual` in unit test code. \ No newline at end of file diff --git a/changelog.d/19346.removal b/changelog.d/19346.removal deleted file mode 100644 index f11c5c48d4..0000000000 --- a/changelog.d/19346.removal +++ /dev/null @@ -1 +0,0 @@ -MSC2697 (Dehydrated devices) has been removed, as the MSC is closed. Developers should migrate to MSC3814. \ No newline at end of file diff --git a/changelog.d/19348.misc b/changelog.d/19348.misc deleted file mode 100644 index d4255215d9..0000000000 --- a/changelog.d/19348.misc +++ /dev/null @@ -1 +0,0 @@ -Drop support for Ubuntu 25.04 'Plucky Puffin', add support for Ubuntu 25.10 'Questing Quokka'. \ No newline at end of file diff --git a/changelog.d/19351.misc b/changelog.d/19351.misc deleted file mode 100644 index 5e186b9a0c..0000000000 --- a/changelog.d/19351.misc +++ /dev/null @@ -1 +0,0 @@ -Revert "Add an Admin API endpoint for listing quarantined media (#19268)". diff --git a/changelog.d/19353.bugfix b/changelog.d/19353.bugfix deleted file mode 100644 index 5dc006312c..0000000000 --- a/changelog.d/19353.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix a bug introduced in 1.61.0 where a user's membership in a room was accidentally ignored when considering access to historical state events in rooms with the "shared" history visibility. Contributed by Lukas Tautz. diff --git a/changelog.d/19356.misc b/changelog.d/19356.misc deleted file mode 100644 index 3b9d16a380..0000000000 --- a/changelog.d/19356.misc +++ /dev/null @@ -1 +0,0 @@ -Bump `mdbook` from 0.4.17 to 0.5.2 and remove our custom table-of-contents plugin in favour of the new default functionality. \ No newline at end of file diff --git a/changelog.d/19358.misc b/changelog.d/19358.misc deleted file mode 100644 index b9a54f7d44..0000000000 --- a/changelog.d/19358.misc +++ /dev/null @@ -1 +0,0 @@ -Replace deprecated usage of PyGitHub's `GitRelease.title` with `.name` in release script. diff --git a/changelog.d/19360.bugfix b/changelog.d/19360.bugfix deleted file mode 100644 index b4d5fb0892..0000000000 --- a/changelog.d/19360.bugfix +++ /dev/null @@ -1 +0,0 @@ -MSC4140: Store the JSON content of scheduled delayed events as text instead of a byte array. This fixes the inability to schedule a delayed event with non-ASCII characters in its content. diff --git a/changelog.d/19368.misc b/changelog.d/19368.misc deleted file mode 100644 index 1355af9662..0000000000 --- a/changelog.d/19368.misc +++ /dev/null @@ -1 +0,0 @@ -Update the Element logo in Synapse's README to be an absolute URL, allowing it to render on other sites (such as PyPI). \ No newline at end of file diff --git a/changelog.d/19372.bugfix b/changelog.d/19372.bugfix deleted file mode 100644 index 5e09e1c6b9..0000000000 --- a/changelog.d/19372.bugfix +++ /dev/null @@ -1 +0,0 @@ -Always rollback database transaction when retrying (avoid orphaned connections). diff --git a/changelog.d/19376.misc b/changelog.d/19376.misc deleted file mode 100644 index 4697fc2ea2..0000000000 --- a/changelog.d/19376.misc +++ /dev/null @@ -1 +0,0 @@ -Apply minor tweaks to v1.145.0 changelog. diff --git a/changelog.d/19379.bugfix b/changelog.d/19379.bugfix deleted file mode 100644 index 6de9543bcc..0000000000 --- a/changelog.d/19379.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix `InFlightGauge` typing to allow upgrading to `prometheus_client` 0.24. diff --git a/changelog.d/19381.misc b/changelog.d/19381.misc deleted file mode 100644 index 703ecb4d72..0000000000 --- a/changelog.d/19381.misc +++ /dev/null @@ -1 +0,0 @@ -Update Grafana dashboard syntax to use the latest from importing/exporting with Grafana 12.3.1. diff --git a/changelog.d/19383.misc b/changelog.d/19383.misc deleted file mode 100644 index 4749b1af9a..0000000000 --- a/changelog.d/19383.misc +++ /dev/null @@ -1 +0,0 @@ -Warn about skipping reactor metrics when using unknown reactor type. diff --git a/changelog.d/19384.doc b/changelog.d/19384.doc deleted file mode 100644 index d74b311fc1..0000000000 --- a/changelog.d/19384.doc +++ /dev/null @@ -1 +0,0 @@ -Clarify how the estimated value of room complexity is calculated internally. \ No newline at end of file diff --git a/changelog.d/19385.misc b/changelog.d/19385.misc deleted file mode 100644 index aa23ea51c1..0000000000 --- a/changelog.d/19385.misc +++ /dev/null @@ -1 +0,0 @@ -Add support for reactor metrics with the `ProxiedReactor` used in worker Complement tests. diff --git a/debian/changelog b/debian/changelog index 6ea411f2d2..d73e441abd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.146.0~rc1) stable; urgency=medium + + * New Synapse release 1.146.0rc1. + + -- Synapse Packaging team Tue, 20 Jan 2026 08:42:10 -0700 + matrix-synapse-py3 (1.145.0) stable; urgency=medium * New Synapse release 1.145.0. diff --git a/pyproject.toml b/pyproject.toml index a6f7eac92c..80b70edbd9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "matrix-synapse" -version = "1.145.0" +version = "1.146.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 6172474c48..3ed7196752 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.145/synapse-config.schema.json +$id: https://element-hq.github.io/synapse/schema/synapse/v1.146/synapse-config.schema.json type: object properties: modules: