All Versions
Latest Version
Avg Release Cycle
79 days
Latest Release
98 days ago

Changelog History
Page 1

  • v0.20.0

    November 29, 2020

    ๐Ÿš€ The "JSON formatter" release. Starting now a JSON formatter is included by default in the release. This is mostly done for Code Climate reasons, you can find more details in this issue.
    0๏ธโƒฃ Shipping with so much by default is sub-optimal, we know. It's the long term plan to also provide simplecov-core without the HTML or JSON formatters for those who don't need them/for other formatters to rely on.

    โœจ Enhancements

    • simplecov_json_formatter included by default (docs), this should enable the Code Climate test reporter to work again once it's updated
    • invalidate internal cache after switching SimpleCov.root, should help with some bugs
  • v0.19.1

    October 25, 2020

    ๐Ÿ›  Bugfixes

    • No more warnings triggered by enable_for_subprocesses. Thanks to @mame
    • Avoid trying to patch Process.fork when it isn't available. Thanks to @MSP-Greg
  • v0.19.0

    August 16, 2020

    ๐Ÿ’ฅ Breaking Changes

    • โฌ‡๏ธ Dropped support for Ruby 2.4, it reached EOL

    โœจ Enhancements

    • observe forked processes (enable with SimpleCov.enable_for_subprocesses). See #881, thanks to @robotdana
    • ๐Ÿ‘ SimpleCov distinguishes better that it stopped processing because of a previous error vs. SimpleCov is the originator of said error due to coverage requirements.

    ๐Ÿ›  Bugfixes

    • ๐Ÿ‘€ Changing the SimpleCov.root combined with the root filtering didn't work. Now they do! Thanks to @deivid-rodriguez and see #894
    • โœ… in parallel test execution it could happen that the last coverage result was written to disk when it didn't complete yet, changed to only write it once it's the final result
    • ๐Ÿ”ง if you run parallel tests only the final process will report violations of the configured test coverage, not all previous processes
    • ๐Ÿ”„ changed the parallel_tests merging mechanisms to do the waiting always in the last process, should reduce race conditions


    • โšก๏ธ The repo has moved to - everything stays the same, redirects should work but you might wanna update anyhow
    • โšก๏ธ The primary development branch is now main, not master anymore. If you get simplecov directly from github change your reference. For a while master will still be occasionally updated but that's no long term solion.
  • v0.18.5

    February 25, 2020

    ๐Ÿ›  Can you guess? Another bugfix release!

    ๐Ÿ›  Bugfixes

    • โœ… minitest won't crash if SimpleCov isn't loaded - aka don't execute SimpleCov code in the minitest plugin if SimpleCov isn't loaded. Thanks to @edariedl for the report of the peculiar problem in #877.
  • v0.18.4

    February 24, 2020

    Another small bugfix release ๐Ÿ™ˆ Fixes SimpleCov running with rspec-rails, which was broken due to our fixed minitest integration.

    ๐Ÿ›  Bugfixes

    • ๐Ÿš… SimpleCov will run again correctly when used with rspec-rails. The excellent bug report #873 by @odlp perfectly details what went wrong. Thanks to @adam12 for the fix #874.
  • v0.18.3

    February 23, 2020

    ๐Ÿ›  Small bugfix release. It's especially recommended to upgrade simplecov-html as well because of bugs in the 0.12.0 release.

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fix a regression related to file encodings as special characters were missing. Furthermore we now respect the magic # encoding: ... comment and read files in the right encoding. Thanks (@Tietew) - see #866
    • ๐Ÿ‘€ Use Minitest.after_run hook to trigger post-run hooks if Minitest is present. See #756 and #855 thanks (@adam12)
  • v0.18.2

    February 12, 2020

    ๐Ÿš€ Small release just to allow you to use the new simplecov-html.

    โœจ Enhancements

    • ๐Ÿ’Ž Relax simplecov-html requirement so that you're able to use 0.12.0
  • v0.18.1

    January 31, 2020

    ๐Ÿ›  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

    January 28, 2020

    ๐Ÿš€ 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.

    ๐Ÿ”ง You can run with branch coverage by putting enable_coverage :branch into your SimpleCov configuration (like the SimpleCov.start do .. end block)

    โœจ 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


    • 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
    • ๐Ÿ‘€ We needed to change an internal file format, which we use for merging across processes, to accommodate branch coverage. Sadly CodeClimate chose to use this file to report test coverage. Until a resolution is found the code climate test reporter won't work with SimpleCov for 0.18+, see this issue on the test reporter.
  • v0.18.0.beta3

    January 20, 2020

    โœจ 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