This release is breaking configuration backward compatibility from any previous version to improve performance, reduce resource usage and prepare for new exciting features! Previous versions were very lax in terms of valid YAML for the configuration file. Given the changes for performance, this can no longer be accepted and is why you can no longer use several variants of the format.
Upgrade notes with detailed instructions are available here: Link
Thanks to this port, we see some (very) good improvements:
- ~16 MB size reduction in the binaries, and distribution files
- a 50 to 75% RAM usage reduction
- a 75% reduction in start time using systemd
- a 10 to 25% reduction in request time on average across endpoints
- Bulk lookup requests are now tagged so two same requests made in a short intervals do not produce two computation, but instead wait for the same computation.
- It is now possible to rewrite usernames before attempting login on the homeserver, allowing things like numerical logins on synapse if such type of usernames are used in your Identity Store(s)! (#103) - Docs (Out of Beta)
Application Service Integration
- Proper handling of request de-duplication (#97)
- Several Base DNs can now be given in configuration! (#104) (Out of Beta)
- REST Identity store now supports the Profile feature! (#91) (Out of Beta)
- Refactoring of the HTTP stack and modules loading stack (for the results given above in Notes)
- Full revamp of 3PID sessions, bindings, notifications and related web pages. No more "remote" sessions or usage of the central servers. More details at #93 and Upgrade notes.
- Actively block potential fraudulent attempts of 3PID removals with 3PID owner notification (4237eeb, 635f6fd, 3e240fe)
- Be compliant with IS r0 for session status code (a0e91e7)
- Properly handle trailing (or not) slashes on the
/v1endpoint, seeing various behaviors depending on reverse proxies, mxisd versions, etc. (a4c18de, 3a6b759)
- Fix invalid default URL paths for the REST Identity store (#110)
- Fix regression where email notifications failed due to SMTP auth settings (#106)