mongodb 2.8.2

The official MongoDB driver for Rust
Documentation
[package]
authors = [
    "Saghm Rossi <saghmrossi@gmail.com>",
    "Patrick Freed <patrick.freed@mongodb.com>",
    "Isabel Atkinson <isabel.atkinson@mongodb.com>",
    "Abraham Egnor <abraham.egnor@mongodb.com>",
    "Kaitlin Mahar <kaitlin.mahar@mongodb.com>",
]
description = "The official MongoDB driver for Rust"
edition = "2021"
keywords = ["mongo", "mongodb", "database", "bson", "nosql"]
categories = ["asynchronous", "database", "web-programming"]
repository = "https://github.com/mongodb/mongo-rust-driver"
homepage = "https://www.mongodb.com/docs/drivers/rust/"
license = "Apache-2.0"
readme = "README.md"
name = "mongodb"
version = "2.8.2"

exclude = [
    "etc/**",
    "rustfmt.toml",
    ".evergreen/**",
    ".gitignore",
    "src/test/**",
    "tests/**",
]

# NOTE: any new features added to this list should also be added to the features
# list in the [package.metadata.docs.rs] section below.
[features]
default = ["tokio-runtime"]
tokio-runtime = [
    "tokio/macros",
    "tokio/net",
    "tokio/process",
    "tokio/rt",
    "tokio/time",
    "serde_bytes",
]
async-std-runtime = [
    "async-executor",
    "async-std",
    "async-std/attributes",
    "async-std/unstable",
    "async-std-resolver",
    "tokio-util/compat",
]
sync = ["async-std-runtime"]
tokio-sync = ["tokio-runtime"]
openssl-tls = ["openssl", "openssl-probe", "tokio-openssl"]

# Enable support for v0.4 of the chrono crate in the public API of the BSON library.
bson-chrono-0_4 = ["bson/chrono-0_4"]

# Enable support for the serde_with crate in the BSON library.
bson-serde_with = ["bson/serde_with"]

# Enable support for v0.8 of the uuid crate in the public API of the BSON library.
bson-uuid-0_8 = ["bson/uuid-0_8"]

# Enable support for v1.x of the uuid crate in the public API of the BSON library.
bson-uuid-1 = ["bson/uuid-1"]

# Enable support for MONGODB-AWS authentication.
# This can only be used with the tokio-runtime feature flag.
aws-auth = ["reqwest"]

# Enable support for on-demand Azure KMS credentials.
# This can only be used with the tokio-runtime feature flag.
azure-kms = ["reqwest"]

# Enable support for on-demand GCP KMS credentials.
# This can only be used with the tokio-runtime feature flag.
gcp-kms = ["reqwest"]

zstd-compression = ["zstd"]
zlib-compression = ["flate2"]
snappy-compression = ["snap"]

# Enables support for client-side field level encryption and queryable encryption.
# The In Use Encryption API is unstable and may have backwards-incompatible changes in minor version updates.
in-use-encryption-unstable = ["mongocrypt", "rayon", "num_cpus"]

# Enables support for emitting tracing events.
# The tracing API is unstable and may have backwards-incompatible changes in minor version updates.
# TODO: pending https://github.com/tokio-rs/tracing/issues/2036 stop depending directly on log.
tracing-unstable = ["tracing", "log"]

[dependencies]
async-executor = { version = "=1.5.1", optional = true }  # TODO RUST-1768: remove this
async-trait = "0.1.42"
base64 = "0.13.0"
bitflags = "1.1.0"
bson = "2.8.0"
chrono = { version = "0.4.7", default-features = false, features = ["clock", "std"] }
derivative = "2.1.1"
derive_more = "0.99.17"
flate2 = { version = "1.0", optional = true }
futures-io = "0.3.21"
futures-core = "0.3.14"
futures-util = { version = "0.3.14", features = ["io"] }
futures-executor = "0.3.14"
hex = "0.4.0"
hmac = "0.12.1"
lazy_static = "1.4.0"
log = { version = "0.4.17", optional = true }
md-5 = "0.10.1"
mongocrypt = { version = "0.1.2", optional = true }
num_cpus = { version = "1.13.1", optional = true }
openssl = { version = "0.10.38", optional = true }
openssl-probe = { version = "0.1.5", optional = true }
percent-encoding = "2.0.0"
rand = { version = "0.8.3", features = ["small_rng"] }
rayon = { version = "1.5.3", optional = true }
rustc_version_runtime = "0.2.1"
rustls-pemfile = "1.0.1"
serde_with = "1.3.1"
sha-1 = "0.10.0"
sha2 = "0.10.2"
snap = { version = "1.0.5", optional = true }
socket2 = "0.4.0"
stringprep = "0.1.2"
strsim = "0.10.0"
take_mut = "0.2.2"
thiserror = "1.0.24"
tokio-openssl = { version = "0.6.3", optional = true }
tracing = { version = "0.1.36", optional = true }
trust-dns-proto = "0.21.2"
trust-dns-resolver = "0.21.2"
typed-builder = "0.10.0"
webpki-roots = "0.25.2"
zstd = { version = "0.11.2", optional = true }

[dependencies.async-std]
version = "1.9.0"
optional = true

[dependencies.async-std-resolver]
version = "0.21.1"
optional = true

[dependencies.pbkdf2]
version = "0.11.0"
default-features = false

[dependencies.reqwest]
version = "0.11.2"
optional = true
default-features = false
features = ["json", "rustls-tls"]

[dependencies.rustls]
version = "0.21.6"
features = ["dangerous_configuration"]

[dependencies.serde]
version = "1.0.125"
features = ["derive"]

[dependencies.serde_bytes]
version = "0.11.5"
optional = true

[dependencies.tokio]
version = "1.17.0"
features = ["io-util", "sync", "macros"]

[dependencies.tokio-rustls]
version = "0.24.1"
features = ["dangerous_configuration"]

[dependencies.tokio-util]
version = "0.7.0"
features = ["io", "compat"]

[dependencies.uuid]
version = "1.1.2"
features = ["v4"]

[dev-dependencies]
anyhow = { version = "1.0", features = ["backtrace"] }
approx = "0.5.1"
backtrace = { version = "0.3.68" }
ctrlc = "3.2.2"
function_name = "0.2.1"
futures = "0.3"
hex = "0.4"
home = "0.5"
lambda_runtime = "0.6.0"
pretty_assertions = "1.3.0"
serde = { version = ">= 0.0.0", features = ["rc"] }
serde_json = "1.0.64"
semver = "1.0.0"
time = "0.3.9"
tokio = { version = ">= 0.0.0", features = ["fs", "parking_lot"] }
tracing-subscriber = "0.3.16"
regex = "1.6.0"
serde-hex = "0.1.0"

[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
# async-std-runtime and sync are excluded here because they conflict with the default features.
# Neither feature has any unique documentation associated with it, so we do not need to
# include them in our documentation build.
features = [
    "tokio-sync",
    "zstd-compression",
    "snappy-compression",
    "zlib-compression",
    "openssl-tls",
    "aws-auth",
    "tracing-unstable",
    "in-use-encryption-unstable"
]