Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

v1.41.0

Compare
Choose a tag to compare
@erikjohnston erikjohnston released this 24 Aug 16:04
· 4226 commits to develop since this release

Synapse 1.41.0 (2021-08-24)

This release adds support for Debian 12 (Bookworm), but removes support for Ubuntu 20.10 (Groovy Gorilla), which reached End of Life last month.

Note that when using workers the /_synapse/admin/v1/users/{userId}/media must now be handled by media workers. See the upgrade notes for more information.

Features

  • Enable room capabilities (MSC3244) by default and set room version 8 as the preferred room version when creating restricted rooms. (#10571)

Synapse 1.41.0rc1 (2021-08-18)

Features

  • Add get_userinfo_by_id method to ModuleApi. (#9581)
  • Initial local support for MSC3266, Room Summary over the unstable /rooms/{roomIdOrAlias}/summary API. (#10394)
  • Experimental support for MSC3288, sending room_type to the identity server for 3pid invites over the /store-invite API. (#10435)
  • Add support for sending federation requests through a proxy. Contributed by @Bubu and @dklimpel. See the upgrade notes for more information. (#10596). (#10475)
  • Add support for "marker" events which makes historical events discoverable for servers that already have all of the scrollback history (part of MSC2716). (#10498)
  • Add a configuration setting for the time a /sync response is cached for. (#10513)
  • The default logging handler for new installations is now PeriodicallyFlushingMemoryHandler, a buffered logging handler which periodically flushes itself. (#10518)
  • Add support for new redaction rules for historical events specified in MSC2716. (#10538)
  • Add a setting to disable TLS when sending email. (#10546)
  • Add pagination to the spaces summary based on updates to MSC2946. (#10549, #10560, #10569, #10574, #10575, #10579, #10583)
  • Admin API to delete several media for a specific user. Contributed by @dklimpel. (#10558, #10628)
  • Add support for routing /createRoom to workers. (#10564)
  • Update the Synapse Grafana dashboard. (#10570)
  • Add an admin API (GET /_synapse/admin/username_available) to check if a username is available (regardless of registration settings). (#10578)
  • Allow editing a user's external_ids via the "Edit User" admin API. Contributed by @dklimpel. (#10598)
  • The Synapse manhole no longer needs coroutines to be wrapped in defer.ensureDeferred. (#10602)
  • Add option to allow modules to run periodic tasks on all instances, rather than just the one configured to run background tasks. (#10638)

Bugfixes

  • Add some clarification to the sample config file. Contributed by @Kentokamoto. (#10129)
  • Fix a long-standing bug where protocols which are not implemented by any appservices were incorrectly returned via GET /_matrix/client/r0/thirdparty/protocols. (#10532)
  • Fix exceptions in logs when failing to get remote room list. (#10541)
  • Fix longstanding bug which caused the user's presence "status message" to be reset when the user went offline. Contributed by @dklimpel. (#10550)
  • Allow public rooms to be previewed in the spaces summary APIs from MSC2946. (#10580)
  • Fix a bug introduced in v1.37.1 where an error could occur in the asynchronous processing of PDUs when the queue was empty. (#10592)
  • Fix errors on /sync when read receipt data is a string. Only affects homeservers with the experimental flag for MSC2285 enabled. Contributed by @SimonBrandner. (#10606)
  • Additional validation for the spaces summary API to avoid errors like ValueError: Stop argument for islice() must be None or an integer. The missing validation has existed since v1.31.0. (#10611)
  • Revert behaviour introduced in v1.38.0 that strips org.matrix.msc2732.device_unused_fallback_key_types from /sync when its value is empty. This field should instead always be present according to MSC2732. (#10623)

Improved Documentation

  • Add documentation for configuring a forward proxy. (#10443)
  • Updated the reverse proxy documentation to highlight the homserver configuration that is needed to make Synapse aware that is is intentionally reverse proxied. (#10551)
  • Update CONTRIBUTING.md to fix index links and the instructions for SyTest in docker. (#10599)

Deprecations and Removals

  • No longer build .deb packages for Ubuntu 20.10 Groovy Gorilla, which has now EOLed. (#10588)
  • The template_dir configuration settings in the sso, account_validity and email sections of the configuration file are now deprecated in favour of the global templates.custom_template_directory setting. See the upgrade notes for more information. (#10596)

Internal Changes

  • Improve event caching mechanism to avoid having multiple copies of an event in memory at a time. (#10119)
  • Reduce errors in PostgreSQL logs due to concurrent serialization errors. (#10504)
  • Include room ID in ignored EDU log messages. Contributed by @ilmari. (#10507)
  • Add pagination to the spaces summary based on updates to MSC2946. (#10527, #10530)
  • Fix CI to not break when run against branches rather than pull requests. (#10529)
  • Mark all events stemming from the MSC2716 /batch_send endpoint as historical. (#10537)
  • Clean up some of the federation event authentication code for clarity. (#10539, #10591)
  • Convert Transaction and Edu objects to attrs. (#10542)
  • Update /batch_send endpoint to only return state_events created by the state_events_from_before passed in. (#10552)
  • Update contributing.md to warn against rebasing an open PR. (#10563)
  • Remove the unused public rooms replication stream. (#10565)
  • Clarify error message when failing to join a restricted room. (#10572)
  • Remove references to BuildKite in favour of GitHub Actions. (#10573)
  • Move /batch_send endpoint defined by MSC2716 to the /v2_alpha directory. (#10576)
  • Allow multiple custom directories in read_templates. (#10587)
  • Re-organize the synapse.federation.transport.server module to create smaller files. (#10590)
  • Flatten the synapse.rest.client package by moving the contents of v1 and v2_alpha into the parent. (#10600)
  • Build Debian packages for Debian 12 (Bookworm). (#10612)
  • Fix up a couple of links to the database schema documentation. (#10620)
  • Fix a broken link to the upgrade notes. (#10631)