async-nats 0.35.0

A async Rust NATS client
[package]
name = "async-nats"
authors = ["Tomasz Pietrek <tomasz@nats.io>", "Casper Beyer <caspervonb@pm.me>"]
version = "0.35.0"
edition = "2021"
rust = "1.67.0"
description = "A async Rust NATS client"
license = "Apache-2.0"
documentation = "https://docs.rs/async-nats"
homepage = "https://github.com/nats-io/nats.rs"
repository = "https://github.com/nats-io/nats.rs"
readme = "../README.md"
keywords = ["nats", "client", "messaging", "api"]
categories = ["network-programming", "api-bindings"]

[dependencies]
aws-lc-rs = { version = "1.6", optional = true }
memchr = "2.4"
bytes = { version = "1.4.0", features = ["serde"] }
futures = { version = "0.3.28", default-features = false, features = ["std"] }
nkeys = "0.4"
once_cell = "1.18.0"
regex = "1.9.1"
serde = { version = "1.0.184", features = ["derive"] }
serde_json = "1.0.104"
serde_repr = "0.1.16"
tokio = { version = "1.36", features = ["macros", "rt", "fs", "net", "sync", "time", "io-util"] }
url = { version = "2"}
tokio-rustls = { version = "0.26", default-features = false }
rustls-pemfile = "2"
nuid = "0.5"
serde_nanos = "0.1.3"
time = { version = "0.3.24", features = ["parsing", "formatting", "serde", "serde-well-known"] }
rustls-native-certs = "0.7"
tracing = "0.1"
thiserror = "1.0"
base64 = "0.22"
tryhard = "0.5"
ring = { version = "0.17", optional = true }
rand = "0.8"
webpki = { package = "rustls-webpki", version = "0.102" }
portable-atomic = "1"

[dev-dependencies]
ring = "0.17"
criterion =  { version = "0.5", features = ["async_tokio"]}
nats-server = { path = "../nats-server" }
rand = "0.8"
tokio = { version = "1.25.0", features = ["rt-multi-thread"] }
futures = { version = "0.3.28", default-features = false, features = ["std", "async-await"] }
tracing-subscriber = "0.3"
async-nats = {path = ".", features = ["experimental"]}
reqwest = "0.11.18"
jsonschema = "0.17.1"

# for -Z minimal-versions
num = "0.4.1"


[features]
default = ["server_2_10", "ring"]
# Enables Service API for the client.
service = []
aws-lc-rs = ["dep:aws-lc-rs", "tokio-rustls/aws-lc-rs"]
ring = ["dep:ring", "tokio-rustls/ring"]
fips = ["aws-lc-rs", "tokio-rustls/fips"]
# All experimental features are part of this feature flag.
experimental = ["service"]
# Features that require nats-server version 2.10 or higher.
# It is enabled by default since official 2.10 nats-server release.
"server_2_10" = []
# Used for enabling/disabling tests that by design take a lot of time to  complete.
# Those tests are usually used for time-sensitive checks, like consumer heartbeats, longer timeouts, etc.
slow_tests = []
# Used for tests that ensure compatibility across client libraries in APIs that are abstraction
# layer build on top of NATS server features (Service API, KV, Object Store etc.)
compatibility_tests = []


[[bench]]
name = "main"
harness = false
lto = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]