[package]
name = "matrix-sdk-sqlite"
version = "0.16.0"
edition = "2021"
repository = "https://github.com/matrix-org/matrix-rust-sdk"
description = "Sqlite storage backend for matrix-sdk"
license = "Apache-2.0"
rust-version.workspace = true

[package.metadata.docs.rs]
rustdoc-args = ["--generate-link-to-definition"]

[features]
default = ["state-store", "event-cache"]
testing = ["matrix-sdk-crypto?/testing"]

bundled = ["rusqlite/bundled"]
crypto-store = ["dep:matrix-sdk-base", "dep:matrix-sdk-crypto"]
event-cache = ["dep:matrix-sdk-base"]
state-store = ["dep:matrix-sdk-base"]

experimental-encrypted-state-events = [
    "matrix-sdk-crypto?/experimental-encrypted-state-events"
]

[dependencies]
as_variant.workspace = true
async-trait.workspace = true
deadpool = { version = "0.12.3", features = ["rt_tokio_1"] }
deadpool-sync = "0.1.4"
itertools.workspace = true
matrix-sdk-base = { workspace = true, optional = true }
matrix-sdk-crypto = { workspace = true, optional = true }
matrix-sdk-store-encryption.workspace = true
num_cpus = "1.17.0"
rmp-serde.workspace = true
ruma.workspace = true
rusqlite = { version = "0.37.0", features = ["limits"] }
serde.workspace = true
serde_json.workspace = true
serde_path_to_error = "0.1.20"
thiserror.workspace = true
tokio = { workspace = true, features = ["fs"] }
tracing.workspace = true
vodozemac.workspace = true
zeroize.workspace = true

[dev-dependencies]
assert_matches.workspace = true
glob = "0.3.3"
matrix-sdk-base = { workspace = true, features = ["testing"] }
matrix-sdk-common.workspace = true
matrix-sdk-crypto = { workspace = true, features = ["testing"] }
matrix-sdk-test.workspace = true
matrix-sdk-test-utils.workspace = true
once_cell.workspace = true
similar-asserts.workspace = true
tempfile.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }

[lints]
workspace = true
