[workspace]
members = ["quinn", "quinn-proto", "quinn-udp", "bench", "perf", "fuzz", "docs/book"]
default-members = ["quinn", "quinn-proto", "quinn-udp", "bench", "perf"]
resolver = "2"
[workspace.package]
rust-version = "1.88"
edition = "2024"
license = "MIT OR Apache-2.0"
repository = "https://github.com/quinn-rs/quinn"
keywords = ["quic"]
categories = ["network-programming", "asynchronous"]
[workspace.dependencies]
anyhow = "1.0.22"
arbitrary = { version = "1.0.1", features = ["derive"] }
async-io = "2"
assert_matches = "1.1"
aws-lc-rs = { version = "1.9", default-features = false }
criterion = { version = "0.7", default-features = false, features = ["async_tokio"] }
bytes = "1"
clap = { version = "4.5", features = ["derive"] }
crc = "3"
directories-next = "2"
fastbloom = "0.14"
futures-io = "0.3.19"
getrandom = { version = "0.3", default-features = false }
hdrhistogram = { version = "7.2", default-features = false }
hex-literal = "0.4"
identity-hash = "0.1.0"
lru-slab = "0.1.2"
log = "0.4"
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.9"
rcgen = "0.14"
ring = "0.17"
rustc-hash = "2"
rustls = { version = "0.23.33", default-features = false, features = ["std"] }
rustls-pemfile = "2"
rustls-platform-verifier = "0.6"
rustls-pki-types = "1.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"] }
cfg_aliases = "0.2.1"
# Fix minimal dependencies for indirect deps
async-global-executor = "2.4.1"
async-fs = "2.1"
async-executor = "1.13.0"
aws-lc-fips-sys = "0.13.10"
aws-lc-sys = "0.34.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
[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]
or_fun_call = "warn"
use_self = "warn"