This RC fixes build-script caching after index upgrades, shared-store restores, and missing Windows DLL import libraries. It also adds optional Blaze routing and updates the v2 guides.
Install the candidate and refresh your setup:
cargo binstall kache --version 2.0.0-rc.3
kache initWhen upgrading from 1.x, install both kache and kache-engine from the same release. Restart the daemon after upgrading. Managed incremental state starts cold once; compiled cache entries remain usable where their keys match.
Added
- Blaze: opt a project in with
kache config set --project cache.blaze true, then keep usingcargo. If Blaze is installed, the Cargo shim routes eligible localbuild,run,test, andcheckcommands throughra-jit; dependency compilations still use Kache where eligible. Routing is off by default and supports Linux and Apple silicon macOS. CI, release builds, explicit profiles and toolchains keep using Cargo. Installing Blaze afterkache initworks. #1750 by @jleni.
Fixed
- Index upgrades: older prediction tables no longer bypass build-script caching with a
prediction_jsonSQL error. Opening the index rebuilds incompatible prediction metadata and preserves compiled entries. #1743 by @jleni. - Miss explanations:
kache explaindates the recorded build and says when details were not recorded. Historical records stay visible; enabling miss recording supplies details for future builds. #1743 by @jleni. - Shared stores: build-script results can be restored from a read-only store. New dep-info blobs are readable by other users with store access. #1749, #1746 by @jleni.
- Windows DLLs: a cache hit restores existing import-library and export sidecars even when rustc's artifact notifications omit them. #1747 by @jleni.
- Generated includes: dotted paths under
OUT_DIRuse the same fingerprints as their normalized spelling, avoiding unnecessary recompilation after relocation. Paths outsideOUT_DIRretain their recorded spelling. #1753 by @jleni and @CheckPickerUpper. - macOS SDKs: Kache recovers the selected SDK's identity from its metadata when
xcrunversion queries fail. Missing or invalid SDKs still prevent caching, and probe failures now include the failed command and its error. #1738 by @jleni. - Prefetch: planning no longer cancels before its candidate plan is available. #1748 by @jleni.
Performance
- Build scripts: cached
OUT_DIRfiles are prepared with up to eight workers. Single-file restores stay on the caller. #1744 by @jleni. - Scheduler: compilers waiting on a full permit pool sleep between availability checks instead of repeatedly reopening slot files every 10 ms. macOS and Linux can wake on permit release; bounded retries cover other cases. #1736 by @jleni.
Docs
- V2 workflows: refreshed installation and upgrade instructions, configuration, worktrees, storage, Windows, monitoring, CI, architecture, and the optional Blaze setup against releases and merged changes. #1754 by @jleni.
Contributors
Full changelog: v2.0.0-rc.2...v2.0.0-rc.3