Skip to content

Releases: muter-mutation-testing/muter

v5

21 Jan 00:20
Compare
Choose a tag to compare
v5

This release introduces the first breaking change within Muter's configuration file schema.

What was previously called blacklist is now called exclude. This change was made to better reflect the intent of the option, which is to exclude files from the mutation testing that Muter performs.

What's new?
In addition to the change to the configuration file called out above:

  • In the event that Muter discovers no changes it can apply to your codebase, it will stop early and display some suggestions of what to do.
  • Muter's source file discovery is now stricter, and will ignore files that do not end in .swift. Before this change, files that had .swift anywhere in their file path would be considered for mutation testing.
  • Muter now displays what version you're running in its header whenever you invoke it from the command line.
  • Muter now swallows all of the logs from xcodebuild. It dumps them into log files which you can find inside the temporary directory Muter generates for testing. A future version will be focused on making these files more discoverable.

What's been fixed?
There was a bug introduced in v4 that would cause pollution between mutation test passes, which would adversely affect mutation scoring. This issue has been resolved.

v4

14 Jan 03:03
Compare
Choose a tag to compare
v4

v4 includes a huge improvement to Muter's dependability, as well as some polishing of the commandline output.

Specifically, Muter will always copy your entire project into a temporary directory prior to performing any mutations on it, and will now refuse to perform any testing if it's unable to do so. Earlier versions of Muter would only copy a file prior to applying a mutation operator, and would then restore it after it had finished running your test suite. This ensures that Muter can never accidentally leave behind a mutant in your program should it be interrupted before it finishes a mutation test run.

Additionally, Muter now has a header it will always print out which contains a link to the issue tracker here on here on Github. I encourage you to post any issues or requests for help you may need while using Muter!

I want to give a shout out to @ZevEisenberg as well for the pairing we did on this release.

v3: Add Muter's xcode project to gitignore

14 Jan 02:27
Compare
Choose a tag to compare

v3 of Muter is a big release!

This is the first release to abandon semantic versioning. This is because every release of muter is considered to be important. Whether it be bug fixes, revisions, improvements, or new features, every release is major and should be adopted by a you.

This release adds:

  • A new mutation operator - Remove Side Effects. This operator will delete code that appears to be causing a side effect in your application. Read more about it on the operators list page.
  • Mutation scores for every file Muter is able to apply a mutation operator onto. This gives you greater insight into how your test suite responds to changes in certain parts of your code base, down to the file level.
  • An improved test report output - Muter now displays all of this information in a set of tables at the end of a run. In addition to the mutation score for a file, it reports every operator it applied to a file along with how it impacted your test suite.

v0.2.0

25 Dec 16:18
Compare
Choose a tag to compare

This release completes the negate conditionals mutation introduced in v0.1.0. Muter will invert conditional operators based on this table:

Original Operator Negated Operator
== !=
!= ==
>= <=
<= >=
> <
< >