Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency simplecov to "~> 0.22" #6

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

mend-5034428[bot]
Copy link

@mend-5034428 mend-5034428 bot commented Feb 13, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
simplecov (changelog) "~> 0.12" -> "~> 0.22" age adoption passing confidence

Release Notes

simplecov-ruby/simplecov (simplecov)

v0.22.0

Compare Source

==========

Enhancements

Bugfixes

v0.21.2

Compare Source

==========

Bugfixes

  • maximum_coverage_drop won't fail any more if .last_run.json is still in the old format. Thanks @​petertellgren
  • maximum_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

Compare Source

==========

Bugfixes

  • minimum_coverage_by_file works again as expected (errored out before 😱)

v0.21.0

Compare Source

==========

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.

v0.20.0

Compare Source

==========

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

Compare Source

==========

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

Compare Source

==========

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, 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

Compare Source

===================

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

Compare Source

===================

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

Compare Source

===========

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

Compare Source

===================

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

Compare Source

===================

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

Compare Source

===================

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
  • 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.17.1

Compare Source

Bugfix release for problems with ParallelTests.

Bugfixes

v0.17.0

Compare Source

Maintenance release with nice convenience features and important bugfixes.
Notably this will be the last release to support ruby versions that have reached their end of life. Moving forward official CRuby support will be 2.4+ and JRuby support will be 9.1+. Older versions might still work but no guarantees.

Enhancements

  • Per default filter hidden files and folders. See #​721 (thanks Renuo AG)
  • Print the exit status explicitly when it's not a successful build so it's easier figure out SimpleCov failed the build in the output. See #​688 (thanks @​daemonsy)

Bugfixes

v0.16.1

Compare Source

Bugfixes

  • Include the LICENSE in the distributed gem again (accidentally removed in 0.16.0). (thanks @​tas50)

v0.16.0

Compare Source

Enhancements

  • Relax version constraint on docile, per SemVer
  • exception that occurred on exit is available as exit_exception! See #​639 (thanks @​thomas07vt)
  • Performance: processing results now runs from 2.5x to 3.75x faster. See #​662 (thanks @​BMorearty & @​eregon)
  • Decrease gem size by only shipping lib and docs

Bugfixes

  • (breaking) Stop handling string filters as regular expressions, use the dedicated regex filter if you need that behaviour. See #​616 (thanks @​yujinakayama)
  • Avoid overwriting the last coverage results on unsuccessful test runs. See #​625 (thanks @​thomas07vt)
  • Don't crash on invalid UTF-8 byte sequences. (thanks @​BMorearty)

v0.15.1

Compare Source

Bugfixes

  • Filter directories outside SimpleCov.root that have it as a prefix. See #​617 (thanks @​jenseng)
  • Fix standard rails profile rails filter (didn't work). See #​618 (thanks @​jenseng again!)

v0.15.0

Compare Source

Enhancements

  • Ability to use regex filters for removing files from the output. See #​589 (thanks @​jsteel)

Bugfixes

  • Fix merging race condition when running tests in parallel and merging them. See #​570 (thanks @​jenseng)
  • Fix relevant lines for unloaded files - comments, skipped code etc. are correctly classified as irrelevant. See #​605 (thanks @​odlp)
  • Allow using simplecov with frozen-string-literals enabled. See #​590 (thanks @​pat)
  • Make sure Array Filter can use all other filter types. See #​589 (thanks @​jsteel)
  • Make sure file names use Simplecov.root as base avoiding using full absolute project paths. See #​589 (thanks @​jsteel)

v0.14.1

Compare Source

Bugfixes

  • Files that were skipped as a whole/had no relevant coverage could lead to Float errors. See #​564 (thanks to @​stevehanson for the report in #​563)

v0.14.0

Compare Source

Enhancements

  • Officially support JRuby 9.1+ going forward (should also work with previous releases). See #​547 (ping @​PragTob when encountering issues)
  • Add Channel group to Rails profile, when ActionCable is loaded. See #​492 (thanks @​BenMorganIO)
  • Stop extending instances of Array and Hash during merging results avoiding problems frozen results while manually merging results. See #​558 (thanks @​aroben)

Bugfixes

  • Fix parallel_tests when a thread ends up running no tests. See #​533 (thanks @​cshaffer)
  • Skip the :nocov: comments along with the code that they skip. See #​551 (thanks @​ebiven)
  • Fix crash when Home environment variable is unset. See #​482 (thanks @​waldyr)
  • Make track_files work again when explicitly setting it to nil. See #​463 (thanks @​craiglittle)
  • Do not overwrite .last_run.json file when refuse_coverage_drop option is enabled and the coverage has dropped (lead to you being able to just rerun tests and everything was fine). See #​553 (thanks @​Miloshes)

v0.13.0

Compare Source

Enhancements

  • Faster run times when a very large number of files is loaded into SimpleCov. See #​520 (thanks @​alyssais)
  • Only read in source code files that are actually used (faster when files are ignored etc.). See #​540 (thanks @​yui-knk)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

disabled

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants