Skip to content

Releases: Oxyconit/mutation_tester

v1.7.0

Choose a tag to compare

@KamilDzierbicki KamilDzierbicki released this 19 Sep 18:51
ed89947

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

Choose a tag to compare

@KamilDzierbicki KamilDzierbicki released this 19 Sep 16:19
8259519

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

Choose a tag to compare

@KamilDzierbicki KamilDzierbicki released this 13 Aug 08:16
a4cbbb5

Full Changelog: v1.5.0...v1.5.1

v1.5.0

Choose a tag to compare

@KamilDzierbicki KamilDzierbicki released this 08 Aug 17:14
35098de

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

Choose a tag to compare

@KamilDzierbicki KamilDzierbicki released this 05 Aug 14:43
2e2d74b

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

Choose a tag to compare

@KamilDzierbicki KamilDzierbicki released this 04 Aug 05:56
9fbdf6f

Bugfix release.

  • Parallel runs no longer report every mutant as survived (Killed: 0, score 0.0%) on projects whose test file reaches its source through $LOAD_PATH (a Rails app run with -Itest in RUBYOPT, for example). A preloaded worker starts once in the real project root, so Ruby absolutizes every -I/RUBYLIB entry against that directory; the forked child then changed into the shadow workspace but kept resolving require "test_helper" back to the original tree, which loaded the unmutated source. Each job now rewrites the $LOAD_PATH entries of the mirrored project root into the workspace. Only Minitest suites hit this in practice; serial runs and the spawn runner 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 raise and requires the run to fail. When it still passes, the run aborts as an infrastructure failure (exit code 3) 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

Choose a tag to compare

@KamilDzierbicki KamilDzierbicki released this 01 Aug 15:21
1b9228b

Full Changelog: v1.3.0...v1.4.0

v1.3.0

Choose a tag to compare

@KamilDzierbicki KamilDzierbicki released this 15 Jul 21:12
49ed530

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

Choose a tag to compare

@KamilDzierbicki KamilDzierbicki released this 14 Jul 19:39
669c590

[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 an included do block). 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 full fork run 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%.