Repository navigation
Releases: Oxyconit/mutation_tester
Releases · Oxyconit/mutation_tester
Release list
v1.7.0
What's Changed
- feat: remove single hash pairs from call arguments and swap range operators by @KamilDzierbicki in #8
Full Changelog: v1.6.0...v1.7.0
v1.6.0
What's Changed
- feat: record which tests kill each mutant with an opt-in kill matrix by @KamilDzierbicki in #6
- feat: show elapsed time, estimated remaining time and live tallies in the progress line by @KamilDzierbicki in #7
Full Changelog: v1.5.1...v1.6.0
v1.5.1
v1.5.0
What's Changed
- feat: keep the in-memory runner with --worker-env via an after-fork hook and shadow serial runs by @KamilDzierbicki in #5
Full Changelog: v1.4.2...v1.5.0
v1.4.2
What's Changed
- feat: Regex source-to-spec mapping and a batch gate that fails when nothing was measured by @KamilDzierbicki in #4
Full Changelog: v1.4.1...v1.4.2
v1.4.1
Bugfix release.
- Parallel runs no longer report every mutant as survived (
Killed: 0, score0.0%) on projects whose test file reaches its source through$LOAD_PATH(a Rails app run with-ItestinRUBYOPT, for example). A preloaded worker starts once in the real project root, so Ruby absolutizes every-I/RUBYLIBentry against that directory; the forked child then changed into the shadow workspace but kept resolvingrequire "test_helper"back to the original tree, which loaded the unmutated source. Each job now rewrites the$LOAD_PATHentries of the mirrored project root into the workspace. Only Minitest suites hit this in practice; serial runs and thespawnrunner were never affected. - The shadow-workspace sanity check now also proves that the workspace copy of the source is the code the tests execute: after the unmutated source passes there, the check replaces that copy with a
raiseand requires the run to fail. When it still passes, the run aborts as an infrastructure failure (exit code3) instead of reporting a complete-looking 0.0% score. - The console summary warns when a file with at least five scored mutants killed none of them.
What's Changed
- fix: Parallel runs report every mutant as survived when the test file resolves its source through $LOAD_PATH by @KamilDzierbicki in #3
Full Changelog: v1.4.0...v1.4.1
v1.4.0
v1.3.0
What's Changed
- feat: calibrate mutant timeouts to the baseline and signal infrastructure failures distinctly by @KamilDzierbicki in #2
Full Changelog: v1.2.0...v1.3.0
v1.2.0
[1.2.0] - 2026-07-14
- Fixed the in-memory runner reporting false survivors for mutations that only take effect at class-load time (constants consumed by macros,
validates/has_many/before_save/scope/attribute, and anything inside anincluded doblock). The mutator now classifies each mutation by AST context, and the in-memory run routes load-time mutations to the file-based path while keeping method-body mutations in memory, so the default (auto) score matches a fullforkrun on Rails concerns and models. Measured on a real Rails concern the default score went from a misleading 1.63% to the correct 35.77%.