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.18 Changelog.old.md, the latter of which is not included in the gem
The interface of ResultMeger.merge_and_store is changed to support the collate 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.
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.18 Changelog.old.md, the latter of which is not included in the gem
The interface of ResultMeger.merge_and_store is changed to support the collate 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.
0.20.0 (2020-11-29)
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
0.19.1 (2020-10-25)
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
0.19.0 (2020-08-16)
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
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Updates the requirements on simplecov to permit the latest version.
Release notes
Sourced from simplecov's releases.
Changelog
Sourced from simplecov's changelog.
Commits
20af434
Release prep for 0.21.0 (#963)b95ce9a
Enable and fix new cops9cdc07b
Upgrade rubocop and fix offenses168f244
highlight why we can do result.to_hash.first19d59bb
Make collate able to ignore timeouts or not20ddc38
Only synchronize resultset around read not whole result creation04c3019
Explicitly make collate ignore the merge timeout08d82c1
Restructure specsed03db5
Improve performance of collate & reduce memorty consumption0fe63fd
minor gem updates (#961)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)