tdsql 0.6.0

Ergonomic async Microsoft SQL Server client for Rust, with typed rows and multi-result-set support
Documentation
[package]
name = "tdsql"
version = "0.6.0"
edition = "2024"
# Edition 2024 turns on Cargo's MSRV-aware resolver, so a fresh build picks
# dependency versions that still support `rust-version`. CI depends on that,
# because Cargo.lock is not committed.
rust-version = "1.97"
authors = ["CommonwealthPasta"]
description = "Ergonomic async Microsoft SQL Server client for Rust, with typed rows and multi-result-set support"
license = "MIT"
readme = "README.md"
keywords = ["sqlserver", "mssql", "database", "tds", "async"]
categories = ["database", "asynchronous"]
repository = "https://github.com/CommonwealthPasta/tdsql"

[features]
default = []
# A synchronous client that owns its own runtime; see the `blocking` module.
blocking = ["tokio/rt-multi-thread"]

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

[dependencies]
tiberius = { package = "tiberius-ng", version = "0.13.1", default-features = false, features = ["native-tls", "tds73", "tds80", "chrono", "rust_decimal"] }
thiserror = "2.0.20"
futures = "0.3.34"
chrono = { version = "0.4.45", features = ["clock"] }
tokio-util = { version = "0.7.19", features = ["compat"] }
tokio = { version = "1.53", features = ["net", "time", "rt", "sync"] }
uuid = "1.26"
rust_decimal = "1.43"

[dev-dependencies]
tokio = { version = "1.53", features = ["macros", "rt-multi-thread"] }
# Depending on ourselves as a dev-dependency turns on `blocking` for test
# targets only, so `cargo test` covers the feature-gated examples without
# adding it to the default feature set. Path-only dev-dependencies are
# stripped when the crate is published.
tdsql = { path = ".", features = ["blocking"] }

[[example]]
name = "blocking"
required-features = ["blocking"]

# Cancelling a query needs the fork's `cancel_query` fix, until upstream
# releases it. `[patch]` only applies when tdsql is the root crate, so
# applications built on tdsql need this section too.
[patch.crates-io]
tiberius-ng = { git = "https://github.com/CommonwealthPasta/tiberius-ng", rev = "f6c15bb2ff110288bc32ed766ece2370e04d9241" }