git-internal 0.8.4

High-performance Rust library for Git internal objects, Pack files, and AI-assisted development objects (Intent, Plan, Task, Run, Evidence, Decision) with delta compression, streaming I/O, and smart protocol support.
Documentation
[package]
name = "git-internal"
version = "0.8.4"
edition = "2024"
authors = ["Eli Ma <genedna@gmail.com>"]
description = "High-performance Rust library for Git internal objects, Pack files, and AI-assisted development objects (Intent, Plan, Task, Run, Evidence, Decision) with delta compression, streaming I/O, and smart protocol support."
keywords = ["git", "pack", "delta", "ai-objects", "monorepo"]
categories = ["development-tools", "encoding", "parser-implementations"]
documentation = "https://libra.tools/docs/internal"
readme = "README.md"
homepage = "https://libra.tools"
repository = "https://github.com/libra-tools/git-internal"
license = "MIT"
exclude = ["tests", ".github", ".claude", ".devcontainer", "examples"]

[badges]
maintenance = { status = "actively-developed" }

[dependencies]
bstr = "1.12.3"
hex = "0.4.3"
thiserror = "2.0.18"
tracing = "0.1.44"
tracing-subscriber = "0.3.23"
sha1 = "0.11.0"
colored = "3.1.1"
threadpool = "1.8.1"
num_cpus = "1.17.0"
dashmap = "6.2.1"
lru-mem = "0.3.0"
byteorder = "1.5.0"
futures-util = "0.3.32"
bytes = "1.12.0"
memchr = "2.8.2"
encoding_rs = "0.8.35"
rayon = "1.12.0"
ahash = "0.8.12"
diffs = "0.5.1"
libc = "0.2.186"
async-trait = "0.1.89"
futures = "0.3.32"
tokio-stream = "0.1.18"
natord = "1.0.9"
tempfile = "3.27.0"
path-absolutize = "3.1.1"
similar = "3.1.1"
sha2 = "0.11.0"
crc32fast = "1.5.0"
ring = "0.17.14"
serde_json = "1.0.150"
zstd-sys = { version = "2.0.16", features = ["experimental"] }
sea-orm = { version = "1.1.20", features = ["sqlx-sqlite"] }
flate2 = { version = "1.1.9", default-features = false, features = ["zlib-rs"] }
serde = { version = "1.0.228", features = ["derive"] }
chrono = { version = "0.4.45", features = ["serde"] }
uuid = { version = "1.23.4", features = ["serde", "v4", "v7"] }
tokio = { version = "1.52.3", features = ["fs", "io-util"] }
rkyv = { version = "0.8.17", features = ["bytecheck"] }
axum = { version = "0.8.9", features = ["macros", "json"] }

[dev-dependencies]
tokio = { version = "1.52.3", features = ["full"] }
tokio-util = { version = "0.7.18", features = ["io"] }
quickcheck = "1.1.0"
rand = "0.10.2"
chacha20 = "0.10.1"
ureq = "3.3.0"

[features]
default = ["diff_rabin"]
diff_mydrs = []
diff_rabin = []

# Match extension implementation variants (only one should be active at a time;
# default is word-at-a-time, the fastest in benchmarks)
delta-stats = []
extend-indexed = []
extend-sliced-iter = []
extend-sliced-index = []
extend-ptr = []
extend-word = []

# Hash bucket scan optimizations
bucket-precheck = []

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage)'] }

[profile.release]
lto = "fat"
codegen-units = 1