Synapse v1.72.0.rc1 Release Notes

Release Date: 2022-11-16 // over 1 year 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

    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.