Releases: SuperSeriousLab/Gremlins.jl
Release list
v0.4.0
Gremlins v0.4.0
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
v0.3.0
Gremlins v0.3.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
Gremlins v0.2.0
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) andschema.jl(934 to 546) split into cohesive include files. No behavior change.
v0.1.1
Gremlins v0.1.1
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
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.