Suositut: Tiedot päivitetty 27. lokakuuta 2026

Kategoriat

Internet1 356
Viestintä321
Ääni ja video898
Grafiikka ja suunnittelu539
Toimisto ja tuottavuus1 124
Kehitystyökalut3 134
Tekoälytyökalut529
Tietoturva ja yksityisyys385
Järjestelmätyökalut3 114
Pelit523
Opiskelu ja tiede239
Verkko ja IT284

sccache: vanhemmat versiot ja versiohistoria

Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.

sccache-ohjelmasta on luettelossa 6 versiota, ensimmäinen 24. helmikuuta 2025 ja uusin 0.18.0. Jokainen versio linkittää julkaisijan omiin asennustiedostoihin.

2025: 1 1 25 2026: 5 5 26

6 versiota 2 vuoden aikana · noin 3,9 vuodessa

VersioPäivämääräKokoTiedostot
0.18.0Uusin 14. syyskuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
sccache 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
Muutosloki
sccache 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
Muutosloki
sccache 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
Muutosloki
sccache 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
Muutosloki
Key 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

Lisää julkaisijalta Mozilla

Näytä kaikki

Jaa