Sydent 2.4.0 (2021-09-09)
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 withlogging.warning()
. (#351) - Reformat imports using isort. (#352, #353)
- Update
.gitignore
to only ignoresydent.conf
andsydent.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)