Synapse v1.44.0.rc1 Release Notes

Release Date: 2021-09-29 // over 2 years ago
  • ๐Ÿ”‹ Features

    • Only allow the MSC2716 /batch_send?chunk_id=xxx endpoint to connect to an already existing insertion event. (#10776)
    • ๐Ÿ‘Œ Improve oEmbed URL previews by processing the author name, photo, and video information. (#10814, #10819)
    • Speed up responding with large JSON objects to requests. (#10868, #10905)
    • Add a user_may_create_room_with_invites spam checker callback to allow modules to allow or deny a room creation request based on the invites and/or 3PID invites it includes. (#10898)

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fix a long-standing bug that caused an AssertionError when purging history in certain rooms. Contributed by @Kokokokoka. (#10690)
    • ๐Ÿ›  Fix a long-standing bug which caused deactivated users that were later reactivated to be missing from the user directory. (#10782)
    • ๐Ÿ›  Fix a long-standing bug that caused unbanning a user by sending a membership event to fail. Contributed by @aaronraimist. (#10807)
    • ๐Ÿ›  Fix a long-standing bug where logging contexts would go missing when federation requests time out. (#10810)
    • ๐Ÿ›  Fix a long-standing bug causing an error in the deprecated /initialSync endpoint when using the undocumented from and to parameters. (#10827)
    • Fix a bug causing the remove_stale_pushers background job to repeatedly fail and log errors. This bug affected Synapse servers that had been upgraded from version 1.28 or older and are using SQLite. (#10843)
    • ๐Ÿ›  Fix a long-standing bug in Unicode support of the room search admin API breaking search for rooms with non-ASCII characters. (#10859)
    • ๐Ÿ›  Fix a bug introduced in Synapse 1.37.0 which caused knock membership events which we sent to remote servers to be incorrectly stored in the local database. (#10873)
    • ๐Ÿ›  Fix invalidating one-time key count cache after claiming keys. The bug was introduced in Synapse v1.41.0. Contributed by Tulir at Beeper. (#10875)
    • ๐Ÿ›  Fix a long-standing bug causing application service users to be subject to MAU blocking if the MAU limit had been reached, even if configured not to be blocked. (#10881)
    • ๐Ÿ›  Fix a long-standing bug which could cause events pulled over federation to be incorrectly rejected. (#10907)
    • Fix a long-standing bug causing URL cache files to be stored in storage providers. Server admins may safely delete the url_cache/ and url_cache_thumbnails/ directories from any configured storage providers to reclaim space. (#10911)
    • ๐Ÿ›  Fix a long-standing bug leading to race conditions when creating media store and config directories. (#10913)

    ๐Ÿ‘Œ Improved Documentation

    • ๐Ÿ›  Fix some crashes in the Module API example code, by adding JSON encoding/decoding. (#10845)
    • โž• Add developer documentation about experimental configuration flags. (#10865)
    • ๐Ÿ“š Properly remove deleted files from GitHub pages when generating the documentation. (#10869)

    Internal Changes

    • ๐Ÿ›  Fix GitHub Actions config so we can run sytest on synapse from parallel branches. (#10659)
    • Split out MSC2716 meta events to their own fields in the /batch_send response. (#10777)
    • โž• Add missing type hints to REST servlets. (#10785, #10817)
    • Simplify the internal logic which maintains the user directory database tables. (#10796)
    • ๐Ÿ‘‰ Use direct references to config flags. (#10812, #10885, #10893, #10897)
    • Specify the type of token in generic "Invalid token" error messages. (#10815)
    • ๐Ÿ‘‰ Make StateFilter frozen so it is hashable. (#10816)
    • ๐Ÿ›  Fix a long-standing bug where an m.room.message event containing a null byte would cause an internal server error. (#10820)
    • โž• Add type hints to the state database. (#10823)
    • ๐Ÿ‘‰ Opt out of cache expiry for get_users_who_share_room_with_user, to hopefully improve /sync performance when you haven't synced recently. (#10826)
    • Track cache eviction rates more finely in Prometheus's monitoring. (#10829)
    • โž• Add missing type hints to synapse.handlers. (#10831, #10856)
    • Extend the Module API to let plug-ins check whether an ID is local and to access IP + User Agent data. (#10833)
    • โœ… Factor out PNG image data to a constant to be used in several tests. (#10834)
    • โž• Add a test to ensure state events sent by modules get persisted correctly. (#10835)
    • ๐Ÿ“‡ Rename MSC2716 fields and event types from chunk to batch to match the /batch_send endpoint. (#10838)
    • Rename MSC2716 /batch_send query parameter from ?prev_event to more obvious usage with ?prev_event_id. (#10839)
    • โž• Add type hints to synapse.http.site. (#10867)
    • ๐ŸŒฒ Include outlier status when we log V2 or V3 events. (#10879)
    • Break down Grafana's cache expiry time series based on reason for eviction, c.f. #10829. (#10880)
    • Clean up some of the federation event authentication code for clarity. (#10883, #10884, #10896, #10901)
    • ๐Ÿ‘ Allow the . and ~ characters when creating registration tokens as per the change to MSC3231. (#10887)
    • Clean up some unnecessary parentheses in places around the codebase. (#10889)
    • ๐Ÿ‘Œ Improve type hinting in the user directory code. (#10891)
    • โšก๏ธ Update development testing script test_postgresql.sh to use a supported Python version and make re-runs quicker. (#10906)
    • Document and summarize changes in schema version 61 โ€“ 64. (#10917)
    • ๐Ÿš€ Update release script to sign the newly created git tags. (#10925)
    • ๐Ÿ›  Fix Debian builds due to dh-virtualenv no longer being able to build their docs. (#10931)

    Synapse 1.43.0 (2021-09-21)

    ๐Ÿš€ This release drops support for the deprecated, unstable API for MSC2858 (Multiple SSO Identity Providers), as well as the undocumented experimental.msc2858_enabled config option. Client authors should update their clients to use the stable API, available since Synapse 1.30.

    ๐Ÿ“š The documentation has been updated with configuration for routing /spaces, /hierarchy and /summary to workers. See the upgrade notes for more details.

    No significant changes since 1.43.0rc2.