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).
I think you and those responding to you are conflating Matrix and Element and Synapse.
Spaces are a UI feature in Element for grouping rooms. Element is only one of many Matrix clients.
Element, the client, is written in typescript and kotlin.
https://github.com/vector-im
Synapse, a server implementation using the Matrix protocol, is indeed written in Python.
There are several other servers, written in Go, Rust, C, and C++.
https://matrix.org/ecosystem/servers/
Matrix is the protocol itself. Blaming it for UI problems is like blaming TCP for the toolbars in Internet Explorer: very remotely correct.
You’re not correct about spaces being a UI feature.
Spaces are now part of the protocol and are stored server side with your account data. Other clients - like fluffychat - can work with spaces just like Element.
They were element only back while they were being tested, but are now a direct replacement for the old - deprecated - groups functionality.
You had me second-guessing for a minute, but I think the other commenter is correct.
One can definitely use Spaces in other clients, even Beeper supports them. So if it was an Element-specific feature, it doesn’t appear to be any longer.
Yeah, spaces need server side support too. Technically they are just rooms that are handled differently, but it’s not just a UI feature.