Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

v1.76.0rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@DMRobertson DMRobertson released this 25 Jan 17:27
· 1351 commits to develop since this release

Synapse 1.76.0rc1 (2023-01-25)

Features

  • Update the default room version to v10 (MSC 3904). Contributed by @FSG-Cat. (#14111)
  • Adds a set_displayname() method to the module API for setting a user's display name. (#14629)
  • Add a dedicated listener configuration for health endpoint. (#14747)
  • Implement support for MSC3890: Remotely silence local notifications. (#14775)
  • Implement experimental support for MSC3930: Push rules for (MSC3381) Polls. (#14787)
  • Per MSC3925, bundle the whole of the replacement with any edited events, and optionally inhibit server-side replacement. (#14811)
  • Faster joins: always serve a partial join response to servers that request it with the stable query param. (#14839)
  • Faster joins: allow non-lazy-loading ("eager") syncs to complete after a partial join by omitting partial state rooms until they become fully stated. (#14870)
  • Faster joins: request partial joins by default. Admins can opt-out of this for the time being---see the upgrade notes. (#14905)

Bugfixes

  • Add index to improve performance of the /timestamp_to_event endpoint used for jumping to a specific date in the timeline of a room. (#14799)
  • Fix a long-standing bug where Synapse would exhaust the stack when processing many federation requests where the remote homeserver has disconencted early. (#14812, #14842)
  • Fix rare races when using workers. (#14820)
  • Fix a bug introduced in Synapse 1.64.0 when using room version 10 with frozen events enabled. (#14864)
  • Fix a long-standing bug where the populate_room_stats background job could fail on broken rooms. (#14873)
  • Faster joins: Fix a bug in worker deployments where the room stats and user directory would not get updated when finishing a fast join until another event is sent or received. (#14874)
  • Faster joins: Fix incompatibility with joins into restricted rooms where no local users have the ability to invite. (#14882)
  • Fix a regression introduced in Synapse 1.69.0 which can result in database corruption when database migrations are interrupted on sqlite. (#14910)

Updates to the Docker image

  • Bump default Python version in the Dockerfile from 3.9 to 3.11. (#14875)

Improved Documentation

  • Include x_forwarded entry in the HTTP listener example configs and remove the remaining worker_main_http_uri entries. (#14667)
  • Remove duplicate commands from the Code Style documentation page; point to the Contributing Guide instead. (#14773)
  • Add missing documentation for tag to listeners section. (#14803)
  • Updated documentation in configuration manual for user_directory.search_all_users. (#14818)
  • Add worker_manhole to configuration manual. (#14824)
  • Fix the example config missing the id field in application service documentation. (#14845)
  • Minor corrections to the logging configuration documentation. (#14868)
  • Document the export user data command. Contributed by @thezaidbintariq. (#14883)

Deprecations and Removals

  • Poetry 1.3.2 or higher is now required when poetry installing from source. (#14860)

Internal Changes

  • Faster remote room joins (worker mode): do not populate external hosts-in-room cache when sending events as this requires blocking for full state. (#14749)
  • Enable Complement tests for Faster Remote Room Joins against worker-mode Synapse. (#14752)
  • Add some clarifying comments and refactor a portion of the Keyring class for readability. (#14804)
  • Add local poetry config files (poetry.toml) to .gitignore. (#14807)
  • Add missing type hints. (#14816, #14885, #14889)
  • Refactor push tests. (#14819)
  • Re-enable some linting that was disabled when we switched to ruff. (#14821)
  • Add cargo fmt and cargo clippy to the lint script. (#14822)
  • Drop unused table presence. (#14825)
  • Merge the two account data and the two device list replication streams. (#14826, #14833)
  • Faster joins: use stable identifiers from MSC3706. (#14832, #14841)
  • Add a parameter to control whether the federation client performs a partial state join. (#14843)
  • Add check to avoid starting duplicate partial state syncs. (#14844)
  • Bump regex from 1.7.0 to 1.7.1. (#14848)
  • Add an early return when handling no-op presence updates. (#14855)
  • Fix wait_for_stream_position to correctly wait for the right instance to advance its token. (#14856, #14872)
  • Bump peaceiris/actions-gh-pages from 3.9.1 to 3.9.2. (#14861)
  • Bump ruff from 0.0.215 to 0.0.224. (#14862)
  • Bump types-pillow from 9.4.0.0 to 9.4.0.3. (#14863)
  • Always notify replication when a stream advances automatically. (#14877)
  • Reduce max time we wait for stream positions. (#14881)
  • Bump types-opentracing from 2.4.10 to 2.4.10.1. (#14896)
  • Bump ruff from 0.0.224 to 0.0.230. (#14897)
  • Bump types-requests from 2.28.11.7 to 2.28.11.8. (#14899)
  • Bump types-psycopg2 from 2.9.21.2 to 2.9.21.4. (#14900)
  • Bump types-commonmark from 0.9.2 to 0.9.2.1. (#14901)
  • Faster joins: allow the resync process more time to fetch /state ids. (#14912)