Synapse 1.44.0 is out now!
🔗Loads of Bug Fixes
This release primarily includes fixes for over a dozen long-standing bugs. For example:
- Messages containing null bytes are now properly indexed for search.
- The Room Search Admin API now allows searching for rooms with non-ascii titles.
- URL preview caches, which are meant to be ephemeral, are no longer mirrored from the local media store into other media providers.
🔗Faster JSON Responses
We now stay within C code while generating large JSON objects for responses, which should be substantially faster than the previous technique, which fell back to Python for encoding.
🔗New Extension Module APIs
Spam checker modules can now use a user_may_create_room_with_invites
callback to inspect room creation events which include invitations to users via Matrix or other media (email, etc.).
Additionally, the ModuleApi can now inspect IP and User Agent data, as well as checking whether Rooms and MXIDs are local to the current homeserver.
🔗Everything Else
We've also been busy refactoring. For example:
- Prometheus stats now distinguish between cache evictions due to entries expiring, and cache evictions due to the cache being full.
- The
synapse.handlers
,synapse.rest
, andsynapse.storage.databases.state
modules are now fully type annotated and checked by mypy, among others. - The user directory search code was cleaned up in preparation for future fixes.
- Another half dozen pull requests were merged with an aim toward clarifying federated event authentication code (and associated logging).
Lastly, this release has seen considerable work toward supporting MSC2716: Incrementally importing history into existing rooms, along with an update to match the current state of MSC3231: Token authenticated registration.
These are just the highlights; please see the Upgrade Notes and Release Notes for a complete list of changes in this release.
Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including aaronraimist, cvwright, govynnus, Kokokokoka, and tulir.
The Foundation needs you
The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.
It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.
Support us