github kunobi-ninja/kache v2.0.0-rc.3
v2.0.0-rc.3: shared-store fixes, optional Blaze, refreshed v2 docs

pre-release5 hours ago

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 init

When 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 using cargo. If Blaze is installed, the Cargo shim routes eligible local build, run, test, and check commands through ra-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 after kache init works. #1750 by @jleni.

Fixed

  • Index upgrades: older prediction tables no longer bypass build-script caching with a prediction_json SQL error. Opening the index rebuilds incompatible prediction metadata and preserves compiled entries. #1743 by @jleni.
  • Miss explanations: kache explain dates 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_DIR use the same fingerprints as their normalized spelling, avoiding unnecessary recompilation after relocation. Paths outside OUT_DIR retain their recorded spelling. #1753 by @jleni and @CheckPickerUpper.
  • macOS SDKs: Kache recovers the selected SDK's identity from its metadata when xcrun version 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_DIR files 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

CheckPickerUpper jleni

Full changelog: v2.0.0-rc.2...v2.0.0-rc.3

Don't miss a new kache release

NewReleases is sending notifications on new releases.