github matrix-org/synapse v1.69.0rc1

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

Synapse 1.69.0rc1 (2022-10-04)

Please note that legacy Prometheus metric names are now deprecated and will be removed in Synapse 1.73.0.
Server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names.
See the upgrade notes for more details.

Features

Bugfixes

  • Send push notifications for invites received over federation. (#13719, #14014)
  • Fix a long-standing bug where typing events would be accepted from remote servers not present in a room. Also fix a bug where incoming typing events would cause other incoming events to get stuck during a fast join. (#13830)
  • Fix a bug introduced in Synapse v1.53.0 where the experimental implementation of MSC3715 would give incorrect results when paginating forward. (#13840)
  • Fix access token leak to logs from proxy agent. (#13855)
  • Fix have_seen_event cache not being invalidated after we persist an event which causes inefficiency effects like extra /state federation calls. (#13863)
  • Faster room joins: Fix a bug introduced in 1.66.0 where an error would be logged when syncing after joining a room. (#13872)
  • Fix a bug introduced in 1.66.0 where some required fields in the pushrules sent to clients were not present anymore. Contributed by Nico. (#13904)
  • Fix packaging to include Cargo.lock in sdist. (#13909)
  • Fix a long-standing bug where device updates could cause delays sending out to-device messages over federation. (#13922)
  • Fix a bug introduced in v1.68.0 where Synapse would require setuptools_rust at runtime, even though the package is only required at build time. (#13952)
  • Fix a long-standing bug where POST /_matrix/client/v3/keys/query requests could result in excessively large SQL queries. (#13956)
  • Fix a performance regression in the get_users_in_room database query. Introduced in v1.67.0. (#13972)
  • Fix a bug introduced in v1.68.0 bug where Rust extension wasn't built in release mode when using poetry install. (#14009)
  • Do not return an unspecified original_event field when using the stable /relations endpoint. Introduced in Synapse v1.57.0. (#14025)
  • Correctly handle a race with device lists when a remote user leaves during a partial join. (#13885)
  • Correctly handle sending local device list updates to remote servers during a partial join. (#13934)

Improved Documentation

  • Add worker_main_http_uri for the worker generator bash script. (#13772)
  • Update URL for the NixOS module for Synapse. (#13818)
  • Fix a mistake in sso_mapping_providers.md: map_user_attributes is expected to return display_name, not displayname. (#13836)
  • Fix a cross-link from the registration admin API to the registration_shared_secret configuration documentation. (#13870)
  • Update the man page for the hash_password script to correct the default number of bcrypt rounds performed. (#13911, #13930)
  • Emphasize the right reasons when to use (room_id, event_id) in a database schema. (#13915)
  • Add instruction to contributing guide for running unit tests in parallel. Contributed by @ashfame. (#13928)
  • Clarify that the auto_join_rooms config option can also be used with Space aliases. (#13931)
  • Add some cross references to worker documentation. (#13974)
  • Linkify urls in config documentation. (#14003)

Deprecations and Removals

  • Remove the complete_sso_login method from the Module API which was deprecated in Synapse 1.13.0. (#13843)
  • Announce that legacy metric names are deprecated, will be turned off by default in Synapse v1.71.0 and removed altogether in Synapse v1.73.0. See the upgrade notes for more information. (#14024)

Internal Changes

  • Speed up creation of DM rooms. (#13487, #13800)
  • Port push rules to using Rust. (#13768, #13838, #13889)
  • Optimise get rooms for user calls. Contributed by Nick @ Beeper (@Fizzadar). (#13787)
  • Update the script which makes full schema dumps. (#13792)
  • Use shared methods for cache invalidation when persisting events, remove duplicate codepaths. Contributed by Nick @ Beeper (@Fizzadar). (#13796)
  • Improve the synapse.api.auth.Auth mock used in unit tests. (#13809)
  • Faster Remote Room Joins: tell remote homeservers that we are unable to authorise them if they query a room which has partial state on our server. (#13823)
  • Carry IdP Session IDs through user-mapping sessions. (#13839)
  • Fix the release script not publishing binary wheels. (#13850)
  • Raise issue if complement fails with latest deps. (#13859)
  • Correct the comments in the complement dockerfile. (#13867)
  • Create a new snapshot of the database schema. (#13873)
  • Faster room joins: Send device list updates to most servers in rooms with partial state. (#13874, #14013)
  • Add comments to the Prometheus recording rules to make it clear which set of rules you need for Grafana or Prometheus Console. (#13876)
  • Only pull relevant backfill points from the database based on the current depth and limit (instead of all) every time we want to /backfill. (#13879)
  • Faster room joins: Avoid waiting for full state when processing /keys/changes requests. (#13888)
  • Improve backfill robustness by trying more servers when we get a 4xx error back. (#13890)
  • Fix mypy errors with canonicaljson 1.6.3. (#13905)
  • Faster remote room joins: correctly handle remote device list updates during a partial join. (#13913)
  • Complement image: propagate SIGTERM to all workers. (#13914)
  • Update an innaccurate comment in Synapse's upsert database helper. (#13924)
  • Update mypy (0.950 -> 0.981) and mypy-zope (0.3.7 -> 0.3.11). (#13925, #13993)
  • Use dedicated get_local_users_in_room(room_id) function to find local users when calculating users to copy over during a room upgrade. (#13960)
  • Refactor language in user directory _track_user_joined_room code to make it more clear that we use both local and remote users. (#13966)
  • Revert catch-all exceptions being recorded as event pull attempt failures (only handle what we know about). (#13969)
  • Speed up calculating push actions in large rooms. (#13973, #13992)
  • Enable update notifications from Github's dependabot. (#13976)
  • Prototype a workflow to automatically add changelogs to dependabot PRs. (#13998, #14011, #14017, #14021, #14027)
  • Fix type annotations to be compatible with new annotations in development versions of twisted. (#14012)
  • Clear out stale entries in event_push_actions_staging table. (#14020)
  • Bump versions of GitHub actions. (#13978, #13979, #13980, #13982, #14015, #14019, #14022, #14023)

Don't miss a new synapse release

NewReleases is sending notifications on new releases.