[package] name = "deltachat" version = "2.46.0-dev" edition = "2024" license = "MPL-2.0" rust-version = "1.88" repository = "https://github.com/chatmail/core" [profile.dev] debug = 0 panic = 'abort' opt-level = 1 [profile.test] # Make anyhow `backtrace` feature useful. # With `debug = 0` there are no line numbers in the backtrace # produced with RUST_BACKTRACE=1. debug = 1 opt-level = 0 [profile.fuzz] inherits = "test" # Always optimize dependencies. # This does not apply to crates in the workspace. # [profile.dev.package."*"] opt-level = "z" [profile.release] lto = true panic = 'abort' opt-level = "z" codegen-units = 1 strip = true [dependencies] deltachat_derive = { path = "./deltachat_derive" } deltachat-time = { path = "./deltachat-time" } deltachat-contact-tools = { workspace = true } format-flowed = { path = "./format-flowed" } ratelimit = { path = "./deltachat-ratelimit" } anyhow = { workspace = true } async-broadcast = "0.7.2" async-channel = { workspace = true } async-imap = { version = "0.11.1", default-features = false, features = ["runtime-tokio", "compress"] } async-native-tls = { version = "0.6", default-features = false, features = ["runtime-tokio"] } async-smtp = { version = "0.10.2", default-features = false, features = ["runtime-tokio"] } async_zip = { version = "0.0.18", default-features = false, features = ["deflate", "tokio-fs"] } base64 = { workspace = true } blake3 = "1.8.2" brotli = { version = "8", default-features=false, features = ["std"] } bytes = "1" chrono = { workspace = true, features = ["alloc", "clock", "std"] } colorutils-rs = { version = "0.7.5", default-features = false } data-encoding = "2.9.0" escaper = "0.1" fast-socks5 = "1" fd-lock = "4" futures-lite = { workspace = true } futures = { workspace = true } hex = "0.4.0" http-body-util = "0.1.3" humansize = "2" hyper = "1" hyper-util = "0.1.16" image = { version = "0.25.6", default-features=false, features = ["gif", "jpeg", "ico", "png", "pnm", "webp", "bmp"] } iroh-gossip = { version = "0.35", default-features = false, features = ["net"] } iroh = { version = "0.35", default-features = false, features = ["test-utils", "metrics"] } kamadak-exif = "0.6.1" libc = { workspace = true } mail-builder = { version = "0.4.4", default-features = false } mailparse = { workspace = true } mime = "0.3.17" num_cpus = "1.17" num-derive = "0.4" num-traits = { workspace = true } parking_lot = "0.12.4" percent-encoding = "2.3" pgp = { version = "0.19.0", default-features = false } pin-project = "1" qrcodegen = "1.7.0" quick-xml = { version = "0.39", features = ["escape-html"] } rand-old = { package = "rand", version = "0.8" } rand = { workspace = true } regex = { workspace = true } rusqlite = { workspace = true, features = ["sqlcipher"] } sanitize-filename = { workspace = true } sdp = "0.10.0" serde_json = { workspace = true } serde_urlencoded = "0.7.1" serde = { workspace = true, features = ["derive"] } sha-1 = "0.10" sha2 = "0.10" shadowsocks = { version = "1.23.1", default-features = false, features = ["aead-cipher", "aead-cipher-2022"] } smallvec = "1.15.1" strum = "0.28" strum_macros = "0.28" tagger = "4.3.4" textwrap = "0.16.2" thiserror = { workspace = true } tokio-io-timeout = "1.2.1" tokio-rustls = { version = "0.26.2", default-features = false } tokio-stream = { version = "0.1.17", features = ["fs"] } astral-tokio-tar = { version = "0.6", default-features = false } tokio-util = { workspace = true } tokio = { workspace = true, features = ["fs", "rt-multi-thread", "macros"] } toml = "0.9" tracing = "0.1.41" url = "2" uuid = { version = "1", features = ["serde", "v4"] } walkdir = "2.5.0" webpki-roots = "0.26.8" [dev-dependencies] anyhow = { workspace = true, features = ["backtrace"] } # Enable `backtrace` feature in tests. criterion = { version = "0.8.1", features = ["async_tokio"] } futures-lite = { workspace = true } log = { workspace = true } nu-ansi-term = { workspace = true } pretty_assertions = "1.4.1" proptest = { version = "1", default-features = false, features = ["std"] } tempfile = { workspace = true } testdir = "0.9.3" tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } [workspace] members = [ "deltachat-ffi", "deltachat_derive", "deltachat-jsonrpc", "deltachat-rpc-server", "deltachat-ratelimit", "deltachat-repl", "deltachat-time", "format-flowed", "deltachat-contact-tools", "fuzz", ] [[bench]] name = "create_account" harness = false [[bench]] name = "contacts" harness = false [[bench]] name = "search_msgs" harness = false [[bench]] name = "receive_emails" required-features = ["internals"] harness = false [[bench]] name = "decrypting" required-features = ["internals"] harness = false [[bench]] name = "get_chat_msgs" harness = false [[bench]] name = "marknoticed_chat" harness = false [[bench]] name = "get_chatlist" harness = false [[bench]] name = "send_events" harness = false [workspace.dependencies] anyhow = "1" async-channel = "2.5.0" base64 = "0.22" chrono = { version = "0.4.43", default-features = false } deltachat-contact-tools = { path = "deltachat-contact-tools" } deltachat-jsonrpc = { path = "deltachat-jsonrpc", default-features = false } deltachat = { path = ".", default-features = false } futures = "0.3.32" futures-lite = "2.6.1" libc = "0.2" log = "0.4" mailparse = "0.16.1" nu-ansi-term = "0.50" num-traits = "0.2" rand = "0.9" regex = "1.12" rusqlite = "0.37" sanitize-filename = "0.6" serde = "1.0" serde_json = "1" tempfile = "3.25.0" thiserror = "2" tokio = "1" tokio-util = "0.7.18" tracing-subscriber = "0.3" yerpc = "0.6.4" [features] default = ["vendored"] internals = [] vendored = [ "rusqlite/bundled-sqlcipher-vendored-openssl", "async-native-tls/vendored" ] [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }