github kunobi-ninja/kache v0.28.0
v0.28.0: faster Rust rebuilds, safer cache recovery

3 hours ago

Kache 0.28.0 speeds up Rust rebuilds and improves cache recovery. It avoids extra compiler work when a cached input record changes, reports artifacts stored on volume shards, and repairs damaged cache entries without blocking the rest of the store.

Install or upgrade with cargo install kache.

Highlights

  • Rust units can start compiling while Kache determines their cache key. A cached result still stops the compile and restores the artifact. #1331
  • Edited units can reuse incremental compiler state before Kache rediscovers inputs. #1335
  • Cache diagnostics and repair now cover mapped volume shards. #1334

Fixed

  • Cache repair: A damaged entry no longer prevents the blob index from being rebuilt. Kache removes entries it cannot verify and repairs the remaining store. #1325
  • macOS: Rust's strip tools can find the toolchain libraries when Kache starts the compiler. If stripping still fails, Kache avoids storing that build and evicts older affected entries when they are read. #1330
  • Codegen backends: Cache keys include the library behind a named Rust codegen backend, so rebuilding that backend cannot reuse output from its previous version. Builds using a named backend will miss the cache once after upgrading. #1333
  • Volume shards: stats, report, list, why-miss, and doctor now account for mapped stores and their contents. #1334

Performance

  • Rust compiler lookup: Kache resolves a bare rustc name through PATH, allowing the version and sysroot caches to work when Cargo invokes the wrapper that way. #1321
  • Rust rebuilds: Kache can derive an input key from the running compile instead of launching a separate dependency scan. This applies to eligible non-linking Cargo units that report JSON artifacts. #1331
  • Incremental edits: Eligible cache misses can start from an existing incremental seed without an input rediscovery pass. #1335

Full changelog: v0.27.0...v0.28.0

Don't miss a new kache release

NewReleases is sending notifications on new releases.