Skip to content

Releases: simplecov-ruby/simplecov

v0.18.1

31 Jan 09:42
Compare
Choose a tag to compare

Small Bugfix release.

Bugfixes

  • Just putting # :nocov: on top of a file or having an uneven number of them in general works again and acts as if ignoring until the end of the file. See #846 and thanks @DannyBen for the report.

v0.18.0

28 Jan 13:05
Compare
Choose a tag to compare

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

v0.18.0.beta3

20 Jan 19:13
Compare
Choose a tag to compare
v0.18.0.beta3 Pre-release
Pre-release

Enhancements

  • Instead of ignoring old .resultset.jsons that are inside the merge timeout, adapt and respect them

Bugfixes

  • Remove the constant warning printing if you still have a .resultset.json in pre 0.18 layout that is within your merge timeout

v0.18.0.beta2

19 Jan 10:50
Compare
Choose a tag to compare
v0.18.0.beta2 Pre-release
Pre-release

Enhancements

  • only turn on the requested coverage criteria (when activating branch coverage before SimpleCov would also instruct Ruby to take Method coverage)
  • Change how branch coverage is displayed, now it's branch_type: hit_count which should be more self explanatory. See #830 for an example and feel free to give feedback!
  • Allow early running exit tasks and avoid the at_exit hook through the SimpleCov.run_exit_tasks! method. (thanks @macumber)
  • Allow manual collation of result sets through the SimpleCov.collate entrypoint. See the README for more details (thanks @ticky)
  • Within case, even if there is no else branch declared show missing coverage for it (aka no branch of it). See #825
  • Stop symbolizing all keys when loading cache (should lead to be faster and consume less memory)
  • Cache whether we can use/are using branch coverage (should be slightly faster)

Bugfixes

  • Fix a crash that happened when an old version of our internal cache file .resultset.json was still present

v0.18.0.beta1

05 Jan 11:08
Compare
Choose a tag to compare
v0.18.0.beta1 Pre-release
Pre-release

This is a huge release highlighted by changing our support for ruby versions to 2.4+ (so things that aren't EOL'ed) and finally adding branch coverage support!

This release is still beta because we'd love for you to test out branch coverage and get your feedback before doing a full release.

On a personal note from @PragTob thanks to ruby together for sponsoring this work on SimpleCov making it possible to deliver this and subsequent releases.

Breaking

  • Dropped support for all EOL'ed rubies meaning we only support 2.4+. Simplecov can no longer be installed on older rubies, but older simplecov releases should still work. (thanks @deivid-rodriguez)
  • Dropped the rake simplecov task that "magically" integreated with rails. It was always undocumented, caused some issues and had some issues. Use the integration as described in the README please :)

Enhancements

  • Branch coverage is here! Please try it out and test it! You can activate it with enable_coverage :branch. See the README for more details. This is thanks to a bunch of people most notably @som4ik, @tycooon, @stepozer, @klyonrad and your humble maintainers also contributed ;)
  • If the minimum coverage is set to be greater than 100, a warning will be shown. See #737 (thanks @belfazt)
  • Add a configuration option to disable the printing of non-successful exit statuses. See #747 (thanks @JacobEvelyn)
  • Calculating 100% coverage is now stricter, so 100% means 100%. See #680 thanks @gleseur

Bugfixes

  • Add new instance of Minitest constant. The MiniTest constant (with the capital T) will be removed in the next major release of Minitest. See #757 (thanks @adam12)

v0.17.1

03 Dec 16:40
Compare
Choose a tag to compare

Bugfix release for problems with ParallelTests.

Bugfixes

v0.17.0

02 Jul 08:28
Compare
Choose a tag to compare

Maintenance release with nice convenience features and important bugfixes.
Notably this will be the last release to support ruby versions that have reached their end of life. Moving forward official CRuby support will be 2.4+ and JRuby support will be 9.1+. Older versions might still work but no guarantees.

Enhancements

  • Per default filter hidden files and folders. See #721 (thanks Renuo AG)
  • Print the exit status explicitly when it's not a successful build so it's easier figure out SimpleCov failed the build in the output. See #688 (thanks @daemonsy)

Bugfixes

  • Avoid a premature failure exit code when setting minimum_coverage in combination with using parallel_tests. See #706 (thanks @f1sherman)
  • Project roots with special characters no longer cause crashes. See #717 (thanks @deivid-rodriguez)
  • Avoid continously overriding test results with manual ResultMergere.store_results usage. See #674 (thanks @tomeon)

v0.16.1

16 Mar 08:38
Compare
Choose a tag to compare

Bugfixes

  • Include the LICENSE in the distributed gem again (accidentally removed in 0.16.0). (thanks @tas50)

v0.16.0

16 Mar 08:38
Compare
Choose a tag to compare

Enhancements

  • Relax version constraint on docile, per SemVer
  • exception that occurred on exit is available as exit_exception! See #639 (thanks @thomas07vt)
  • Performance: processing results now runs from 2.5x to 3.75x faster. See #662 (thanks @BMorearty & @eregon)
  • Decrease gem size by only shipping lib and docs

Bugfixes

  • (breaking) Stop handling string filters as regular expressions, use the dedicated regex filter if you need that behaviour. See #616 (thanks @yujinakayama)
  • Avoid overwriting the last coverage results on unsuccessful test runs. See #625 (thanks @thomas07vt)
  • Don't crash on invalid UTF-8 byte sequences. (thanks @BMorearty)

v0.15.1

16 Mar 08:39
Compare
Choose a tag to compare

Bugfixes

  • Filter directories outside SimpleCov.root that have it as a prefix. See #617 (thanks @jenseng)
  • Fix standard rails profile rails filter (didn't work). See #618 (thanks @jenseng again!)