Synapse 1.34.0 is now available, and it's loaded with new features and performance improvements.
Note: This release deprecates and replaces the
room_invite_state_types
configuration option. If you've customized that for your homeserver, please review the Upgrade Notes.We've also marked the v1 room deletion Admin API as deprecated. Instead of sending a
POST
to a path ending in/delete
, administrators are encourage to instead send an HTTPDELETE
to/_synapse/admin/v1/rooms/<room_id>
. Thanks to ThibF for implementing this (#9889).
The highlight of this release is support for Spaces, now that MSC1772: Matrix Spaces has merged into the Matrix spec!
Synapse also has support for MSC2946: Spaces Summary and MSC3083: Restricting room membership based on space membership, but these are off by default as they're still under development. To enable these experimental MSCs, set experimental_features: { spaces_enabled: true }
in your homeserver configuration. These are enabled on the matrix.org homeserver, and we encourage you to experiment with Spaces there and let us know in the Spaces Feedback Room if you encounter any issues.
Memory consumption and caching have been a major focus of the Synapse team this quarter, and we've made significant strides:
gc_min_interval
configuration option with reasonable defaults to prevent Python's garbage collector from running too frequently and thrashing when a large homeserver has its collection thresholds set too low.We have a few more tricks up our sleeves; to learn more about how we're planning to improve the memory cost of joining large rooms, check out last week's Matrix Live.
We've also landed significant improvements to:
...and fixed bugs that:
m.room_key_request
messages from being delivered (#9961, #9965)The health check on our Docker images now responds more quickly upon successful startup thanks to improvements by maquis196 (#9913), and for especially privacy-conscious homeservers, device names can now be shielded over federation thanks to a contribution by aaronraimist (#9945).
Inspired by GitHub's new token format, we've restructured Synapse's access token format to follow the pattern:
syt_<UnpaddedBase64MXIDLocalPart>_<20RandomLetters>_<CRC32>
So a token for @example:matrix.org
might look like:
syt_ZXhhbXBsZQ_KfJetOcLWEKCvYdKnQLV_0i3W80
Existing tokens remain valid; this is just for new tokens. We hope the new format reduces network overhead while also making it easier identify misplaced tokens in logs and repositories.
See the Upgrading Instructions and Release Notes for further information on 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, maquis196, and ThibF.