Ruma is a Matrix homeserver. In order to understand what that means, you first need to understand Matrix.
Matrix is a protocol for communicating online.
Matrix-powered apps, called Matrix clients, have all the features you'd want and expect from a modern chat app: instant messaging, group chats, audio and video calls, searchable message history, synchronization across all your devices, and more.
To use a Matrix client, you create an account on a Matrix homeserver. Your Matrix homeserver is your hub into the Matrix network. It stores your account information and all your conversations. You can communicate with people on your own homeserver or people on other homeservers. When you communicate with people on other homeservers, your homeserver and the other homeservers involved synchronize the conversation history. This allows you to communicate with anyone in the Matrix network seamlessly, without ever thinking about which homeserver they connect to.
Ruma – Your home in Matrix.
As of 2020-09-29, we support the vast majority of endpoints in all of the various Matrix APIs.
As long as they are still at version 0.x though, only the latest API revision is considered supported. This may change after 1.x releases.
Minimum Rust version
Ruma currently requires Rust 1.43.0. In general, we will never require beta or nightly for crates.io releases of our crates, and we will try to avoid releasing crates that depend on features that were only just stabilized.
The exception to this is ruma-signatures (and hence ruma with the federation-api feature) since it depends on ring, which is only guaranteed to work on the latest stable.
*Note that all licence references and agreements mentioned in the Ruma README section above are relevant to that project's source code only.