Repository navigation
Releases: quality-gates/mutarust
Release list
Mutarust 0.2.1
Fixed
- Workspace copies skip file-system entries that Mutarust cannot copy, such as Unix sockets and FIFOs. Mutation runs continue.
Release checks
- Quality, Messrust, Security, and Mutation Testing passed on
mainate212c4998fd106ab8bd12472ca2e4fdd61babb4c. - Docs build and deployment passed.
cargo package --lockedpassed. The package installed into a clean Cargo root.--versionreturnedmutarust 0.2.1, and--helpran.- Published crate: mutarust 0.2.1 on crates.io.
- Install check:
cargo install mutarust --root /tmp/mutarust-verify --lockedinstalledmutarust 0.2.1. The installed command passed--helpand returnedmutarust 0.2.1for--version.
0.2.0
An incompatible library release. The public MutationResult struct has a new required field. Command-line use does not change, except for the new checksum output.
Fixed
- Each mutant result shows its blacklist checksum on a Blacklist checksum: line. The report.json mutant records include a blacklistChecksum field, and the HTML report shows the checksum with the mutant evidence. Before, no output showed the checksum that --blacklist accepts (#198).
Changed
- MutationResult has a new public blacklist_checksum field. Code that builds a MutationResult value must set it.
Release checks
- Quality, Security, Mutation Testing, and Docs passed on main at 99dc1bb: Quality (https://github.com/quality-gates/mutarust/actions/runs/36249160440), Security (https://github.com/quality-gates/mutarust/actions/runs/36249160435), Mutation Testing (https://github.com/quality-gates/mutarust/actions/runs/36249160452), and Docs build and deployment (https://github.com/quality-gates/mutarust/actions/runs/36249160448).
- Strict Messrust checks passed on main at e87f460 (https://github.com/quality-gates/mutarust/actions/runs/36240738314). The release pull request did not change production source.
- cargo package --locked passed. The package artifact installed into a clean Cargo root. --version returned mutarust 0.2.0, and --help ran.
- Published crate: mutarust 0.2.0 on crates.io (https://crates.io/crates/mutarust/0.2.0).
- Install check: cargo install mutarust --root /tmp/mutarust-verify --locked installed mutarust 0.2.0. The installed binary returned mutarust 0.2.0 for --version and ran --help.
0.1.10
A compatible release. The public library interface does not change existing functions and exports the new report seam.
Added
- A shared
Reporttrait andRenderedenum for report generation. write_allfunction to write every requested report and collect all write results.selected_reportshelper to resolve active report writers from configuration flags.- Exported report types:
FullJsonReport,SummaryJsonReport,HtmlReport,AgenticJsonReport,GitlabReport, andGithubAnnotations. run_for_testtest execution helper in the execution module.
Changed
- Report generation runs through the unified report seam. If a report write fails, the command still attempts all remaining reports before exit.
- Escaped-mutant filtering and JSON serialization helpers are unified across report implementations.
Publication evidence
- Required CI jobs green on PR #201 and main at ab38330 / 253b280 (Quality, Messrust, Security, Mutation Testing, Docs).
- Package check:
cargo package --lockedpassed; the package installed into a clean Cargo root;--versionand--helpanswered. - Published crate: mutarust 0.1.10 on crates.io https://crates.io/crates/mutarust/0.1.10.
- Installation evidence:
cargo install mutarust --root /tmp/mutarust-verify --lockedinstalledmutarust 0.1.10;--versionand--helpran from that root.
0.1.9
A compatible fix release. The public library interface does not change.
Fixed
- Source filters traverse associated items in impl and trait blocks for cfg and test ranges.
- Associated items marked
#[cfg(test)]count as unit tests forskip_without_test. - The
yoke-derivedependency is pinned to 0.8.2. The 0.8.3 version needs a newer compiler than Rust 1.85 and does not record a minimum Rust version, so fresh downstream resolutions stopped building on 1.85.
Publication evidence
- Required CI jobs green on
mainat 406beab (Quality, Messrust, Security, Mutation Testing, Docs). - Package check:
cargo package --lockedpassed; the package installed into a clean Cargo root;--versionand--helpanswered. - Published crate: mutarust 0.1.9 on crates.io.
- Installation evidence:
cargo install mutarust --root /tmp/mutarust-verify --lockedinstalledmutarust 0.1.9;--versionand--helpran from that root.
mutarust 0.1.8
A compatible fix release. The public library interface does not change.
Fixed
- Coverage sources from a symlinked temporary path map back to the source workspace.
- Clean suites and mutation workers isolate Cargo workspaces that share a layout root.
- Mutation workers reset workspace files between mutants while retaining Cargo build artifacts.
Verification
- Published crate: mutarust 0.1.8 on crates.io.
- Clean registry install completed with cargo install mutarust --root /tmp/mutarust-verify --locked.
- Verified mutarust --help and mutarust --version; the installed version is mutarust 0.1.8.
v0.1.7
A compatible fix release. The public library interface does not change.
Fixed
- Isolating
CARGO_HOMEkeeps the registry cache, git checkouts, and credentials. - A test binary that crashes marks a mutant as killed instead of skipped.
- The clean suite and coverage collection timeouts scale with
--timeout-coefficient. - Repeated mutation evidence adds location data to maintain distinct stable mutant IDs.
Verification
- Release pull request:
- main commit fc8f9b5 passed Quality, Messrust, Security, Mutation Testing, and Docs.
- Published mutarust 0.1.7 to crates.io.
- A clean cargo install mutarust --version 0.1.7 --locked succeeded. The installed command printed mutarust 0.1.7 and its help text.
Crate: https://crates.io/crates/mutarust/0.1.7
Release PR: #164
v0.1.6
A compatible fix release. The public library interface does not change.
Fixed
expression/removeno longer plans a mutant whose applied text equals the source, such as replacing thetrueina && trueor thefalseinx || false. Phantom mutants no longer count as escaped with an empty diff, and mutants on different operands keep distinct stable mutant IDs.// mutator-disable-funcon the line beforefnworks after a doc comment.--git-diff-linesresolves the Git repository from the target path.--git-diff-linesuses the current branch whenorigin/HEADis missing.- Git diff hunk bodies that start with plus prefixes parse as source content.
Verification
- Release pull request:
- main commit 2bd20bd passed Quality, Messrust, Security, Mutation Testing, and Docs.
- Published mutarust 0.1.6 to crates.io.
- A clean cargo install mutarust --version 0.1.6 --locked succeeded. The installed command printed mutarust 0.1.6 and its help text.
Crate: https://crates.io/crates/mutarust/0.1.6
Release PR: #156
v0.1.5
A compatible release. The public library interface does not change.
Added
- Production
Dockerfileand developmentdev.Dockerfilefor container execution. .dockerignoreto exclude build artifacts, git repository data, and worktrees.
Verification
- Release pull request:
- main commit 852b7d2 passed Quality, Messrust, Security, Mutation Testing, and Docs.
- Published mutarust 0.1.5 to crates.io.
- A clean cargo install mutarust --locked succeeded. The installed command printed mutarust 0.1.5 and its help text.
Crate: https://crates.io/crates/mutarust/0.1.5
Release PR: #133
v0.1.4
A compatible fix release. The public library interface does not change.
Fixed
- Process management replaces fixed sleep duration loops with adaptive backoff poll intervals (#122).
- Mutation candidate test and configuration overlap checks use binary search over sorted line ranges (#121).
- Mutation evidence diff generation avoids full-file line allocations (#119).
- Source candidate module discovery caches parsed ASTs to avoid multi-pass re-parsing (#120).
- Per-test coverage collection reuses a single build directory across individual test runs (#117).
- Parallel mutation workers share dependency build artifacts read-only with symbolic links instead of duplicating the full target directory (#118).
Verification
- Fix and release pull requests:
- main commit 55a705b passed Quality, Messrust, Security, Mutation Testing, and Docs.
- Published mutarust 0.1.4 to crates.io.
- A clean cargo install mutarust --version 0.1.4 --locked succeeded. The installed command printed mutarust 0.1.4 and its help text.
v0.1.3
A compatible fix release. The public library interface does not change.
Changed
- Mutation workers reuse clean workspace copies and their Cargo target directories.
- Cargo mutation work stays within the configured worker and CPU limits.
Fixed
- Planning reuses the Cargo workspace description for source candidates in the same package. This decreases dry-run planning time for large workspaces.
- Source code now satisfies the current Clippy map_or_identity rule.