Skip to content

v2.0.0

Compare
Choose a tag to compare
@babolivier babolivier released this 25 Feb 16:52
v2.0.0
dcbed19

Changes in 2.0.0 (2020-02-25)

Note: Starting with this release, Sydent releases are available on PyPI. This means that the recommended method for stable installations is now by using the PyPI project rather than a tarball of the master branch of this repository. See the README for more details.

Warning: This release deprecates v1 APIs for existing endpoints in favour of v2 APIs. Homeserver and client developers are encouraged to migrate their applications to the v2 APIs. See below for more information.

Features

  • Implement the items and MSCs from the privacy project targeting identity servers. This introduces v2 APIs for every existing endpoint. v1 APIs are now deprecated and homeserver and client developers are encouraged to migrate their applications to the v2 APIs.
  • Add Python 3 compatibility to all of the codebase. Python 2 is still supported for now.
  • Delete stored invites upon successful delivery to a homeserver
  • Filter out delivered invites when delivering invites to a homeserver upon successful binding
  • Implement support for authenticating unbind queries by providing a sid and a client_secret, as per MSC1915
  • Add support for Prometheus and Sentry
  • Handle .well-known files when talking to homeservers
  • Validate client_secret parameters according to the Matrix specification
  • Return 400/404 on incorrect session validation
  • Add a default 10,000 address limit on v2 /lookup (which supports multiple lookups at once)

Documentation

  • Rewrite part of the README to make it more user-friendly

Bugfixes

  • Fix a bug that would prevent requests to the /store-invite endpoint with JSON payloads from being correctly processed
  • Fix a bug where multiple cleanup tasks would be unnecessary spawned
  • Fix logging so Sydent doesn't log 3PIDs when processing lookup requests
  • Fix incorrect HTTP response from /3pid/getValidated3pid endpoint on failure.
  • Prevent a single failure from aborting the federation loop
  • Fix federation lookups in /onBind callbacks
  • Don't fail the unbind request if the binding doesn't exist
  • Fix the signing servlet missing a reference to the Sydent object
  • Fix content types & OPTIONS requests

Internal changes

  • Add unit tests to test startup and replication
  • Add support for testing with matrix-is-tester
  • Remove instances of setResponseCode(200)