Synapse v1.41.0.rc1 Release Notes

Release Date: 2021-08-18 // over 2 years ago
  • ๐Ÿ”‹ 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)
    • 0๏ธโƒฃ 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)

    Synapse 1.40.0 (2021-08-10)

    No significant changes.