Synapse v1.12.0.rc1 Release Notes

Release Date: 2020-03-19 // about 4 years ago
  • 🔋 Features

    • 🔄 Changes related to room alias management (MSC2432):
      • Publishing/removing a room from the room directory now requires the user to have a power level capable of modifying the canonical alias, instead of the room aliases. (#6965)
      • Validate the alt_aliases property of canonical alias events. (#6971)
      • Users with a power level sufficient to modify the canonical alias of a room can now delete room aliases. (#6986)
      • Implement updated authorization rules and redaction rules for aliases events, from MSC2261 and MSC2432. (#7037)
      • Stop sending m.room.aliases events during room creation and upgrade. (#6941)
      • Synapse no longer uses room alias events to calculate room names for push notifications. (#6966)
      • The room list endpoint no longer returns a list of aliases. (#6970)
      • Remove special handling of aliases events from MSC2260 added in v1.10.0rc1. (#7034)
    • Expose the synctl, hash_password and generate_config commands in the snapcraft package. Contributed by @devec0. (#6315)
    • ⚡️ Check that server_name is correctly set before running database updates. (#6982)
    • Break down monthly active users by appservice_id and emit via Prometheus. (#7030)
    • 🔧 Render a configurable and comprehensible error page if something goes wrong during the SAML2 authentication process. (#7058, #7067)
    • ➕ Add an optional parameter to control whether other sessions are logged out when a user's password is modified. (#7085)
    • ➕ Add prometheus metrics for the number of active pushers. (#7103, #7106)
    • 👌 Improve performance when making HTTPS requests to sygnal, sydent, etc, by sharing the SSL context object between connections. (#7094)

    🛠 Bugfixes

    • ⚡️ When a user's profile is updated via the admin API, also generate a displayname/avatar update for that user in each room. (#6572)
    • 🛠 Fix a couple of bugs in email configuration handling. (#6962)
    • 🛠 Fix an issue affecting worker-based deployments where replication would stop working, necessitating a full restart, after joining a large room. (#6967)
    • 🛠 Fix duplicate key error which was logged when rejoining a room over federation. (#6968)
    • Prevent user from setting 'deactivated' to anything other than a bool on the v2 PUT /users Admin API. (#6990)
    • 🛠 Fix py35-old CI by using native tox package. (#7018)
    • 🛠 Fix a bug causing org.matrix.dummy_event to be included in responses from /sync. (#7035)
    • 🛠 Fix a bug that renders UTF-8 text files incorrectly when loaded from media. Contributed by @TheStranjer. (#7044)
    • 🛠 Fix a bug that would cause Synapse to respond with an error about event visibility if a client tried to request the state of a room at a given token. (#7066)
    • 🔀 Repair a data-corruption issue which was introduced in Synapse 1.10, and fixed in Synapse 1.11, and which could cause /sync to return with 404 errors about missing events and unknown rooms. (#7070)
    • 🛠 Fix a bug causing account validity renewal emails to be sent even if the feature is turned off in some cases. (#7074)

    👌 Improved Documentation

    • ⚡️ Updated CentOS8 install instructions. Contributed by Richard Kellner. (#6925)
    • Fix POSTGRES_INITDB_ARGS in the contrib/docker/docker-compose.yml example docker-compose configuration. (#6984)
    • 🔄 Change date in [INSTALL.md](./INSTALL.md#tls-certificates) for last date of getting TLS certificates to November 2019. (#7015)
    • 👷 Document that the fallback auth endpoints must be routed to the same worker node as the register endpoints. (#7048)

    🗄 Deprecations and Removals

    • ✂ Remove the unused query_auth federation endpoint per MSC2451. (#7026)

    Internal Changes

    • ➕ Add type hints to logging/context.py. (#6309)
    • ➕ Add some clarifications to README.md in the database schema directory. (#6615)
    • 🔨 Refactoring work in preparation for changing the event redaction algorithm. (#6874, #6875, #6983, #7003)
    • 👌 Improve performance of v2 state resolution for large rooms. (#6952, #7095)
    • ⬇️ Reduce time spent doing GC, by freezing objects on startup. (#6953)
    • Minor perfermance fixes to get_auth_chain_ids. (#6954)
    • Don't record remote cross-signing keys in the devices table. (#6956)
    • 👉 Use flake8-comprehensions to enforce good hygiene of list/set/dict comprehensions. (#6957)
    • 🔀 Merge worker apps together. (#6964, #7002, #7055, #7104)
    • Remove redundant store_room call from FederationHandler._process_received_pdu. (#6979)
    • 📚 Update warning for incorrect database collation/ctype to include link to documentation. (#6985)
    • ➕ Add some type annotations to the database storage classes. (#6987)
    • Port synapse.handlers.presence to async/await. (#6991, #7019)
    • ➕ Add some type annotations to the federation base & client classes. (#6995)
    • Port synapse.rest.keys to async/await. (#7020)
    • ➕ Add a type check to is_verified when processing room keys. (#7045)
    • ➕ Add type annotations and comments to the auth handler. (#7063)

    Synapse 1.11.1 (2020-03-03)

    🚀 This release includes a security fix impacting installations using Single Sign-On (i.e. SAML2 or CAS) for authentication. Administrators of such installations are encouraged to upgrade as soon as possible.

    🚀 The release also includes fixes for a couple of other bugs.

    🛠 Bugfixes

    • ➕ Add a confirmation step to the SSO login flow before redirecting users to the redirect URL. (b2bd54a2, 65c73cdf, a0178df1)
    • Fixed set a user as an admin with the admin API PUT /_synapse/admin/v2/users/<user_id>. Contributed by @dklimpel. (#6910)
    • 🛠 Fix bug introduced in Synapse 1.11.0 which sometimes caused errors when joining rooms over federation, with 'coroutine' object has no attribute 'event_id'. (#6996)

    Synapse 1.11.0 (2020-02-21)

    👌 Improved Documentation

    • 🗄 Small grammatical fixes to the ACME v1 deprecation notice. (#6944)