1[package]
2name = "h2"
3# When releasing to crates.io:
4# - Update CHANGELOG.md.
5# - Create git tag
6version = "0.4.9"
7license = "MIT"
8authors = [
9 "Carl Lerche <me@carllerche.com>",
10 "Sean McArthur <sean@seanmonstar.com>",
11]
12description = "An HTTP/2 client and server"
13documentation = "https://docs.rs/h2"
14repository = "https://github.com/hyperium/h2"
15readme = "README.md"
16keywords = ["http", "async", "non-blocking"]
17categories = ["asynchronous", "web-programming", "network-programming"]
18exclude = ["fixtures/**", "ci/**"]
19edition = "2021"
20rust-version = "1.63"
21
22[features]
23# Enables `futures::Stream` implementations for various types.
24stream = []
25
26# Enables **unstable** APIs. Any API exposed by this feature has no backwards
27# compatibility guarantees. In other words, you should not use this feature for
28# anything besides experimentation. Definitely **do not** publish a crate that
29# depends on this feature.
30unstable = []
31
32[workspace]
33members = [
34 "tests/h2-fuzz",
35 "tests/h2-tests",
36 "tests/h2-support",
37 "util/genfixture",
38 "util/genhuff",
39]
40
41[dependencies]
42atomic-waker = "1.0.0"
43futures-core = { version = "0.3", default-features = false }
44futures-sink = { version = "0.3", default-features = false }
45tokio-util = { version = "0.7.1", features = ["codec", "io"] }
46tokio = { version = "1", features = ["io-util"] }
47bytes = "1"
48http = "1"
49tracing = { version = "0.1.35", default-features = false, features = ["std"] }
50fnv = "1.0.5"
51slab = "0.4.2"
52indexmap = { version = "2", features = ["std"] }
53
54[dev-dependencies]
55
56# Fuzzing
57quickcheck = { version = "1.0.3", default-features = false }
58rand = "0.8.4"
59
60# HPACK fixtures
61hex = "0.4.3"
62walkdir = "2.3.2"
63serde = "1.0.0"
64serde_json = "1.0.0"
65
66# Examples
67tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "net"] }
68env_logger = { version = "0.10", default-features = false }
69tokio-rustls = "0.26"
70webpki-roots = "0.26"
71
72[lints.rust]
73unexpected_cfgs = { level = "warn", check-cfg = ["cfg(fuzzing)"] }
74
75[package.metadata.docs.rs]
76features = ["stream"]
77
78[[bench]]
79name = "main"
80harness = false
81