Skip to content

Releases: element-hq/synapse

v1.120.0rc1

20 Nov 17:01
Compare
Choose a tag to compare
v1.120.0rc1 Pre-release
Pre-release

Synapse 1.120.0rc1 (2024-11-20)

This release enables the enforcement of authenticated media by default, with exemptions for media that is already present in the
homeserver's media store.

Most homeservers operating in the public federation will not be impacted by this change, given that the large homeserver matrix.org enabled this in September 2024 and therefore most clients and servers will already have updated as a result.

Some server administrators may still wish to disable this enforcement for the time being, in the interest of compatibility with older clients and older federated homeservers.

See the upgrade notes for more information.

Features

  • Enforce authenticated media by default. Administrators can revert this by configuring enable_authenticated_media to false. In a future release of Synapse, this option will be removed and become always-on. (#17889)
  • Add a one-off task to delete old One-Time Keys, to guard against us having old OTKs in the database that the client has long forgotten about. (#17934)

Improved Documentation

  • Clarify the semantics of the enable_authenticated_media configuration option. (#17913)
  • Add documentation about backing up Synapse. (#17931)

Deprecations and Removals

Internal Changes

  • Addressed some typos in docs and returned error message for unknown MXC ID. (#17865)
  • Unpin the upload release GHA action. (#17923)
  • Bump macos version used to build wheels during release, as current version used is end-of-life. (#17924)
  • Move server event filtering logic to rust. (#17928)
  • Support new package name of PyPI package python-multipart 0.0.13 so that distro packagers do not need to work around name conflict with PyPI package multipart. (#17932)
  • Speed up slow initial sliding syncs on large servers. (#17946)

Updates to locked dependencies

  • Bump anyhow from 1.0.92 to 1.0.93. (#17920)
  • Bump bleach from 6.1.0 to 6.2.0. (#17918)
  • Bump immutabledict from 4.2.0 to 4.2.1. (#17941)
  • Bump packaging from 24.1 to 24.2. (#17940)
  • Bump phonenumbers from 8.13.49 to 8.13.50. (#17942)
  • Bump pygithub from 2.4.0 to 2.5.0. (#17917)
  • Bump ruff from 0.7.2 to 0.7.3. (#17919)
  • Bump serde from 1.0.214 to 1.0.215. (#17938)

v1.119.0

13 Nov 15:43
v1.119.0
Compare
Choose a tag to compare

Synapse 1.119.0 (2024-11-13)

No significant changes since 1.119.0rc2.

Python 3.8 support dropped

Python 3.8 is end-of-life and is no longer supported by Synapse. The minimum supported Python version is now 3.9.

If you are running Synapse with Python 3.8, please upgrade to Python 3.9 (or greater) before upgrading Synapse.

Synapse 1.119.0rc2 (2024-11-11)

Note that due to packaging issues there was no v1.119.0rc1.

Features

  • Support MSC4151's stable report room API. (#17374)
  • Add experimental support for MSC4222 (Adding state_after to sync v2). (#17888)

Bugfixes

  • Fix bug with sliding sync where $LAZY-loading room members would not return required_state membership in incremental syncs. (#17809)
  • Check if user has membership in a room before tagging it. Contributed by Lama Alosaimi. (#17839)
  • Fix a bug in the admin redact endpoint where the background task would not run if a worker was specified in
    the config option run_background_tasks_on. (#17847)
  • Fix bug where some presence and typing timeouts can expire early. (#17850)
  • Fix detection when the built Rust library was outdated when using source installations. (#17861)
  • Fix a long-standing bug in Synapse which could cause one-time keys to be issued in the incorrect order, causing message decryption failures. (#17903)
  • Fix experimental support for MSC4222 (Adding state_after to sync v2) where we would return the full state on incremental syncs when using lazy loaded members and there were no new events in the timeline. (#17915)

Internal Changes

  • Remove support for python 3.8. (#17908)
  • Add a test for downloading and thumbnailing a CMYK JPEG. (#17786)
  • Refactor database calls to remove Generator usage. (#17813, #17814, #17815, #17816, #17817, #17818, #17890)
  • Include the destination in the error of 'Destination mismatch' on federation requests. (#17830)
  • The nix flake inside the repository no longer tracks nixpkgs/master to not catch the latest bugs from a PR merged 5 minutes ago. (#17852)
  • Minor speed-up of sliding sync by computing extensions results in parallel. (#17884)
  • Bump the default Python version in the Synapse Dockerfile from 3.11 -> 3.12. (#17887)
  • Remove usage of internal header encoding API. (#17894)
  • Use unique name for each os.arch variant when uploading Wheel artifacts. (#17905)
  • Fix tests to run with latest Twisted. (#17906, #17907, #17911)
  • Update version constraint to allow the latest poetry-core 1.9.1. (#17902)
  • Update the portdb CI to use Python 3.13 and Postgres 17 as latest dependencies. (#17909)
  • Add an index to current_state_delta_stream table. (#17912)
  • Fix building and attaching release artifacts during the release process. (#17921)

Updates to locked dependencies

  • Bump actions/download-artifact & actions/upload-artifact from 3 to 4 in /.github/workflows. (#17657)
  • Bump anyhow from 1.0.89 to 1.0.92. (#17858, #17876, #17901)
  • Bump bytes from 1.7.2 to 1.8.0. (#17877)
  • Bump cryptography from 43.0.1 to 43.0.3. (#17853)
  • Bump mypy-zope from 1.0.7 to 1.0.8. (#17898)
  • Bump phonenumbers from 8.13.47 to 8.13.49. (#17880, #17899)
  • Bump python-multipart from 0.0.12 to 0.0.16. (#17879)
  • Bump regex from 1.11.0 to 1.11.1. (#17874)
  • Bump ruff from 0.6.9 to 0.7.2. (#17868, #17897)
  • Bump serde from 1.0.210 to 1.0.214. (#17875, #17900)
  • Bump serde_json from 1.0.128 to 1.0.132. (#17857)
  • Bump types-psycopg2 from 2.9.21.20240819 to 2.9.21.20241019. (#17855)
  • Bump types-setuptools from 75.1.0.20241014 to 75.2.0.20241019. (#17856)

v1.119.0rc2

11 Nov 15:05
v1.119.0rc2
Compare
Choose a tag to compare
v1.119.0rc2 Pre-release
Pre-release

Synapse 1.119.0rc2 (2024-11-11)

Note that due to packaging issues there was no v1.119.0rc1.

Python 3.8 support dropped

Python 3.8 is end-of-life and is no longer supported by Synapse. The minimum supported Python version is now 3.9.

If you are running Synapse with Python 3.8, please upgrade to Python 3.9 (or greater) before upgrading Synapse.

Features

  • Support MSC4151's stable report room API. (#17374)
  • Add experimental support for MSC4222 (Adding state_after to sync v2). (#17888)

Bugfixes

  • Fix bug with sliding sync where $LAZY-loading room members would not return required_state membership in incremental syncs. (#17809)
  • Check if user has membership in a room before tagging it. Contributed by Lama Alosaimi. (#17839)
  • Fix a bug in the admin redact endpoint where the background task would not run if a worker was specified in
    the config option run_background_tasks_on. (#17847)
  • Fix bug where some presence and typing timeouts can expire early. (#17850)
  • Fix detection when the built Rust library was outdated when using source installations. (#17861)
  • Fix a long-standing bug in Synapse which could cause one-time keys to be issued in the incorrect order, causing message decryption failures. (#17903)
  • Fix experimental support for MSC4222 (Adding state_after to sync v2) where we would return the full state on incremental syncs when using lazy loaded members and there were no new events in the timeline. (#17915)

Internal Changes

  • Remove support for python 3.8. (#17908)
  • Add a test for downloading and thumbnailing a CMYK JPEG. (#17786)
  • Refactor database calls to remove Generator usage. (#17813, #17814, #17815, #17816, #17817, #17818, #17890)
  • Include the destination in the error of 'Destination mismatch' on federation requests. (#17830)
  • The nix flake inside the repository no longer tracks nixpkgs/master to not catch the latest bugs from a PR merged 5 minutes ago. (#17852)
  • Minor speed-up of sliding sync by computing extensions results in parallel. (#17884)
  • Bump the default Python version in the Synapse Dockerfile from 3.11 -> 3.12. (#17887)
  • Remove usage of internal header encoding API. (#17894)
  • Use unique name for each os.arch variant when uploading Wheel artifacts. (#17905)
  • Fix tests to run with latest Twisted. (#17906, #17907, #17911)
  • Update version constraint to allow the latest poetry-core 1.9.1. (#17902)
  • Update the portdb CI to use Python 3.13 and Postgres 17 as latest dependencies. (#17909)
  • Add an index to current_state_delta_stream table. (#17912)
  • Fix building and attaching release artifacts during the release process. (#17921)

Updates to locked dependencies

  • Bump actions/download-artifact & actions/upload-artifact from 3 to 4 in /.github/workflows. (#17657)
  • Bump anyhow from 1.0.89 to 1.0.92. (#17858, #17876, #17901)
  • Bump bytes from 1.7.2 to 1.8.0. (#17877)
  • Bump cryptography from 43.0.1 to 43.0.3. (#17853)
  • Bump mypy-zope from 1.0.7 to 1.0.8. (#17898)
  • Bump phonenumbers from 8.13.47 to 8.13.49. (#17880, #17899)
  • Bump python-multipart from 0.0.12 to 0.0.16. (#17879)
  • Bump regex from 1.11.0 to 1.11.1. (#17874)
  • Bump ruff from 0.6.9 to 0.7.2. (#17868, #17897)
  • Bump serde from 1.0.210 to 1.0.214. (#17875, #17900)
  • Bump serde_json from 1.0.128 to 1.0.132. (#17857)
  • Bump types-psycopg2 from 2.9.21.20240819 to 2.9.21.20241019. (#17855)
  • Bump types-setuptools from 75.1.0.20241014 to 75.2.0.20241019. (#17856)

v1.118.0

29 Oct 16:43
v1.118.0
4be3bd4
Compare
Choose a tag to compare

Synapse 1.118.0 (2024-10-29)

No significant changes since 1.118.0rc1.

Python 3.8 support will be dropped in the next release

Python 3.8 is now end-of-life. As per our Deprecation Policy for Platform Dependencies, Synapse will be dropping support for Python 3.8 in the next release; Synapse 1.119.0.

Synapse 1.118.x will be the final release to support Python 3.8. If you are running Synapse with Python 3.8, please upgrade before the 1.119.0 release, due in less than one month.

Python 3.13 and PostgreSQL 17 support

On the other end of the spectrum, Synapse 1.118.0 is the first release to support Python 3.13! PostgreSQL 17 is also supported as of this release.

Synapse 1.118.0rc1 (2024-10-22)

Features

  • Added the display_name_claim option to the JWT configuration. This option allows specifying the claim key that contains the user's display name in the JWT payload. (#17708)
  • Implement MSC4210: Remove legacy mentions. Contributed by @tulir @ Beeper. (#17783)

Bugfixes

  • Fix saving of PNG thumbnails, when the original image is in the CMYK color space. (#17736)
  • Fix bug with sliding sync where the server would not return state that was added to the required_state config. (#17785, #17805)
  • Fix a bug in MSC4186 Sliding Sync that would cause rooms to stay forgotten and hidden even after rejoining. (#17835)

Improved Documentation

  • Clarify when the user_may_invite and user_may_send_3pid_invite module callbacks are called. (#17627)
  • Correct documentation to refer to the --config-path argument instead of --config-file. (#17802)
  • Fix typo in target_cache_memory_usage docs. (#17825)

Internal Changes

  • Slight optimization when fetching state/events for Sliding Sync. (#17718)
  • Add Python 3.13 and Postgres 17 to the test matrix. (#17752)
  • Test github token before running release script steps. (#17803)
  • Build debian packages for new Ubuntu versions, and stop building for no longer supported versions. (#17824)
  • Enable the .org.matrix.msc4028.encrypted_event push rule by default in accordance with MSC4028. Note that the corresponding experimental feature must still be switched on for this push rule to have any effect. (#17826)
  • Fix some typing issues uncovered by upgrading mypy to 1.11.x. (#17842)

Updates to locked dependencies

  • Bump mypy from 1.10.1 to 1.11.2. (#17842)
  • Bump mypy-zope from 1.0.5 to 1.0.7. (#17827)
  • Bump phonenumbers from 8.13.46 to 8.13.47. (#17797)
  • Bump psycopg2 from 2.9.9 to 2.9.10. (#17843)
  • Bump ruff from 0.6.8 to 0.6.9. (#17794)
  • Bump sentry-sdk from 2.14.0 to 2.15.0. (#17795)
  • Bump sentry-sdk from 2.15.0 to 2.16.0. (#17829)
  • Bump sentry-sdk from 2.16.0 to 2.17.0. (#17844)
  • Bump sigstore/cosign-installer from 3.6.0 to 3.7.0. (#17798)
  • Bump tomli from 2.0.1 to 2.0.2. (#17796)
  • Bump types-requests from 2.32.0.20240914 to 2.32.0.20241016. (#17841)
  • Bump types-setuptools from 75.1.0.20240917 to 75.1.0.20241014. (#17828)

v1.118.0rc1

22 Oct 13:12
v1.118.0rc1
Compare
Choose a tag to compare
v1.118.0rc1 Pre-release
Pre-release

Synapse 1.118.0rc1 (2024-10-22)

Python 3.8 support will be dropped in the next release

Python 3.8 is now end-of-life. As per our Deprecation Policy for Platform Dependencies, Synapse will be dropping support for Python 3.8 in the next release; Synapse 1.119.0.

Synapse 1.118.x will be the final release to support Python 3.8. If you are running Synapse with Python 3.8, please upgrade before the 1.119.0 release, due in less than one month.

Python 3.13 and PostgreSQL 17 support

On the other end of the spectrum, Synapse 1.118.0 is the first release to support Python 3.13! PostgreSQL 17 is also supported as of this release.

Features

  • Added the display_name_claim option to the JWT configuration. This option allows specifying the claim key that contains the user's display name in the JWT payload. (#17708)
  • Implement MSC4210: Remove legacy mentions. Contributed by @tulir @ Beeper. (#17783)

Bugfixes

  • Fix saving of PNG thumbnails, when the original image is in the CMYK color space. (#17736)
  • Fix bug with sliding sync where the server would not return state that was added to the required_state config. (#17785, #17805)
  • Fix a bug in MSC4186 Sliding Sync that would cause rooms to stay forgotten and hidden even after rejoining. (#17835)

Improved Documentation

  • Clarify when the user_may_invite and user_may_send_3pid_invite module callbacks are called. (#17627)
  • Correct documentation to refer to the --config-path argument instead of --config-file. (#17802)
  • Fix typo in target_cache_memory_usage docs. (#17825)

Internal Changes

  • Slight optimization when fetching state/events for Sliding Sync. (#17718)
  • Add Python 3.13 and Postgres 17 to the test matrix. (#17752)
  • Test github token before running release script steps. (#17803)
  • Build debian packages for new Ubuntu versions, and stop building for no longer supported versions. (#17824)
  • Enable the .org.matrix.msc4028.encrypted_event push rule by default in accordance with MSC4028. Note that the corresponding experimental feature must still be switched on for this push rule to have any effect. (#17826)
  • Fix some typing issues uncovered by upgrading mypy to 1.11.x. (#17842)

Updates to locked dependencies

  • Bump mypy from 1.10.1 to 1.11.2. (#17842)
  • Bump mypy-zope from 1.0.5 to 1.0.7. (#17827)
  • Bump phonenumbers from 8.13.46 to 8.13.47. (#17797)
  • Bump psycopg2 from 2.9.9 to 2.9.10. (#17843)
  • Bump ruff from 0.6.8 to 0.6.9. (#17794)
  • Bump sentry-sdk from 2.14.0 to 2.15.0. (#17795)
  • Bump sentry-sdk from 2.15.0 to 2.16.0. (#17829)
  • Bump sentry-sdk from 2.16.0 to 2.17.0. (#17844)
  • Bump sigstore/cosign-installer from 3.6.0 to 3.7.0. (#17798)
  • Bump tomli from 2.0.1 to 2.0.2. (#17796)
  • Bump types-requests from 2.32.0.20240914 to 2.32.0.20241016. (#17841)
  • Bump types-setuptools from 75.1.0.20240917 to 75.1.0.20241014. (#17828)

v1.117.0

15 Oct 13:38
v1.117.0
Compare
Choose a tag to compare

Synapse 1.117.0 (2024-10-15)

No significant changes since 1.117.0rc1.

Synapse 1.117.0rc1 (2024-10-08)

Features

  • Add config option redis.password_path. (#17717)

Bugfixes

  • Fix a rare bug introduced in v1.29.0 where invalidating a user's access token from a worker could raise an error. (#17779)
  • In the response to GET /_matrix/client/versions, set the unstable_features flag for MSC4140 to false when server configuration disables support for delayed events. (#17780)
  • Improve input validation and room membership checks in admin redaction API. (#17792)

Improved Documentation

  • Clarify the docstring of test_forget_when_not_left. (#17628)
  • Add documentation note about PYTHONMALLOC for accurate jemalloc memory tracking. Contributed by @hensg. (#17709)
  • Remove spurious "TODO UPDATE ALL THIS" note in the Debian installation docs. (#17749)
  • Explain how load balancing works for federation_sender_instances. (#17776)

Internal Changes

  • Minor performance increase for large accounts using sliding sync. (#17751)
  • Increase performance of the notifier when there are many syncing users. (#17765, #17766)
  • Fix performance of streams that don't change often. (#17767)
  • Improve performance of sliding sync connections that do not ask for any rooms. (#17768)
  • Reduce overhead of sliding sync E2EE loops. (#17771)
  • Sliding sync minor performance speed up using new table. (#17787)
  • Sliding sync minor performance improvement by omitting unchanged data from incremental responses. (#17788)
  • Speed up sliding sync when there are many active subscriptions. (#17789)
  • Add missing license headers on new source files. (#17799)

Updates to locked dependencies

  • Bump phonenumbers from 8.13.45 to 8.13.46. (#17773)
  • Bump python-multipart from 0.0.10 to 0.0.12. (#17772)
  • Bump regex from 1.10.6 to 1.11.0. (#17770)
  • Bump ruff from 0.6.7 to 0.6.8. (#17774)

v1.117.0rc1

08 Oct 14:45
v1.117.0rc1
Compare
Choose a tag to compare
v1.117.0rc1 Pre-release
Pre-release

Synapse 1.117.0rc1 (2024-10-08)

Features

  • Add config option redis.password_path. (#17717)

Bugfixes

  • Fix a rare bug introduced in v1.29.0 where invalidating a user's access token from a worker could raise an error. (#17779)
  • In the response to GET /_matrix/client/versions, set the unstable_features flag for MSC4140 to false when server configuration disables support for delayed events. (#17780)
  • Improve input validation and room membership checks in admin redaction API. (#17792)

Improved Documentation

  • Clarify the docstring of test_forget_when_not_left. (#17628)
  • Add documentation note about PYTHONMALLOC for accurate jemalloc memory tracking. Contributed by @hensg. (#17709)
  • Remove spurious "TODO UPDATE ALL THIS" note in the Debian installation docs. (#17749)
  • Explain how load balancing works for federation_sender_instances. (#17776)

Internal Changes

  • Minor performance increase for large accounts using sliding sync. (#17751)
  • Increase performance of the notifier when there are many syncing users. (#17765, #17766)
  • Fix performance of streams that don't change often. (#17767)
  • Improve performance of sliding sync connections that do not ask for any rooms. (#17768)
  • Reduce overhead of sliding sync E2EE loops. (#17771)
  • Sliding sync minor performance speed up using new table. (#17787)
  • Sliding sync minor performance improvement by omitting unchanged data from incremental responses. (#17788)
  • Speed up sliding sync when there are many active subscriptions. (#17789)
  • Add missing license headers on new source files. (#17799)

Updates to locked dependencies

  • Bump phonenumbers from 8.13.45 to 8.13.46. (#17773)
  • Bump python-multipart from 0.0.10 to 0.0.12. (#17772)
  • Bump regex from 1.10.6 to 1.11.0. (#17770)
  • Bump ruff from 0.6.7 to 0.6.8. (#17774)

v1.116.0

01 Oct 11:08
v1.116.0
Compare
Choose a tag to compare

Synapse 1.116.0 (2024-10-01)

No significant changes since 1.116.0rc2.

Synapse 1.116.0rc2 (2024-09-26)

Features

  • Add implementation of restricting who can overwrite a state event as proposed by MSC3757. (#17513)

Synapse 1.116.0rc1 (2024-09-25)

Features

Bugfixes

  • Make sure we get up-to-date state information when using the new MSC4186 Sliding Sync tables to derive room membership. (#17692)
  • Fix bug where room account data would not correctly be sent down MSC4186 Sliding Sync for old rooms. (#17695)
  • Fix a bug in MSC4186 Sliding Sync which could prevent /sync from working for certain user accounts. (#17727, #17733)
  • Ignore invites from ignored users in Sliding Sync. (#17729)
  • Fix bug in MSC4186 Sliding Sync where the server would incorrectly return a negative bump stamp, which caused Element X apps to stop syncing. (#17748)

Internal Changes

  • Import pydantic objects from the _pydantic_compat module.
    This allows check_pydantic_models.py to mock those pydantic objects
    only in the synapse module, and not interfere with pydantic objects in
    external dependencies. (#17667)
  • Use MSC4186 Sliding Sync tables as a bulk shortcut for getting the max event_stream_ordering of rooms. (#17693)
  • Speed up MSC4186 sliding sync requests a bit where there are many room changes. (#17696)
  • Refactor MSC4186 sliding sync filter unit tests so the sliding sync API has better test coverage. (#17703)
  • Fetch bump_stamps more efficiently in MSC4186 Sliding Sync. (#17723)
  • Shortcut for checking if certain background updates have completed (utilized in MSC4186 Sliding Sync). (#17724)
  • More efficiently fetch rooms for MSC4186 Sliding Sync. (#17725)
  • Fix _bulk_get_max_event_pos being inefficient. (#17728)
  • Add cache to get_tags_for_room(...). (#17730)
  • Small performance improvement in speeding up MSC4186 Sliding Sync. (#17731)
  • Minor speed up of initial MSC4186 sliding sync requests. (#17734)
  • Remove usage of the deprecated cgi module, deprecated in Python 3.11 and removed in Python 3.13. (#17741)
  • Fix typing of a variable that is not Unknown anymore after updating treq. (#17744)

Updates to locked dependencies

  • Bump anyhow from 1.0.86 to 1.0.89. (#17685, #17716)
  • Bump bytes from 1.7.1 to 1.7.2. (#17743)
  • Bump cryptography from 43.0.0 to 43.0.1. (#17689)
  • Bump idna from 3.8 to 3.10. (#17758)
  • Bump msgpack from 1.0.8 to 1.1.0. (#17759)
  • Bump phonenumbers from 8.13.44 to 8.13.45. (#17762)
  • Bump prometheus-client from 0.20.0 to 0.21.0. (#17746)
  • Bump pyasn1 from 0.6.0 to 0.6.1. (#17714)
  • Bump pyasn1-modules from 0.4.0 to 0.4.1. (#17747)
  • Bump pydantic from 2.8.2 to 2.9.2. (#17756)
  • Bump python-multipart from 0.0.9 to 0.0.10. (#17745)
  • Bump ruff from 0.6.4 to 0.6.7. (#17715, #17760)
  • Bump sentry-sdk from 2.13.0 to 2.14.0. (#17712)
  • Bump serde from 1.0.209 to 1.0.210. (#17686)
  • Bump serde_json from 1.0.127 to 1.0.128. (#17687)
  • Bump treq from 23.11.0 to 24.9.1. (#17744)
  • Bump types-pyyaml from 6.0.12.20240808 to 6.0.12.20240917. (#17755)
  • Bump types-requests from 2.32.0.20240712 to 2.32.0.20240914. (#17713)
  • Bump types-setuptools from 74.1.0.20240907 to 75.1.0.20240917. (#17757)

v1.116.0rc2

26 Sep 14:17
v1.116.0rc2
cfbddc2
Compare
Choose a tag to compare
v1.116.0rc2 Pre-release
Pre-release

Synapse 1.116.0rc2 (2024-09-26)

Features

  • Add implementation of restricting who can overwrite a state event as proposed by MSC3757. (#17513)

v1.116.0rc1

25 Sep 10:54
v1.116.0rc1
13dea69
Compare
Choose a tag to compare
v1.116.0rc1 Pre-release
Pre-release

Synapse 1.116.0rc1 (2024-09-25)

Features

Bugfixes

  • Make sure we get up-to-date state information when using the new MSC4186 Sliding Sync tables to derive room membership. (#17692)
  • Fix bug where room account data would not correctly be sent down MSC4186 Sliding Sync for old rooms. (#17695)
  • Fix a bug in MSC4186 Sliding Sync which could prevent /sync from working for certain user accounts. (#17727, #17733)
  • Ignore invites from ignored users in Sliding Sync. (#17729)
  • Fix bug in MSC4186 Sliding Sync where the server would incorrectly return a negative bump stamp, which caused Element X apps to stop syncing. (#17748)

Internal Changes

  • Import pydantic objects from the _pydantic_compat module.
    This allows check_pydantic_models.py to mock those pydantic objects
    only in the synapse module, and not interfere with pydantic objects in
    external dependencies. (#17667)
  • Use MSC4186 Sliding Sync tables as a bulk shortcut for getting the max event_stream_ordering of rooms. (#17693)
  • Speed up MSC4186 sliding sync requests a bit where there are many room changes. (#17696)
  • Refactor MSC4186 sliding sync filter unit tests so the sliding sync API has better test coverage. (#17703)
  • Fetch bump_stamps more efficiently in MSC4186 Sliding Sync. (#17723)
  • Shortcut for checking if certain background updates have completed (utilized in MSC4186 Sliding Sync). (#17724)
  • More efficiently fetch rooms for MSC4186 Sliding Sync. (#17725)
  • Fix _bulk_get_max_event_pos being inefficient. (#17728)
  • Add cache to get_tags_for_room(...). (#17730)
  • Small performance improvement in speeding up MSC4186 Sliding Sync. (#17731)
  • Minor speed up of initial MSC4186 sliding sync requests. (#17734)
  • Remove usage of the deprecated cgi module, deprecated in Python 3.11 and removed in Python 3.13. (#17741)
  • Fix typing of a variable that is not Unknown anymore after updating treq. (#17744)

Updates to locked dependencies

  • Bump anyhow from 1.0.86 to 1.0.89. (#17685, #17716)
  • Bump bytes from 1.7.1 to 1.7.2. (#17743)
  • Bump cryptography from 43.0.0 to 43.0.1. (#17689)
  • Bump idna from 3.8 to 3.10. (#17758)
  • Bump msgpack from 1.0.8 to 1.1.0. (#17759)
  • Bump phonenumbers from 8.13.44 to 8.13.45. (#17762)
  • Bump prometheus-client from 0.20.0 to 0.21.0. (#17746)
  • Bump pyasn1 from 0.6.0 to 0.6.1. (#17714)
  • Bump pyasn1-modules from 0.4.0 to 0.4.1. (#17747)
  • Bump pydantic from 2.8.2 to 2.9.2. (#17756)
  • Bump python-multipart from 0.0.9 to 0.0.10. (#17745)
  • Bump ruff from 0.6.4 to 0.6.7. (#17715, #17760)
  • Bump sentry-sdk from 2.13.0 to 2.14.0. (#17712)
  • Bump serde from 1.0.209 to 1.0.210. (#17686)
  • Bump serde_json from 1.0.127 to 1.0.128. (#17687)
  • Bump treq from 23.11.0 to 24.9.1. (#17744)
  • Bump types-pyyaml from 6.0.12.20240808 to 6.0.12.20240917. (#17755)
  • Bump types-requests from 2.32.0.20240712 to 2.32.0.20240914. (#17713)
  • Bump types-setuptools from 74.1.0.20240907 to 75.1.0.20240917. (#17757)