atagen

matrix-rust-sdk

public
Star0
Watch0
ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk.git
crates/matrix-sdk-crypto/Cargo.tomlToml108 lines3.6 KB
1
[package]
2
authors = ["Damir Jelić <poljar@termina.org.uk>"]
3
description = "Matrix encryption library"
4
edition = "2024"
5
homepage = "https://github.com/matrix-org/matrix-rust-sdk"
6
keywords = ["matrix", "chat", "messaging", "ruma", "nio"]
7
license = "Apache-2.0"
8
name = "matrix-sdk-crypto"
9
readme = "README.md"
10
repository = "https://github.com/matrix-org/matrix-rust-sdk"
11
rust-version = { workspace = true }
12
version = "0.18.0"
13
14
[package.metadata.docs.rs]
15
rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]
16
17
[features]
18
default = []
19
automatic-room-key-forwarding = []
20
experimental-send-custom-to-device = []
21
22
# Enable experimental support for encrypting state events; see
23
# https://github.com/matrix-org/matrix-rust-sdk/issues/5397.
24
experimental-encrypted-state-events = [
25
    "matrix-sdk-common/experimental-encrypted-state-events",
26
    "ruma/unstable-msc4362"
27
]
28
29
js = ["ruma/js", "vodozemac/js", "matrix-sdk-common/js"]
30
qrcode = ["dep:matrix-sdk-qrcode"]
31
experimental-algorithms = []
32
uniffi = ["dep:uniffi"]
33
_disable-minimum-rotation-period-ms = []
34
35
# Private feature, see
36
# https://github.com/matrix-org/matrix-rust-sdk/pull/3749#issuecomment-2312939823 for the gory
37
# details.
38
test-send-sync = []
39
40
# Testing helpers for implementations based upon this
41
testing = ["matrix-sdk-test"]
42
43
# Enable experimental support for pushing secrets; see
44
# https://github.com/matrix-org/matrix-spec-proposals/pull/4385
45
experimental-push-secrets = []
46
47
[dependencies]
48
aes = { version = "0.8.4", default-features = false }
49
aquamarine.workspace = true
50
as_variant.workspace = true
51
async-trait.workspace = true
52
bs58 = { version = "0.5.1", default-features = false, features = ["std"] }
53
byteorder.workspace = true
54
cfg-if.workspace = true
55
ctr = { version = "0.9.2", default-features = false }
56
eyeball.workspace = true
57
futures-core.workspace = true
58
futures-util.workspace = true
59
hkdf.workspace = true
60
hmac.workspace = true
61
itertools.workspace = true
62
js_option = { version = "0.2.0", default-features = false }
63
matrix-sdk-common.workspace = true
64
matrix-sdk-qrcode = { workspace = true, optional = true }
65
matrix-sdk-test = { workspace = true, optional = true }  # feature = testing only
66
pbkdf2.workspace = true
67
rand.workspace = true
68
rmp-serde.workspace = true
69
ruma = { workspace = true, features = ["rand", "unstable-msc3814"] }
70
serde = { workspace = true, features = ["derive", "rc"] }
71
serde_json.workspace = true
72
sha2.workspace = true
73
subtle = { version = "2.6.1", default-features = false, features = ["std", "i128"] }
74
thiserror.workspace = true
75
time = { version = "0.3.47", default-features = false, features = ["std", "formatting"] }
76
tokio.workspace = true
77
tokio-stream = { workspace = true, features = ["sync"] }
78
tracing = { workspace = true, features = ["attributes"] }
79
ulid = { version = "1.1.4", default-features = false, features = ["std"] }
80
uniffi = { workspace = true, optional = true }
81
url.workspace = true
82
vodozemac.workspace = true
83
zeroize = { workspace = true, features = ["zeroize_derive"] }
84
85
[target.'cfg(not(target_family = "wasm"))'.dependencies]
86
tokio = { workspace = true, features = ["time"] }
87
88
[target.'cfg(target_family = "wasm")'.dependencies]
89
tokio.workspace = true
90
91
[dev-dependencies]
92
anyhow.workspace = true
93
assert_matches.workspace = true
94
assert_matches2.workspace = true
95
futures-executor.workspace = true
96
http.workspace = true
97
insta.workspace = true
98
matrix-sdk-test.workspace = true
99
matrix-sdk-test-utils.workspace = true
100
proptest.workspace = true
101
rmp-serde.workspace = true
102
similar-asserts.workspace = true
103
# required for async_test macro
104
stream_assert.workspace = true
105
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
106
107
[lints]
108
workspace = true