Aquí hi ha 4 versions de kache (Unstable), des de 29 de juliol del 2026 fins a l’actual, 2.0.0-rc.1. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 2.0.0-rc.1Darrera versió | 25 d’octubre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióThis release candidate splits the compiler client from kache-engine, adds incremental reuse between local worktrees, and checks real cache restores with kache doctor --probe. Custom installations must now ship both executables. Use this RC to validate installations and upgrades before 2.0.0 stable.
cargo install kache --locked --version 2.0.0-rc.1
kache init
Highlights
- Compiler processes and artifact restores stay in the client while the daemon coordinates the cache pipeline on Linux, macOS and Windows.
- Compatible worktrees can reuse local incremental state on rustc 1.98 or later. Imports use private clones or copies.
- kache doctor --probe verifies a cold compilation followed by a local cache hit.
Added
- Diagnostics: kache doctor --probe compiles a small Rust library in a temporary local cache, removes the output, and checks that Kache restores identical bytes without invoking rustc again. Doctor also reports cache access failures, disk and inode pressure, and differences between client and daemon settings. #1707 by @jleni.
- Incremental builds: compatible worktrees seed local incremental state automatically on rustc 1.98 or later. Set KACHE_SEED_INCREMENTAL=0 to opt out. #1647 by @jleni.
Fixed
- Remote resilience: speculative dependency lookups honor the circuit breaker and configured restore deadline, so optional requests do not keep retrying a degraded remote. #1715 by @jleni.
- Rust metadata: restored metadata stays writable for cargo fix and cargo clippy --fix. Incremental imports no longer share writable files with their donor, including ThinLTO state. #1704 by @mvanhorn and @jleni.
- Cache keys: track optional-header changes, the selected Linux linker, and Windows resource and default-library inputs. #1638, #1664, #1684, #1701 by @jleni, @viktorius007, @TastyCZ and @Veykril.
- Windows: opt-in executable caching restores matching PDBs alongside executables and rejects unsupported debug layouts. #1685 by @jleni, adopting @TastyCZ's contribution.
- C/C++ headers: transparent aliases of __has_include remain cacheable while optional-header changes still invalidate affected entries. #1713 by @jleni.
- Worktree seeds: copied Cargo metadata refers to the receiving checkout, so removing the donor does not leave stale dependency paths. #1694 by @jleni.
- Statistics and sync: time-window reports include rotated event logs, text summaries show per-source hits, and filtered pulls resolve compiler target names. #1646, #1671, #1710 by @jleni and @TastyCZ.
Breaking Changes
- Installation: install matching kache and kache-engine executables in the same directory. Update scripts and container images that copy only kache. Manual Windows installs use the paired ZIP; standalone EXE release assets are discontinued. #1639.
- Daemon protocol: run kache daemon restart after upgrading. The new execution protocol rejects older peers before accepting compilation ownership. #1702.
- Incremental state: finish active builds before upgrading. Managed incremental state starts cold once and is recreated with private files. #1704.
Performance
- The small client delegates cache planning to the persistent daemon while retaining native compiler execution and restores. #1639, #1702.
- Daemon admission scales with CPU count and Unix descriptor headroom. Override it with cache.daemon_execution_concurrency or KACHE_DAEMON_EXECUTION_CONCURRENCY, then restart the daemon. #1705.
New Contributors
- @mvanhorn made their first contribution in #1704
Contributors
Credits include commit authors and coauthors of adopted contributions in this release.
mvanhorn Akagi201 burin-labs-agent jleni skyf0l TastyCZ Veykril viktorius007
Full changelog: v1.2.2...v2.0.0-rc.1 |
| 0.15.0-rc.3 | 23 d’agost del 2026 | — | 64 bits PortableARM64 Portable Notes de la versióWhat's Changed
- fix(lint): satisfy Rust 1.98's chunks_exact_to_as_chunks in the Mach-O parser by @jleni in #789
- fix(nix): drop unneeded apple-sdk_15 dependency (#610) by @Ysh204 in #788
- test(e2e): gate in-flight coalescing across simultaneous cargo invocations by @jleni in #791
- feat(config): declarative bypass rules for argv, env and crate name (#222) by @jleni in #793
- fix(daemon): stop an auto-started daemon inheriting an ambient remote (#706) by @jleni in #795
- fix: isolate concurrent hardlink restores by @jleni in #797
- feat(cc): compiler-name shims for transparent, config-free interception (#310) by @jleni in #796
- chore(release): 0.15.0-rc.3 by @jleni in #799
Full Changelog: v0.15.0-rc.2...v0.15.0-rc.3 |
| 0.15.0-rc.2 | 21 d’agost del 2026 | — | 64 bits PortableARM64 Portable Notes de la versióWhat's Changed
- feat(service): serve planner metrics and let SigNoz scrape them by @jleni in #753
- fix(release): keep prereleases off the floating image tags by @jleni in #755
- chore(release): 0.15.0-rc.1 by @jleni in #754
- feat(cli): page kache list output through a pager by @jleni in #764
- fix(cli): report reclaimable bytes, not raw sizes, in kache clean by @jleni in #765
- fix(cargo): keep canonical config aliases transparent by @jleni in #768
- fix(chart): force Recreate when the planner DB is on a PVC by @jleni in #767
- fix(cc): cache ordinary existing outputs by @jleni in #772
- feat(gc): reclaim stale cache key schemas by @jleni in #773
- fix(test): tolerate unsupported FIEMAP on ZFS by @jleni in #771
- fix(probe): pin LC_ALL=C on compiler probe spawns (#741) by @Ysh204 in #775
- fix(probe): eliminate env-mutation race in probe_key tests (#742) by @Ysh204 in #776
- fix(cache_key): make the key stashes thread-local (#777) by @jleni in #778
- fix(rust): isolate cache inputs across worktrees by @jleni in #769
- fix(tui): stop Esc quitting, scope filters per tab, fix Shift+Tab by @jleni in #780
- fix(wrapper): make minted session ids distinct under coarse clocks by @jleni in #781
- fix(policy): stop transient read failures destroying learned state (#756) by @jleni in #783
- feat(nix): maintain a stable release branch via the release job by @jleni in #770
- fix(bench): give firefox-windows the pull job's working toolchain path (#728) by @jleni in #784
- feat(report): version and regression-test the JSON output contract (#699) by @Ysh204 in #779
- fix(sync): return non-zero when any transfer or import fails (#697) by @Ysh204 in #786
- fix(store): serialize meta.json lifecycle with the registration lock by @jleni in #785
- chore(release): 0.15.0-rc.2 by @jleni in #787
Full Changelog: v0.14.2...v0.15.0-rc.2 |
| 0.8.0-rc.1 | 29 de juliol del 2026 | — | 64 bits PortableARM64 Portable |