delta-kit 0.2.1

Binary delta codec: Rabin rolling-hash copy/insert opcodes, prefix/suffix fast-path, XOR+Zstd binary mode, binary-safe.
Documentation
[package]
name = "delta-kit"
version = "0.2.1"
edition = "2021"
rust-version = "1.85"
license = "MIT OR Apache-2.0"
repository = "https://github.com/WyattAu/delta-kit"
description = "Binary delta codec: Rabin rolling-hash copy/insert opcodes, prefix/suffix fast-path, XOR+Zstd binary mode, binary-safe."
readme = "README.md"
keywords = ["delta", "diff", "binary-diff", "codec", "rolling-hash"]
categories = ["data-structures", "compression"]
exclude = ["/target"]

[dependencies]
blake3 = { version = "1.8", default-features = false }
thiserror = { version = "2.0", default-features = false }
# no_std HashMap: alloc has no HashMap (needs std RandomState); hashbrown
# with default-hasher provides the std-compatible SipHash variant.
hashbrown = { version = "0.17", default-features = false, features = ["default-hasher"] }
zstd = { version = "0.13", optional = true }

[dev-dependencies]
proptest = "1.6"
criterion = { version = "0.5" }
iai-callgrind = "0.16"

[[bench]]
name = "delta_bench"
harness = false
required-features = ["std"]

# Deterministic CI perf gate (instruction counts under valgrind). Not run
# locally unless valgrind is installed; see benches/iai_delta.rs.
[[bench]]
name = "iai_delta"
harness = false
required-features = ["std"]

[features]
default = ["zstd"]
# Core-only build: rolling-hash + apply paths need only `alloc`.
std = []
# zstd compression is std-bound; implies `std`.
zstd = ["dep:zstd", "std"]

[lints.clippy]
unwrap_used = "warn"
expect_used = "warn"