Sydent Versions Save

Sydent: Reference Matrix Identity Server

v2.6.1

6 months ago

No significant changes since 2.6.0; the only changes are to CI config, which should fix an error in building the Docker image.

As mentioned in the 2.6.0 release notes, Sydent will soon be forked by Element under an AGPLv3.0 licence (with CLA, for proprietary dual licensing). We expect this to be the last release of Sydent under the current Apache 2 licence.

You can read more about this here:

The Matrix.org Foundation copy of the project will be archived. Any changes needed by server administrators will be communicated in Sydent's changelog, but we are striving to make this as seamless as possible.

Internal Changes

  • Pin CI to Python 3.11. (#583)
  • Inline docker job definition in this repo, and update docker-related action versions. (#584)#

v2.6.0

6 months ago

Sydent will soon be forked by Element under an AGPLv3.0 licence (with CLA, for proprietary dual licensing). We expect this to be the last release of Sydent under the current Apache 2 licence.

You can read more about this here:

The Matrix.org Foundation copy of the project will be archived. Any changes needed by server administrators will be communicated in Sydent's changelog, but we are striving to make this as seamless as possible.

Features

  • Support resolving homeservers using matrix-fed DNS SRV records from MSC4040. (#576)

Improved Documentation

  • Fix installation documentation for Debian based systems. (#549)

v2.5.6

10 months ago

Sydent 2.5.6 (2023-07-31)

Bugfixes

v2.5.5

11 months ago

This version is fixing Docker builds.

v2.5.4

11 months ago

Sydent 2.5.4 (2023-06-22)

Features

  • Add a config option homeserver_allow_list to specify which homeservers can access Sydent. (#566)

Internal Changes

  • Warn would-be users that they probably don't want to use Sydent. (#557)

v2.5.3

1 year ago

Sydent 2.5.3 (2023-03-02)

Features

  • Add ratelimiting to MSISDN request token endpoint. (#521, #522)
  • Add email.third_party_invite_homeserver_blocklist and email.third_party_invite_room_blocklist config options to block invites from a list of homeservers or for a list of rooms. (#530)
  • Support Matrix v1.1. (#542)

Bugfixes

  • Respond with a 429 instead of 500 when exceeding invite rate limit. (#529)
  • Fix a bug where Sydent would not retry attempts to inform homeservers of a successful bind after an initial failure. (#552)

Updates to the Docker image

  • Add prometheus-client and sentry-sdk into the Docker image. (#519)

Improved Documentation

  • Document a way to serve identity service APIs over HTTPS. (#518)

Internal Changes

  • Update README to describe how to install from source with poetry. (#505)
  • Fix a typechecking error introduced in #501. (#506)
  • Ensure CI runs tests on main branch. (#507)
  • Bump twisted from 22.1.0 to 22.2.0. (#508)
  • Add a 'tests-done' Github Actions job. (#509)
  • Allow the newsfile job to be skipped. (#514)
  • Remove support for the unstable identifier from MSC3288. (#515)
  • Avoid spurious warnings in tests. (#516)
  • (Dependabot) Bump Twisted to 22.4.0. (#517)
  • Add ratelimiting to email sending. (#526)
  • Add some prometheus metrics and make prometheus_client dependency mandatory. (#527)
  • Limit length of room names in third party invites. (#528)
  • Limit length of sender display name in third party invites. (#531)
  • Add a config option to drop emails if user-supplied content contains a given keyword. (#535, #536)
  • (Dependabot) Bump certifi to 2022.12.7. (#537)
  • Fix a typo to properly allow the newsfile job to be skipped. (#538)
  • Refactor creation of servlets. (#541)
  • Use ruff instead of flake8. (#543, #544)
  • Don't block invites containing web_client_location when using "http" in the keyword block list. (#545)
  • Build using Poetry 1.2.2, for better dependabot compatability. (#548)

v2.5.2

2 years ago

This release of Sydent is the first to use poetry to maintain a locked set of dependency versions. The use of poetry is optional: administrators can continue to install from a wheel or using their own virtualenv.

Bugfixes

  • Fix a bug where federation requests would fail early if a .well-known/matrix/server response contains an invalid type for m.server. Instead, try finding an SRV record, as mandated by the spec. (#473)
  • Fix a bug in the casefolding script that would cause some deletions to be skipped if e-mail sending was enabled. (#489)
  • Fix a bug introduced in Sydent 2.4.6 where errors communicating with OpenMarket's SMS API would be logged as successes, and all successes would be logged twice. (#490)

Improved Documentation

  • Added a link to #sydent:matrix.org in the README so users know where to discuss sydent. Contributed by @clmnin. (#479)

Internal Changes

  • Add a test to ensure that a bad response from the OpenMarket SMS API raises an exception. (#471)
  • Add missing dependencies to setup.py. (#474)
  • Cache the lookup pepper in the HashingMetadataStore. (#475, #477)
  • Update type annotations to ensure Sydent typechecks with recent mypy versions. (#481)
  • Fix type errors caused by an update to PyNaCl. (#484)
  • Add aggressive logging to casefoldb.py for debugging purposes. (#486)
  • Use poetry to manage dependencies. (#488)
  • Build and publish a docker image on the main branch and tagged releases. (#492)
  • Update Dockerfile to use a fixed poetry environment, rather than pip installing the latest dependencies. (#493)
  • Bump twisted from 21.7.0 to 22.1.0. (#495)
  • Use matrix-common util to get a git-aware version number. (#497)
  • Publish releases to PyPI using GitHub Actions. (#499)
  • Mark sentry-sdk and prometheus-client as optional dependencies. (#501)
  • Add poetry entrypoint for running sydent. (#502)

v2.5.1

2 years ago

Sydent 2.5.1 (2021-11-17)

This release fixes a bug in handling verification for third party IDs if requested via the deprecated /api/v1/ endpoint. The other changes are all designed to improve error handling, and make Sydent's logging have a higher signal-to-noise ratio.

Features

  • Return HTTP 400 Bad Request rather than HTTP 500 Internal Server Error if /store-invite is given an invalid email address. (#464)

Bugfixes

  • Fix a bug introduced in Sydent 2.5.0 where requests to validate an email or phone number would fail with an HTTP 500 Internal Server Error if arguments were given as a query string or as a https://github.com/matrix-org/sydent/issues/461ub.com/matrix-org/sydent/issues/461), #462)

Internal Changes

  • Improve exception logging in asyncjsonwrap for better Sentry reports. (#455)
  • Handle federation request failures in /request explicitly, to reduce Sentry noise. (#456)
  • Log a warning (not an error) when we refuse to send an SMS to an unsupported country. (#459)
  • Demote a failure to parse JSON from homeservers in /register from an error to a warning. (#463)
  • Handle errors to contact homeservers in /unbind. This returns a better error message and reduces Sentry spam. (#466)
  • Log failures to send SMS as exceptions, not errors (to better debug in Sentry). (#467)

v2.5.0

2 years ago

Sydent 2.5.0 (2021-11-03)

This release deprecates .eml templates in favour of Jinja 2 .eml.j2 templates. See the documentation for more details.

Features

  • Support the stable room_type field for MSC3288. (#437)

Bugfixes

  • Fix a bug which could cause SMS sending to fail silently. (#412)
  • Fix a bug introduced in v2.4.0 that caused association unbindings to fail with an internal server error. (#397)
  • Fix an issue which could cause new local associations to be replicated multiple times to peers. (#400)
  • Fix an issue where obey_x_forwarded_for was not being honoured. (#403)
  • Fix misleading logging and potential TypeErrors related to replication ports in Sydent's database. (#420)
  • Fix a bug introduced in v2.0.0 where requesting GET from /identity/api/v1/validate/msisdn/submitToken or /identity/v2/validate/msisdn/submitToken would fail with an internal server error. (#445)
  • Fix /v2/account/logout to return HTTP 400 BAD REQUEST instead of 200 OK if a token was not provided. (#447)
  • Fix a long-standing spec compliance bug where the response to POST /identity/{api/v1,v2}/3pid/unbind was null, not {}. (#449)

Improved Documentation

  • Fix the documentation around the command line arguments for the email address migration script. (#392)
  • Add documentation on writing templates. Deprecate .eml templates. (#395)

Internal Changes

  • Improve type annotations throughout Sydent. Sydent now passes mypy --strict. (#414 and others).
  • Extend the changelog check so that it checks for the correct pull request number being used. (#382)
  • Move the configuration file handling code into a separate module. (#385, #405)
  • Add a primitive contributing guide and tweak the pull request template. (#393)
  • Run mypy on the sydent package as part of CI. (#416)
  • Configure @matrix-org/synapse-core to be the code owner for the repository. (#436)
  • Run linters over stub files. (#441, #450)
  • Include Sydent's version number (and git commit hash if available) when reporting to Sentry. (#453, #454)

v2.4.6

2 years ago

Sydent 2.4.6 (2021-10-08)

Bugfixes

  • Fix a long-standing bug with error handling around missing headers when dealing with the OpenMarket API, which could cause the wrong assumption that sending a SMS failed when it didn't. (#415)