Skip to content

Releases: SuperSeriousLab/Gremlins.jl

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 20:07
6a9c91b

Gremlins v0.4.0

Diff since v0.3.1

Gremlins v0.4.0 — breaking change: the per-result-type report twins are unified onto dispatch. print_warm_summary and print_schema_summary are now methods of print_summary; report_warm_markdown and report_schema_markdown are now methods of report_markdown. Call the unified names — the suffixed ones are removed.

Added: effective_score, a coverage-adjusted score killed/(total-error) reported alongside mutation_score; a caution on a perfect or under-challenged mutation score (equivalent mutants and tiny eligible sets inflate a 100%); markdown reports now show the eligible count.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 19 Jun 12:36
1adfbb7

Gremlins v0.3.1

Diff since v0.3.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 18 Jun 21:04
f4f6b23

Gremlins v0.3.0

Diff since v0.2.0

Gremlins v0.3.0 — no breaking changes. (changelog)

Added: dispatch operators OP_UNION_DROP and OP_WHERE_RELAX gated by a whole-project method map; --blame to map surviving mutants to the test units that cover but don't kill them (#5); --parallel (#7); --in-diff <ref> scope; the idiom operators OP_COMPARISON_CHAIN, OP_TERNARY_SWAP, OP_BROADCAST_DROP; a per-survivor diff in the report (#4); a custom-operator guide (#6).

Fixed: honour test/Project.toml test-only deps (#2, #3); resolve source-collocated test items (#5); preserve a mutant's error_msg on the parallel path (#7).

Closed issues:

  • Fails to run (#2)
  • Honor test/Project.toml (test-only deps) in baseline + mutant runs (#3)
  • Emit a unified diff per surviving mutant (Vimes parity) (#4)
  • Support ReTestItems / TestItemRunner layouts in survivor-coverage blame (#5)
  • Docs: custom / bring-your-own mutation operators (#6)
  • Parallel mutant execution (Vimes procs= parity) (#7)

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Jun 15:55

Gremlins v0.2.0

Diff since v0.1.1

Gremlins v0.2.0

No breaking changes to the public API. This is a 0.x minor bump, which the registry flags as "breaking" by Julia semver convention; all additions below are opt-in and backward-compatible. (changelog)

Added

  • --in-diff <ref>: scope mutation sites to git-diffed lines (Feature A)
  • Julia-idiom operators: comparison-chain, ternary-swap, broadcast-drop (Feature B)
  • --schema: compile-once mutant-schemata mode for operator-swap sites, benchmarked 2.01x faster than the warm path on eligible-heavy code; auto-falls back to warm for ineligible sites (Feature C)

Changed

  • Internal refactor: warm.jl (1229 to 638) and schema.jl (934 to 546) split into cohesive include files. No behavior change.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 08 Jun 17:18

Gremlins v0.1.1

Diff since v0.1.0

mutation runs execute within shadow copy
no gremlin-corrupted files left behind
timeout derives from coverage-discounted baseline with cold-start floor
baseline_timeout configurable
mutate and mutate_warm gain max_mutants and files keywords for scoped runs
per-mutant stdout flush added

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Jun 12:24

Gremlins v0.1.0

Initial release — mutation testing for Julia. JuliaSyntax byte-splice operators (19), coverage-guided selection, warm-worker pool (eval-into-module, 5.77× vs process-per-mutant), incremental cache, CI CLI with threshold bands.