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
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
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
0.18.0.beta3 (2020-01-20)
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
0.18.0.beta2 (2020-01-19)
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
0.18.0.beta1 (2020-01-05)
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.
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)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- 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
f950b51
use released simplecov-html 0.11.0d7827e6
dang also gotta reference newer simplecov-html in test projects9272ee2
yes yes, good spec dont depend on beta2e7f413
Update Changelog for 0.18.099e8744
bump version to 0.18.04a21954
Upgrade to release ready simplecov-html to test against it5f50396
Bump capybara and apparition to released versions69dfd85
Define minimum coverage by coverage criterion81b1402
Rename CoverageData to CoverageStatistics30deeeb
attempt at fixing flakyDependabot 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) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)