Releases: mozilla/sccache
v0.11.0
sccache v0.11.0 introduces improved compiler flag support (including -fsanitize-ignorelist and Xclang flags), S3 virtual host endpoints, better logging with millisecond precision, expanded CI coverage (including sccache-dist and new platforms like s390x), and numerous fixes for reproducibility, Android builds, and preprocessor cache behavior. It also replaces legacy crates (num_cpus, retry), updates major dependencies (tokio, openssl, clap, ring), cleans up old code, and improves documentation and test reliability. This release welcomes 14 new contributors and continues modernizing the build and CI infrastructure.
What's Changed
- Apply clippy fixes and bump ghac from
v2
tov4
bump by @drahnr in #2341 - Allow using S3 virtual host style endpoints by @brndnmtthws in #2329
- Remove Rust jobserver fd reference by @samuel-jimenez in #2336
- Update CI coverage: grcov/codecov by @samuel-jimenez in #2348
- chore: replace num_cpus crate with available_parallelism in standard library by @tottoto in #2342
- Expand coverage to sccache-dist tests by @samuel-jimenez in #2350
- Fix non-strict HIP device lib order by @Snektron in #2217
- Bail on
nvcc -time
andnvcc -fdevice-time-trace
flags by @trxcllnt in #2355 - Improve the CARGO_INCREMENTAL checking by @anholt in #2364
- fix(tests): Remove executable bit from oauth.rs by @cryptomilk in #2375
- feat(utils): Add support for object >= 0.33 by @cryptomilk in #2374
- Add support for Xclang '-mrelax-all' and '-mconstructor-aliases' flags. by @Snektron in #2371
- Give the --dist-status user some information about when a retry wil happen by @anholt in #2377
- chore: fix some comments by @timesince in #2381
- CI: Expand/improve test coverage by @samuel-jimenez in #2357
- Update codecov badge in README.md by @samuel-jimenez in #2387
- github storage: force version 2 by @sylvestre in #2385
- Add support for -fsanitize-ignorelist by @res0nance in #2390
- chore: Remove not working mozilla code by @Xuanwo in #2395
- Reword and correct the preprocessor cache mode documentation by @ahartmetz in #2362
- check if we can use a specific version of rust to build grcov by @sylvestre in #2410
- chore: fix some minor issues in comments by @houpo-bob in #2427
- Fix preprocessor cache mode + (distributed compilation || -MD dependency scanning) by @ahartmetz in #2392
- Direct mode doc fixes 3 by @ahartmetz in #2434
- Display a more user-friendly error when compiling on Linux/arm64 by @rtyler in #2435
- add description to sccache-dist commands by @iTrooz in #2413
- Don't run tests using Clang as CUDA compiler on Windows by @ahartmetz in #2444
- Fix symbolic links to sccache on Linux by @ahartmetz in #2439
- Remove or replace "Windows 2019" CI config by @ahartmetz in #2448
- chore: replace retry crate with backon by @tottoto in #2447
- test: add s390x to ci.yaml by @iurly in #2437
- Fix build on Android (in Termux) by @dfaure in #2442
- Account for clippy-driver having extra prefix
rustc
by @bobrik in #2438 - Fix documentation of azure configuration by @jorendorff in #2445
- Fix mtime for reproducable toolchains by @nigredon1991 in #2430
- Ignore
--diagnostic-width
argument when computing hash by @shadaj in #2424 - fix: in stats, Compare values AND keys to have a fully deterministic order by @iTrooz in #2403
- feat: handle human size prefixes by @iTrooz in #2405
- logging: add a option to log milliseconds (Closes: #2454) by @sylvestre in #2455
- document SCCACHE_LOG_MILLIS by @sylvestre in #2456
- prepare version 0.11.0 by @sylvestre in #2457
Dependencies
- build(deps): bump ring from 0.17.7 to 0.17.13 by @dependabot[bot] in #2354
- build(deps): bump clap from 4.4.18 to 4.5.13 by @dependabot[bot] in #2347
- build(deps): bump chrono from 0.4.38 to 0.4.40 by @dependabot[bot] in #2346
- build(deps): bump tokio from 1.41.0 to 1.43.1 by @dependabot[bot] in #2379
- build(deps): bump openssl from 0.10.64 to 0.10.72 by @dependabot[bot] in #2378
- build(deps): bump memchr from 2.7.1 to 2.7.5 by @dependabot[bot] in #2406
- build(deps): bump chrono from 0.4.40 to 0.4.41 by @dependabot[bot] in #2391
- build(deps): bump chrono from 0.4.41 to 0.4.42 by @dependabot[bot] in #2440
- build(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #2441
- build(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #2433
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #2432
New Contributors
- @brndnmtthws made their first contribution in #2329
- @Snektron made their first contribution in #2217
- @cryptomilk made their first contribution in #2375
- @timesince made their first contribution in #2381
- @res0nance made their first contribution in #2390
- @houpo-bob made their first contribution in #2427
- @rtyler made their first contribution in #2435
- @iTrooz made their first contribution in #2413
- @iurly made their first contribution in #2437
- @dfaure made their first contribution in #2442
- @bobrik made their first contribution in #2438
- @jorendorff made their first contribution in #2445
- @nigredon1991 made their first contribution in #2430
- @shadaj made their first contribution in #2424
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
- chore: replace is-terminal with standard library by @tottoto in #2311
- Pass through
--remap-path-prefix
argument. by @ColinFinck in #2270 - Scheduler: oversubscribe cores just a little to make up for slack by @ahartmetz in #2315
- CI: Move the the current LLVM stable by @sylvestre in #2323
- Don't cache dep file by @glandium in #2322
- Add bind_address config field by @samuel-jimenez in #2307
- Fix and update sccache for CUDA 12.8 by @trxcllnt in #2324
- lru: do not fail removing file if already removed by @ahayzen-kdab in #2334
- Clean up logging by @samuel-jimenez in #2335
- feat: Bump opendal to 0.52 to support ghac v2 by @Xuanwo in #2339
New Contributors
- @ahartmetz made their first contribution in #2315
- @samuel-jimenez made their first contribution in #2307
- @ahayzen-kdab made their first contribution in #2334
Full Changelog: v0.9.1...v0.10.0
v0.9.1
What's Changed
- cherry pick 2 patches from Debian by @sylvestre in #2295
- Always use sccache's own jobserver by @glandium in #2296
- Always decompose nvcc compilations by @trxcllnt in #2300
- Fix
test_rlib_dep_reader_call
failure edge case by @trxcllnt in #2298 - Add test for #2299 by @trxcllnt in #2301
- fix: bring "cargo build -Zprofile" support back by @Xuanwo in #2306
Fixes a regression with Rust coverage - Don't use CARGO_REGISTRIES_* configuration in hash keys by @kornelski in #2308
- Add support for caching target json specs for Rust compilation. by @ColinFinck in #2269
dependencies
New Contributors
- @ColinFinck made their first contribution in #2269
Full Changelog: v0.9.0...v0.9.1
v0.9.0
The sccache 0.9.0 release introduces several improvements and fixes, including support for nvcc in sccache-dist (contributed by Nvidia), enhanced Xcode integration with new features and streamlined CI processes, and the addition of Unix Domain Socket (UDS) support for improved performance. Key fixes include resolving cache collisions with object files and precompiled headers, correcting debug information file generation for .dwo files, and ensuring proper argument handling for rustc with -Z ls. Updates also align profiling practices with modern Rust standards by replacing outdated -Zprofile options. Other enhancements include user agent configuration in WebDAV requests, compatibility with CUDA Toolkit 11.1, and improved documentation formatting.
What's Changed
- Support
nvcc
insccache-dist
by @trxcllnt in #2247 - feat: set user agent in webdav requests by @lukevmorris in #2284
- Implement features required by Xcode by @scoopr in #2257
- *: add UDS support by @BusyJay in #2206
- Fix cache collision with object file and precompiled headers by @jimis in #2268
- Simplify Xcode CI / Docs by @scoopr in #2266
- feat: Use profile-generate to replace outdated -Zprofile options by @Xuanwo in #2282
- Fix: fix sccache bug for dwo file generate by @zhouronghua in #2271
- Pass correct argument to rustc -Z ls by @lissyx in #2291
- Fix sccache for CTK 11.1 and properly track compilations in stats by @trxcllnt in #2285
- docs: fix formatting in Caching by @dtrifiro in #2267
- prepare release 0.9.0 by @sylvestre in #2293
Dependencies
- chore(docs): bump the github script version used in GHA by @kemingy in #2281
- refactor: Bump OpenDAL to 0.50 by @Xuanwo in #2283
- build(deps): bump codecov/codecov-action from 4 to 5 by @dependabot in #2289
New Contributors
- @scoopr made their first contribution in #2257
- @dtrifiro made their first contribution in #2267
- @jimis made their first contribution in #2268
- @BusyJay made their first contribution in #2206
- @kemingy made their first contribution in #2281
- @zhouronghua made their first contribution in #2271
- @lukevmorris made their first contribution in #2284
Full Changelog: v0.8.2...v0.9.0
v0.8.2
What's Changed
- Disable preprocessor cache with -MD and friends by @glandium in #2195
- Avoid keeping lock while writing to disk cache by @glandium in #2193
- Log when preprocessor cache cannot be used by @glandium in #2197
- Update CI version of macOS by @aeiouaeiouaeiouaeiouaeiouaeiou in #2212
- Add lost feature status by @AJIOB in #2225
- Remove the heapsize feature by @glandium in #2226
- Add custom zstd compression level by @nyanrus in #2199
- Add cache hit percentage to stats by @Saruniks in #2211
- Add windows arm64 to the CI by @hjyamauchi in #2243
- fix: Force disable "warnings as errors" flag for CL preprocessing by @AJIOB in #2251
- Update FreeBSD docs to refer to 14.1 by @yonas in #2263
Dependencies
- deps: bump libc from 0.2.153 to 0.2.155 by @huajingyun01 in #2188
- refactor: Bump MSRV to 1.75 for async in trait by @Xuanwo in #2203
- refactor: Bump OpenDAL to 0.47 by @Xuanwo in #2202
- build(deps): bump anyhow from 1.0.81 to 1.0.86 by @dependabot in #2190
- build(deps): bump async-trait from 0.1.77 to 0.1.80 by @dependabot in #2191
- build(deps): bump zstd from 0.13.0 to 0.13.1 by @dependabot in #2189
- build(deps): bump uuid from 1.7.0 to 1.9.0 by @dependabot in #2213
- build(deps): bump reqwest from 0.12.4 to 0.12.5 by @dependabot in #2215
- build(deps): update OpenDAL to 0.47.3 by @AJIOB in #2221
- build(deps): bump vmactions/freebsd-vm from 1.0.7 to 1.0.8 by @dependabot in #2219
- refactor: use windows-sys instead of winapi by @Berrysoft in #2233
- deps: update winapi-util by @ognevny in #2236
- feat: Bump opendal to 0.48.0 by @Xuanwo in #2240
- build(deps): bump log from 0.4.20 to 0.4.22 by @dependabot in #2218
- build(deps): bump which from 6.0.0 to 6.0.3 by @dependabot in #2252
- build(deps): bump quinn-proto from 0.11.3 to 0.11.8 by @dependabot in #2254
- build(deps): bump jobserver from 0.1.31 to 0.1.32 by @dependabot in #2255
New Contributors
- @huajingyun01 made their first contribution in #2188
- @nyanrus made their first contribution in #2199
- @Saruniks made their first contribution in #2211
- @Berrysoft made their first contribution in #2233
- @ognevny made their first contribution in #2236
- @hjyamauchi made their first contribution in #2243
- @yonas made their first contribution in #2263
Full Changelog: v0.8.1...v0.8.2
v0.8.1
What's Changed
- Fix the README working (Closes: #2154) by @sylvestre in #2156
- README: Remove duplicated info about openssl vendoring by @sylvestre in #2157
- Add required winapi features by @Systemcluster in #2160
- msvc: passthrough argument -Qpar- by @AudranDoublet in #1834
- Disable preprocessor cache when doing distributed compilation by @glandium in #2173
- Allow SCCACHE_CACHE_SIZE values without a unit by @glandium in #2183
- Make recent versions of clippy happy by @glandium in #2181
- Make preprocessor cache methods async by @glandium in #2182
- sccache: prepare new release by @sylvestre in #2179
Dependencies
- build(deps): bump serial_test from 2.0.0 to 3.1.0 by @dependabot in #2158
- build(deps): bump rustls from 0.21.10 to 0.21.11 by @dependabot in #2151
- build(deps): bump h2 from 0.3.24 to 0.3.26 by @dependabot in #2144
- build(deps): bump mio from 0.8.10 to 0.8.11 by @dependabot in #2128
- build(deps): bump nix from 0.27.1 to 0.28.0 by @dependabot in #2108
- build(deps): bump semver from 1.0.21 to 1.0.22 by @dependabot in #2109
- build(deps): bump serde from 1.0.195 to 1.0.199 by @dependabot in #2162
- build(deps): bump serde from 1.0.199 to 1.0.201 by @dependabot in #2171
- build(deps): bump http-body-util from 0.1.0 to 0.1.1 by @dependabot in #2167
- build(deps): bump tokio from 1.35.1 to 1.37.0 by @dependabot in #2165
- build(deps): bump jobserver from 0.1.28 to 0.1.31 by @dependabot in #2166
- build(deps): bump time from 0.3.31 to 0.3.36 by @glandium in #2184
- build(deps): bump tempfile from 3.9.0 to 3.10.1 by @dependabot in #2175
- build(deps): bump semver from 1.0.22 to 1.0.23 by @dependabot in #2177
- build(deps): bump encoding_rs from 0.8.33 to 0.8.34 by @dependabot in #2178
- build(deps): bump bytes from 1.5.0 to 1.6.0 by @dependabot in #2176
New Contributors
- @Systemcluster made their first contribution in #2160
- @AudranDoublet made their first contribution in #1834
Full Changelog: v0.8.0...v0.8.1
v0.8.0
What's Changed
New features
- feat: Add possibility to configure key prefix (Redis, MemCached) by @AJIOB in #2084
- Add generic read-only storage mode for a storage that fails the write check by @jkoritzinsky in #2091
- feat: Add possibility to configure key prefix and expiration time from env (Redis, MemCached) by @AJIOB in #2094
- rustc driver detection - includes #1897 by @drahnr in #2085
- feat: Add support to Redis cluster mode by @AJIOB in #2113
- feat: Add Memcached authentication by @AJIOB in #2117
- feat: initial support for Clang HIP by @GZGavinZhao in #2045
- Set User Agent Header for S3 Requests by @ajschmidt8 in #2137
Misc
- chore: Unify env bool processing by @AJIOB in #2103
- More Redis URLs typos fix by @AJIOB in #2081
- ci: Fix AArch64 build with musl by @AJIOB in #2120
- allow the compilation of sccache without any features (only local build) by @sylvestre in #2101
- chore: remove unused code warnings from Windows build by @AJIOB in #2119
- feat: Rewrite Redis environment variables API by @AJIOB in #2116
- chore: use what we really need from
opendal
by @AJIOB in #2118 - package cargo.toml by @lissyx in #2124
- Include server_startup_timeout_ms in config docs by @cceckman in #2134
Dependencies
- build(deps): bump vmactions/freebsd-vm from 1.0.5 to 1.0.6 by @dependabot in #2067
- build(deps): bump chrono from 0.4.31 to 0.4.33 by @dependabot in #2065
- build(deps): bump which from 5.0.0 to 6.0.0 by @dependabot in #2051
- build(deps): bump regex from 1.10.2 to 1.10.3 by @dependabot in #2063
- build(deps): bump env_logger from 0.10.1 to 0.10.2 by @dependabot in #2064
- build(deps): bump uuid from 1.6.1 to 1.7.0 by @dependabot in #2066
- build(deps): bump jobserver from 0.1.27 to 0.1.28 by @dependabot in #2088
- build(deps): bump libc from 0.2.152 to 0.2.153 by @dependabot in #2087
- build(deps): bump memmap2 from 0.9.3 to 0.9.4 by @dependabot in #2089
- build(deps): bump reqsign from 0.14.6 to 0.14.7 by @dependabot in #2098
- build(deps): bump toml from 0.8.8 to 0.8.10 by @dependabot in #2096
- build(deps): bump is-terminal from 0.4.10 to 0.4.12 by @dependabot in #2097
- build(deps): bump hyper-util from 0.1.2 to 0.1.3 by @dependabot in #2099
- build(deps): bump opendal from 0.44.2 to 0.45.0 by @dependabot in #2086
- build(deps): bump vmactions/freebsd-vm from 1.0.6 to 1.0.7 by @dependabot in #2147
- build(deps): bump assert_cmd from 2.0.12 to 2.0.13 by @dependabot in #2033
- build(deps): bump base64 from 0.21.6 to 0.21.7 by @dependabot in #2035
- build(deps): bump codecov/codecov-action from 3 to 4 by @dependabot in #2078
- build(deps): Upgrade OpenDAL to the latest version by @AJIOB in #2114
- build(deps): bump serde_json from 1.0.111 to 1.0.114 by @dependabot in #2112
- build(deps): bump openssl from 0.10.62 to 0.10.64 by @dependabot in #2106
- build(deps): bump walkdir from 2.4.0 to 2.5.0 by @dependabot in #2127
- build(deps): bump anyhow from 1.0.79 to 1.0.81 by @dependabot in #2135
New Contributors
- @jkoritzinsky made their first contribution in #2091
- @cceckman made their first contribution in #2134
Full Changelog: v0.7.7...v0.8.0
v0.7.7
What's Changed
- [commands::run_server_process]: fix race condition by @arvidj in #2077
- feat(cache/oss): add support for oss by @PsiACE in #2046
- ci: Bump MSRV to 1.70.0 by @Xuanwo in #2054
- Make --zero-stats just show a message that it's done its job by @glandium in #2055
- build(deps): bump clap from 4.3.24 to 4.4.18 by @dependabot in #2050
- add default ttl of 0 to fix breaking change by @arilotter in #2058
- Avoid spawning a new server for --show-stats by @glandium in #2059
- Update OpenDAL to 0.44.2 by @jdygert-spok in #2060
- feat(tree-wide): migrate to Hyper 1.x by @liushuyu in #2013
- Implement read-only local cache by @uellenberg in #2048
- build(deps): bump predicates from 3.0.3 to 3.1.0 by @dependabot in #2052
- build(deps): bump h2 from 0.3.22 to 0.3.24 by @dependabot in #2047
- github action: run on native m1 by @sylvestre in #2068
- Note allowed --emit metadata in rust doc by @l4l in #2075
- Improve Redis docs by @AJIOB in #2072
- chore: update S3 docs on region by @saiintbrisson in #2079
- upgrade to version 0.7.7 by @sylvestre in #2080
New Contributors
- @PsiACE made their first contribution in #2046
- @arilotter made their first contribution in #2058
- @uellenberg made their first contribution in #2048
- @l4l made their first contribution in #2075
- @AJIOB made their first contribution in #2072
- @arvidj made their first contribution in #2077
Full Changelog: v0.7.6...v0.7.7
v0.7.6
What's Changed
- feat(redis): add support for ttl, fix #1666 by @sudhackar in #2027
- refactor: Remove all dependencies on ring 0.16 by @Xuanwo in #2036
It allows compilation on s390x and some others architectures - Fix docs on integrating sccache with MSVC when cmake >= 3.25 by @johnwbyrd in #2031
- Add support for symlinks in toolchains. by @afranchuk in #2030
- fix(src/compiler/c): take common_args into account during preprocessor hashing by @GZGavinZhao in #2039
New Contributors
- @sudhackar made their first contribution in #2027
- @johnwbyrd made their first contribution in #2031
- @afranchuk made their first contribution in #2030
- @GZGavinZhao made their first contribution in #2039
Full Changelog: v0.7.5...v0.7.6
v0.7.5
What's Changed
- Add i686 and armv7 musl build via container by @jdygert-spok in #2008
- Expand cfg for operator storage impl by @jdygert-spok in #2007
- chore(src/compiler/msvc): replace rust-encoding with encoding-rs by @liushuyu in #2010
- Prepare version 0.7.5 by @sylvestre in #2025
Dependencies updates
- chore: Version bump opendal 0.41.0 -> 0.43.0 by @vincentdephily in #1992
- build(deps): bump serde from 1.0.190 to 1.0.193 by @dependabot in #1991
- build(deps): bump nix from 0.26.2 to 0.26.4 by @dependabot in #1995
- build(deps): bump toml from 0.8.6 to 0.8.8 by @dependabot in #2000
- build(deps): bump test-case from 3.2.1 to 3.3.1 by @dependabot in #1979
- build(deps): bump tar from 0.4.38 to 0.4.40 by @dependabot in #1975
- chore(cargo): update dependencies to compatible versions by @liushuyu in #2009
- build(deps): bump opendal from 0.44.0 to 0.44.1 by @dependabot in #2014
- build(deps): bump base64 from 0.21.5 to 0.21.6 by @dependabot in #2016
- build(deps): bump libc from 0.2.151 to 0.2.152 by @dependabot in #2019
- build(deps): bump serde from 1.0.194 to 1.0.195 by @dependabot in #2017
Github action updates
- build(deps): bump vmactions/freebsd-vm from 1.0.2 to 1.0.4 by @dependabot in #1996
- build(deps): bump vmactions/freebsd-vm from 1.0.4 to 1.0.5 by @dependabot in #1999
- Bump freebsd-vm action to v1.0.2 & use ubuntu by @sylvestre in #1994
- Bump freebsd-vm action to v1.0.2 & use ubuntu by @sylvestre in #1997
- chore(CI): update GitHub Actions by @liushuyu in #2012
- Snap: Adapt Snapcraft manifest to Snapcraft 8.0 by @liushuyu in #2011
New Contributors
- @vincentdephily made their first contribution in #1992
- @jdygert-spok made their first contribution in #2008
- @liushuyu made their first contribution in #2009
Full Changelog: v0.7.4...v0.7.5