Back to Freedom.Tech Back
All Matrix Synapse releasesAll versions
Release Wed, Jul 15, 2026 3 min read

Matrix Synapse 1.157

Original release notes

Synapse 1.157.0rc1 (2026-07-14)

Please check the relevant section in the upgrade notes as this release removes support for the deprecated MSC3861 Auth Delegation (experimental_features.msc3861).

Features

Bugfixes

  • MSC4140: Cancellable delayed events: Update error responses to match their format in the current draft of the MSC. (\#19539)
  • Lock Sliding Sync connections when inserting lazy members, to prevent repeated deadlocks. (\#19826)
  • Fix the flag_existing_quarantined_media background update skipping some quarantined remote media. Introduced in v1.152.0. (\#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)

  • 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)
  • Fix a bug causing device list pruning to skip some rows when the transaction gets retried. (\#19947)
  • Fix presence states being shown to clients forever after presence is disabled, by marking any previously only users as offline. (\#19948)
  • Fix SYNAPSE_ASYNC_IO_REACTOR=1 on Python 3.14. (\#19949)

Deprecations and Removals

  • Remove support for experimental MSC3861 auth delegation, in favour of the stable Matrix Authentication Service integration support. See the upgrade notes. (\#19895)

Internal Changes

  • Port the synchronous core of client event serialization to Rust. (\#19837, \#19922)
  • Update HomeserverTestCase.get_success(...) and friends to drive async Rust (Tokio runtime/thread pool). (\#19871, \#19879)
  • Allow Rust code to have database access via Python database connection pool. (\#19878)
  • Add golangci-lint to CI. (\#19888)
  • Remove wall-clock dependency of test_redact_messages_all_rooms test, as this caused flakiness. (\#19890)
  • Change the MSC3814 dehydrated device /events endpoint from POST to GET. (\#19896)
  • Change the MSC3814 dehydrated device /events endpoint paging to match spec conventions. (\#19897)
  • Fix storage type mismatches where values were bound with a type that didn't match their database column. (\#19911)
  • Speed up deletion of old sliding sync connections by adding an index. (\#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)
  • Add an index to sliding_sync_connection_lazy_members to speed up deleting old sliding sync connection positions. (\#19923)
  • Fix test_lock_contention being flaky when running against PostgreSQL by budgeting CPU time rather than wall-clock time. (\#19929)
  • Fix Complement test flake when restarting Synapse workers (cross-test pollution caused by nginx upstreams being temporarily unavailable). (\#19936)
  • Add clean deploy FIXME note for TestOIDCProviderUnavailable (problem tracked by #19937). (\#19938)
  • Minor presence performance improvements for large servers. (\#19939)
  • Reduce replication traffic caused by presence. (\#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)