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

Releases: matrix-org/synapse

v1.76.0rc2

27 Jan 12:23
Compare
Choose a tag to compare
v1.76.0rc2 Pre-release
Pre-release

Synapse 1.76.0rc2 (2023-01-27)

The 1.76 release is the first to enable faster joins (MSC3706 and MSC3902) by default. Admins can opt-out: see the upgrade notes for more details.

The upgrade from 1.75 to 1.76 changes the account data replication streams in a backwards-incompatible manner. Server operators running a multi-worker deployment should consult the upgrade notes.

Those who are poetry installing from source using our lockfile should ensure their poetry version is 1.3.2 or higher; see upgrade notes.

Bugfixes

  • Faster joins: Fix a bug introduced in Synapse 1.69 where device list EDUs could fail to be handled after a restart when a faster join sync is in progress. (#14914)

Internal Changes

  • Faster joins: Improve performance of looking up partial-state status of rooms. (#14917)

v1.76.0rc1

25 Jan 17:27
Compare
Choose a tag to compare
v1.76.0rc1 Pre-release
Pre-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)

v1.75.0

17 Jan 12:32
Compare
Choose a tag to compare

Synapse 1.75.0 (2023-01-17)

No significant changes since 1.75.0rc2.

Synapse 1.75.0rc2 (2023-01-12)

Bugfixes

  • Fix a bug introduced in Synapse 1.75.0rc1 where device lists could be miscalculated with some sync filters. (#14810)
  • Fix race where calling /members or /state with an at parameter could fail for newly created rooms, when using multiple workers. (#14817)

Synapse 1.75.0rc1 (2023-01-10)

Features

  • Add a cached function to synapse.module_api that returns a decorator to cache return values of functions. (#14663)
  • Add experimental support for MSC3391 (removing account data). (#14714)
  • Support RFC7636 Proof Key for Code Exchange for OAuth single sign-on. (#14750)
  • Support non-OpenID compliant userinfo claims for subject and picture. (#14753)
  • Improve performance of /sync when filtering all rooms, message types, or senders. (#14786)
  • Improve performance of the /hierarchy endpoint. (#14263)

Bugfixes

  • Fix the MAU Limits section of the Grafana dashboard relying on a specific job name for the workers of a Synapse deployment. (#14644)
  • Fix a bug introduced in Synapse 1.70.0 which could cause spurious UNIQUE constraint failed errors in the rotate_notifs background job. (#14669)
  • Ensure stream IDs are always updated after caches get invalidated with workers. Contributed by Nick @ Beeper (@Fizzadar). (#14723)
  • Remove the unspecced device field from /pushrules responses. (#14727)
  • Fix a bug introduced in Synapse 1.73.0 where the picture_claim configured under oidc_providers was unused (the default value of "picture" was used instead). (#14751)
  • Unescape HTML entities in URL preview titles making use of oEmbed responses. (#14781)
  • Disable sending confirmation email when 3pid is disabled. (#14725)

Improved Documentation

  • Declare support for Python 3.11. (#14673)
  • Fix target_memory_usage being used in the description for the actual cache_autotune sub-option target_cache_memory_usage. (#14674)
  • Move email to Server section in config file documentation. (#14730)
  • Fix broken links in the Synapse documentation. (#14744)
  • Add missing worker settings to shared configuration documentation. (#14748)
  • Document using Twitter as a OAuth 2.0 authentication provider. (#14778)
  • Fix Synapse 1.74 upgrade notes to correctly explain how to install pyICU when installing Synapse from PyPI. (#14797)
  • Update link to towncrier in contribution guide. (#14801)
  • Use htmltest to check links in the Synapse documentation. (#14743)

Internal Changes

  • Faster remote room joins: stream the un-partial-stating of events over replication. (#14545, #14546)
  • Use ruff instead of flake8. (#14633, #14741)
  • Change handle_new_client_event signature so that a 429 does not reach clients on PartialStateConflictError, and internally retry when needed instead. (#14665)
  • Remove dependency on jQuery on reCAPTCHA page. (#14672)
  • Faster joins: make compute_state_after_events consistent with other state-fetching functions that take a StateFilter. (#14676)
  • Add missing type hints. (#14680, #14681, #14687)
  • Improve type annotations for the helper methods on a CachedFunction. (#14685)
  • Check that the SQLite database file exists before porting to PostgreSQL. (#14692)
  • Add .direnv/ directory to .gitignore to prevent local state generated by the direnv development tool from being committed. (#14707)
  • Batch up replication requests to request the resyncing of remote users's devices. (#14716)
  • If debug logging is enabled, log the msgids of any to-device messages that are returned over /sync. (#14724)
  • Change GHA CI job to follow best practices. (#14772)
  • Switch to our fork of dh-virtualenv to work around an upstream Python 3.11 incompatibility. (#14774)
  • Skip testing built wheels for PyPy 3.7 on Linux x86_64 as we lack new required dependencies in the build environment. (#14802)

Dependabot updates

  • Bump JasonEtco/create-an-issue from 2.8.1 to 2.8.2. (#14693)
  • Bump anyhow from 1.0.66 to 1.0.68. (#14694)
  • Bump blake2 from 0.10.5 to 0.10.6. (#14695)
  • Bump serde_json from 1.0.89 to 1.0.91. (#14696)
  • Bump serde from 1.0.150 to 1.0.151. (#14697)
  • Bump lxml from 4.9.1 to 4.9.2. (#14698)
  • Bump types-jsonschema from 4.17.0.1 to 4.17.0.2. (#14700)
  • Bump sentry-sdk from 1.11.1 to 1.12.0. (#14701)
  • Bump types-setuptools from 65.6.0.1 to 65.6.0.2. (#14702)
  • Bump minimum PyYAML to 3.13. (#14720)
  • Bump JasonEtco/create-an-issue from 2.8.2 to 2.9.1. (#14731)
  • Bump towncrier from 22.8.0 to 22.12.0. (#14732)
  • Bump isort from 5.10.1 to 5.11.4. (#14733)
  • Bump attrs from 22.1.0 to 22.2.0. (#14734)
  • Bump black from 22.10.0 to 22.12.0. (#14735)
  • Bump sentry-sdk from 1.12.0 to 1.12.1. (#14736)
  • Bump setuptools from 65.3.0 to 65.5.1. (#14738)
  • Bump serde from 1.0.151 to 1.0.152. (#14758)
  • Bump ruff from 0.0.189 to 0.0.206. (#14759)
  • Bump pydantic from 1.10.2 to 1.10.4. (#14760)
  • Bump gitpython from 3.1.29 to 3.1.30. (#14761)
  • Bump pillow from 9.3.0 to 9.4.0. (#14762)
  • Bump types-requests from 2.28.11.5 to 2.28.11.7. (#14763)
  • Bump dawidd6/action-download-artifact from 2.24.2 to 2.24.3. (#14779)
  • Bump peaceiris/actions-gh-pages from 3.9.0 to 3.9.1. (#14791)
  • Bump types-pillow from 9.3.0.4 to 9.4.0.0. (#14792)
  • Bump pyopenssl from 22.1.0 to 23.0.0. (#14793)
  • Bump types-setuptools from 65.6.0.2 to 65.6.0.3. (#14794)
  • Bump importlib-metadata from 4.2.0 to 6.0.0. (#14795)
  • Bump ruff from 0.0.206 to 0.0.215. (#14796)

v1.75.0rc2

12 Jan 18:35
v1.75.0rc2
Compare
Choose a tag to compare
v1.75.0rc2 Pre-release
Pre-release

Synapse 1.75.0rc2 (2023-01-12)

Bugfixes

  • Fix a bug introduced in Synapse 1.75.0rc1 where device lists could be miscalculated with some sync filters. (#14810)
  • Fix race where calling /members or /state with an at parameter could fail for newly created rooms, when using multiple workers. (#14817)

v1.75.0rc1

10 Jan 15:07
Compare
Choose a tag to compare
v1.75.0rc1 Pre-release
Pre-release

Synapse 1.75.0rc1 (2023-01-10)

Features

  • Add a cached function to synapse.module_api that returns a decorator to cache return values of functions. (#14663)
  • Add experimental support for MSC3391 (removing account data). (#14714)
  • Support RFC7636 Proof Key for Code Exchange for OAuth single sign-on. (#14750)
  • Support non-OpenID compliant userinfo claims for subject and picture. (#14753)
  • Improve performance of /sync when filtering all rooms, message types, or senders. (#14786)
  • Improve performance of the /hierarchy endpoint. (#14263)

Bugfixes

  • Fix the MAU Limits section of the Grafana dashboard relying on a specific job name for the workers of a Synapse deployment. (#14644)
  • Fix a bug introduced in Synapse 1.70.0 which could cause spurious UNIQUE constraint failed errors in the rotate_notifs background job. (#14669)
  • Ensure stream IDs are always updated after caches get invalidated with workers. Contributed by Nick @ Beeper (@Fizzadar). (#14723)
  • Remove the unspecced device field from /pushrules responses. (#14727)
  • Fix a bug introduced in Synapse 1.73.0 where the picture_claim configured under oidc_providers was unused (the default value of "picture" was used instead). (#14751)
  • Unescape HTML entities in URL preview titles making use of oEmbed responses. (#14781)
  • Disable sending confirmation email when 3pid is disabled. (#14725)

Improved Documentation

  • Declare support for Python 3.11. (#14673)
  • Fix target_memory_usage being used in the description for the actual cache_autotune sub-option target_cache_memory_usage. (#14674)
  • Move email to Server section in config file documentation. (#14730)
  • Fix broken links in the Synapse documentation. (#14744)
  • Add missing worker settings to shared configuration documentation. (#14748)
  • Document using Twitter as a OAuth 2.0 authentication provider. (#14778)
  • Fix Synapse 1.74 upgrade notes to correctly explain how to install pyICU when installing Synapse from PyPI. (#14797)
  • Update link to towncrier in contribution guide. (#14801)
  • Use htmltest to check links in the Synapse documentation. (#14743)

Internal Changes

  • Faster remote room joins: stream the un-partial-stating of events over replication. (#14545, #14546)
  • Use ruff instead of flake8. (#14633, #14741)
  • Change handle_new_client_event signature so that a 429 does not reach clients on PartialStateConflictError, and internally retry when needed instead. (#14665)
  • Remove dependency on jQuery on reCAPTCHA page. (#14672)
  • Faster joins: make compute_state_after_events consistent with other state-fetching functions that take a StateFilter. (#14676)
  • Add missing type hints. (#14680, #14681, #14687)
  • Improve type annotations for the helper methods on a CachedFunction. (#14685)
  • Check that the SQLite database file exists before porting to PostgreSQL. (#14692)
  • Add .direnv/ directory to .gitignore to prevent local state generated by the direnv development tool from being committed. (#14707)
  • Batch up replication requests to request the resyncing of remote users's devices. (#14716)
  • If debug logging is enabled, log the msgids of any to-device messages that are returned over /sync. (#14724)
  • Change GHA CI job to follow best practices. (#14772)
  • Switch to our fork of dh-virtualenv to work around an upstream Python 3.11 incompatibility. (#14774)
  • Skip testing built wheels for PyPy 3.7 on Linux x86_64 as we lack new required dependencies in the build environment. (#14802)

Dependabot updates

  • Bump JasonEtco/create-an-issue from 2.8.1 to 2.8.2. (#14693)
  • Bump anyhow from 1.0.66 to 1.0.68. (#14694)
  • Bump blake2 from 0.10.5 to 0.10.6. (#14695)
  • Bump serde_json from 1.0.89 to 1.0.91. (#14696)
  • Bump serde from 1.0.150 to 1.0.151. (#14697)
  • Bump lxml from 4.9.1 to 4.9.2. (#14698)
  • Bump types-jsonschema from 4.17.0.1 to 4.17.0.2. (#14700)
  • Bump sentry-sdk from 1.11.1 to 1.12.0. (#14701)
  • Bump types-setuptools from 65.6.0.1 to 65.6.0.2. (#14702)
  • Bump minimum PyYAML to 3.13. (#14720)
  • Bump JasonEtco/create-an-issue from 2.8.2 to 2.9.1. (#14731)
  • Bump towncrier from 22.8.0 to 22.12.0. (#14732)
  • Bump isort from 5.10.1 to 5.11.4. (#14733)
  • Bump attrs from 22.1.0 to 22.2.0. (#14734)
  • Bump black from 22.10.0 to 22.12.0. (#14735)
  • Bump sentry-sdk from 1.12.0 to 1.12.1. (#14736)
  • Bump setuptools from 65.3.0 to 65.5.1. (#14738)
  • Bump serde from 1.0.151 to 1.0.152. (#14758)
  • Bump ruff from 0.0.189 to 0.0.206. (#14759)
  • Bump pydantic from 1.10.2 to 1.10.4. (#14760)
  • Bump gitpython from 3.1.29 to 3.1.30. (#14761)
  • Bump pillow from 9.3.0 to 9.4.0. (#14762)
  • Bump types-requests from 2.28.11.5 to 2.28.11.7. (#14763)
  • Bump dawidd6/action-download-artifact from 2.24.2 to 2.24.3. (#14779)
  • Bump peaceiris/actions-gh-pages from 3.9.0 to 3.9.1. (#14791)
  • Bump types-pillow from 9.3.0.4 to 9.4.0.0. (#14792)
  • Bump pyopenssl from 22.1.0 to 23.0.0. (#14793)
  • Bump types-setuptools from 65.6.0.2 to 65.6.0.3. (#14794)
  • Bump importlib-metadata from 4.2.0 to 6.0.0. (#14795)
  • Bump ruff from 0.0.206 to 0.0.215. (#14796)

v1.74.0

20 Dec 17:24
Compare
Choose a tag to compare

Synapse 1.74.0 (2022-12-20)

Improved Documentation

  • Add release note and update documentation regarding optional ICU support in user search. (#14712)

Synapse 1.74.0rc1 (2022-12-13)

Features

  • Improve user search for international display names. (#14464)
  • Stop using deprecated keyIds parameter when calling /_matrix/key/v2/server. (#14490, #14525)
  • Add new push.enabled config option to allow opting out of push notification calculation. (#14551, #14619)
  • Advertise support for Matrix 1.5 on /_matrix/client/versions. (#14576)
  • Improve opentracing and logging for to-device message handling. (#14598)
  • Allow selecting "prejoin" events by state keys in addition to event types. (#14642)

Bugfixes

  • Fix a long-standing bug where a device list update might not be sent to clients in certain circumstances. (#14435, #14592, #14604)
  • Suppress a spurious warning when POST /rooms/<room_id>/<membership>/, POST /join/<room_id_or_alias, or the unspecced PUT /join/<room_id_or_alias>/<txn_id> receive an empty HTTP request body. (#14600)
  • Return spec-compliant JSON errors when unknown endpoints are requested. (#14620, #14621)
  • Update html templates to load images over HTTPS. Contributed by @ashfame. (#14625)
  • Fix a long-standing bug where the user directory would return 1 more row than requested. (#14631)
  • Reject invalid read receipt requests with empty room or event IDs. Contributed by Nick @ Beeper (@Fizzadar). (#14632)
  • Fix a bug introduced in Synapse 1.67.0 where not specifying a config file or a server URL would lead to the register_new_matrix_user script failing. (#14637)
  • Fix a long-standing bug where the user directory and room/user stats might be out of sync. (#14639, #14643)
  • Fix a bug introduced in Synapse 1.72.0 where the background updates to add non-thread unique indexes on receipts would fail if they were previously interrupted. (#14650)
  • Improve validation of field size limits in events. (#14664)
  • Fix bugs introduced in Synapse 1.55.0 and 1.69.0 where application services would not be notified of events in the correct rooms, due to stale caches. (#14670)

Improved Documentation

  • Update worker settings for pusher and federation_sender functionality. (#14493)
  • Add links to third party package repositories, and point to the bug which highlights Ubuntu's out-of-date packages. (#14517)
  • Remove old, incorrect minimum postgres version note and replace with a link to the Dependency Deprecation Policy. (#14590)
  • Add Single-Sign On setup instructions for Mastodon-based instances. (#14594)
  • Change turn_allow_guests example value to lowercase true. (#14634)

Internal Changes

  • Optimise push badge count calculations. Contributed by Nick @ Beeper (@Fizzadar). (#14255)
  • Faster remote room joins: stream the un-partial-stating of rooms over replication. (#14473, #14474)
  • Share the ClientRestResource for both workers and the main process. (#14528)
  • Add --editable flag to complement.sh which uses an editable install of Synapse for faster turn-around times whilst developing iteratively. (#14548)
  • Faster joins: use servers list approximation to send read receipts when in partial state instead of waiting for the full state of the room. (#14549)
  • Modernize unit tests configuration related to workers. (#14568)
  • Bump jsonschema from 4.17.0 to 4.17.3. (#14591)
  • Fix Rust lint CI. (#14602)
  • Bump JasonEtco/create-an-issue from 2.5.0 to 2.8.1. (#14607)
  • Alter some unit test environment parameters to decrease time spent running tests. (#14610)
  • Switch to Go recommended installation method for gotestfmt template in CI. (#14611)
  • Bump phonenumbers from 8.13.0 to 8.13.1. (#14612)
  • Bump types-setuptools from 65.5.0.3 to 65.6.0.1. (#14613)
  • Bump twine from 4.0.1 to 4.0.2. (#14614)
  • Bump types-requests from 2.28.11.2 to 2.28.11.5. (#14615)
  • Bump cryptography from 38.0.3 to 38.0.4. (#14616)
  • Remove useless cargo install with apt from Dockerfile. (#14636)
  • Bump certifi from 2021.10.8 to 2022.12.7. (#14645)
  • Bump flake8-bugbear from 22.10.27 to 22.12.6. (#14656)
  • Bump packaging from 21.3 to 22.0. (#14657)
  • Bump types-pillow from 9.3.0.1 to 9.3.0.4. (#14658)
  • Bump serde from 1.0.148 to 1.0.150. (#14659)
  • Bump phonenumbers from 8.13.1 to 8.13.2. (#14660)
  • Bump authlib from 1.1.0 to 1.2.0. (#14661)
  • Move StateFilter to synapse.types. (#14668)
  • Improve type hints. (#14597, #14646, #14671)

v1.74.0rc1

13 Dec 17:02
Compare
Choose a tag to compare
v1.74.0rc1 Pre-release
Pre-release

Synapse 1.74.0rc1 (2022-12-13)

Features

  • Improve user search for international display names. (#14464)
  • Stop using deprecated keyIds parameter when calling /_matrix/key/v2/server. (#14490, #14525)
  • Add new push.enabled config option to allow opting out of push notification calculation. (#14551, #14619)
  • Advertise support for Matrix 1.5 on /_matrix/client/versions. (#14576)
  • Improve opentracing and logging for to-device message handling. (#14598)
  • Allow selecting "prejoin" events by state keys in addition to event types. (#14642)

Bugfixes

  • Fix a long-standing bug where a device list update might not be sent to clients in certain circumstances. (#14435, #14592, #14604)
  • Suppress a spurious warning when POST /rooms/<room_id>/<membership>/, POST /join/<room_id_or_alias, or the unspecced PUT /join/<room_id_or_alias>/<txn_id> receive an empty HTTP request body. (#14600)
  • Return spec-compliant JSON errors when unknown endpoints are requested. (#14620, #14621)
  • Update html templates to load images over HTTPS. Contributed by @ashfame. (#14625)
  • Fix a long-standing bug where the user directory would return 1 more row than requested. (#14631)
  • Reject invalid read receipt requests with empty room or event IDs. Contributed by Nick @ Beeper (@Fizzadar). (#14632)
  • Fix a bug introduced in Synapse 1.67.0 where not specifying a config file or a server URL would lead to the register_new_matrix_user script failing. (#14637)
  • Fix a long-standing bug where the user directory and room/user stats might be out of sync. (#14639, #14643)
  • Fix a bug introduced in Synapse 1.72.0 where the background updates to add non-thread unique indexes on receipts would fail if they were previously interrupted. (#14650)
  • Improve validation of field size limits in events. (#14664)
  • Fix bugs introduced in Synapse 1.55.0 and 1.69.0 where application services would not be notified of events in the correct rooms, due to stale caches. (#14670)

Improved Documentation

  • Update worker settings for pusher and federation_sender functionality. (#14493)
  • Add links to third party package repositories, and point to the bug which highlights Ubuntu's out-of-date packages. (#14517)
  • Remove old, incorrect minimum postgres version note and replace with a link to the Dependency Deprecation Policy. (#14590)
  • Add Single-Sign On setup instructions for Mastodon-based instances. (#14594)
  • Change turn_allow_guests example value to lowercase true. (#14634)

Internal Changes

  • Optimise push badge count calculations. Contributed by Nick @ Beeper (@Fizzadar). (#14255)
  • Faster remote room joins: stream the un-partial-stating of rooms over replication. (#14473, #14474)
  • Share the ClientRestResource for both workers and the main process. (#14528)
  • Add --editable flag to complement.sh which uses an editable install of Synapse for faster turn-around times whilst developing iteratively. (#14548)
  • Faster joins: use servers list approximation to send read receipts when in partial state instead of waiting for the full state of the room. (#14549)
  • Modernize unit tests configuration related to workers. (#14568)
  • Bump jsonschema from 4.17.0 to 4.17.3. (#14591)
  • Fix Rust lint CI. (#14602)
  • Bump JasonEtco/create-an-issue from 2.5.0 to 2.8.1. (#14607)
  • Alter some unit test environment parameters to decrease time spent running tests. (#14610)
  • Switch to Go recommended installation method for gotestfmt template in CI. (#14611)
  • Bump phonenumbers from 8.13.0 to 8.13.1. (#14612)
  • Bump types-setuptools from 65.5.0.3 to 65.6.0.1. (#14613)
  • Bump twine from 4.0.1 to 4.0.2. (#14614)
  • Bump types-requests from 2.28.11.2 to 2.28.11.5. (#14615)
  • Bump cryptography from 38.0.3 to 38.0.4. (#14616)
  • Remove useless cargo install with apt from Dockerfile. (#14636)
  • Bump certifi from 2021.10.8 to 2022.12.7. (#14645)
  • Bump flake8-bugbear from 22.10.27 to 22.12.6. (#14656)
  • Bump packaging from 21.3 to 22.0. (#14657)
  • Bump types-pillow from 9.3.0.1 to 9.3.0.4. (#14658)
  • Bump serde from 1.0.148 to 1.0.150. (#14659)
  • Bump phonenumbers from 8.13.1 to 8.13.2. (#14660)
  • Bump authlib from 1.1.0 to 1.2.0. (#14661)
  • Move StateFilter to synapse.types. (#14668)
  • Improve type hints. (#14597, #14646, #14671)

v1.73.0

06 Dec 13:04
Compare
Choose a tag to compare

Synapse 1.73.0 (2022-12-06)

Please note that legacy Prometheus metric names have been removed in this release; see the upgrade notes for more details.

No significant changes since 1.73.0rc2.

Synapse 1.73.0rc2 (2022-12-01)

Bugfixes

  • Fix a regression in Synapse 1.73.0rc1 where Synapse's main process would stop responding to HTTP requests when a user with a large number of devices logs in. (#14582)

Synapse 1.73.0rc1 (2022-11-29)

Features

  • Speed-up /messages with filter_events_for_client optimizations. (#14527)
  • Improve DB performance by reducing amount of data that gets read in device_lists_changes_in_room. (#14534)
  • Adds support for handling avatar in SSO OIDC login. Contributed by @ashfame. (#13917)
  • Move MSC3030 /timestamp_to_event endpoints to stable v1 location (/_matrix/client/v1/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>, /_matrix/federation/v1/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>). (#14471)
  • Reduce database load of Client-Server endpoints which return bundled aggregations. (#14491, #14508, #14510)
  • Add unstable support for an Extensible Events room version (org.matrix.msc1767.10) via MSC1767, MSC3931, MSC3932, and MSC3933. (#14520, #14521, #14524)
  • Prune user's old devices on login if they have too many. (#14038, #14580)

Bugfixes

  • Fix a long-standing bug where paginating from the start of a room did not work. Contributed by @gnunicorn. (#14149)
  • Fix a bug introduced in Synapse 1.58.0 where a user with presence state org.matrix.msc3026.busy would mistakenly be set to online when calling /sync or /events on a worker process. (#14393)
  • Fix a bug introduced in Synapse 1.70.0 where a receipt's thread ID was not sent over federation. (#14466)
  • Fix a long-standing bug where the List media admin API would fail when processing an image with broken thumbnail information. (#14537)
  • Fix a bug introduced in Synapse 1.67.0 where two logging context warnings would be logged on startup. (#14574)
  • In application service transactions that include the experimental org.matrix.msc3202.device_one_time_key_counts key, include a duplicate key of org.matrix.msc3202.device_one_time_keys_count to match the name proposed by MSC3202. (#14565)
  • Fix a bug introduced in Synapse 0.9 where Synapse would fail to fetch server keys whose IDs contain a forward slash. (#14490)

Improved Documentation

  • Fixed link to 'Synapse administration endpoints'. (#14499)

Deprecations and Removals

  • Remove legacy Prometheus metrics names. They were deprecated in Synapse v1.69.0 and disabled by default in Synapse v1.71.0. (#14538)

Internal Changes

  • Improve type hinting throughout Synapse. (#14055, #14412, #14529, #14452).
  • Remove old stream ID tracking code. Contributed by Nick @beeper (@Fizzadar). (#14376, #14468)
  • Remove the worker_main_http_uri configuration setting. This is now handled via internal replication. (#14400, #14476)
  • Refactor federation_sender and pusher configuration loading. (#14496)
    (#14509, #14573)
  • Faster joins: do not wait for full state when creating events to send. (#14403)
  • Faster joins: filter out non local events when a room doesn't have its full state. (#14404)
  • Faster joins: send events to initial list of servers if we don't have the full state yet. (#14408)
  • Faster joins: use servers list approximation received during send_join (potentially updated with received membership events) in assert_host_in_room. (#14515)
  • Fix type logic in TCP replication code that prevented correctly ignoring blank commands. (#14449)
  • Remove option to skip locking of tables when performing emulated upserts, to avoid a class of bugs in future. (#14469)
  • scripts-dev/federation_client: Fix routing on servers with .well-known files. (#14479)
  • Reduce default third party invite rate limit to 216 invites per day. (#14487)
  • Refactor conversion of device list changes in room to outbound pokes to track unconverted rows using a (stream ID, room ID) position instead of updating the converted_to_destinations flag on every row. (#14516)
  • Add more prompts to the bug report form. (#14522)
  • Extend editorconfig rules on indent and line length to .pyi files. (#14526)
  • Run Rust CI when Cargo.lock changes. This is particularly useful for dependabot updates. (#14571)
  • Fix a possible variable shadow in create_new_client_event. (#14575)
  • Bump various dependencies in the poetry.lock file and in CI scripts. (#14557, #14559, #14560, #14500, #14501, #14502, #14503, #14504, #14505).

v1.73.0rc2

01 Dec 13:39
Compare
Choose a tag to compare
v1.73.0rc2 Pre-release
Pre-release

Synapse 1.73.0rc2 (2022-12-01)

Please note that legacy Prometheus metric names have been removed in this release; see the upgrade notes for more details.

Bugfixes

  • Fix a regression in Synapse 1.73.0rc1 where Synapse's main process would stop responding to HTTP requests when a user with a large number of devices logs in. (#14582)

v1.73.0rc1

01 Dec 13:48
Compare
Choose a tag to compare
v1.73.0rc1 Pre-release
Pre-release

Synapse 1.73.0rc1 (2022-11-29)

NB: This release was found to have a major performance regression. We have not published Debian packages to packages.matrix.org, not wheels to PyPI for this release; see version 1.73.0rc2 instead.

Please note that legacy Prometheus metric names have been removed in this release; see the upgrade notes for more details.

Features

  • Speed-up /messages with filter_events_for_client optimizations. (#14527)
  • Improve DB performance by reducing amount of data that gets read in device_lists_changes_in_room. (#14534)
  • Adds support for handling avatar in SSO login. Contributed by @ashfame. (#13917)
  • Move MSC3030 /timestamp_to_event endpoints to stable v1 location (/_matrix/client/v1/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>, /_matrix/federation/v1/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>). (#14471)
  • Reduce database load of Client-Server endpoints which return bundled aggregations. (#14491, #14508, #14510)
  • Add unstable support for an Extensible Events room version (org.matrix.msc1767.10) via MSC1767, MSC3931, MSC3932, and MSC3933. (#14520, #14521, #14524)
  • Prune user's old devices on login if they have too many. (#14038, #14580)

Bugfixes

  • Fix a long-standing bug where paginating from the start of a room did not work. Contributed by @gnunicorn. (#14149)
  • Fix a bug introduced in Synapse 1.58.0 where a user with presence state org.matrix.msc3026.busy would mistakenly be set to online when calling /sync or /events on a worker process. (#14393)
  • Fix a bug introduced in Synapse 1.70.0 where a receipt's thread ID was not sent over federation. (#14466)
  • Fix a long-standing bug where the List media admin API would fail when processing an image with broken thumbnail information. (#14537)
  • Fix a bug introduced in Synapse 1.67.0 where two logging context warnings would be logged on startup. (#14574)
  • In application service transactions that include the experimental org.matrix.msc3202.device_one_time_key_counts key, include a duplicate key of org.matrix.msc3202.device_one_time_keys_count to match the name proposed by MSC3202. (#14565)
  • Fix a bug introduced in Synapse 0.9 where Synapse would fail to fetch server keys whose IDs contain a forward slash. (#14490)

Improved Documentation

  • Fixed link to 'Synapse administration endpoints'. (#14499)

Deprecations and Removals

  • Remove legacy Prometheus metrics names. They were deprecated in Synapse v1.69.0 and disabled by default in Synapse v1.71.0. (#14538)

Internal Changes

  • Improve type hinting throughout Synapse. (#14055, #14412, #14529, #14452).
  • Remove old stream ID tracking code. Contributed by Nick @beeper (@Fizzadar). (#14376, #14468)
  • Remove the worker_main_http_uri configuration setting. This is now handled via internal replication. (#14400, #14476)
  • Refactor federation_sender and pusher configuration loading. (#14496)
    (#14509, #14573)
  • Faster joins: do not wait for full state when creating events to send. (#14403)
  • Faster joins: filter out non local events when a room doesn't have its full state. (#14404)
  • Faster joins: send events to initial list of servers if we don't have the full state yet. (#14408)
  • Faster joins: use servers list approximation received during send_join (potentially updated with received membership events) in assert_host_in_room. (#14515)
  • Fix type logic in TCP replication code that prevented correctly ignoring blank commands. (#14449)
  • Remove option to skip locking of tables when performing emulated upserts, to avoid a class of bugs in future. (#14469)
  • scripts-dev/federation_client: Fix routing on servers with .well-known files. (#14479)
  • Reduce default third party invite rate limit to 216 invites per day. (#14487)
  • Refactor conversion of device list changes in room to outbound pokes to track unconverted rows using a (stream ID, room ID) position instead of updating the converted_to_destinations flag on every row. (#14516)
  • Add more prompts to the bug report form. (#14522)
  • Extend editorconfig rules on indent and line length to .pyi files. (#14526)
  • Run Rust CI when Cargo.lock changes. This is particularly useful for dependabot updates. (#14571)
  • Fix a possible variable shadow in create_new_client_event. (#14575)
  • Bump various dependencies in the poetry.lock file and in CI scripts. (#14557, #14559, #14560, #14500, #14501, #14502, #14503, #14504, #14505).