Releases: stryker-mutator/stryker4s
Stryker4s v0.10.0-RC3
This is the third (and hopefully final) pre-release of Stryker4s 0.10.0. The next release should be the final one and will include code coverage (for sbt). There are some bugfixes in this release, but the biggest one you'll notice is the change in logging backend (#623). Stryker4s now uses only whatever logging implementation the build tool requires. What this means is logging might look slightly different, and Stryker4s will now no longer have a core dependency on slf4j 🙌. Setting the log-level still works the same way.
We also support the fresh-out-of-the-oven Scala 3.0.0-M1 🔥!
🚀 Features
- Rework logging (#623) @hugo-vrijswijk
🐛 Bugfixes
- Fix some mutations in if-statements not being applied (#590) @hugo-vrijswijk
- Fix mutations in
case
statements not always being added (#589) @hugo-vrijswijk
🧰 Maintenance
- Update dotty to Scala 3.0.0-M1 (#626) @hugo-vrijswijk
- Set up cats-effect-testing-scalatest (#616) @hugo-vrijswijk
- Setup manual trigger for mutation-testing workflow (#618) @hugo-vrijswijk
- Only set timeout if initial-test-run is succesful (#588) @hugo-vrijswijk
📖 Documentation
- Fix broken links in README.md (#621) @wijtserekker
- HTML report body changes with theme (#622) @wijtserekker
Stryker4s v0.10.0-RC2
This is the second pre-release of Stryker4s 0.10.0 featuring the new sbt testrunner. See the previous release for more information about the new testrunner.
In this release a couple of new features were added to give more control over the testrunner via your stryker4s.conf
. The biggest one is the new timeout-runner which fully supports timeouts based on the initial test-run duration (#573). You can now also restart the testrunner every n
runs if you want to (#582) or go back to the old legacy sbt testrunner (#578).
🧾 Known issues
- 'Static' mutants (a
val
in anobject
) are always reported as survived.
🚀 Features
- Fully support timeout runner (sbt testrunner only) (#573) @hugo-vrijswijk
- Add maxTestRunnerReuse config option (#582) @hugo-vrijswijk
- Config option for legacy sbt test runner (#578) @hugo-vrijswijk
🐛 Bugfixes
- Fix topStatement for argument Assign terms (#576) @hugo-vrijswijk
🧰 Maintenance
- Improve humanReadable duration to use 'and' at the end (#583) @hugo-vrijswijk
- Cleanup selfRecreatingResource to use Ref (#581) @hugo-vrijswijk
Stryker4s v0.10.0-RC1
This is a pre-release version of Stryker4s. The biggest change is the new testrunner for sbt (#492) which boasts major performance improvements for the sbt plugin compared to the old testrunner. Running it on Stryker4s speeds up a mutation run from 40 minutes to less than 3 🏃♀️⏱! Please test it out and give feedback in Slack or create a new issue if you run into anything! All Scala versions from 2.11 to Dotty 0.27 are supported. The next release of Stryker4s will likely have this testrunner as a configurable 'experimental' testrunner.
🧾 Known issues
- 'Static' mutants (a
val
in anobject
) are always reported as survived.
🚀 Features
- Sbt process testrunner (#492) @hugo-vrijswijk
🧰 Maintenance
- Mergify: configuration update (#569) @hugo-vrijswijk
- Run CI on JDK 14 (#566) @hugo-vrijswijk
Stryker4s v0.9.2
🚀 Features
🐛 Bugfixes
- Fix sbt scripted tests not running (#551) @hugo-vrijswijk
🧰 Maintenance
- Replace cache action with coursier-cache (#557) @hugo-vrijswijk
- Remove TreeEquality (#547) @hugo-vrijswijk
- Inject reporters into (renamed) AggregateReporter (#546) @hugo-vrijswijk
- Improve config validations (#544) @hugo-vrijswijk
Stryker4s v0.9.1
🚀 Features
- Check minimum supported sbt version (#524) @hugo-vrijswijk
🐛 Bugfixes
- Handle NaN mutation score in report correctly (#529) @hugo-vrijswijk
- Report sbt Error TestResult correctly as failed instead of error (#528) @hugo-vrijswijk
- Note: This might slightly change your mutation score
🧰 Maintenance
- Aggregate all projectmatrix projects in root (#527) @hugo-vrijswijk
Stryker4s v0.9.0
🚀 Features
- Use
@SuppressWarnings
annotation to skip mutations (#499) @MercurieVV - Call reporters asynchronously (#488) @hugo-vrijswijk
- Introduce cats-effect, fs2 for reporters (#511) @hugo-vrijswijk
- Fix file reporters not writing to file (regression in-between releases) (#517) @hugo-vrijswijk
🐛 Bugfixes
- Add unused:explicits to scalacOptions blocklist (#522) @hugo-vrijswijk
- Fix crossPublish not publishing all Scala versions (#516) @hugo-vrijswijk
🧰 Maintenance
- Use java path for File IO where possible (#512) @hugo-vrijswijk
- Refactor MutantRunners to setup state in context object (#491) @hugo-vrijswijk
- Update cache to use multi-paths from v2 (#484) @hugo-vrijswijk
Stryker4s v0.8.1
Note: The release done on May 30th had an error where not all artifacts were published. Namely, stryker4s-core_2.12 and stryker4s-command-runner_2.12 were missing. This has been fixed and the artifacts should now be available.
🐛 Bugfixes
- Fix catch-statements not being included in mutations (#483) @hugo-vrijswijk
Stryker4s v0.8.0
We are excited to release Stryker4s v0.8.0. This is the first minor (v0.x.0) release we have done this year 🎆!
The big new feature in town is the test-filter
config option, invented and contributed by @CharlesD91. It allows you to filter what tests are run during your mutation testing, which can be useful if you have integration tests in the same project or have some flaky tests. It works for both the sbt and Maven plugin.
A bug that could result in always-survived mutants was also fixed. Mutations that always show up as Survived even though a test fails when you edit the code manually should be Killed now 💀. So another reason to upgrade is that this version might actually increase your mutation score!
🚀 Features
- Add test-filter to Config (#461) @CharlesD91
- Add test-filter to maven plugin (#466) @hugo-vrijswijk
🐛 Bugfixes
- Add unused:locals to scalacOptions blacklist (#473) @hugo-vrijswijk
- fix: include pattern-matches in topStatements (#470) @hugo-vrijswijk
- Rework topStatement logic and log if mutations aren't added (#474) @hugo-vrijswijk
Stryker4s v0.7.3
🐛 Bugfixes
- Filter out scalacOptions that can break on Scala 2.13 projects (#456) @hugo-vrijswijk
🧰 Maintenance
- Add sbt-projectmatrix (#448) @hugo-vrijswijk
- Setup VS Code devcontainer (#447) @hugo-vrijswijk
- Move runner projects to root (#432) @hugo-vrijswijk
- Change most case classes/traits to be final/sealed (#431) @hugo-vrijswijk
- Add cache to github actions (#407) @hugo-vrijswijk
- Hide transfer-progress for mvn commands in CI (#408) @hugo-vrijswijk
- Use sbt executeTests task for better result inference (#393) @hugo-vrijswijk
- chore: remove jitpack resolver (not used) (#366) @hugo-vrijswijk
📖 Documentation
- (docs) log-level can't be set in stryker4s.conf (#455) @mthmulders
Stryker4s v0.7.2
🚀 Features
- Cross-build to Scala 2.13 (core and command-runner) (#356) @hugo-vrijswijk
🐛 Bugfixes
- Blacklist scalacOptions that can cause errors (#357) @hugo-vrijswijk
🧰 Maintenance
- Update github workflow versions (#355) @hugo-vrijswijk
- Use sbt-tpolecat for scalacOptions (#354) @hugo-vrijswijk
- Run mutation testing in CI (#320) @hugo-vrijswijk
- Run verify instead of just test for maven plugin (#329) @hugo-vrijswijk