github matrix-org/synapse v1.61.0rc1

latest releases: v1.98.0, v1.98.0rc1, v1.97.0...
pre-release23 months ago

Synapse 1.61.0rc1 (2022-06-07)

This release removes support for the non-standard feature known both as 'groups' and as 'communities', which have been superseded by Spaces.

Features

  • Add new media_retention options to the homeserver config for routinely cleaning up non-recently accessed media. (#12732, #12972, #12977)
  • Experimental support for MSC3772: Push rule for mutually related events. (#12740, #12859)
  • Update to the check_event_for_spam module callback: Deprecate the current callback signature, replace it with a new signature that is both less ambiguous (replacing booleans with explicit allow/block) and more powerful (ability to return explicit error codes). (#12808)
  • Add storage and module API methods to get monthly active users (and their corresponding appservices) within an optionally specified time range. (#12838, #12917)
  • Support the new error code ORG.MATRIX.MSC3823.USER_ACCOUNT_SUSPENDED from MSC3823. (#12845, #12923)
  • Add a configurable background job to delete stale devices. (#12855)
  • Improve URL previews for pages with empty elements. (#12951)
  • Allow updating a user's password using the admin API without logging out their devices. Contributed by @jcgruenhage. (#12952)

Bugfixes

  • Always send an access_token in /thirdparty/ requests to appservices, as required by the Application Service API specification. (#12746)
  • Implement MSC3816: sending the root event in a thread should count as having 'participated' in it. (#12766)
  • Delete events from the federation_inbound_events_staging table when a room is purged through the admin API. (#12784)
  • Fix a bug where we did not correctly handle invalid device list updates over federation. Contributed by Carl Bordum Hansen. (#12829)
  • Fix a bug which allowed multiple async operations to access database locks concurrently. Contributed by @sumnerevans @ Beeper. (#12832)
  • Fix an issue introduced in Synapse 0.34 where the /notifications endpoint would only return notifications if a user registered at least one pusher. Contributed by Famedly. (#12840)
  • Fix a bug where servers using a Postgres database would fail to backfill from an insertion event when MSC2716 is enabled (experimental_features.msc2716_enabled). (#12843)
  • Fix MSC3787 rooms being omitted from room directory, room summary and space hierarchy responses. (#12858)
  • Fix a bug introduced in Synapse 1.54.0 which could sometimes cause exceptions when handling federated traffic. (#12877)
  • Fix a bug introduced in Synapse 1.59.0 which caused room deletion to fail with a foreign key violation error. (#12889)
  • Fix a long-standing bug which caused the /messages endpoint to return an incorrect end attribute when there were no more events. Contributed by @Vetchu. (#12903)
  • Fix a bug introduced in Synapse 1.58.0 where /sync would fail if the most recent event in a room was a redaction of an event that has since been purged. (#12905)
  • Fix a potential memory leak when generating thumbnails. (#12932)
  • Fix a long-standing bug where a URL preview would break if the image failed to download. (#12950)

Improved Documentation

  • Fix typographical errors in documentation. (#12863)
  • Fix documentation incorrectly stating the sendToDevice endpoint can be directed at generic workers. Contributed by Nick @ Beeper. (#12867)

Deprecations and Removals

  • Remove support for the non-standard groups/communities feature from Synapse. (#12553, #12558, #12563, #12895, #12897, #12899, #12900, #12936, #12966)
  • Remove contributed kick_users.py script. This is broken under Python 3, and is not added to the environment when pip installing Synapse. (#12908)
  • Remove contrib/jitsimeetbridge. This was an unused experiment that hasn't been meaningfully changed since 2014. (#12909)
  • Remove unused contrib/experiements/cursesio.py script, which fails to run under Python 3. (#12910)
  • Remove unused contrib/experiements/test_messaging.py script. This fails to run on Python 3. (#12911)

Internal Changes

  • Test Synapse against Complement with workers. (#12810, #12933)
  • Reduce the amount of state we pull from the DB. (#12811, #12964)
  • Try other homeservers when re-syncing state for rooms with partial state. (#12812)
  • Resume state re-syncing for rooms with partial state after a Synapse restart. (#12813)
  • Remove Mutual Rooms' (MSC2666) endpoint dependency on the User Directory. (#12836)
  • Experimental: expand check_event_for_spam with ability to return additional fields. This enables spam-checker implementations to experiment with mechanisms to give users more information about why they are blocked and whether any action is needed from them to be unblocked. (#12846)
  • Remove dont_notify from the .m.rule.room.server_acl rule. (#12849)
  • Remove the unstable /hierarchy endpoint from MSC2946. (#12851)
  • Pull out less state when handling gaps in room DAG. (#12852, #12904)
  • Clean-up the push rules datastore. (#12856)
  • Correct a type annotation in the URL preview source code. (#12860)
  • Update pyjwt dependency to 2.4.0. (#12865)
  • Enable the /account/whoami endpoint on synapse worker processes. Contributed by Nick @ Beeper. (#12866)
  • Enable the batch_send endpoint on synapse worker processes. Contributed by Nick @ Beeper. (#12868)
  • Don't generate empty AS transactions when the AS is flagged as down. Contributed by Nick @ Beeper. (#12869)
  • Fix up the variable state_store naming. (#12871)
  • Faster room joins: when querying the current state of the room, wait for state to be populated. (#12872)
  • Avoid running queries which will never result in deletions. (#12879)
  • Use constants for EDU types. (#12884)
  • Reduce database load of /sync when presence is enabled. (#12885)
  • Refactor have_seen_events to reduce memory consumed when processing federation traffic. (#12886)
  • Refactor receipt linearization code. (#12888)
  • Add type annotations to synapse.logging.opentracing. (#12894)
  • Remove PyNaCl occurrences directly used in Synapse code. (#12902)
  • Bump types-jsonschema from 4.4.1 to 4.4.6. (#12912)
  • Rename storage classes. (#12913)
  • Preparation for database schema simplifications: stop reading from event_edges.room_id. (#12914)
  • Check if we are in a virtual environment before overriding the PYTHONPATH environment variable in the demo script. (#12916)
  • Improve the logging when signature checks on events fail. (#12925)

Don't miss a new synapse release

NewReleases is sending notifications on new releases.