-
v1.144.0 Stable
released this
2025-12-09 15:46:54 +00:00 | 33 commits to develop since this releaseSynapse 1.144.0 (2025-12-09)
Deprecation of MacOS Python wheels
The team has decided to deprecate and stop publishing python wheels for MacOS as of this release. Synapse docker images will continue to work on MacOS, as will building Synapse from source (though note this requires a Rust compiler).
Unstable mutual rooms endpoint is now behind an experimental feature flag
Admins using the unstable MSC2666 endpoint (
/_matrix/client/unstable/uk.half-shot.msc2666/user/mutual_rooms), please check the relevant section in the upgrade notes as this release contains changes that disable that endpoint by default.No significant changes since 1.144.0rc1.
Synapse 1.144.0rc1 (2025-12-02)
Admins using the unstable MSC2666 endpoint (
/_matrix/client/unstable/uk.half-shot.msc2666/user/mutual_rooms), please check the relevant section in the upgrade notes as this release contains changes that disable that endpoint by default.Features
- Add experimental implementation of MSC4380 (invite blocking). (#19203)
- Allow restarting delayed event timeouts on workers. (#19207)
Bugfixes
- Fix a bug in the database function for fetching state deltas that could result in unnecessarily long query times. (#18960)
- Fix v12 rooms when running with
use_frozen_dicts: True. (#19235) - Fix bug where invalid
canonical_aliascontent would return 500 instead of 400. (#19240) - Fix bug where
Durationwas logged incorrectly. (#19267)
Improved Documentation
- Document in the
--config-pathhelp how multiple files are merged - by merging them shallowly. (#19243)
Deprecations and Removals
- Stop building release wheels for MacOS. (#19225)
Internal Changes
- Improve event filtering for Simplified Sliding Sync. (#17782)
- Export
SYNAPSE_SUPPORTED_COMPLEMENT_TEST_PACKAGESenvironment variable fromscripts-dev/complement.sh. (#19208) - Refactor
scripts-dev/complement.shlogic to avoidexitto facilitate being able to source it from other scripts (composable). (#19209) - Expire sliding sync connections that are too old or have too much pending data. (#19211)
- Require an experimental feature flag to be enabled in order for the unstable MSC2666 endpoint (
/_matrix/client/unstable/uk.half-shot.msc2666/user/mutual_rooms) to be available. (#19219) - Prevent changelog check CI running on @dependabot's PRs even when a human has modified the branch. (#19220)
- Auto-fix trailing spaces in multi-line strings and comments when running the lint script. (#19221)
- Move towards using a dedicated
Durationtype. (#19223, #19229) - Improve robustness of the SQL schema linting in CI. (#19224)
- Add log to determine whether clients are using
/messagesas expected. (#19226) - Simplify README and add ESS Getting started section. (#19228, #19259)
- Add a unit test for ensuring associated refresh tokens are erased when a device is deleted. (#19230)
- Prompt user to consider adding future deprecations to the changelog in release script. (#19239)
- Fix check of the Rust compiled code being outdated when using source checkout and
.egg-info. (#19251) - Stop building MacOS wheels in CI pipeline. (#19263)
Updates to locked dependencies
- Bump Swatinem/rust-cache from 2.8.1 to 2.8.2. (#19244)
- Bump actions/checkout from 5.0.0 to 6.0.0. (#19213)
- Bump actions/setup-go from 6.0.0 to 6.1.0. (#19214)
- Bump actions/setup-python from 6.0.0 to 6.1.0. (#19245)
- Bump attrs from 25.3.0 to 25.4.0. (#19215)
- Bump docker/metadata-action from 5.9.0 to 5.10.0. (#19246)
- Bump http from 1.3.1 to 1.4.0. (#19249)
- Bump pydantic from 2.12.4 to 2.12.5. (#19250)
- Bump pyopenssl from 25.1.0 to 25.3.0. (#19248)
- Bump rpds-py from 0.28.0 to 0.29.0. (#19216)
- Bump rpds-py from 0.29.0 to 0.30.0. (#19247)
- Bump sentry-sdk from 2.44.0 to 2.46.0. (#19218)
- Bump types-bleach from 6.2.0.20250809 to 6.3.0.20251115. (#19217)
- Bump types-jsonschema from 4.25.1.20250822 to 4.25.1.20251009. (#19252)
Downloads
-
v1.144.0rc1 Pre-Release
released this
2025-12-02 21:36:47 +00:00 | 35 commits to develop since this releaseSynapse 1.144.0rc1 (2025-12-02)
Admins using the unstable MSC2666 endpoint (
/_matrix/client/unstable/uk.half-shot.msc2666/user/mutual_rooms), please check the relevant section in the upgrade notes as this release contains changes that disable that endpoint by default.Features
- Add experimental implementation of MSC4380 (invite blocking). (#19203)
- Allow restarting delayed event timeouts on workers. (#19207)
Bugfixes
- Fix a bug in the database function for fetching state deltas that could result in unnecessarily long query times. (#18960)
- Fix v12 rooms when running with
use_frozen_dicts: True. (#19235) - Fix bug where invalid
canonical_aliascontent would return 500 instead of 400. (#19240) - Fix bug where
Durationwas logged incorrectly. (#19267)
Improved Documentation
- Document in the
--config-pathhelp how multiple files are merged - by merging them shallowly. (#19243)
Deprecations and Removals
- Stop building release wheels for MacOS. (#19225)
Internal Changes
- Improve event filtering for Simplified Sliding Sync. (#17782)
- Export
SYNAPSE_SUPPORTED_COMPLEMENT_TEST_PACKAGESenvironment variable fromscripts-dev/complement.sh. (#19208) - Refactor
scripts-dev/complement.shlogic to avoidexitto facilitate being able to source it from other scripts (composable). (#19209) - Expire sliding sync connections that are too old or have too much pending data. (#19211)
- Require an experimental feature flag to be enabled in order for the unstable MSC2666 endpoint (
/_matrix/client/unstable/uk.half-shot.msc2666/user/mutual_rooms) to be available. (#19219) - Prevent changelog check CI running on @dependabot's PRs even when a human has modified the branch. (#19220)
- Auto-fix trailing spaces in multi-line strings and comments when running the lint script. (#19221)
- Move towards using a dedicated
Durationtype. (#19223, #19229) - Improve robustness of the SQL schema linting in CI. (#19224)
- Add log to determine whether clients are using
/messagesas expected. (#19226) - Simplify README and add ESS Getting started section. (#19228, #19259)
- Add a unit test for ensuring associated refresh tokens are erased when a device is deleted. (#19230)
- Prompt user to consider adding future deprecations to the changelog in release script. (#19239)
- Fix check of the Rust compiled code being outdated when using source checkout and
.egg-info. (#19251) - Stop building macos wheels in CI pipeline. (#19263)
Updates to locked dependencies
- Bump Swatinem/rust-cache from 2.8.1 to 2.8.2. (#19244)
- Bump actions/checkout from 5.0.0 to 6.0.0. (#19213)
- Bump actions/setup-go from 6.0.0 to 6.1.0. (#19214)
- Bump actions/setup-python from 6.0.0 to 6.1.0. (#19245)
- Bump attrs from 25.3.0 to 25.4.0. (#19215)
- Bump docker/metadata-action from 5.9.0 to 5.10.0. (#19246)
- Bump http from 1.3.1 to 1.4.0. (#19249)
- Bump pydantic from 2.12.4 to 2.12.5. (#19250)
- Bump pyopenssl from 25.1.0 to 25.3.0. (#19248)
- Bump rpds-py from 0.28.0 to 0.29.0. (#19216)
- Bump rpds-py from 0.29.0 to 0.30.0. (#19247)
- Bump sentry-sdk from 2.44.0 to 2.46.0. (#19218)
- Bump types-bleach from 6.2.0.20250809 to 6.3.0.20251115. (#19217)
- Bump types-jsonschema from 4.25.1.20250822 to 4.25.1.20251009. (#19252)
Downloads
-
v1.143.0 Stable
released this
2025-11-25 15:50:50 +00:00 | 78 commits to develop since this releaseSynapse 1.143.0 (2025-11-25)
Dropping support for PostgreSQL 13
In line with our deprecation policy, we've dropped support for PostgreSQL 13, as it is no longer supported upstream. This release of Synapse requires PostgreSQL 14+.
No significant changes since 1.143.0rc2.
synapse 1.143.0rc2 (2025-11-18)
Internal Changes
- Fixes docker image creation in the release workflow.
Synapse 1.143.0rc1 (2025-11-18)
Features
- Support multiple config files in
register_new_matrix_user. (#18784) - Remove authentication from
POST /_matrix/client/v1/delayed_events, and allow calling this endpoint with the update action to take (send/cancel/restart) in the request path instead of the body. (#19152)
Bugfixes
- Fixed a longstanding bug where background updates were only run on the
maindatabase. (#19181) - Fixed a bug introduced in v1.142.0 preventing subpaths in MAS endpoints from working. (#19186)
- Fix the SQLite-to-PostgreSQL migration script to correctly migrate a boolean column in the
delayed_eventstable. (#19155)
Improved Documentation
- Improve documentation around streams, particularly ID generators and adding new streams. (#18943)
Deprecations and Removals
- Remove support for PostgreSQL 13. (#19170)
Internal Changes
- Provide additional servers with federation room directory results. (#18970)
- Add a shortcut return when there are no events to purge. (#19093)
- Write union types as
X | Ywhere possible, as per PEP 604, added in Python 3.10. (#19111) - Reduce cardinality of
synapse_storage_events_persisted_events_sep_totalmetric by removingorigin_entitylabel. This also separates out events sent by local application services by changing theorigin_typefor such events toapplication_service. Thetypefield also only tracks common event types, and anything else is bucketed under*other*. (#19133, #19168) - Run trial tests on Python 3.14 for PRs. (#19135)
- Update
pyproject.tomlproject metadata to be compatible with standard Python packaging tooling. (#19137) - Minor speed up of processing of inbound replication. (#19138, #19145, #19146)
- Ignore recent Python language refactors from git blame (
.git-blame-ignore-revs). (#19150) - Bump lower bounds of dependencies
parameterizedto0.9.0andidnato3.3as those are the first to advertise support for Python 3.10. (#19167) - Point out which event caused the exception when checking MSC4293 redactions. (#19169)
- Restore printing
sentinelfor the log recordrequestwhen no logcontext is active. (#19172) - Add debug logs to track
Clockutilities. (#19173) - Remove explicit python version skips in
cibuildwheelconfig as it's no longer required after #19137. (#19177) - Fix potential lost logcontext when
PerDestinationQueue.shutdown(...)is called. (#19178) - Fix bad deferred logcontext handling across the codebase. (#19180)
Updates to locked dependencies
- Bump bytes from 1.10.1 to 1.11.0. (#19193)
- Bump click from 8.1.8 to 8.3.1. (#19195)
- Bump cryptography from 43.0.3 to 45.0.7. (#19159)
- Bump docker/metadata-action from 5.8.0 to 5.9.0. (#19161)
- Bump pydantic from 2.12.3 to 2.12.4. (#19158)
- Bump pyo3-log from 0.13.1 to 0.13.2. (#19156)
- Bump ruff from 0.14.3 to 0.14.5. (#19196)
- Bump sentry-sdk from 2.34.1 to 2.43.0. (#19157)
- Bump sentry-sdk from 2.43.0 to 2.44.0. (#19197)
- Bump tomli from 2.2.1 to 2.3.0. (#19194)
- Bump types-netaddr from 1.3.0.20240530 to 1.3.0.20251108. (#19160)
Downloads
-
v1.143.0rc2 Pre-Release
released this
2025-11-19 00:41:10 +00:00 | 81 commits to develop since this releaseSynapse 1.143.0rc2 (2025-11-18)
Dropping support for PostgreSQL 13
In line with our deprecation policy, we've dropped support for PostgreSQL 13, as it is no longer supported upstream.
This release of Synapse requires PostgreSQL 14+.
Internal Changes
- Fixes docker image creation in the release workflow.
Synapse 1.143.0rc1 (2025-11-18)
Features
- Support multiple config files in
register_new_matrix_user. (#18784) - Remove authentication from
POST /_matrix/client/v1/delayed_events, and allow calling this endpoint with the update action to take (send/cancel/restart) in the request path instead of the body. (#19152)
Bugfixes
- Fixed a longstanding bug where background updates were only run on the
maindatabase. (#19181) - Fixed a bug introduced in v1.142.0 preventing subpaths in MAS endpoints from working. (#19186)
- Fix the SQLite-to-PostgreSQL migration script to correctly migrate a boolean column in the
delayed_eventstable. (#19155)
Improved Documentation
- Improve documentation around streams, particularly ID generators and adding new streams. (#18943)
Deprecations and Removals
- Remove support for PostgreSQL 13. (#19170)
Internal Changes
- Provide additional servers with federation room directory results. (#18970)
- Add a shortcut return when there are no events to purge. (#19093)
- Write union types as
X | Ywhere possible, as per PEP 604, added in Python 3.10. (#19111) - Reduce cardinality of
synapse_storage_events_persisted_events_sep_totalmetric by removingorigin_entitylabel. This also separates out events sent by local application services by changing theorigin_typefor such events toapplication_service. Thetypefield also only tracks common event types, and anything else is bucketed under*other*. (#19133, #19168) - Run trial tests on Python 3.14 for PRs. (#19135)
- Update
pyproject.tomlproject metadata to be compatible with standard Python packaging tooling. (#19137) - Minor speed up of processing of inbound replication. (#19138, #19145, #19146)
- Ignore recent Python language refactors from git blame (
.git-blame-ignore-revs). (#19150) - Bump lower bounds of dependencies
parameterizedto0.9.0andidnato3.3as those are the first to advertise support for Python 3.10. (#19167) - Point out which event caused the exception when checking MSC4293 redactions. (#19169)
- Restore printing
sentinelfor the log recordrequestwhen no logcontext is active. (#19172) - Add debug logs to track
Clockutilities. (#19173) - Remove explicit python version skips in
cibuildwheelconfig as it's no longer required after #19137. (#19177) - Fix potential lost logcontext when
PerDestinationQueue.shutdown(...)is called. (#19178) - Fix bad deferred logcontext handling across the codebase. (#19180)
Updates to locked dependencies
- Bump bytes from 1.10.1 to 1.11.0. (#19193)
- Bump click from 8.1.8 to 8.3.1. (#19195)
- Bump cryptography from 43.0.3 to 45.0.7. (#19159)
- Bump docker/metadata-action from 5.8.0 to 5.9.0. (#19161)
- Bump pydantic from 2.12.3 to 2.12.4. (#19158)
- Bump pyo3-log from 0.13.1 to 0.13.2. (#19156)
- Bump ruff from 0.14.3 to 0.14.5. (#19196)
- Bump sentry-sdk from 2.34.1 to 2.43.0. (#19157)
- Bump sentry-sdk from 2.43.0 to 2.44.0. (#19197)
- Bump tomli from 2.2.1 to 2.3.0. (#19194)
- Bump types-netaddr from 1.3.0.20240530 to 1.3.0.20251108. (#19160)
Downloads
-
v1.142.1 Stable
released this
2025-11-18 19:40:06 +00:00 | 124 commits to develop since this releaseSynapse 1.142.1 (2025-11-18)
Bugfixes
- Fixed a bug introduced in v1.142.0 preventing subpaths in MAS endpoints from working. (#19186)
Downloads
-
v1.142.0 Stable
released this
2025-11-11 09:51:43 +00:00 | 126 commits to develop since this releaseSynapse 1.142.0 (2025-11-11)
Dropped support for Python 3.9
This release drops support for Python 3.9, in line with our dependency deprecation policy, as it is now end of life.
SQLite 3.40.0+ is now required
The minimum supported SQLite version has been increased from 3.27.0 to 3.40.0.
If you use current versions of the matrixorg/synapse Docker images, no action is required.
Deprecation of MacOS Python wheels
The team has decided to deprecate and eventually stop publishing python wheels for MacOS. This is a burden on the team, and we're not aware of any parties that use them. Synapse docker images will continue to work on MacOS, as will building Synapse from source (though note this requires a Rust compiler).
At present, publishing MacOS Python wheels will continue for the next release (1.143.0), but will not be available after that (1.144.0+). If you do make use of these wheels downstream, please reach out to us in #synapse-dev:matrix.org. We'd love to hear from you!
Internal Changes
- Properly stop building wheels for Python 3.9 and free-threaded CPython. (#19154)
Synapse 1.142.0rc4 (2025-11-07)
Bugfixes
- Fix a bug introduced in 1.142.0rc1 where any attempt to configure
matrix_authentication_service.secret_pathwould prevent the homeserver from starting up. (#19144)
Synapse 1.142.0rc3 (2025-11-04)
Internal Changes
- Update release scripts to prevent building wheels for free-threaded Python, as Synapse does not currently support it. (#19140)
Synapse 1.142.0rc2 (2025-11-04)
Internal Changes
- Manually skip building Python 3.9 wheels, to prevent errors in the release workflow. (#19119)
Synapse 1.142.0rc1 (2025-11-04)
Features
- Add support for Python 3.14. (#19055, #19134)
- Add an Admin API
to allow an admin to fetch the space/room hierarchy for a given space. (#19021)
Bugfixes
- Fix a bug introduced in 1.111.0 where failed attempts to download authenticated remote media would not be handled correctly. (#19062)
- Update the
oidc_session_no_samesitecookie to have theSecureattribute, so the only difference between it and the pairedoidc_sessioncookie, is the configuration of theSameSiteattribute as described in the comments / cookie names. Contributed by @kieranlane. (#19079) - Fix a bug introduced in 1.140.0 where lost logcontext warnings would be emitted from timeouts in sync and requests made by Synapse itself. (#19090)
- Fix a bug introdued in 1.140.0 where lost logcontext warning were emitted when using
HomeServer.shutdown(). (#19108)
Improved Documentation
- Update the link to the Debian oldstable package for SQLite. (#19047)
- Point out additional Redis configuration options available in the worker docs. Contributed by @servisbryce. (#19073)
- Update the list of Debian releases that the downstream Debian package is maintained for. (#19100)
- Add a page to the documentation describing the steps the Synapse team takes to review the release notes before publishing them. (#19109)
Deprecations and Removals
Internal Changes
- Fix CI linter for schema delta files to correctly handle all types of
CREATE TABLEsyntax. (#19020) - Use type hinting generics in standard collections, as per PEP 585, added in Python 3.9. (#19046)
- Always treat
RETURNINGas supported by SQL engines, now that the minimum-supported versions of both SQLite and PostgreSQL support it. (#19047) - Move
oidc.load_metadata()startup into_base.start(). (#19056) - Remove logcontext problems caused by awaiting raw
deferLater(...). (#19058) - Prevent duplicate logging setup when running multiple Synapse instances. (#19067)
- Be mindful of other logging context filters in 3rd-party code and avoid overwriting log record fields unless we know the log record is relevant to Synapse. (#19068)
- Update pydantic to v2. (#19071)
- Update deprecated code in the release script to prevent a warning message from being printed. (#19080)
- Update the deprecated poetry development dependencies group name in
pyproject.toml. (#19081) - Remove
pp38*skip selector from cibuildwheel to silence warning. (#19085) - Don't immediately exit the release script if the checkout is dirty. Instead, allow the user to clear the dirty changes and retry. (#19088)
- Update the release script's generated announcement text to include a title and extra text for RC's. (#19089)
- Fix lints on main branch. (#19092)
- Use cheaper random string function in logcontext utilities. (#19094)
- Avoid clobbering other
SIGHUPhandlers in 3rd-party code. (#19095) - Prevent duplicate GitHub draft releases being created during the Synapse release process. (#19096)
- Use Pillow's
Image.getexifmethod instead of the experimentalImage._getexif. (#19098) - Prevent uv
/usr/local/.lockfile from appearing in built Synapse docker images. (#19107) - Allow Synapse's runtime dependency checking code to take packaging markers (i.e.
python <= 3.14) into account when checking dependencies. (#19110) - Move exception handling up the stack (avoid
exit(1)in our composable functions). (#19116) - Fix a lint error related to lifetimes in Rust 1.90. (#19118)
- Refactor and align app entrypoints (avoid
exit(1)in our composable functions). (#19121, #19131) - Speed up pruning of ratelimiters. (#19129)
Updates to locked dependencies
- Bump actions/download-artifact from 5.0.0 to 6.0.0. (#19102)
- Bump actions/upload-artifact from 4 to 5. (#19106)
- Bump hiredis from 3.2.1 to 3.3.0. (#19103)
- Bump icu_segmenter from 2.0.0 to 2.0.1. (#19126)
- Bump idna from 3.10 to 3.11. (#19053)
- Bump ijson from 3.4.0 to 3.4.0.post0. (#19051)
- Bump markdown-it-py from 3.0.0 to 4.0.0. (#19123)
- Bump msgpack from 1.1.1 to 1.1.2. (#19050)
- Bump psycopg2 from 2.9.10 to 2.9.11. (#19125)
- Bump pyyaml from 6.0.2 to 6.0.3. (#19105)
- Bump regex from 1.11.3 to 1.12.2. (#19074)
- Bump reqwest from 0.12.23 to 0.12.24. (#19077)
- Bump ruff from 0.12.10 to 0.14.3. (#19124)
- Bump sigstore/cosign-installer from 3.10.0 to 4.0.0. (#19075)
- Bump stefanzweifel/git-auto-commit-action from 6.0.1 to 7.0.0. (#19052)
- Bump tokio from 1.47.1 to 1.48.0. (#19076)
- Bump types-psycopg2 from 2.9.21.20250915 to 2.9.21.20251012. (#19054)
Downloads
-
v1.142.0rc4 Pre-Release
released this
2025-11-07 11:19:40 +00:00 | 129 commits to develop since this releaseSynapse 1.142.0rc4 (2025-11-07)
Dropped support for Python 3.9
This release drops support for Python 3.9, in line with our dependency deprecation policy, as it is now end of life.
SQLite 3.40.0+ is now required
The minimum supported SQLite version has been increased from 3.27.0 to 3.40.0.
If you use current versions of the matrixorg/synapse Docker images, no action is required.
Deprecation of MacOS Python wheels
The team has decided to deprecate and eventually stop publishing python wheels for MacOS. This is a burden on the team, and we're not aware of any parties that use them. Synapse docker images will continue to work on MacOS, as will building Synapse from source (though note this requires a Rust compiler).
At present, publishing MacOS Python wheels will continue for the next release (1.143.0), but will not be available after that (1.144.0+). If you do make use of these wheels downstream, please reach out to us in #synapse-dev:matrix.org. We'd love to hear from you!
Bugfixes
- Fix a bug introduced in 1.142.0rc1 where any attempt to configure
matrix_authentication_service.secret_pathwould prevent the homeserver from starting up. (#19144)
Downloads
- Fix a bug introduced in 1.142.0rc1 where any attempt to configure
-
v1.142.0rc3 Pre-Release
released this
2025-11-04 17:39:43 +00:00 | 131 commits to develop since this releaseSynapse 1.142.0rc3 (2025-11-04)
Dropped support for Python 3.9
This release drops support for Python 3.9, in line with our dependency deprecation policy, as it is now end of life.
SQLite 3.40.0+ is now required
The minimum supported SQLite version has been increased from 3.27.0 to 3.40.0.
If you use current versions of the matrixorg/synapse Docker images, no action is required.
Deprecation of MacOS Python wheels
The team has decided to deprecate and eventually stop publishing python wheels for MacOS. This is a burden on the team, and we're not aware of any parties that use them. Synapse docker images will continue to work on MacOS, as will building Synapse from source (though note this requires a Rust compiler).
At present, publishing MacOS Python wheels will continue for the next release (1.143.0), but will not be available after that (1.144.0+). If you do make use of these wheels downstream, please reach out to us in #synapse-dev:matrix.org. We'd love to hear from you!
Internal Changes
- Update release scripts to prevent building wheels for free-threaded Python, as Synapse does not currently support it. (#19140)
Synapse 1.142.0rc2 (2025-11-04)
Internal Changes
- Manually skip building Python 3.9 wheels, to prevent errors in the release workflow. (#19119)
Synapse 1.142.0rc1 (2025-11-04)
Features
- Add support for Python 3.14. (#19055, #19134)
- Add an Admin API to allow an admin to fetch the space/room hierarchy for a given space. (#19021)
Bugfixes
- Fix a bug introduced in 1.111.0 where failed attempts to download authenticated remote media would not be handled correctly. (#19062)
- Update the
oidc_session_no_samesitecookie to have theSecureattribute, so the only difference between it and the pairedoidc_sessioncookie, is the configuration of theSameSiteattribute as described in the comments / cookie names. Contributed by @kieranlane. (#19079) - Fix a bug introduced in 1.140.0 where lost logcontext warnings would be emitted from timeouts in sync and requests made by Synapse itself. (#19090)
- Fix a bug introdued in 1.140.0 where lost logcontext warning were emitted when using
HomeServer.shutdown(). (#19108)
Improved Documentation
- Update the link to the Debian oldstable package for SQLite. (#19047)
- Point out additional Redis configuration options available in the worker docs. Contributed by @servisbryce. (#19073)
- Update the list of Debian releases that the downstream Debian package is maintained for. (#19100)
- Add a page to the documentation describing the steps the Synapse team takes to review the release notes before publishing them. (#19109)
Deprecations and Removals
Internal Changes
- Fix CI linter for schema delta files to correctly handle all types of
CREATE TABLEsyntax. (#19020) - Use type hinting generics in standard collections, as per PEP 585, added in Python 3.9. (#19046)
- Always treat
RETURNINGas supported by SQL engines, now that the minimum-supported versions of both SQLite and PostgreSQL support it. (#19047) - Move
oidc.load_metadata()startup into_base.start(). (#19056) - Remove logcontext problems caused by awaiting raw
deferLater(...). (#19058) - Prevent duplicate logging setup when running multiple Synapse instances. (#19067)
- Be mindful of other logging context filters in 3rd-party code and avoid overwriting log record fields unless we know the log record is relevant to Synapse. (#19068)
- Update pydantic to v2. (#19071)
- Update deprecated code in the release script to prevent a warning message from being printed. (#19080)
- Update the deprecated poetry development dependencies group name in
pyproject.toml. (#19081) - Remove
pp38*skip selector from cibuildwheel to silence warning. (#19085) - Don't immediately exit the release script if the checkout is dirty. Instead, allow the user to clear the dirty changes and retry. (#19088)
- Update the release script's generated announcement text to include a title and extra text for RC's. (#19089)
- Fix lints on main branch. (#19092)
- Use cheaper random string function in logcontext utilities. (#19094)
- Avoid clobbering other
SIGHUPhandlers in 3rd-party code. (#19095) - Prevent duplicate GitHub draft releases being created during the Synapse release process. (#19096)
- Use Pillow's
Image.getexifmethod instead of the experimentalImage._getexif. (#19098) - Prevent uv
/usr/local/.lockfile from appearing in built Synapse docker images. (#19107) - Allow Synapse's runtime dependency checking code to take packaging markers (i.e.
python <= 3.14) into account when checking dependencies. (#19110) - Move exception handling up the stack (avoid
exit(1)in our composable functions). (#19116) - Fix a lint error related to lifetimes in Rust 1.90. (#19118)
- Refactor and align app entrypoints (avoid
exit(1)in our composable functions). (#19121, #19131) - Speed up pruning of ratelimiters. (#19129)
Updates to locked dependencies
- Bump actions/download-artifact from 5.0.0 to 6.0.0. (#19102)
- Bump actions/upload-artifact from 4 to 5. (#19106)
- Bump hiredis from 3.2.1 to 3.3.0. (#19103)
- Bump icu_segmenter from 2.0.0 to 2.0.1. (#19126)
- Bump idna from 3.10 to 3.11. (#19053)
- Bump ijson from 3.4.0 to 3.4.0.post0. (#19051)
- Bump markdown-it-py from 3.0.0 to 4.0.0. (#19123)
- Bump msgpack from 1.1.1 to 1.1.2. (#19050)
- Bump psycopg2 from 2.9.10 to 2.9.11. (#19125)
- Bump pyyaml from 6.0.2 to 6.0.3. (#19105)
- Bump regex from 1.11.3 to 1.12.2. (#19074)
- Bump reqwest from 0.12.23 to 0.12.24. (#19077)
- Bump ruff from 0.12.10 to 0.14.3. (#19124)
- Bump sigstore/cosign-installer from 3.10.0 to 4.0.0. (#19075)
- Bump stefanzweifel/git-auto-commit-action from 6.0.1 to 7.0.0. (#19052)
- Bump tokio from 1.47.1 to 1.48.0. (#19076)
- Bump types-psycopg2 from 2.9.21.20250915 to 2.9.21.20251012. (#19054)
Downloads
-
v1.141.0 Stable
released this
2025-10-29 11:04:38 +00:00 | 197 commits to develop since this releaseSynapse 1.141.0 (2025-10-29)
Deprecation of MacOS Python wheels
The team has decided to deprecate and eventually stop publishing python wheels
for MacOS. This is a burden on the team, and we're not aware of any parties
that use them. Synapse docker images will continue to work on MacOS, as will
building Synapse from source (though note this requires a Rust compiler).Publishing MacOS Python wheels will continue for the next few releases. If you
do make use of these wheels downstream, please reach out to us in
#synapse-dev:matrix.org. We'd love to hear from you!Docker images now based on Debian
trixiewith Python 3.13The Docker images are now based on Debian
trixieand use Python 3.13. If you
are using the Docker images as a base image you may need to e.g. adjust the
paths you mount any additional Python packages at.No significant changes since 1.141.0rc2.
Synapse 1.141.0rc2 (2025-10-28)
Bugfixes
- Fix users being unable to log in if their password, or the server's configured pepper, was too long. (#19101)
Synapse 1.141.0rc1 (2025-10-21)
Features
- Allow using MSC4190 behavior without the opt-in registration flag. Contributed by @tulir @ Beeper. (#19031)
- Stabilized support for MSC4326: Device masquerading for appservices. Contributed by @tulir @ Beeper. (#19033)
Bugfixes
- Fix a bug introduced in 1.136.0 that would prevent Synapse from being able to be
reload-ed more than once when running under systemd. (#19060) - Fix a bug introduced in 1.140.0 where an internal server error could be raised when hashing user passwords that are too long. (#19078)
Updates to the Docker image
- Update docker image to use Debian trixie as the base and thus Python 3.13. (#19064)
Internal Changes
- Move unique snowflake homeserver background tasks to
start_background_tasks(the standard pattern for this kind of thing). (#19037) - Drop a deprecated field of the
PyGitHubdependency in the release script and raise the dependency's minimum version to1.59.0. (#19039) - Update TODO list of conflicting areas where we encounter metrics being clobbered (
ApplicationService). (#19040)
Downloads
-
v1.141.0rc2 Pre-Release
released this
2025-10-28 10:51:52 +00:00 | 200 commits to develop since this releaseSynapse 1.141.0rc2 (2025-10-28)
Deprecation of MacOS Python wheels
The team has decided to deprecate and eventually stop publishing python wheels for MacOS. This is a burden on the team, and we're not aware of any parties that use them. Synapse docker images will continue to work on MacOS, as will building Synapse from source (though note this requires a Rust compiler).
Publishing MacOS Python wheels will continue for the next few releases. If you do make use of these wheels downstream, please reach out to us in #synapse-dev:matrix.org. We'd love to hear from you!
Bugfixes
- Fix users being unable to log in if their password, or the server's configured pepper, was too long. (#19101)
Downloads