Releases: sourcefrog/cargo-mutants
v24.9.0
24.9.0
-
Fixed: Avoid generating empty string elements in
ENCODED_RUSTFLAGSwhen--cap-lintsis set. In some situations these could cause a compiler error complaining about the empty argument. -
New:
--profileoption allows selecting a Cargo profile. In particular, it's recommended that you can use--profile=mutantsand configure a custom profile in yourCargo.tomlto optimize the build for mutants, by turning off debug symbols. -
New:
--iterateoption skips mutants that were previously caught or unviable. -
New: cargo-mutants starts a GNU jobserver, shared across all children, so that running multiple
--jobsdoes not spawn an excessive number of compiler processes. The jobserver is on by default and can be turned off with--jobserver false. -
Fixed: Don't error on diffs containing a "Binary files differ" message.
v24.7.1
-
Changed: No build timeouts by default. Previously, cargo-mutants set a default build timeout based on the baseline build, but experience showed that this would sometimes make builds flaky, because build times can be quite variable. If mutants cause builds to hang, then you can still set a timeout using
--build-timeoutor--build-timeout-multiplier. -
Fixed: Don't error if the
--in-difffile is empty. -
Changed: cargo-mutants no longer passes
--cap-lints=allowto rustc. This was previously done so that mutants would not unnecessarily be unviable due to triggering compiler warnings in trees configured to deny some lints, but it had the undesirable effect of disabling rustc's detection of long running const evaluations. If your tree treats some lints as errors then the previous behavior can be restored with--cap-lints=true(or the equivalent config option), or you can usecfg_attrand a feature flag to accept those warnings when testing under cargo-mutants.
Download cargo-mutants 24.7.1
| File | Platform | Checksum |
|---|---|---|
| cargo-mutants-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| cargo-mutants-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| cargo-mutants-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| cargo-mutants-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v24.7.0
Download cargo-mutants 24.7.0
| File | Platform | Checksum |
|---|---|---|
| cargo-mutants-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| cargo-mutants-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| cargo-mutants-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| cargo-mutants-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v24.5.0
-
Fixed: Follow
pathattributes onmodstatements. -
New:
--build-timeoutand--build-timeout-multiplieroptions for setting timeouts for thebuildandcheckcargo phases. -
Changed:
--timeout-multipliernow overridestimeout_multiplierfrom.cargo/mutants.toml. -
Changed:
--timeoutand--timeout-multiplierare now conflicting options.
v24.4.0
-
New: Generate mutations that delete the
!and-unary operators. -
Changed: Baselines and mutants are now built with
cargo test --no-runrather thancargo build --testsas previously. This avoids wasted build effort if thedevandtestCargo profiles are not the same, and may better distinguish build failures from test failures. With--test-tool=nextest, the correspondingcargo nextest run --no-runis used. -
Fixed:
.ignorefiles can no longer affect source tree copying, so test files listed in a.ignore(e.g.*.snapfor Insta snapshots) are now correctly copied into temporary build directories. -
Fixed: Don't visit files marked with
# -
Fixed: Paths to module files nested within
modblocks are now correctly resolved. -
Added: Document stability policy in the manual.
v24.3.0
Download cargo-mutants 24.3.0
| File | Platform | Checksum |
|---|---|---|
| cargo-mutants-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| cargo-mutants-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| cargo-mutants-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| cargo-mutants-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v24.2.1
-
New:
--features,--no-default-featuresand--all-featuresoptions are passed through to Cargo. -
Changed: Minimum Rust version (to build cargo-mutants, not to use it) increased to 1.73.
-
New: Warn if nextest returns an exit code indicating some failure other than test failure, such as an internal error in nextest.
-
New: json output includes the exit code of subprocesses, and the signal if it was killed by a signal.
-
Changed: Set
INSTA_FORCE_PASS=0(in addition to previouslyINSTA_UPDATE=no) when running tests, so that tests that use the Insta library don't write updates back into the source directory, and so don't falsely pass. -
New:
--timeout-multiplieroption allows setting the timeout for mutants to be a multiple of the baseline timeout, rather than a fixed time.
Install cargo-mutants 24.2.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sourcefrog/cargo-mutants/releases/download/v24.2.1/cargo-mutants-installer.sh | shInstall prebuilt binaries via powershell script
irm https://github.com/sourcefrog/cargo-mutants/releases/download/v24.2.1/cargo-mutants-installer.ps1 | iexDownload cargo-mutants 24.2.1
| File | Platform | Checksum |
|---|---|---|
| cargo-mutants-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| cargo-mutants-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| cargo-mutants-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| cargo-mutants-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v24.2.0
- New: Colored output can be enabled in CI or other noninteractive situations by passing
--colors=always, or settingCARGO_TERM_COLOR=always, orCLICOLOR_FORCE=1. Colors can similarly be forced off with--colors=never,CARGO_TERM_COLOR=never, orNO_COLOR=1.
Install cargo-mutants 24.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sourcefrog/cargo-mutants/releases/download/v24.2.0/cargo-mutants-installer.sh | shInstall prebuilt binaries via powershell script
irm https://github.com/sourcefrog/cargo-mutants/releases/download/v24.2.0/cargo-mutants-installer.ps1 | iexDownload cargo-mutants 24.2.0
| File | Platform | Checksum |
|---|---|---|
| cargo-mutants-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| cargo-mutants-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| cargo-mutants-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| cargo-mutants-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v24.1.2
- New:
--in-placeoption tests mutations in the original source tree, without copying the tree. This is faster and uses less disk space, but it's incompatible with--jobs, and you must be careful not to edit or commit the source tree while tests are running.
Install cargo-mutants 24.1.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.2/cargo-mutants-installer.sh | shInstall prebuilt binaries via powershell script
irm https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.2/cargo-mutants-installer.ps1 | iexDownload cargo-mutants 24.1.2
| File | Platform | Checksum |
|---|---|---|
| cargo-mutants-aarch64-apple-darwin.tar.xz | macOS Apple Silicon | checksum |
| cargo-mutants-x86_64-apple-darwin.tar.xz | macOS Intel | checksum |
| cargo-mutants-x86_64-pc-windows-msvc.zip | Windows x64 | checksum |
| cargo-mutants-x86_64-unknown-linux-gnu.tar.xz | Linux x64 | checksum |
v24.1.1
cargo-mutants 24.1.1
-
New: Mutate
+, -, *, /, %, &, ^, |, <<, >>binary ops, and their corresponding assignment ops like+=. -
New:
--baseline=skipoption to skip running tests in an unmutated tree, when they're already been checked externally. -
Changed: Stop generating mutations of
||and&&to!=and||, because it seems to raise too many low-value false positives that may be hard to test. -
Fixed: Colors in command-line help and error messages.
Install cargo-mutants 24.1.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.1/cargo-mutants-installer.sh | shInstall prebuilt binaries via powershell script
irm https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.1/cargo-mutants-installer.ps1 | iexDownload cargo-mutants 24.1.1
| File | Platform | Checksum |
|---|---|---|
| cargo-mutants-aarch64-apple-darwin.tar.xz | macOS Apple Silicon | checksum |
| cargo-mutants-x86_64-apple-darwin.tar.xz | macOS Intel | checksum |
| cargo-mutants-x86_64-pc-windows-msvc.zip | Windows x64 | checksum |
| cargo-mutants-x86_64-unknown-linux-gnu.tar.xz | Linux x64 | checksum |