[package]
authors = ["Damir Jelić <poljar@termina.org.uk>"]
description = "A high level Matrix client-server library."
edition = "2018"
homepage = "https://github.com/matrix-org/matrix-rust-sdk"
keywords = ["matrix", "chat", "messaging", "ruma", "nio"]
license = "Apache-2.0"
name = "matrix-sdk"
readme = "README.md"
repository = "https://github.com/matrix-org/matrix-rust-sdk"
version = "0.3.0"

[package.metadata.docs.rs]
features = ["docs"]
rustdoc-args = ["--cfg", "feature=\"docs\""]

[features]
default = ["encryption", "sled_cryptostore", "sled_state_store", "require_auth_for_profile_requests", "native-tls"]

encryption = ["matrix-sdk-base/encryption"]
sled_state_store = ["matrix-sdk-base/sled_state_store"]
sled_cryptostore = ["matrix-sdk-base/sled_cryptostore"]
markdown = ["matrix-sdk-base/markdown"]
native-tls = ["reqwest/native-tls"]
rustls-tls = ["reqwest/rustls-tls"]
socks = ["reqwest/socks"]
sso_login = ["warp", "rand", "tokio-stream"]
require_auth_for_profile_requests = []
appservice = ["ruma/appservice-api-s", "ruma/appservice-api-helper", "ruma/rand"]

docs = ["encryption", "sled_cryptostore", "sled_state_store", "sso_login"]

[dependencies]
dashmap = "4.0.2"
futures = "0.3.15"
http = "0.2.4"
serde_json = "1.0.64"
thiserror = "1.0.25"
tracing = "0.1.26"
url = "2.2.2"
zeroize = "1.3.0"
mime = "0.3.16"
rand = { version = "0.8.4", optional = true }
bytes = "1.0.1"

matrix-sdk-common = { version = "0.3.0", path = "../matrix_sdk_common" }

[dependencies.matrix-sdk-base]
version = "0.3.0"
path = "../matrix_sdk_base"
default_features = false

[dependencies.reqwest]
version = "0.11.3"
default_features = false

[dependencies.ruma]
version = "0.2.0"
features = ["client-api-c", "compat", "unstable-pre-spec"]

[dependencies.tokio-stream]
version = "0.1.6"
features = ["net"]
optional = true

[dependencies.warp]
version = "0.3.1"
default-features = false
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.backoff]
version = "0.3.0"
features = ["tokio"]

[dependencies.tracing-futures]
version = "0.2.5"
default-features = false
features = ["std", "std-future"]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
futures-timer = "3.0.2"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.7.1"
default-features = false
features = ["fs", "rt"]

[target.'cfg(target_arch = "wasm32")'.dependencies.futures-timer]
version = "3.0.2"
features = ["wasm-bindgen"]

[dev-dependencies]
dirs = "3.0.2"
matrix-sdk-test = { version = "0.3.0", path = "../matrix_sdk_test" }
tokio = { version = "1.7.1", default-features = false, features = ["rt-multi-thread", "macros"] }
serde_json = "1.0.64"
tracing-subscriber = "0.2.18"
tempfile = "3.2.0"
mockito = "0.30.0"
lazy_static = "1.4.0"

[[example]]
name = "emoji_verification"
required-features = ["encryption"]
