Skip to content

Sydent 2.4.0 (2021-09-09)

Compare
Choose a tag to compare
@reivilibre reivilibre released this 09 Sep 13:20
· 174 commits to main since this release
v2.4.0

This release drops compatibility with Python 3.5 and older. Python 3.6 and later is required to run Sydent from this version onwards.

Action required when upgrading: server administrators should run the e-mail address migration script.

Features

  • Experimental support for MSC3288, receiving room_type for 3pid invites over the /store-invite API and using it in Jinja templates for Space invites. (#375)
  • Add support for using Jinja2 in e-mail templates. Contributed by @H-Shay. (#376)
  • Case-fold email addresses when binding to MXIDs or performing look-ups. Contributed by @H-Shay. (#374, #378, #379, #386)

Bugfixes

  • Handle CORS for GetValidated3pidServlet. Endpoint /3pid/getValidated3pid returns valid CORS headers. (#342)
  • Use the web_client_location parameter in default templates for both text and HTML emails. (#380)

Internal Changes

  • Add /_trial_temp.lock and /sydent.pid to .gitignore. (#384)
  • Reformat code using Black. Contributed by @H-Shay. (#344, #369)
  • Configure Flake8 and resolve errors. (#345, #347)
  • Add GitHub Actions for unit tests (Python 3.6 and 3.9), matrix_is_tester tests (Python 3.6 and 3.9), towncrier checks and black and flake8 codestyle checks. (#346, #348)
  • Remove support for Python < 3.6. Contributed by @sunweaver. (#349, #356)
  • Bump minimum supported version of Twisted to 18.4.0 and stop calling deprecated APIs. (#350)
  • Replace deprecated logging.warn() method with logging.warning(). (#351)
  • Reformat imports using isort. (#352, #353)
  • Update .gitignore to only ignore sydent.conf and sydent.db if they occur in the project's base folder. (#354)
  • Add type hints and validate with mypy. (#355, #357, #358, #360, #361, #367, #371)
  • Convert inlineCallbacks to async/await. (#364, #365, #368, #372, #373)
  • Use mock module from the standard library. (#370)
  • Fix email templates to be valid python format strings. (#377)