github matrix-org/synapse v1.50.0

latest releases: v1.98.0, v1.98.0rc1, v1.97.0...
2 years ago

Synapse 1.50.0 (2022-01-18)

This release contains a critical bug that may prevent clients from being able to connect. As such, it is not recommended to upgrade to 1.50.0. Instead, please upgrade straight to to 1.50.1. Further details are available in this issue.

Please note that we now only support Python 3.7+ and PostgreSQL 10+ (if applicable), because Python 3.6 and PostgreSQL 9.6 have reached end-of-life.

No significant changes since 1.50.0rc2.

Synapse 1.50.0rc2 (2022-01-14)

This release candidate fixes a federation-breaking regression introduced in Synapse 1.50.0rc1.

Bugfixes

  • Fix a bug introduced in Synapse v1.0.0 whereby some device list updates would not be sent to remote homeservers if there were too many to send at once. (#11729)
  • Fix a bug introduced in Synapse v1.50.0rc1 whereby outbound federation could fail because too many EDUs were produced for device updates. (#11730)

Improved Documentation

  • Document that now the minimum supported PostgreSQL version is 10. (#11725)

Internal Changes

  • Fix a typechecker problem related to our (ab)use of nacl.signing.SigningKeys. (#11714)

Synapse 1.50.0rc1 (2022-01-05)

Features

  • Allow guests to send state events per MSC3419. (#11378)
  • Add experimental support for part of MSC3202: allowing application services to masquerade as specific devices. (#11538)
  • Add admin API to get users' account data. (#11664)
  • Include the room topic in the stripped state included with invites and knocking. (#11666)
  • Send and handle cross-signing messages using the stable prefix. (#10520)
  • Support unprefixed versions of fallback key property names. (#11541)

Bugfixes

  • Fix a long-standing bug where relations from other rooms could be included in the bundled aggregations of an event. (#11516)
  • Fix a long-standing bug which could cause AssertionErrors to be written to the log when Synapse was restarted after purging events from the database. (#11536, #11642)
  • Fix a bug introduced in Synapse 1.17.0 where a pusher created for an email with capital letters would fail to be created. (#11547)
  • Fix a long-standing bug where responses included bundled aggregations when they should not, per MSC2675. (#11592, #11623)
  • Fix a long-standing bug that some unknown endpoints would return HTML error pages instead of JSON M_UNRECOGNIZED errors. (#11602)
  • Fix a bug introduced in Synapse 1.19.3 which could sometimes cause AssertionErrors when backfilling rooms over federation. (#11632)

Improved Documentation

  • Update Synapse install command for FreeBSD as the package is now prefixed with py38. Contributed by @itchychips. (#11267)
  • Document the usage of refresh tokens. (#11427)
  • Add details for how to configure a TURN server when behind a NAT. Contibuted by @AndrewFerr. (#11553)
  • Add references for using Postgres to the Docker documentation. (#11640)
  • Fix the documentation link in newly-generated configuration files. (#11678)
  • Correct the documentation for nginx to use a case-sensitive url pattern. Fixes an error introduced in v1.21.0. (#11680)
  • Clarify SSO mapping provider documentation by writing def or async def before the names of methods, as appropriate. (#11681)

Deprecations and Removals

  • Replace mock package by its standard library version. (#11588)
  • Drop support for Python 3.6 and Ubuntu 18.04. (#11633)

Internal Changes

  • Allow specific, experimental events to be created without prev_events. Used by MSC2716. (#11243)
  • A test helper (wait_for_background_updates) no longer depends on classes defining a store property. (#11331)
  • Add type hints to synapse.appservice. (#11360)
  • Add missing type hints to synapse.config module. (#11480)
  • Add test to ensure we share the same state_group across the whole historical batch when using the MSC2716 /batch_send endpoint. (#11487)
  • Refactor tests.util.setup_test_homeserver and tests.server.setup_test_homeserver. (#11503)
  • Move glob_to_regex and re_word_boundary to matrix-python-common. (#11505, #11687)
  • Use HTTPStatus constants in place of literals in tests.rest.client.test_auth. (#11520)
  • Add a receipt types constant for m.read. (#11531)
  • Clean up synapse.rest.admin. (#11535)
  • Add missing errcode to parse_string and parse_boolean. (#11542)
  • Use HTTPStatus constants in place of literals in synapse.http. (#11543)
  • Add missing type hints to storage classes. (#11546, #11549, #11551, #11555, #11575, #11589, #11594, #11652, #11653, #11654, #11657)
  • Fix an inaccurate and misleading comment in the /sync code. (#11550)
  • Add missing type hints to synapse.logging.context. (#11556)
  • Stop populating unused database column state_events.prev_state. (#11558)
  • Minor efficiency improvements in event persistence. (#11560)
  • Add some safety checks that storage functions are used correctly. (#11564, #11580)
  • Make get_device return None if the device doesn't exist rather than raising an exception. (#11565)
  • Split the HTML parsing code from the URL preview resource code. (#11566)
  • Remove redundant COALESCE()s around COUNT()s in database queries. (#11570)
  • Add missing type hints to synapse.http. (#11571)
  • Add MSC2716 and MSC3030 to /versions -> unstable_features to detect server support. (#11582)
  • Add type hints to synapse/tests/rest/admin. (#11590)
  • Drop end-of-life Python 3.6 and Postgres 9.6 from CI. (#11595)
  • Update black version and run it on all the files. (#11596)
  • Add opentracing type stubs and fix associated mypy errors. (#11603, #11622)
  • Improve OpenTracing support for requests which use a ResponseCache. (#11607)
  • Improve OpenTracing support for incoming HTTP requests. (#11618)
  • A number of improvements to opentracing support. (#11619)
  • Refactor the way that the outlier flag is set on events received over federation. (#11634)
  • Improve the error messages from get_create_event_for_room. (#11638)
  • Remove redundant get_current_events_token method. (#11643)
  • Convert namedtuples to attrs. (#11665, #11574)
  • Update the /capabilities response to include whether support for MSC3440 is available. (#11690)
  • Send the Accept header in HTTP requests made using SimpleHttpClient.get_json. (#11677)
  • Work around Mjolnir compatibility issue by adding an import for glob_to_regex in synapse.util, where it moved from. (#11696)

Don't miss a new synapse release

NewReleases is sending notifications on new releases.