cd /news/developer-tools/kache-v0-21-caching-c-c-links-nvcc-o… · home topics developer-tools article
[ARTICLE · art-128876] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Kache v0.21:caching C/C++ links,nvcc objects,and the Clang-CL flags Firefox uses

Kache v0.21.0 was released by the kunobi-ninja project, adding opt-in caching for C/C++ whole-program links, single-source nvcc -c compiles, and clang-cl flags used by Firefox Windows builds. The release also introduces the KACHE_TRUST_DOMAIN environment variable to isolate a persistent local store under $KACHE_CACHE_DIR/<label>/ and reads host defaults from /etc/kache/config.toml. Kache 0.21.0 ships via cargo install, Homebrew, Scoop, and GitHub release binaries.

read2 min views2 publishedSep 14, 2026
Kache v0.21:caching C/C++ links,nvcc objects,and the Clang-CL flags Firefox uses
Image: Michielbdejong (auto-discovered)

pecorino-botreleased this

1 committo main since this release

This release caches more of a real C/C++ compile: opt-in whole-program links, preprocessor -E to stdout, and the clang-cl flags Firefox Windows actually passes. Single-source nvcc -c is cached. A machine can set defaults under the job file, and a trusted node disk can isolate stores with KACHE_TRUST_DOMAIN.

cargo install kache --locked --version 0.21.0

Homebrew, Scoop, and the GitHub release binaries also ship 0.21.0.

Highlights #

  • Links and -E: C/C++ whole-program links cache when you opt in.-E without-o stores the expansion and reprints it on stdout.
  • Windows C++: clang-cl-Oy ,-Zl ,/fp:fast , and/clang:… are keyed, so those Firefox TUs stop passing through.
  • CUDA and the machine:nvcc -c is cached./etc/kache/config.toml is the host layer.KACHE_TRUST_DOMAIN scopes a persistent local store.

Added #

cc: Whole-program links and their sidecars cache whenKACHE_CACHE_CC_LINKS is on. Off by default. Restored binaries are signed on macOS;.dSYM directories store as{name}.dsym.tar . Include search treats a file in the middle of a-I path like a missing directory. Closed-set-m flags are keyed. Windows cargo-linker wrappers followMOZ_CARGO_WRAP_(HOST_)LD . (#1040 ,#1044 by@jleni )

[cache]
cache_cc_links = true
export KACHE_CACHE_CC_LINKS=1

cc:-E without-o stores the expansion as astdout.i blob and writes it back to process stdout on a hit. Named-E -o file.i already cached.-o - still passes through. (#1053 by@jleni ) #

nvcc: Single-source-c compiles go through the local store and remote.-march=native ,-arch=native , and mode-changingNVCC_PREPEND_FLAGS /NVCC_APPEND_FLAGS refuse instead of sharing a key across machines. (#1038 ,#1042 ,#1050 by@jleni ) #

config:/etc/kache/config.toml is read under the chosen file. Env still wins.KACHE_HOST_CONFIG points at another host file; empty turns the layer off.kache doctor names which host key a job overrides. (#1039 by@jleni ) #

cache:KACHE_TRUST_DOMAIN isolates the store at$KACHE_CACHE_DIR/<label>/ . One path component ([A-Za-z0-9._-] ). Invalid labels leave the path unchanged. KeepKACHE_RUNTIME_DIR on job scratch. Do not set this on public or fork jobs. (#1046 by@jleni )

export KACHE_CACHE_DIR=/var/cache/kache
export KACHE_TRUST_DOMAIN=github.kunobi-ninja.kache
export KACHE_RUNTIME_DIR="$RUNNER_TEMP/kache-runtime"

telemetry:kache stats andkache telemetry write report index/WAL size and last GC.KACHE_RECORD_SESSIONS=1 appends session and GC logs under the cache dir. Off by default. (#1041 by@jleni )

Fixed #

  • cc: clang-cl-Oy (omit frame pointer),-Zl ,/fp:fast ,/clang:<flag> ,-fcxx-exceptions , and-ffreestanding are classified. (#1048 ,#1049 by@jleni )
  • shims: Homebrew compiler shims point atopt/<formula>/bin/kache , so they survive formula upgrades. Legacy keg links migrate. (#1043 by@achembarpu ,#1045 by@jleni )

Docs #

  • CUDA getting-started for nvcc -c . (#1042 by@jleni )
  • CI node-local store: KACHE_TRUST_DOMAIN andKACHE_RUNTIME_DIR . (#1046 by@jleni )

New Contributors #

Contributors #

Full changelog: v0.20.0...v0.21.0

── more in #developer-tools 4 stories · sorted by recency
── more on @kache 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/kache-v0-21-caching-…] indexed:0 read:2min 2026-09-14 ·