[package]
name = "tds-protocol"
description = "Pure MS-TDS protocol implementation for SQL Server (no_std compatible)"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
keywords = ["tds", "sql-server", "protocol", "no_std"]
categories = ["parser-implementations", "no-std"]

[package.metadata.docs.rs]
# Without this, docs.rs builds default features only, hiding non-default public
# API. All features build on docs.rs (Linux), so document them all.
all-features = true

[features]
default = ["std", "encoding"]
std = []
alloc = []
# Collation-aware string encoding/decoding support
# Enables Collation::encoding() method for proper VARCHAR decoding
encoding = ["dep:encoding_rs"]

[dependencies]
bytes = { workspace = true }
thiserror = { workspace = true }
bitflags = "2.6"
# Optional: encoding support for collation-aware VARCHAR decoding
encoding_rs = { version = "0.8", optional = true }

[dev-dependencies]
criterion = { workspace = true }

[[bench]]
name = "protocol"
harness = false

[package.metadata.cargo-machete]
# criterion for benchmarks
ignored = ["criterion"]

[lints]
workspace = true
