Releases: stryker-mutator/stryker4s
Stryker4s v0.3.1
We just released Stryker4s version 0.3.1! This release provides two new big features! A Maven plugin, and a fancy new HTML reporter. A number of smaller (but also important) are also included.
Maven plugin (#151)
Similar to the sbt plugin, the Maven plugin allows you to easily mutation test your Maven Scala project. Add Stryker4s to your project by adding the following lines to your pom.xml
:
<plugin>
<groupId>io.stryker-mutator</groupId>
<artifactId>stryker4s-maven-plugin</artifactId>
<version>0.3.1</version>
</plugin>
You can then run Stryker4s with the command mvn stryker4s:run
. Note that this is different than the command for the sbt plugin.
HTML reporter (#176)
You can now output your mutation test report to a nicely readable HTML report. You can enable the report by enabling it in your stryker4s.conf
:
reporters: [ "console", "html" ]
After completing a mutation run, a report will be written to target/stryker4s-report-$timestamp/index.html
. See the mutation-testing-elements repo for more information.
Changes in logging configuration (#150)
We have also changed the configuration for setting a log level. This is now dependant on what plugin you use to run Stryker4s:
- sbt plugin:
- Add
logLevel in stryker := Level.Debug
in your build.sbt or via the command-line. - Options:
Debug
,Info
,Warn
,Error
- Add
- Commandrunner:
- Pass the loglevel as a parameter when running, like so:
--debug
. - Options:
--off
,--error
,--warn
,--info
,--debug
,--trace
,--all
(not case sensitive)
- Pass the loglevel as a parameter when running, like so:
- Maven plugin:
- As a command-line property, like so:
mvn -Dorg.slf4j.simpleLogger.defaultLogLevel=warn stryker4s:run
. - Options:
trace
,debug
,info
,warn
, orerror
- As a command-line property, like so:
Note that the log-level
property in stryker4s.conf
is no longer used. We plan to add a deprecation warning in the future.
New mutators
The following new mutators are introduced:
Bugfixes
Other changes
Stryker4s v0.2.1
We just released Stryker4s v0.2.1! This marks our second release thusfar. It's mostly focused on fixing bugs, providing a stable environment and supporting more types of projects. Give it a try by adding the sbt plugin to your project:
addSbtPlugin("io.stryker-mutator" % "sbt-stryker4s" % "0.2.1")
Features
- Our releases are now automated by sbt-ci-release. We'll also be releasing more often (#131).
- Every commit that is merged into master will now become a SNAPSHOT release. Check out the documentation for more info.
- A warning is now logged when Stryker4s is ran with the default JVM memory settings. Mutation testing is a taxing process, and increasing the memory can halt the process to a grind (#139).
- Logging is improved for when no mutations are found (#140).
Bug fixes
- We've fixed some bugs related to generating mutated code. If you ran into problems with the previous release, please try again (#126, #130, #147)!
- Fixed a bug bug where files that were deleted, but not yet staged on git would throw a
FileNotFoundException
was fixed (#134). - The sbt plugin now properly copies over any JVM system properties that are set (#136).
Other changes
- The submodules have been re-organized. This means
stryker4s-util
is removed, and most plugins/runners only depend onstryker4s-core
now. Thecommand-runner
is now also in a separate package (#128).- A nice side-effect of this is that the
command-runner
is now easily runnable via Coursier. Simply runcoursier launch --scaladex stryker4s-command-runner
to start mutation testing a project that does yet have a plugin!
- A nice side-effect of this is that the
- We now test against multiple JDK's on Travis. This should help us catch any future compatibility problems with different JVM's (#129).
- The sbt plugin has had a slight refactoring to clean it up and only apply some settings once (#138).
- Some documentation was added detailing our versioning strategy (#107).
- Generated mutated code is now slightly cleaner (#144).
v0.1.0
This is the first official release of Stryker4s
🎉! Only the more substantial features will be described here.
Features
- Sbt support using a plugin. Add the plugin to your project with
addSbtPlugin("io.stryker-mutator" % "sbt-stryker4s" % "0.1.0")
- Able to configure Stryker4s using the
stryker4s.conf
. For more information see configuration - Basic mutators, a list of all available mutators can be found here
- Console reporter