Highlights include Sliding Sync (instant login/launch/sync), Native OIDC (industry-standard authentication), Native Group VoIP (end-to-end encrypted large-scale voice & video conferencing) and Faster Joins (lazy-loading room state when your server joins a room).
…and by that, I meant not just them logging into XMPP, but XMPP effectively dislodging WhatsApp and all other centralized proprietary apps, for the whole family. There is absolutely nothing they miss in terms of features using XMPP for day to day communications, and even the less savvy/older folks understand and appreciate that the niece’s birthday pictures are stored on the family NAS and not on some facebook server.
Compared to Matrix, they get something that’s fast, light on their battery, light on their data plan, that has instant message delivery, that works behind firewalls (thanks to SRV and https multiplexing), has zero downtime, and more importantly, zero vaporware features like threads and spaces that barely work. I created our very first family room in 2015, and we’ve been using it uninterruptedly every single day since.
Matrix is no alternative to XMPP for us. I tried very hard to make it work, but the running costs, the admin overhead and the constant need for user support (because you’ve got to explain basic features which are counter-intuitive like encryption, not to use this or that feature, why we’ve got to migrate rooms, why messages to the outside and to bridges sometimes take a long time to reach without notice nor warning, …) just makes it impractical and gives a bad impression. Matrix just isn’t that good when self-hosting.
I can assure you that Siskin supports groups. And reactions is a good example where Matrix could learn a lesson or two from XMPP and its extensibility and concern for compatibility: instead of splitting the world between clients that support the feature (i.e. Element and the poor suckers left behind), in XMPP land, reactions appear as reactions in clients supporting them, and as cited messages + emojis elsewhere. Not supporting reactions is sometimes a conscious choice by developers (for e.g. performance, accessibility reasons or limits of some platforms e.g. TUI), and this is totally acceptable because the meaning/intent of the discussion isn’t degraded.