kache

Kunobi Ninja·kunobi-ninja.kache

Content-addressed zero-copy build cache for Rust, C/C++ and more

kache is a content-addressed, zero-copy build cache for Rust, C/C++ and more. It avoids file copies and wasted disk by hardlinking artifacts locally and sharing them via S3-compatible object storage.

winget install --id kunobi-ninja.kache --exact --source winget

Latest 0.14.0·August 11, 2026

Release Notes

What's Changed

  • fix(heartbeat): prevent stale still-compiling replay by @jleni in #654
  • fix(wrapper): support Kani custom rustc drivers by @jleni in #657
  • fix(cc): cache GNU assembler debug prefix maps by @jleni in #659
  • fix(sharing): never report a partial or unvalidated probe as authoritative by @jleni in #650
  • fix(cc): preserve temporary dep-info artifacts by @jleni in #658
  • feat(rustc): support response files by @jleni in #660
  • Disable daemon idle timeout by default by @jleni in #662
  • feat(cc): detect cc-compatible compilers via -E preprocessing probe by @Ysh204 in #538
  • fix(cc): preserve output path semantics by @jleni in #664
  • fix(probe): drain and scan full probe output so large output can't hide the family marker by @emmanuelm41 in #665
  • feat(wrapper): speed source-churn builds with adaptive incremental compilation by @jleni in #663
  • Reuse known hashes after storing compiler outputs by @scottopell in #544
  • Make the daemon socket path configurable by @scottopell in #542
  • Make the large-output probe test deterministic by @jleni in #666
  • fix(store): finish the two-remover contract in remove_entry_guarded (#510) by @jleni in #667
  • fix(events): exactly-once EventTailer delivery across rotation and short writes (#528) by @jleni in #668
  • test(probe): verify cc -### resolves on a live compiler (#626) by @jleni in #672
  • fix(gc): measure size-based eviction in registered blob bytes (#608) by @jleni in #671
  • fix(daemon): never elect a second writer when the dedup join budget expires (#620) by @jleni in #669
  • fix(store): guard entry removal against a concurrent same-key publication (#670) by @jleni in #675
  • fix(ci): close the three flake classes taxing every PR (#673) by @jleni in #674
  • feat(gc): shadow-evaluate the value-density eviction candidate (#594) by @jleni in #676
  • fix(key): cross-clone convergence — OUT_DIR-relative env-dep sentinel, portable dep-info, validate-on-hit (#330) by @jleni in #684
  • fix(wrapper): stamp restored artifacts with the file-write clock, not the precise clock by @jleni in #679
  • feat(macos): cache a store-time .dSYM alongside executables (#319) by @jleni in #685
  • fix(link,e2e): restore-stamp hardening, Windows write clock, cross-tree contract by @jleni in #683
  • fix(rustc): cache wasm link outputs; stop truncating key-error causes (#431) by @jleni in #690
  • fix(doctor): fail CI on unresolved integrity findings; scrub blobs once, streaming (#176) by @jleni in #692
  • test(remote): pin the filesystem remote's cross-client contract; document share GC (#414) by @jleni in #700
  • fix(daemon): stop leaking the caller's pipe handles to the daemon on Windows (#704) by @jleni in #705
  • ci: route validation to GitHub-hosted runners by @jleni in #713
  • test(service): enforce complete mutation coverage by @jleni in #707
  • fix(key): support crate-scoped path-only environment entries by @jleni in #714
  • feat(policy): add crate-scoped incremental force-list by @jleni in #716
  • fix(stats): report daemon-owned effective configuration by @jleni in #715
  • fix(gc): make retention policy bounded and explicit by @jleni in #718
  • fix(native): harden portable archive identity by @jleni in #717
  • feat(remote): make remote resilience durable and bounded by @jleni in #719
  • fix: stabilize daemon local lookup under load by @jleni in #721
  • fix(extra_inputs): own Cargo warm-target invalidation by @jleni in #726
  • feat(extra_inputs): add workspace declarations and propagation by @jleni in #727
  • test(daemon): make recovery run-lock tests deterministic by @jleni in #729
  • bench(firefox-windows): move the clone under a short work dir by @jleni in #732
  • fix(aur): publish a real pkgver for the -git package by @emmanuelm41 in #731
  • fix(depinfo): keep env-dep escaping intact in the Windows rewrite by @jleni in #733
  • test(daemon): hold the late socket until the waiter observes it by @jleni in #734
  • chore: bump kache to v0.14.0 by @emmanuelm41 in #736
  • fix(key): bump CACHE_KEY_VERSION to 25 for the Windows dep-info rewrite (#730) by @emmanuelm41 in #737 New Contributors
  • @scottopell made their first contribution in #544 Full Changelog: v0.13.0...v0.14.0

Installer type: portable

x642608CEE533CA4541618C93303A40F12D127A4DEFBFE8C20F55D4036BB0AFDF8D
arm647CEA2AD63C170F7E6212B9F83071A7F506A82068C35F198CA50178DF062E18FC

Details

Homepage
https://github.com/kunobi-ninja/kache
License
Apache-2.0
Publisher
Kunobi Ninja
Support
https://kunobi.com/contact
Copyright
2026 Zondax AG
Moniker
kache

Tags

buildbuild-cachecachecicompilerdeveloper-toolsrustrustc

Older versions (3)

0.13.0
x641446023ED89B43A10AA00BFFD5A33783B1E884E809CC7988F2A1356374CE6E3B
arm647E56FEF3BFC443647DA0CA4AEFEA1B5C0B1F3F0CB08B75420E47FAEE2B4C9717
0.12.0
x640857AC0204966CF432EC643FFF71F08C511532C0CB217D9C203530DA1200ABAD
arm6469F66E7AEC60D75D3E5BE331A94555D16227F81C193CA8F265A9C5BF7757CD2C
0.10.0
x640C2E51F73BCA48122BA3CEB9E0D8E8EC464C0DF29DE4228F75482AD964C785B6
arm64847D0E4F1EC097AC26096CE369FBB20635C4DC5D61EC4B3C5279E439884B477F