Skip to content

v0.18.0

Compare
Choose a tag to compare
@PragTob PragTob released this 28 Jan 13:05
· 121 commits to master since this release

Huge release! Highlights are support for branch coverage (Ruby 2.5+) and dropping support for EOL'ed Ruby versions (< 2.4).
Please also read the other beta patch notes.

Enhancements

  • You can now define the minimum expected coverage by criterion like minimum_coverage line: 90, branch: 80
  • Memoized some internal data structures that didn't change to reduce SimpleCov overhead
  • Both FileList and SourceFile now have a coverage method that returns a hash that points from a coverage criterion to a CoverageStatistics object for uniform access to overall coverage statistics for both line and branch coverage

Bugfixes

  • we were losing precision by rounding the covered strength early, that has been removed. For Formatters this also means that you may need to round it yourself now.
  • Removed an inconsistency in how we treat skipped vs. irrelevant lines (see #565) - SimpleCov's definition of 100% is now "You covered everything that you could" so if coverage is 0/0 that's counted as a 100% no matter if the lines were irrelevant or ignored/skipped

Noteworthy

  • FileList stopped inheriting from Array, it includes Enumerable so if you didn't use Array specific methods on it in formatters you should be fine