Skip to content

Commit 51afaba

Browse files
authored
Merge branch 'main' into rav/history_sharing/upload_bundle
2 parents 7cb525f + 35e13b8 commit 51afaba

File tree

24 files changed

+1238
-814
lines changed

24 files changed

+1238
-814
lines changed

README.md

Lines changed: 49 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,68 @@
1-
![Build Status](https://img.shields.io/github/actions/workflow/status/matrix-org/matrix-rust-sdk/ci.yml?style=flat-square)
2-
[![codecov](https://img.shields.io/codecov/c/github/matrix-org/matrix-rust-sdk/main.svg?style=flat-square)](https://codecov.io/gh/matrix-org/matrix-rust-sdk)
3-
[![License](https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg?style=flat-square)](https://opensource.org/licenses/Apache-2.0)
4-
[![#matrix-rust-sdk](https://img.shields.io/badge/matrix-%23matrix--rust--sdk-blue?style=flat-square)](https://matrix.to/#/#matrix-rust-sdk:matrix.org)
5-
[![Docs - Main](https://img.shields.io/badge/docs-main-blue.svg?style=flat-square)](https://matrix-org.github.io/matrix-rust-sdk/matrix_sdk/)
6-
[![Docs - Stable](https://img.shields.io/crates/v/matrix-sdk?color=blue&label=docs&style=flat-square)](https://docs.rs/matrix-sdk)
1+
<h1 align="center">Matrix Rust SDK</h1>
2+
<div align="center">
3+
<i>Your all-in-one toolkit for creating Matrix clients with Rust, from simple bots to full-featured apps.</i>
4+
<br/><br/>
5+
<img src="contrib/logo.svg">
6+
<br>
7+
<hr>
8+
<a href="https://github.com/matrix-org/matrix-rust-sdk/releases">
9+
<img src="https://img.shields.io/github/v/release/matrix-org/matrix-rust-sdk?style=flat&labelColor=1C2E27&color=66845F&logo=GitHub&logoColor=white"></a>
10+
<a href="https://crates.io/crates/matrix-sdk/">
11+
<img src="https://img.shields.io/crates/v/matrix-sdk?style=flat&labelColor=1C2E27&color=66845F&logo=Rust&logoColor=white"></a>
12+
<a href="https://codecov.io/gh/matrix-org/matrix-rust-sdk">
13+
<img src="https://img.shields.io/codecov/c/gh/matrix-org/matrix-rust-sdk?style=flat&labelColor=1C2E27&color=66845F&logo=Codecov&logoColor=white"></a>
14+
<br>
15+
<a href="https://docs.rs/matrix-sdk/">
16+
<img src="https://img.shields.io/docsrs/matrix-sdk?style=flat&labelColor=1C2E27&color=66845F&logo=Rust&logoColor=white"></a>
17+
<a href="https://github.com/matrix-org/matrix-rust-sdk/actions/workflows/ci.yml">
18+
<img src="https://img.shields.io/github/actions/workflow/status/matrix-org/matrix-rust-sdk/ci.yml?style=flat&labelColor=1C2E27&color=66845F&logo=GitHub%20Actions&logoColor=white"></a>
19+
<br>
20+
<br>
21+
</div>
722

8-
# matrix-rust-sdk
923

10-
**matrix-rust-sdk** is an implementation of a [Matrix][] client-server library in [Rust][].
24+
The Matrix Rust SDK is a collection of libraries that make it easier to build
25+
[Matrix] clients in [Rust]. It takes care of the low-level details like encryption,
26+
syncing, and room state, so you can focus on your app's logic and UI. Whether
27+
you're writing a small bot, a desktop client, or something in between, the SDK
28+
is designed to be flexible, async-friendly, and ready to use out of the box.
1129

1230
[Matrix]: https://matrix.org/
1331
[Rust]: https://www.rust-lang.org/
1432

1533
## Project structure
1634

17-
The rust-sdk consists of multiple crates that can be picked at your convenience:
35+
The Matrix Rust SDK is made up of several crates that build on top of each other. Here are the key ones:
1836

19-
- **matrix-sdk** - High level client library, with batteries included, you're most likely
20-
interested in this.
21-
- **matrix-sdk-base** - No (network) IO client state machine that can be used to embed a
22-
Matrix client in your project or build a full fledged network enabled client
23-
lib on top of it.
24-
- **matrix-sdk-crypto** - No (network) IO encryption state machine that can be
25-
used to add Matrix E2EE support to your client or client library.
37+
- [matrix-sdk-ui](https://docs.rs/matrix-sdk-ui/latest/matrix_sdk_ui/) – A high-level client library that makes it easy to build
38+
full-featured UI clients with minimal setup. Check out our reference client,
39+
[multiverse](https://github.com/matrix-org/matrix-rust-sdk/tree/main/labs/multiverse), for an example.
40+
- [matrix-sdk](https://docs.rs/matrix-sdk/latest/matrix_sdk/) – A mid-level client library, ideal for building bots, custom
41+
clients, or higher-level abstractions. You can find example usage in the
42+
[examples directory](https://github.com/matrix-org/matrix-rust-sdk/tree/main/examples).
43+
- [matrix-sdk-crypto](https://docs.rs/matrix-sdk-crypto/latest/matrix_sdk_crypto/) – A standalone encryption state machine with no network I/O,
44+
providing end-to-end encryption support for Matrix clients and libraries.
45+
See the [crypto tutorial](https://docs.rs/matrix-sdk-crypto/latest/matrix_sdk_crypto/tutorial/index.html)
46+
for a step-by-step introduction.
2647

2748
## Status
2849

29-
The library is considered production ready and backs multiple client implementations such as Element X [[1]](https://github.com/element-hq/element-x-ios) [[2]](https://github.com/element-hq/element-x-android) and [Fractal](https://gitlab.gnome.org/World/fractal). Client developers should feel confident to build upon it.
50+
The library is considered production ready and backs multiple client
51+
implementations such as Element X
52+
[[1]](https://github.com/element-hq/element-x-ios)
53+
[[2]](https://github.com/element-hq/element-x-android),
54+
[Fractal](https://gitlab.gnome.org/World/fractal) and [iamb](https://github.com/ulyssa/iamb). Client developers should feel
55+
confident to build upon it.
3056

31-
Development of the SDK has been primarily sponsored by Element though accepts contributions from all.
57+
Development of the SDK has been primarily sponsored by Element though accepts
58+
contributions from all.
3259

3360
## Bindings
3461

35-
Some crates of the **matrix-rust-sdk** can be embedded inside other
36-
environments, like Swift, Kotlin, JavaScript, Node.js etc. Please,
37-
explore the [`bindings/`](./bindings/) directory to learn more.
62+
The higher-level crates of the Matrix Rust SDK can be embedded in other
63+
environments such as Swift, Kotlin, JavaScript, and Node.js. Check out the
64+
[bindings/](./bindings/) directory to learn more about how to integrate the SDK
65+
into your language of choice.
3866

3967
## License
4068

bindings/matrix-sdk-ffi/CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
# unreleased
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
<!-- next-header -->
6+
7+
## [Unreleased] - ReleaseDate
28

39
Breaking changes:
410

bindings/matrix-sdk-ffi/Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ license = "Apache-2.0"
88
readme = "README.md"
99
rust-version = { workspace = true }
1010
repository = "https://github.com/matrix-org/matrix-rust-sdk"
11+
publish = false
1112

1213
[lib]
1314
crate-type = ["cdylib", "staticlib"]
@@ -23,7 +24,7 @@ vergen = { version = "8.1.3", features = ["build", "git", "gitcl"] }
2324
[dependencies]
2425
anyhow = { workspace = true }
2526
as_variant = { workspace = true }
26-
async-compat = "0.2.5"
27+
async-compat = "0.2.4"
2728
eyeball-im = { workspace = true }
2829
extension-trait = "1.0.1"
2930
futures-util = { workspace = true }
@@ -80,4 +81,4 @@ features = [
8081
workspace = true
8182

8283
[package.metadata.release]
83-
release = false
84+
release = true

0 commit comments

Comments
 (0)