We've just released Synapse 0.23 - which contains a bunch of significant performance improvements, bug and stability fixes - as well as a few new features: basic spam checking (the ability to configure your homeserver to reject events which match arbitrary rules, both from users and other servers) - and long-awaited support for privacy-preserving ('event_id_only') push notifications. This means that apps can choose to register themselves to receive push notifications which do not contain any information about the actual push, but instead act as a simple "wake up!" event, which triggers the app to then sync via the client-server API in order to display the actual push notification details. This is particularly useful for push notifications for E2E encrypted rooms, as it means the client has a chance of decrypting the message in order to display the push notification details in the UI (if the user wants that). matrix-ios-sdk and matrix-android-sdk are in the process of being moved over to use the new 'event_id_only' push format.
Long-awaited Communities/Groups will land in Synapse 0.24, which should come quite soon (we're almost ready to merge it to develop, but it's a major update so we wanted to get 0.23 out the door first).
As always, you can get your latest Synapse from https://github.com/matrix-org/synapse or a OS repository of your choice (we've just released the official Debian packages).
Full details of Synapse 0.23:
- Add a frontend proxy worker (PR #2344)
- Add support for event_id_only push format (PR #2450)
- Add a PoC for filtering spammy events (PR #2456)
- Add a config option to block all room invites (PR #2457)
- Use bcrypt module instead of py-bcrypt (PR #2288) Thanks to @kyrias!
- Improve performance of generating push notifications (PR #2343, #2357, #2365, #2366, #2371)
- Improve DB performance for device list handling in sync (PR #2362)
- Include a sample prometheus config (PR #2416)
- Document known to work postgres version (PR #2433) Thanks to @ptman!
- Fix caching error in the push evaluator (PR #2332)
- Fix bug where pusherpool didn't start and broke some rooms (PR #2342)
- Fix port script for user directory tables (PR #2375)
- Fix device lists notifications when user rejoins a room (PR #2443, #2449)
- Fix sync to always send down current state events in timeline (PR #2451)
- Fix bug where guest users were incorrectly kicked (PR #2453)
- Fix bug talking to IPv6 only servers using SRV records (PR #2462)
- Fix regression in performance of syncs (PR #2470)