sccache-ohjelmasta on luettelossa 6 versiota, ensimmäinen 24. helmikuuta 2025 ja uusin 0.18.0. Jokainen versio linkittää julkaisijan omiin asennustiedostoihin.
6 versiota 2 vuoden aikana · noin 3,9 vuodessa
| Versio | Päivämäärä | Koko | Tiedostot |
|---|---|---|---|
| 0.18.0Uusin | 14. syyskuuta 2026 | — | 64-bittinen ZIPARM64 ZIP Muutoslokisccache 0.18.0
Summary
sccache 0.18.0 is a broad correctness and coverage release: a lot of compiler flags that used to
force a cache miss are now understood, several cache-key and multi-level storage bugs are fixed,
and the Azure backend gained passwordless authentication.
Highlights:
- Cache-key correctness: the assembler gcc/clang would actually invoke is now part of the cache
key, so two toolchains with different binutils can no longer hand each other the wrong object
file (#2843). SCCACHE_BASEDIRS now also strips base directories from the compiler arguments,
so flags like -ffile-prefix-map=/home/user/project=. stop tying an entry to one checkout
(#2840).
- MSVC/clang flag coverage: support for /openmp:llvm, the /fsanitize*, /fsanitize-coverage*
and /fno-sanitize* families, /feature, arm64EC and fastfail, /d20bforceinline, and a large
batch of other flags (#2807, #2830, #2831, #2832), plus more clang CLI options (#2834). gcc now
marks flags as TooHard when they would require caching something else (#2833).
- CUDA: nvcc dryrun parsing works with CUDA 13.3 (#2722), escaped quotes in Windows dryrun
lines are protected before backslash flattening (#2811), and the
--diag-error/--diag-suppress/--diag-warn family is accepted (#2816).
- Multi-level cache: a chain with any writable level is writable again — a single read-only
level no longer makes the whole storage read-only (#2778) — and reads are no longer issued twice
(#2835).
- Azure: Microsoft Entra ID (passwordless) authentication for the Azure Blob backend, for
storage accounts that disable shared-key access (#2802).
- Distributed compilation: rlibs are no longer trimmed from crates that also emit a cdylib,
which made those jobs fail on the build server (#2839).
- Process handling: the jobserver is no longer handed to children that can't use it, which
restores the posix_spawn fast path for child spawns (#2827), and daemonization now uses an
allow-list for inherited file descriptors, fixing make deadlocks caused by leaked jobserver FDs
(#2841).
- MSRV is now 1.91.0 (#2793).
Welcome to 11 new contributors!
Features
- feat: add Microsoft Entra ID (passwordless) auth for the Azure Blob backend by @babrekel in #2802
- gcc, clang: make the assembler part of the cache key by @glandium in #2843
- Strip basedirs from the compiler arguments too by @avikivity in #2840
- cache: allow skipping capability checks by @Xuanwo in #2822
- Optimize child process spawns by skipping job server configs by @rnk in #2827
Compiler support
- feat: add support for MSVC's /d20bforceinline. by @AJIOB in #2807
- msvc: support arm64EC and fastfail flags by @AJIOB in #2830
- msvc: backport flags support by @AJIOB in #2831
- msvc: support lots of flags by @AJIOB in #2832
- clang: support more CLI options by @AJIOB in #2834
- gcc: mark flags as TooHard if need to cache something else by @AJIOB in #2833
- nvcc: accept the --diag-error/--diag-suppress/--diag-warn family by @Kataglyphis in #2816
Fixes
- Fix nvcc dryrun parsing for CUDA 13.3 by @mbrobbel in #2722
- nvcc (Windows): protect escaped quotes in dryrun lines before flattening backslashes by @Kataglyphis in #2811
- multilevel: a chain with any writable level is writable by @tycho in #2778
- cache: avoid duplicate multilevel reads by @zfaustk in #2835
- Resolving always-false conditional making some compilers miss for preprocessor checks by @Joldiges in #2824
- dist: refuse to trim rlibs from crates that also emit a cdylib by @gaetschwartz in #2839
- daemonize: use an allow-list approach to inherited FDs by @schopin-mozilla in #2841
Dependencies
- Bump opendal to 0.58.1 and fix fallout (fixes local GCS cache usage) by @flip1995 in #2715
- Update shlex dependency to version 2 by @musicinmybrain in #2836
- Bump MSRV to 1.91.0 by @flip1995 in #2793
Tests & CI
- Fixed hardcoded binary path in test by @ranger-ross in #2790
- ci: dump sccache logs on integration failures by @JalenBuildsHub in #2851
- tests/integration: replace MinIO with Silo by @avikivi |
| 0.17.0 | 29. heinäkuuta 2026 | — | 64-bittinen ZIPARM64 ZIP Muutoslokisccache 0.17.0
Summary
sccache 0.17.0 is a significant release: it introduces a new client-side architecture.
Until now, every compilation was handed off to the long-lived sccache server, which did the cache
lookup and ran the compiler. In client-side mode, the client process does that work itself - the
server is only consulted for the shared state it owns (compiler info, dist client, stats). This
removes a round-trip and the server-side bottleneck, and gives noticeably better results on
developer workstations.
Client-side mode is opt-in for now: enable it with the SCCACHE_CLIENT_SIDE environment variable
(or the client_side_mode config key). See docs/Architecture.md
for the details.
Other highlights:
- Response files: gcc/clang builds using quoted @response files are now cached and
distributed correctly (#2755, #2772), and Rust @argfile arguments are supported (#2782).
- Distributed compilation: compile tasks and their subprocesses are now aborted when a client
disconnects, instead of running to completion on the build server (#2761, #2774). The
ToolchainPackager cfg gate was fixed so the dist code builds on ppc64le and s390x (#2749).
- S3 SSE-KMS: server-side encryption with KMS keys is now supported (#2770).
- Diagnostics: gcc color diagnostics now behave the same way as rustc's (#2758).
- Preprocessor correctness: -ivfsoverlay is treated as a preprocessor-only argument (#2767).
Welcome to 4 new contributors!
Client-side mode
- Initial client-side implementation by @glandium in #2735
- doc: document client-side and direct modes in Architecture.md by @sylvestre in #2752
Features
- gcc/clang: cache and distribute builds using quoted @response files by @avikivity in #2755
- Add support for arg files in Rust by @ranger-ross in #2782
- feat: support S3 SSE-KMS by @jpadilla in #2770
- Make gcc diagnostics color output work the same as for rustc by @jwidauer in #2758
- Abort compile tasks and associated subprocesses when a client disconnects by @trxcllnt in #2761
Fixes
- Fix ToolchainPackager cfg gate to build on ppc64le/s390x by @cryptomilk in #2749
- treat -ivfsoverlay as a preprocessor-only argument by @glandium in #2767
- gcc: refine response-file tokenizer visibility and whitespace handling by @sylvestre in #2772
- Fix description of Unix socket-based Redis connection by @Toorero in #2769
Cleanup
- Simplify the code from pr #2761 by @sylvestre in #2774
- tests: pin libc in the dist test crate by @sylvestre in #2784
- Release 0.17.0 by @sylvestre in #2783
New Contributors
- @jwidauer made their first contribution in #2758
- @jpadilla made their first contribution in #2770
- @ranger-ross made their first contribution in #2782
- @Toorero made their first contribution in #2769 |
| 0.16.0 | 19. kesäkuuta 2026 | — | 64-bittinen ZIPARM64 ZIP Muutoslokisccache 0.16.0
Summary
sccache 0.16.0 is a smaller, stabilizing release on top of 0.15.0's multi-tier caching work, with a few new capabilities:
- Read-only backends: Any storage backend can now be marked read-only, not just a select few (#2705).
- Remote execution on aarch64: Distributed/remote execution now works on Linux aarch64, including fixes for ldd output parsing and toolchain packaging on non-x86_64 Linux (#2668).
- CUDA: nvcc's --dependency-output argument is now handled (#2708).
- Resilience: Fall back to a direct cache write when tempfile creation on the same filesystem fails (#2369), and give a meaningful error when a multi-level chain references a backend that wasn't compiled in (#2695).
- Client efficiency: The client and dist-client now use a single-threaded tokio runtime, avoiding a thread explosion when many short-lived clients run on many-core hosts (#2704).
- Correctness: Strip SCCACHE_BASEDIRS from escaped-backslash paths on Windows (#2736), ignore empty-set environment values in config (#2639), and avoid the sccache wrapper when resolving the real compiler (#2720).
- Security/logging: JWT keys and cert digests are now base64-encoded in logs (#2712), plus general logging improvements (#2734).
Welcome to 4 new contributors!
Features
- feat: all backends support making them as read-only by @AJIOB in #2705
- Enable RE on Linux-aarch64 by @malfet in #2668
- feat(nvcc): support argument: --dependency-output by @ZRHann in #2708
- feat: avoid sccache wrapper when resolving compiler by @iTrooz in #2720
- Fall back to direct cache write if tempfile creation on the same fs fails by @myzhang1029 in #2369
- Don't wait depfiles for gcc/clang preprocessed inputs by @AJIOB in #2665
Fixes
- fix: strip SCCACHE_BASEDIRS from escaped-backslash paths on Windows by @rconde01 in #2736
- fix: ignore empty-set environment values for config by @AJIOB in #2639
- fix: handle disabled cache backend features in multilevel chain by @cryptomilk in #2695
- fix: use single-threaded tokio runtime in sccache (dist-)client by @AJIOB in #2704
- fix: add newline when printing dist-status to stdout by @iTrooz in #2710
Logging
- chore: encode jwt key and cert digest with base64 in logs by @iTrooz in #2712
- Slightly improve logging by @glandium in #2734
Cleanup
- chore: make clippy happy by @AJIOB in #2727
- Extract new_client_runtime() helper to DRY up client runtime creation by @sylvestre in #2744
New Contributors
- @ZRHann made their first contribution in #2708
- @myzhang1029 made their first contribution in #2369
- @malfet made their first contribution in #2668
- @rconde01 made their first contribution in #2736 |
| 0.15.0 | 29. huhtikuuta 2026 | — | 64-bittinen ZIPARM64 ZIP Muutoslokisccache 0.15.0
Summary
sccache 0.15.0 brings several notable improvements:
- Multi-tier caching: New support for layered caches with fallback and automatic backfilling between tiers (#2581).
- C++20 modules: Initial (partial) support for compiling C++20 modules (#2516).
- Expanded MSVC support: New flags handled including d1nodatetime, await:strict (#2617), Y-, YI, Zf (#2663), and the default .pdb extension for /Fd (#2621).
- New platforms: loongarch64 support (#2669) and crt-static for riscv64 musl targets (#2683).
- ccache interop: Avoid double-caching when ccache is also installed in PATH (#2524).
- Cargo integration: CARGO_ENCODED_RUSTFLAGS is now excluded from the env var hash to prevent spurious cache misses (#2651), and dep-info handling correctly skips directories (#2676).
- Distribution: cargo-binstall metadata for prebuilt binary installation (#2647).
- Reliability fixes: GCS initialization (#2637), Windows Win32_Security feature (#2627), and retries for dist docker image builds (#2677).
This release also includes a large round of clippy-driven cleanups and several CI fixes. Welcome to 7 new contributors!
Features
- Avoid double-caching when ccache is installed in PATH by @avikivity in #2524
- partial c++20 module support by @TroyKomodo in #2516
- Add support for d1nodatetime & await:strict MSVC flags by @AJIOB in #2617
- msvc: Append the default .pdb extension for the /Fd argument by @ikolomiko in #2621
- msvc: add support for Y-, YI, Zf flags by @AJIOB in #2663
- Implement multiple tiers caching with fallback and backfilling by @Felixoid in #2581
- feat: Add loongarch64 support by @wojiushixiaobai in #2669
- Add cargo-binstall metadata for prebuilt binary installation by @sylvestre in #2647
Fixes
- fix: add Win32_Security feature to windows-sys dependency by @JulienCote in #2627
- Fix GCS initialization by @msuozzo in #2637
- fix: exclude CARGO_ENCODED_RUSTFLAGS from env var hash by @weihanglo in #2651
- fix: handle directories in dep-info source file hashing by @mmastrac in #2676
CI
- Revert "actions: add security audit workflow" by @sylvestre in #2603
- ci: fix artifact_failure action when target dir does not exist by @sylvestre in #2635
- ci: set crt-static for riscv64 musl targets by @wojiushixiaobai in #2683
- Add retry for dists docker image build by @Felixoid in #2677
Clippy & cleanup
- clippy: fix cloned_ref_to_slice_refs lint by @xtqqczze in #2602
- clippy: fix semicolon_if_nothing_returned lint by @xtqqczze in #2601
- clippy: fix cloned_instead_of_copied lint by @xtqqczze in #2605
- clippy: fix explicit_into_iter_loop lint by @xtqqczze in #2616
- clippy: fix unnecessary_semicolon lint by @xtqqczze in #2615
- clippy: fix manual_string_new lint by @xtqqczze in #2609
- clippy: fix ptr_as_ptr lint by @xtqqczze in #2611
- clippy: fix ref_option lint by @xtqqczze in #2608
- clippy: fix from_iter_instead_of_collect lint by @xtqqczze in #2614
- Move PreprocessorCacheModeConfig to src/config.rs by @xis19 in #2604
- Remove benchmark normalize_win_path_utf8 by @sylvestre in #2634
- Move cmake-modules to integration tests by @Felixoid in #2649
Docs
- docs(Rust.md): Add caveats from README by @TheJanzap in #2684
Dependencies
- chore: switch thirtyfour_sync to thirtyfour by @tottoto in #2613
- build(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #2632
- build(deps): bump actions/download-artifact from 5 to 8 by @dependabot[bot] in #2631
- chore(deps): update rust crate quinn-proto to v0.11.14 by @xtqqczze in #2645
New Contributors
- @ikolomiko made their first contribution in #2621
- @JulienCote made their first contribution in #2627
- @msuozzo made their first contribution in #2637
- @weihanglo made their first contribution in #2651
- @wojiushixiaobai made their first contribution in #2669
- @TheJanzap made their first contribution in #2684
- @mmastrac made their first contribution in #2676 |
| 0.14.0 | 9. helmikuuta 2026 | — | 64-bittinen ZIPARM64 ZIP MuutoslokiKey improvements:
- New cloud storage: Added Tencent Cloud Object Storage support
- New feature: SCCACHE_BASEDIRS environment variable for configuring multiple base directories
- GCC/Clang: Distributed compilation now supports assembly and preprocessor outputs
- Objective-C: Added header file (.h) support for consistency
- Platform support: Added macOS 15 Intel prebuilt binaries, FreeBSD 15.0 CI, s390x fixes
- Nix: Added sccache-dist to flake.nix
- Snap: Updated to core24
- Testing infrastructure: Integration tests reorganized with coverage reporting to Codecov.io
What's Changed
- Add Objective C Header for consistency by @AJIOB in #2559
- Move integration tests related stuff to subdir by @Felixoid in #2565
- build(deps): bump opendal from 0.54.0 to 0.55.0 by @sylvestre in #2567
- feat: support for Tencent Cloud Object Storage by @RinChanNOWWW in #2563
- Integration tests by @Felixoid in #2564
- ci: add macos-15-intel for prebuilt binary by @linrongbin16 in #2555
- try to unbreak s390x by @sylvestre in #2568
- fix(ci): remove outdated analysis mode by @not-matthias in #2569
- chore: update to syslog 7 by @tottoto in #2572
- ci: show diff for toml_format by @xtqqczze in #2574
- Add SCCACHE_BASEDIRS support by @Felixoid in #2521
- Revert "ci: show diff for toml_format" by @sylvestre in #2578
- Extract LazyDiskCache to a separated file by @xis19 in #2573
- remove unused declaration by @sylvestre in #2577
- Distributed compilation support for asm & preprocessor outputs by @AJIOB in #2557
- ci: update freebsd to 15.0 by @svmhdvn in #2586
- chore: update to tokio-serde 0.9 by @tottoto in #2585
- docs: add comments about auth token requirements by @jullanggit in #2583
- Add .rustfmt.toml for consistent style between rustfmt and cargo fmt by @Felixoid in #2582
- snap: update to core24 by @soumyaDghosh in #2570
- add benches for normalize_win_path strip_basedirs by @sylvestre in #2588
- docs: fix examples showing an xz-compress toolchain archive by @jullanggit in #2587
- actions: add security audit workflow by @xtqqczze in #2594
- clippy: fix implicit_clone lint by @xtqqczze in #2584
- chore: Integration tests, feature gate, cache_type_name method by @Felixoid in #2596
- chore: update to nix 0.30 by @tottoto in #2589
- Extract FileObjectSource, CacheRead and CacheWrite from cache.rs to cache_io.rs by @xis19 in #2580
- Add sccache-dist to flake.nix by @jullanggit in #2579
- chore: Simplify storage_from_config by @Felixoid in #2597
- ci: Add coverage to integration tests, report it to Codecov.io by @Felixoid in #2598
- chore: update to toml 0.9 by @tottoto in #2599
- prepare the new release by @sylvestre in #2600
New Contributors
- @RinChanNOWWW made their first contribution in #2563
- @linrongbin16 made their first contribution in #2555
- @not-matthias made their first contribution in #2569
- @xtqqczze made their first contribution in #2574
- @xis19 made their first contribution in #2573
- @svmhdvn made their first contribution in #2586
- @jullanggit made their first contribution in #2583
- @soumyaDghosh made their first contribution in #2570 |
| 0.10.0 | 24. helmikuuta 2025 | — | 64-bittinen ZIP |