All Versions
Latest Version
Avg Release Cycle
80 days
Latest Release
170 days ago

Changelog History
Page 1

  • 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
  • v0.18.0.beta2

    January 19, 2020

    ✨ 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

    January 05, 2020

    🚀 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

    September 16, 2019

    🛠 Bugfix release for problems with ParallelTests.

    🛠 Bugfixes

    • 👀 Avoid hanging with parallel_tests. See #746 (thanks @annaswims)