Synapse v1.72.0.rc1 Release Notes

Release Date: 2022-11-16 // 14 days ago
  • ๐Ÿ”‹ Features

    • โž• Add experimental support for MSC3912: Relation-based redactions. (#14260)
    • ๐Ÿ— Build Debian packages for Ubuntu 22.10 (Kinetic Kudu). (#14396)
    • โž• Add an Admin API endpoint for user lookup based on third-party ID (3PID). Contributed by @ashfame. (#14405)
    • Faster joins: include heroes' membership events in the partial join response, for rooms without a name or canonical alias. (#14442)

    ๐Ÿ›  Bugfixes

    • Faster joins: do not block creation of or queries for room aliases during the resync. (#14292)
    • ๐Ÿ›  Fix a bug introduced in Synapse 1.64.0rc1 which could cause log spam when fetching events from other homeservers. (#14347)
    • ๐Ÿ›  Fix a bug introduced in 1.66 which would not send certain pushrules to clients. Contributed by Nico. (#14356)
    • ๐Ÿ›  Fix a bug introduced in v1.71.0rc1 where the power level event was incorrectly created during initial room creation. (#14361)
    • ๐Ÿ›  Fix the refresh token endpoint to be under /r0 and /v3 instead of /v1. Contributed by Tulir @ Beeper. (#14364)
    • ๐Ÿ›  Fix a long-standing bug where Synapse would raise an error when encountering an unrecognised field in a /sync filter, instead of ignoring it for forward compatibility. (#14369)
    • ๐Ÿ›  Fix a background database update, introduced in Synapse 1.64.0, which could cause poor database performance. (#14374)
    • ๐Ÿ›  Fix PostgreSQL sometimes using table scans for queries against the event_search table, taking a long time and a large amount of IO. (#14409)
    • ๐Ÿ›  Fix rendering of some HTML templates (including emails). Introduced in v1.71.0. (#14448)
    • ๐Ÿ›  Fix a bug introduced in Synapse 1.70.0 where the background updates to add non-thread unique indexes on receipts could fail when upgrading from 1.67.0 or earlier. (#14453)

    โšก๏ธ Updates to the Docker image

    • ๐Ÿ‘ท Add all Stream Writer worker types to configure_workers_and_start.py. (#14197)
    • โœ‚ Remove references to legacy worker types in the multi-worker Dockerfile. (#14294)

    ๐Ÿ‘Œ Improved Documentation

    • ๐Ÿ“š Upload documentation PRs to Netlify. (#12947, #14370)
    • โž• Add addtional TURN server configuration example based on eturnal and adjust general TURN server doc structure. (#14293)
    • โž• Add example on how to load balance /sync requests. Contributed by aceArt. (#14297)
    • ๐Ÿ”ง Edit sample Nginx reverse proxy configuration to use HTTP/1.1. Contributed by Brad Jones. (#14414)

    ๐Ÿ—„ Deprecations and Removals

    • โœ‚ Remove support for PostgreSQL 10. (#14392, #14397)

    Internal Changes

    • โœ… Run unit tests against Python 3.11. (#13812)
    • โž• Add TLS support for generic worker endpoints. (#14128, #14455)
    • Switch to a maintained action for installing Rust in CI. (#14313)
    • โž• Add override ability to complement.sh command line script to request certain types of workers. (#14324)
    • โœ… Enabling testing of MSC3874 (filtering of /messages by relation type) in complement. (#14339)
    • ๐ŸŒฒ Concisely log a failure to resolve state due to missing prev_events. (#14346)
    • ๐Ÿ‘‰ Use a maintained Github action to install Rust. (#14351)
    • ๐Ÿ‘ท Cleanup old worker datastore classes. Contributed by Nick @ Beeper (@fizzadar). (#14375)
    • โœ… Test against PostgreSQL 15 in CI. (#14394)
    • โœ‚ Remove unreachable code. (#14410)
    • Clean-up event persistence code. (#14411)
    • Update docstring to clarify that get_partial_state_events_batch does not just give you completely arbitrary partial-state events. (#14417)
    • ๐Ÿ›  Fix mypy errors introduced by bumping the locked version of attrs and gitpython. (#14433)
    • ๐Ÿ”’ Make Dependabot only bump Rust deps in the lock file. (#14434)
    • ๐Ÿ›  Fix an incorrect stub return type for PushRuleEvaluator.run. (#14451)
    • ๐Ÿ‘Œ Improve performance of /context in large rooms. (#14461)

    Synapse 1.71.0 (2022-11-08)

    ๐Ÿš€ Please note that, as announced in the release notes for Synapse 1.69.0, legacy Prometheus metric names are now disabled by default. ๐Ÿšš They will be removed altogether in Synapse 1.73.0. โšก๏ธ If not already done, server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names. โฌ†๏ธ See the upgrade notes for more details.

    Note: in line with our deprecation policy for platform dependencies, this will be the last release to support PostgreSQL 10, which reaches upstream end-of-life on November 10th, 2022. Future releases of Synapse will require PostgreSQL 11+.

    No significant changes since 1.71.0rc2.


Previous changes from v1.71.0.rc2

  • ๐Ÿ‘Œ Improved Documentation

    • ๐Ÿ—„ Document the changes to monthly active user metrics due to deprecation of legacy Prometheus metric names. (#14358, #14360)

    ๐Ÿ—„ Deprecations and Removals

    • ๐Ÿšš Disable legacy Prometheus metric names by default. They can still be re-enabled for now, but they will be removed altogether in Synapse 1.73.0. (#14353)

    Internal Changes

    • โœ… Run unit tests against Python 3.11. (#13812)