Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

v1.45.0

Compare
Choose a tag to compare
@DMRobertson DMRobertson released this 19 Oct 11:42
· 3922 commits to develop since this release
95813ff

Synapse 1.45.0 (2021-10-19)

No functional changes since Synapse 1.45.0rc2.

Known Issues

  • A suspected performance regression which was first reported after the release of 1.44.0 remains unresolved.

    We have not been able to identify a probable cause. Affected users report that setting up a federation sender worker appears to alleviate symptoms of the regression.

Improved Documentation

  • Reword changelog to clarify concerns about a suspected performance regression in 1.44.0. (#11117)

Synapse 1.45.0rc2 (2021-10-14)

This release candidate fixes a user directory bug present in 1.45.0rc1.

Known Issues

  • A suspected performance regression which was first reported after the release of 1.44.0 remains unresolved.

    We have not been able to identify a probable cause. Affected users report that setting up a federation sender worker appears to alleviate symptoms of the regression.

Bugfixes

  • Fix a long-standing bug when using multiple event persister workers where events were not correctly sent down /sync due to a race. (#11045)
  • Fix a bug introduced in Synapse 1.45.0rc1 where the user directory would stop updating if it processed an event from a
    user not in the users table. (#11053)
  • Fix a bug introduced in Synapse 1.44.0 when logging errors during oEmbed processing. (#11061)

Internal Changes

  • Add an 'approximate difference' method to StateFilter. (#10825)
  • Fix inconsistent behavior of get_last_client_by_ip when reporting data that has not been stored in the database yet. (#10970)
  • Fix a bug introduced in Synapse 1.21.0 that causes opentracing and Prometheus metrics for replication requests to be measured incorrectly. (#10996)
  • Ensure that cache config tests do not share state. (#11036)

Synapse 1.45.0rc1 (2021-10-12)

Note: Media storage providers module that read from Synapse's configuration need changes as of this version, see the upgrade notes for more information.

Known Issues

  • We are investigating a performance issue which was reported after the release of 1.44.0.
  • We are aware of a bug with the user directory when using application services. A second release candidate is expected which will resolve this.

Features

  • Add MSC3069 support to /account/whoami. (#9655)
  • Support autodiscovery of oEmbed previews. (#10822)
  • Add a user_may_send_3pid_invite spam checker callback for modules to allow or deny 3PID invites. (#10894)
  • Add a spam checker callback to allow or deny room joins. (#10910)
  • Include an update_synapse_database script in the distribution. Contributed by @Fizzadar at Beeper. (#10954)
  • Include exception information in JSON logging output. Contributed by @Fizzadar at Beeper. (#11028)

Bugfixes

  • Fix a minor bug in the response to /_matrix/client/r0/voip/turnServer. Contributed by @lukaslihotzki. (#10922)
  • Fix a bug where empty yyyy-mm-dd/ directories would be left behind in the media store's url_cache_thumbnails/ directory. (#10924)
  • Fix a bug introduced in Synapse v1.40.0 where the signature checks for room version 8 and 9 could be applied to earlier room versions in some situations. (#10927)
  • Fix a long-standing bug wherein deactivated users still count towards the monthly active users limit. (#10947)
  • Fix a long-standing bug which meant that events received over federation were sometimes incorrectly accepted into the room state. (#10956)
  • Fix a long-standing bug where rebuilding the user directory wouldn't exclude support and deactivated users. (#10960)
  • Fix MSC2716 /batch_send endpoint rejecting subsequent batches with unknown batch ID error in existing room versions from the room creator. (#10962)
  • Fix a bug that could leak local users' per-room nicknames and avatars when the user directory is rebuilt. (#10981)
  • Fix a long-standing bug where the remainder of a batch of user directory changes would be silently dropped if the server left a room early in the batch. (#10982)
  • Correct a bugfix introduced in Synapse v1.44.0 that would catch the wrong error if a connection is lost before a response could be written to it. (#10995)
  • Fix a long-standing bug where local users' per-room nicknames/avatars were visible to anyone who could see you in the user directory. (#11002)
  • Fix a long-standing bug where a user's per-room nickname/avatar would overwrite their profile in the user directory when a room was made public. (#11003)
  • Work around a regression, introduced in Synapse v1.39.0, that caused SynapseErrors raised by the experimental third-party rules module callback check_event_allowed to be ignored. (#11042)
  • Fix a bug in MSC2716 insertion events in rooms that could cause cross-talk/conflicts between batches. (#10877)

Improved Documentation

  • Change wording ("reference homeserver") in Synapse repository documentation. Contributed by @maxkratz. (#10971)
  • Fix a dead URL in development documentation (SAML) and change wording from "Riot" to "Element". Contributed by @maxkratz. (#10973)
  • Add additional content to the Welcome and Overview page of the documentation. (#10990)
  • Update links to MSCs in documentation. Contributed by @dklimpel. (#10991)

Internal Changes

  • Improve type hinting in synapse.util. (#10888)
  • Add further type hints to synapse.storage.util. (#10892)
  • Fix type hints to be compatible with an upcoming change to Twisted. (#10895)
  • Update utility code to handle C implementations of frozendict. (#10902)
  • Drop old functionality which maintained database compatibility with Synapse versions before v1.31. (#10903)
  • Clean-up configuration helper classes for the ServerConfig class. (#10915)
  • Use direct references to config flags. (#10916, #10959, #10985)
  • Clean up some of the federation event authentication code for clarity. (#10926, #10940, #10986, #10987, #10988, #11010, #11011)
  • Refactor various parts of the codebase to use RoomVersion objects instead of room version identifier strings. (#10934)
  • Refactor user directory tests in preparation for upcoming changes. (#10935)
  • Include the event id in the logcontext when handling PDUs received over federation. (#10936)
  • Fix logged errors in unit tests. (#10939)
  • Fix a broken test to ensure that consent configuration works during registration. (#10945)
  • Add type hints to filtering classes. (#10958)
  • Add type-hint to HomeserverTestcase.setup_test_homeserver. (#10961)
  • Fix the test utility function create_room_as so that is_public=True will explicitly set the visibility parameter of room creation requests to public. Contributed by @AndrewFerr. (#10963)
  • Make the release script more robust and transparent. (#10966)
  • Refactor MSC2716 /batch_send mega function into smaller handler functions. (#10974)
  • Log stack traces when a missing opentracing span is detected. (#10983)
  • Update GHA config to run tests against Python 3.10 and PostgreSQL 14. (#10992)
  • Fix a long-standing bug where ReadWriteLocks could drop logging contexts on exit. (#10993)
  • Add a CODEOWNERS file to automatically request reviews from the @matrix-org/synapse-core team on new pull requests. (#10994)
  • Add further type hints to synapse.state. (#11004)
  • Remove the deprecated BaseHandler object. (#11005)
  • Bump mypy version for CI to 0.910, and pull in new type stubs for dependencies. (#11006)
  • Fix CI to run the unit tests without optional deps. (#11017)
  • Ensure that cache config tests do not share state. (#11019)
  • Add additional type hints to synapse.server_notices. (#11021)
  • Add additional type hints for synapse.push. (#11023)
  • When installing the optional developer dependencies, also include the dependencies needed for type-checking and unit testing. (#11034)
  • Remove unnecessary list comprehension from synapse_port_db to satisfy code style requirements. (#11043)