All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.2.33 - 2025-08-15
- Regenerate target info (#1521)
- [win][arm64ec] Add testing for Arm64EC Windows (#1512)
- Fix parsing of nigthly targets (#1517)
- [win][arm64ec] Fix finding assembler and setting is_arm for Arm64EC (#1511)
1.2.32 - 2025-08-08
- fix new clippy lint introduced in rust 1.89.0 (#1509)
- clarify cargo default if no rerun emitted (#1508)
- extract compile_objects_sequential (#1507)
- Windows
find_tools: add support for finding Clang (#1506) - Add m68k-unknown-linux-gnu cross-compile target (#1505)
1.2.31 - 2025-08-01
- Add doc for using sccache/ccache etc (#1502)
- ability to statically link against C++ stdlib (#1497)
- Add instructions on using sccache (#1503)
- Add support for recognizing some architectures supported by GCC, but not LLVM. (#1500)
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.2.30 - 2025-07-18
- define _REENTRANT by default (#1496)
1.2.29 - 2025-07-05
- Fix target parsing for powerpc (#1490)
1.2.28 - 2025-07-04
- Recognize
mlibcenvironment (#1488) - Fix clippy warnings about not using variables in
format!strings (#1489)
1.2.27 - 2025-06-13
- Regenerate windows sys bindings (#1485)
- Update windows-bindgen requirement from 0.61 to 0.62 (#1484)
- Regenerate target info (#1483)
1.2.26 - 2025-06-06
- Also set
SDKROOTwhen building apple platforms (#1475) - use windows 2022 in CI (#1479)
- Detect -Wslash-u-filename warning on clang-cl (#1477)
1.2.25 - 2025-05-30
- make
powerp64usepowerpc64-linux-gnuprefix (#1474)
1.2.24 - 2025-05-23
- Regenerate windows sys bindings (#1471)
1.2.23 - 2025-05-16
- support "vxworks" and "nto" OSes on
get_base_archiver_variant(#1456)
1.2.22 - 2025-05-09
- Add
flagsmethod tocc::Buildfor adding multiple flags (#1466)
1.2.21 - 2025-05-02
- Fix wasm32-unknown-unknown by passing -c (#1424)
1.2.20 - 2025-04-25
1.2.19 - 2025-04-11
- Fix musl compilation: Add musl as a prefix fallback (#1455)
1.2.18 - 2025-04-04
- Regenerate target info (#1450)
- Use
std::thread::available_parallelismfor determining the default number of jobs (#1447) - Fix mips64-openwrt-linux-musl parsing (#1449)
- Use compiler prefix
x86_64-linux-musl(#1443)
1.2.17 - 2025-03-21
- Regenerate target info (#1439)
- Regenerate windows sys bindings (#1437)
- Fix wasm32-wali-linux-musl target parsing (#1434)
- Parse
rustctarget names (#1413) - Regenerate target info (#1429)
- Added base support for
wasm32-wali-linux-musltarget (#1373)
1.2.16 - 2025-02-28
- force windows compiler to run in
out_dirto prevent artifacts in cwd (#1415)
- use
/arch:SSE2forx86target arch (#1425) - Regenerate windows-sys binding (#1422)
- Regenerate target info (#1418)
- Add LIB var when compiling flag_check (#1417)
- Change flag ordering (#1403)
- Fix archiver detection for musl cross compilation (#1404)
1.2.15 - 2025-02-21
- Regenerate target info (#1406)
- Always read from all
CFLAGS-style flags (#1401) - Simplify the error output on failed
Commandinvocation (#1397)
1.2.14 - 2025-02-14
- Regenerate target info (#1398)
- Add support for setting
-gdwarf-{version}based on RUSTFLAGS (#1395) - Add support for alternative network stack io-sock on QNX 7.1 aarch64 and x86_64 (#1312)
1.2.13 - 2025-02-08
- Fix cross-compiling for Apple platforms (#1389)
1.2.12 - 2025-02-04
1.2.11 - 2025-01-31
- Fix more flag inheritance (#1380)
- Include wrapper args. in
stdoutfamily heuristics to restore classifyingclang --driver-mode=clasMsvc { clang_cl: true }(#1378) - Constrain
-Cltoand-Cembed-bitcodeflag inheritance to beclang-only (#1379) - Pass deployment target with
-m*-version-min=(#1339) - Regenerate target info (#1376)
1.2.10 - 2025-01-17
- Fix CC_FORCE_DISABLE=0 evaluating to true (#1371)
- Regenerate target info (#1369)
- Make hidden lifetimes explicit. (#1366)
1.2.9 - 2025-01-12
- Don't pass inherited PGO flags to GNU compilers (#1363)
- Adjusted zig cc judgment and avoided zigbuild errors(#1360) (#1361)
- Fix compilation on macOS using clang and fix compilation using zig-cc (#1364)
1.2.8 - 2025-01-11
- Add
is_like_clang_cl()getter (#1357) - Fix clippy error in lib.rs (#1356)
- Regenerate target info (#1352)
- Fix compiler family detection issue with clang-cl on macOS (#1328)
- Update
windows-bindgendependency (#1347) - Fix clippy warnings (#1346)
1.2.7 - 2025-01-03
- Regenerate target info (#1342)
- Document new supported architecture names in windows::find
- Make is_flag_supported_inner take an &Tool (#1337)
- Fix is_flag_supported on msvc (#1336)
- Allow using Visual Studio target names in
find_tool(#1335)
1.2.6 - 2024-12-27
- Don't inherit the
/Oyflag for 64-bit targets (#1330)
1.2.5 - 2024-12-19
- Check linking when testing if compiler flags are supported (#1322)
1.2.4 - 2024-12-13
1.2.3 - 2024-12-06
- Improve detection of environment when compiling from msbuild or msvc (#1310)
- Better error message when failing on unknown targets (#1313)
- Optimize RustcCodegenFlags (#1305)
1.2.2 - 2024-11-29
- Inherit flags from rustc (#1279)
- Add support for using sccache wrapper with cuda/nvcc (#1304)
- Fix msvc stdout not shown on error (#1303)
- Regenerate target info (#1301)
- Fix compilation of C++ code for armv7-unknown-linux-gnueabihf (#1298)
- Fetch target info from Cargo even if
Build::targetis manually set (#1299) - Fix two files with different extensions having the same object name (#1295)
- Allow disabling cc's ability to compile via env var CC_FORCE_DISABLE (#1292)
- Regenerate target info (#1293)
1.2.1 - 2024-11-14
- When invoking
cl -?, set stdin to null (#1288)
1.2.0 - 2024-11-11
- add i686-pc-windows-gnullvm prefix detection (#1283)
1.1.37 - 2024-11-08
1.1.36 - 2024-11-05
- Fix CUDA build with clang++. (#1273)
1.1.35 - 2024-11-04
- Remove support for FRC (#1268)
- Do not add -fPIC by default on UEFI targets (#1263)
- Use -windows-gnu for all UEFI targets (#1264)
1.1.34 - 2024-11-02
- Remove redundant flags (#1256)
1.1.33 - 2024-11-02
- Reduce size of
cc::Buildand size of generated targets (#1257)
1.1.32 - 2024-11-02
- Use
rustc's knowledge of LLVM/Clang target triples (#1252) - Use Cargo's target information when possible (#1225)
1.1.31 - 2024-10-19
- Add comment explaining why cc does not rebuild on env PATH change (#1247)
1.1.30 - 2024-10-11
- Don't pass -fPIC by default on wasm (#1245)
1.1.29 - 2024-10-11
- Regenerate target info (#1243)
1.1.28 - 2024-10-06
- Environment variables: For one accepting boolean, treat "0", "false" and empty env as false (#1238)
1.1.27 - 2024-10-06
- Revert "Use debug version of MSVC runtime library on debug (#1231)" (#1237)
- Disable
CC_ENABLE_DEBUG_OUTPUTif it is set to "0" (#1234)
1.1.26 - 2024-10-06
- Use debug version of MSVC runtime library on debug (#1231)
1.1.25 - 2024-10-05
- Remove incorrect "lib" prefixes in CXXSTDLIB doc comments (#1228)
1.1.24 - 2024-10-01
- Fix wasm32-wasip1-threads: shared-memory disallowed due to not compiled with 'atomics' or 'bulk-memory' features (#1221)
- Reduce the need for the host target triple (#1224)
- Add auto cancellation for CI jobs (#1222)
1.1.23 - 2024-09-30
- Update doc for detecting changes/upgrades of compilers (#1218)
1.1.22 - 2024-09-27
- Don't rerun if PATH changes (#1215)
1.1.21 - 2024-09-18
- disable pic for targets that end in
-none(#1212)
1.1.20 - 2024-09-17
- Add buildcache as known Rust and C/C++ compiler wrapper (#1209)
1.1.19 - 2024-09-15
- Add support arm64e-apple-darwin (#1207)
1.1.18 - 2024-09-07
- Fixed unsoundness in
StderrForwarder::forward_available(#1203)
1.1.17 - 2024-09-06
- fix finding toolchains when invoked by msbuild (#1201)
1.1.16 - 2024-09-04
- Treat VxWorks wr-cc as a Gnu compiler (#1198)
1.1.15 - 2024-08-26
- Add -mfloat-abi=hard as a default argument when using any arm/thumb-none-eabihf target (#1194)
1.1.14 - 2024-08-23
- allow finding tools from path if VisualStudioDir is set
1.1.13 - 2024-08-16
1.1.12 - 2024-08-15
- improve docs (#1183)
1.1.11 - 2024-08-14
- Add support for parsing shell encoded
*FLAGS(#1181) - Replace vector of tuples with BTreeMap which already is sorted and free of duplicates (#1177)
1.1.10 - 2024-08-11
- Remap Windows targets triples to their LLVM counterparts (#1176)
1.1.9 - 2024-08-11
- Add custom CC wrapper to the wrapper whitelist (#1175)
1.1.8 - 2024-08-06
- Fix broken link in docs.rs (#1173)
1.1.7 - 2024-07-29
- add
.objects(#1166)
1.1.6 - 2024-07-19
- Clippy fixes (#1163)
1.1.5 - 2024-07-15
- Fix cyclic compilation: Use vendored once_cell (#1154)
1.1.4 - 2024-07-14
1.1.3 - 2024-07-14
- Reduce msrv to 1.63 (#1158)
- Revert "Use raw-dylib for windows-sys (#1137)" (#1157)
- Fix typos (#1152)
- Fix
doc_lazy_continuationlints (#1153)
1.1.2 - 2024-07-12
- Add empty
jobserverfeature. (#1150)
1.1.1 - 2024-07-12
1.1.0 - 2024-07-08
- add cargo_output to eliminate last vestiges of stdout pollution (#1141)
1.0.106 - 2024-07-08
- Drop support for Visual Studio 12 (2013) (#1046)
- Use raw-dylib for windows-sys (#1137)
- Bump msrv to 1.67 (#1143)
- Bump msrv to 1.65 (#1140)
- Fix clippy warnings (#1138)
1.0.105 - 2024-07-07
- Regenerate windows sys bindings (#1132)
- Fix generate-windows-sys-bindings (#1133)
- Fix gen-windows-sys-binding (#1130)
- Fix gen-windows-sys-binding (#1127)
- Update windows-bindgen requirement from 0.57 to 0.58 (#1123)
1.0.104 - 2024-07-01
- Fixed link break about compile-time-requirements (#1118)
1.0.103 - 2024-06-30
- Fix compilation for wasm: env WASI_SYSROOT should be optional (#1114)
1.0.102 - 2024-06-29
- Fix invalid wasi targets compatibility (#1105)
- Speedup regenerate-target-info and regenerate-windows-sys (#1110)
1.0.101 - 2024-06-25
- Use
Build::getenvinstead ofenv::var*in anywhere that makes sense (#1103)
1.0.100 - 2024-06-23
- Update publish.yml to use release-plz (#1101)
- Accept
OsStrinstead ofstrfor flags (#1100) - Use
dep:syntax to avoid implicit features. (#1099) - Minor clippy fixes. (#1098)
- Fix WASI compilation for C++ (#1083)
- Regenerate windows sys bindings (#1096)
- Rename regenerate-windows-sys to regenerate-windows-sys.yml (#1095)
- Create regenerate-windows-sys.yml (#1094)
- Update windows-bindgen requirement from 0.56 to 0.57 (#1091)
- Eagerly close tempfile to fix #1082 (#1087)
- Output msvc.exe in the output directory (#1090)
- Fix clippy warnings on Windows (#1088)
- Don't try to free DLL on drop (#1089)
- Fix panic safety issue in StderrForwarder (#1079)