[workspace] members = ["noq", "noq-proto", "noq-udp", "bench", "perf", "fuzz", "docs/book"] default-members = ["noq", "noq-proto", "noq-udp", "bench", "perf"] resolver = "2" [workspace.package] rust-version = "1.88" edition = "2024" license = "MIT OR Apache-2.0" repository = "https://github.com/n0-computer/noq" keywords = ["quic"] categories = ["network-programming", "asynchronous"] [workspace.dependencies] aes-gcm = { version = "0.10.3", default-features = false, features = ["aes"] } anyhow = "1.0.22" arbitrary = { version = "1.0.1", features = ["derive"] } assert_matches = "1.1" async-io = "2" aws-lc-rs = { version = "1.9", default-features = false } bytes = "1" cfg_aliases = "0.2.1" clap = { version = "4.5", features = ["derive"] } crc = "3" criterion = { version = "0.7", default-features = false, features = ["async_tokio"] } derive_more = { version = "2.1.0", features = ["debug", "deref", "deref_mut", "display", "from", "add", "add_assign"] } directories-next = "2" enum-assoc = "1.3.0" fastbloom = { version = "0.17", default-features = false } futures-io = "0.3.19" getrandom = { version = "0.4", default-features = false } hdrhistogram = { version = "7.2", default-features = false } hex-literal = "0.4" identity-hash = "0.1.0" log = "0.4" lru-slab = "0.1.2" pin-project-lite = "0.2" proptest = { version = "1.9.0", default-features = false, features = ["std"] } qlog = { package = "n0-qlog", version = "0.1.0" } rand = "0.10" rcgen = "0.14" ring = "0.17" rustc-hash = "2" rustls = { version = "0.23.33", default-features = false, features = ["std"] } rustls-pemfile = "2" rustls-pki-types = "1.7" rustls-platform-verifier = "0.7" serde = { version = "1.0", features = ["derive"] } serde_json = "1" slab = "0.4.9" smol = "2" socket2 = ">=0.5, <0.7" sorted-index-buffer = { version = "0.2.0" } test-strategy = "0.4.3" thiserror = "2.0.3" tinyvec = { version = "1.1", features = ["alloc"] } tokio = { version = "1.47", features = ["sync"] } tracing = { version = "0.1.10", default-features = false, features = ["std"] } tracing-futures = { version = "0.2.0", default-features = false, features = ["std-future"] } tracing-subscriber = { version = "0.3.1", default-features = false, features = ["env-filter", "fmt", "ansi", "time", "local-time"] } url = "2" wasm-bindgen-test = { version = "0.3.45" } web-time = "1" windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_System_IO", "Win32_Networking_WinSock", "Win32_System_LibraryLoader"] } # Fix minimal dependencies for indirect deps async-executor = "1.13.0" async-fs = "2.1" async-global-executor = "2.4.1" aws-lc-fips-sys = "0.13.10" aws-lc-sys = "0.39.0" gcc = "0.3.55" http = "1.1.0" lazy_static = "1.5.0" sharded-slab = "0.1.7" [profile.bench] debug = true [profile.release] debug = true [profile.proptests] inherits = "dev" opt-level = 3 [workspace.lints.rust] elided_lifetimes_in_paths = "warn" # https://rust-fuzz.github.io/book/cargo-fuzz/guide.html#cfgfuzzing unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } unnameable_types = "warn" unreachable_pub = "warn" [workspace.lints.clippy] manual_let_else = "warn" or_fun_call = "warn" use_self = "warn"