Releases: simplecov-ruby/simplecov
v0.21.2
Bugfixes
maximum_coverage_drop
won't fail any more if.last_run.json
is still in the old format. Thanks @petertellgrenmaximum_coverage_drop
won't fail if an expectation is specified for a previous unrecorded criterion, it will just pass (there's nothing, so nothing to drop)- fixed bug in
maximum_coverage_drop
calculation that could falsely report it had dropped for minimal differences
v0.21.1
v0.21.0
The "Collate++" release making it more viable for big CI setups by limiting memory consumption. Also includes some nice new additions for branch coverage settings.
Enhancements
- Performance of
SimpleCov.collate
improved - it should both run faster and consume much less memory esp. when run with many files (memory consumption should not increase with number of files any more) - Can now define the minimum_coverage_by_file, maximum_coverage_drop and refuse_coverage_drop by branch as well as line coverage. Thanks to @jemmaissroff
- Can set primary coverage to something other than line by setting
primary_coverage :branch
in SimpleCov Configuration. Thanks to @jemmaissroff
Misc
- reduce gem size by splitting Changelog into
Changelog.md
and a pre 0.18Changelog.old.md
, the latter of which is not included in the gem - The interface of
ResultMeger.merge_and_store
is changed to support thecollate
performance improvements mentioned above. It's not considered an official API, hence this is not in the breaking section. For people using it to merge results from different machines, it's recommended to migrate to collate.
v0.20.0
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.
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
v0.19.0
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
Noteworthy
- The repo has moved to https://github.com/simplecov-ruby/simplecov - everything stays the same, redirects should work but you might wanna update anyhow
- The primary development branch is now
main
, notmaster
anymore. If you get simplecov directly from github change your reference. For a whilemaster
will still be occasionally updated but that's no long term solion.
v0.18.5
v0.18.4
Another small bugfix release 🙈 Fixes SimpleCov running with rspec-rails, which was broken due to our fixed minitest integration.
Bugfixes
v0.18.3
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 ifMinitest
is present. See #756 and #855 thanks (@adam12)