kache 1.2.0

Compiler cache for Rust, C/C++ and CUDA, with S3, GCS, shared-filesystem and OCI remotes.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
---
title: Compatibility
description: Kache 1.x interfaces and upgrade behavior
---

Kache 1.x keeps documented CLI commands, options, and configuration keys compatible. Removing an interface or changing its meaning requires a major release. New commands, options, and configuration keys can appear in minor releases.

For scripts, use the documented JSON output and check `schema_version`. Fields may be added within a schema version; consumers should ignore fields they do not use. Removing fields or changing their meaning requires a new schema version and a major Kache release. Human-readable output can change between releases. See the [command reference](/docs/commands/reference) for JSON schemas and exit codes.

The published `kache-core`, `kache-format`, `kache-fs`, `kache-shims`, and `kache-store` crates follow the same major-version compatibility rule for their public Rust APIs. Public struct fields, enum variants, and trait methods are part of those APIs.

Cache contents are disposable compiler outputs. Cache-key recipes and private storage layouts can change during 1.x; an upgrade may cause misses and rebuilds. The JSON CLI contract does not make raw cache files or event logs stable interfaces.

The [planner service and Helm chart](/docs/remote-service) remain previews. Their deployment, authentication, and HA behavior can change even when their versions track the CLI release.

Building the CLI from source requires Rust 1.95 or newer, the `rust-version` in its `Cargo.toml`. The repository pins Rust 1.99 for development and release builds. Published crates declare their own minimum Rust versions.