github matrix-org/synapse v1.44.0rc1

latest releases: v1.98.0, v1.98.0rc1, v1.97.0...
pre-release2 years ago

Synapse 1.44.0rc1 (2021-09-29)

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 6164. (#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)

Don't miss a new synapse release

NewReleases is sending notifications on new releases.