Releases: stryker-mutator/stryker4s
v0.17.1
v0.17.0
0.17.0 (2025-03-14)
Features
- better CLI parsing (#1711) (27a9b4a)
- config: add CLI and build tool config support (#1643) (9fcc1b1)
- config: support scala 3.4 and 3.5 dialect (#1654) (c9ed5ac)
- config: support scala 3.6 dialect (#1681) (299875b)
- config: open report automatically (#1430) (b58b851)
- cross-publish to sbt 2.x (#1655) (b4fe26d)
- cross-publish to scala 3 (#1651) (c9c3c1d)
- config: read scala-dialect from sbt settings (#1720) (9879518)
Bug Fixes
- compatibility with sbt-crossproject (#1648) (3879b63)
- disable fatal-warnings scalacOption when mutating (#1680) (0b1db17)
- handle relative and absolute base-dir paths (#1725) (f357940)
- handle WSL correctly when opening report (#1726) (f2a79e5)
- mutate glob (a933e7b)
- sbt: glob expressions for mutate and files on windows (#1727) (2901f08)
v0.16.1
v0.16.0
0.16.0 (2023-12-27)
This release mainly features improved reporting. The biggest feature is inclusion of tests in the report. Stryker4s will now show all your test suites, and (if supported) the individual tests of each test suite. This makes it easier to see which tests cause failing mutants.
Test output
In the HTML report, a new tab is added to show the test results:
Opening a test suite reveals the tests inside that suite, clicking on one shows more information available about what mutants it covers and might have killed:
Back on the mutant tab, each mutant will now show what tests are covered by it. And for killed mutants the test exception output is shown:
Regex mutations
Regex mutations now show the precise characters inside the expression that has been mutated as its location, and a richer description with info about the mutation is added:
⚠ BREAKING CHANGES
- up minimum-supported sbt version to 1.7.0 (#1476)
Features
- add weapon-regex description to mutant and improve statusReason report field (#1470) (bb8878f)
- regex: use correct replacement and location from weapon-regex mutations (#1480) (fc9854b)
- report: add tests and coverage per-test to report (#1475) (5a529c8)
Bug Fixes
- regex without mutations throwing exception (#1479) (d177986)
- up minimum-supported sbt version to 1.7.0 (#1476) (e2caf4a)
- update weapon-regex to 1.2.1 (#1473) (a125824)
Miscellaneous Chores
- release 0.16.0 (bf3aeb9)
Stryker4s v0.15.2
🐛 Bugfixes
- Set --release javac option to 8 (#1458) @hugo-vrijswijk
Stryker4s v0.15.1
This patch release mostly refactors some internal module layout.
For Maven users, the default files to mutate configuration now uses Maven project info. For sbt users, using a snapshot release of the plugin will no longer require also adding a snapshot resolver to your project too (it is done automatically now).
🐛 Bugfixes
- Add snapshot resolver if snapshot version is used in sbt plugin (#1457) @hugo-vrijswijk
- Use Maven project info to resolve files to mutate (#1454) @hugo-vrijswijk
🧰 Maintenance
- Test CI on JDK 21 (#1456) @hugo-vrijswijk
- Move some packages and remove unused ext methods (#1455) @hugo-vrijswijk
- Add munit to testkit (#1453) @hugo-vrijswijk
- Add api and testkit projects (#1449) @hugo-vrijswijk
- modules structure (#1448) @hugo-vrijswijk
- Use cats option/either syntax (#1440) @hugo-vrijswijk
Stryker4s v0.15.0
See https://stryker-mutator.io/blog/stryker4s-0-15-is-here/
🚀 Features
- [sbt] Add warning in case of empty framework sequence (#1424) @fabianhjr
- Rework mutant placing algorithm (#1150) @hugo-vrijswijk
- Add staticTmpDir static path and cleanTmpDir config options (#1263) @gergelytraveltime
- Fill report with system and framework info (#1211) @hugo-vrijswijk
- Add logging backend wrapper for sttp requests (#1155) @hugo-vrijswijk
- Use sbt's setting for if console color is enabled (#1071) @hugo-vrijswijk
- Add colors to console output (#1070) @hugo-vrijswijk
- Add source3 scala-dialect and deprecate 2.11 (#1062) @hugo-vrijswijk
🐛 Bugfixes
- Simplify canPlace algorithm and fix instrumenter recursively placing mutants (#1432) @hugo-vrijswijk
- [core] Use config Dialect to write Scala3 mutations (#1416) @fabianhjr
🧰 Maintenance
- Fix releases by disabling sbt-tpolecat release mode (#1421) @hugo-vrijswijk
- Use cats-effect Env for reading CI environment variables (#1367) @hugo-vrijswijk
- sbt: enable local publish for stryker4s-command-runner (#1262) @gergelytraveltime
- Update devcontainer java version to latest (17) (#1103) @hugo-vrijswijk
- Use predefined license config value (#1089) @hugo-vrijswijk
- Use fs2 socket implementations instead of old java.net (#1069) @hugo-vrijswijk
- Build maven-plugin on Scala 2.13 (#1061) @hugo-vrijswijk
- Compile with -Xsource:3 (#1060) @hugo-vrijswijk
📖 Documentation
- Two small documentation fixes (#979) @MartinWelgemoed
- minor typo in docs (#1234) @hochgi
Stryker4s v0.14.3
🚀 Features
- Use more accurate initial test-run duration (sbt plugin) (#1053) @hugo-vrijswijk
🧰 Maintenance
- Optimize CoverageTestRunResult size (#1054) @hugo-vrijswijk
- Replace log4j with slf4j-simple in stryker4s-command-runner (#1039) @hugo-vrijswijk
Stryker4s v0.14.2
This release updates log4j to 2.16.0
for the command-runner to fix the security issue. If you use the sbt or Maven plugin, this has no impact as those plugins do not use log4j. If you use the command-runner, upgrading is recommended.
Also updates the HTML report to a newer version with some performance fixes and a new 'diff' view #1028:
🧰 Maintenance
- Disable snapshot releases for Maven plugin (#1032) @hugo-vrijswijk
Stryker4s v0.14.1
Stryker4s is a mutation testing framework. It tests your tests by temporarily inserting small bugs, or mutants, into your production code. Your tests are run for each mutant. If your tests fail, then the mutant is killed. If your tests passed, the mutant survived. The higher the percentage of mutants killed, the more effective your tests are. See the website for more information.
This release adds per-test coverage. That means when testing a mutant, Stryker4s will only run the tests that cover that mutant, instead of all tests. Tests that don't cover a mutant can never kill it. Makes sense, right? That's why we added it. When running Stryker4s on Stryker4s, this improved the performance by about 40% 🥳! Big thanks to @OssamaSijbesma for adding this feature!
🚀 Features
- Per-test coverage analysis (#1001) @OssamaSijbesma
- Fix per-test coverage analysis (#1004) @hugo-vrijswijk
- Fill
testsCompleted
in the report (#1005) @hugo-vrijswijk
🧰 Maintenance
- Setup libraryDependencySchemes for stryker4s dependencies (#1002) @hugo-vrijswijk