Matrix Client-Server SDK for Rust
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Jonas Platte 6b5f0b8ec3
Reset visible timeline when a gappy sync arrives
17 hours ago
.cargo chore: Upgrade uniffi to 0.23.0 2 months ago
.config fix: Apply redactions to room state events in database, too (#917) 6 months ago
.github fix(sdk): Fix, test, and clean up `SlidingSyncListRequestGenerator` 2 weeks ago
benchmarks chore(deps): bump tokio from 1.24.1 to 1.24.2 2 months ago
bindings Reset visible timeline when a gappy sync arrives 17 hours ago
contrib chore(contrib): Mitmproxy 9 has removed the HTTP prefix from the Response type 4 months ago
crates Reset visible timeline when a gappy sync arrives 17 hours ago
examples sdk: Use new filter constructor to enable room members lazy-loading 4 days ago
labs Make tokio a workspace dependency 1 day ago
testing Make tokio a workspace dependency 1 day ago
uniffi-bindgen chore: Upgrade uniffi to 0.23.0 2 months ago
xtask Allow room key forwarding to be enabled and disabled (#1365) 2 weeks ago
.editorconfig build: Adding .editorconfig 8 months ago
.gitignore fix(bindings): More authentication service server name fixes 2 weeks ago
.rustfmt.toml chore: Add rust.vim edition workaround 6 months ago
.typos.toml Extended verification states 2 weeks ago
CONTRIBUTING.md chore: Add CONTRIBUTING.md 4 months ago
Cargo.lock Switch the FFI bindings to use the SQLite cryptostore 19 hours ago
Cargo.toml Make tokio a workspace dependency 1 day ago
LICENSE rust-sdk: Switch the license to Apache 2.0. 3 years ago
README.md chore: Fix our build badge 3 months ago
UPGRADING-0.5-to-0.6.md chore: fix typos in Upgrade guide 6 months ago
codecov.yaml ci: update codecov config to exclude all testing crates 8 months ago
tarpaulin.toml chore: Delete sled-state-inspector 1 month ago

README.md

Build Status codecov License #matrix-rust-sdk Docs - Main Docs - Stable

matrix-rust-sdk

matrix-rust-sdk is an implementation of a Matrix client-server library in Rust.

Project structure

The rust-sdk consists of multiple crates that can be picked at your convenience:

  • matrix-sdk - High level client library, with batteries included, you're most likely interested in this.
  • matrix-sdk-base - No (network) IO client state machine that can be used to embed a Matrix client in your project or build a full fledged network enabled client lib on top of it.
  • matrix-sdk-crypto - No (network) IO encryption state machine that can be used to add Matrix E2EE support to your client or client library.

Minimum Supported Rust Version (MSRV)

These crates are built with the Rust language version 2021 and require a minimum compiler version of 1.65.

Status

The library is in an alpha state, things that are implemented generally work but the API will change in breaking ways.

If you are interested in using the matrix-sdk now is the time to try it out and provide feedback.

Bindings

Some crates of the matrix-rust-sdk can be embedded inside other environments, like Swift, Kotlin, JavaScript, Node.js etc. Please, explore the bindings/ directory to learn more.

License

Apache-2.0