github element-hq/synapse v1.156.0rc1

pre-release4 hours ago

Synapse 1.156.0rc1 (2026-06-30)

Features

Bugfixes

  • Provide remote servers a way to find out about an event created during the remote join handshake. Contributed by @FrenchGithubUser and @jason-famedly @ Famedly. (#19390, #19855, #19856)
  • Advertise org.matrix.msc4143 in unstable_features when msc4143_enabled is set. (#19646)
  • Fix a long-standing bug where the badge notification count for a room could become permanently inflated if a read receipt was sent before the room's notification counts were first summarised. (#19785)
  • Fix startup listener logging to report the actual bound TCP port, so listeners configured with port 0 no longer log Synapse now listening on TCP port 0. (#19810)
  • Fix notification counts being inflated after a /purge_history when notifications had already been rotated into the summary table. (#19834)
  • Fix /sync caching transient errors for the sync_response_cache_duration. (#19845)
  • Fix local events being deleted by the Purge History admin API despite delete_local_events being set to false, in room versions other than 1 and 2. (#19850)
  • Fix a bug where a user's dehydrated device (MSC3814) was deleted when their device list was synced from Matrix Authentication Service (e.g. upon logging out their last device), breaking offline key delivery. (#19892)

Improved Documentation

  • Update auto_join_rooms config documentation to cover requirements for auto-joining invite-only rooms. (#19660)
  • Add stable endpoint for MSC3266: Room summary API into worker docs. Contributed by @olmari. (#19788)
  • Tweak wording of Rust crate dependency update policy. (#19829)
  • Fixed the Admin API user endpoint documentation examples to use JSON booleans (true/false) instead of numeric (0/1) values. (#19847)

Internal Changes

  • Make simple_select_one_onecol_txn() more helpful by naming the table of the select - as all other query wrapper functions already did. (#19869)
  • Refactor get_user_which_could_invite logic to reuse get_users_which_can_issue_invite. Contributed by Noah Markert. (#19732)
  • Fix a flaky test (twisted.protocols.amp.TooLong error under trial -jN) caused by an oversized debug log line. (#19832)
  • Upload Complement test logs as CI artifacts instead of printing the raw output to the build log. (#19840)
  • Fix release script considering any workflow completion as successful. (#19843)
  • Force keyword-args for clear default_config(server_name="test") usage in test utilities. (#19849)
  • Add .ruff_cache/ directory to .gitignore. (#19854)
  • Bump poetry in CI from 2.2.1 to 2.4.1. (#19866, #19877)
  • Split out deferred and tokio_runtime to their own Rust modules. (#19868)
  • Prevent the cargo-test and cargo-bench CI jobs from being skipped, even on PRs that have Rust changes. (#19883)

Don't miss a new synapse release

NewReleases is sending notifications on new releases.