Skip to content

chore(deps-dev): bump the development-dependencies group across 1 directory with 4 updates - #87

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/development-dependencies-7890f7c7af
Open

chore(deps-dev): bump the development-dependencies group across 1 directory with 4 updates#87
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/development-dependencies-7890f7c7af

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 18, 2026

Copy link
Copy Markdown
Contributor

Bumps the development-dependencies group with 4 updates in the / directory: brakeman, rubocop, cucumber and simplecov.

Updates brakeman from 8.0.4 to 8.0.5

Release notes

Sourced from brakeman's releases.

8.0.5

Changelog

Sourced from brakeman's changelog.

8.0.5 - 2026-06-12

  • Add quote_schema_name to safe quote method list (Zsolt Kozaroczy)
  • Fix SQL injection false positive for compact_blank/compact on permitted params (Arpit Jain)
  • Fix inline render false positive for local named text (Arpit Jain)
  • Fix HAML crash on .raw calls (Federico Franco)
  • Fix Ruby version parsing - especially for non-CRuby versions (Chris Southerland Jr)
  • Fix TemplateAliasProcessor#template_name arity (viralpraxis)
  • Reduce false positives when using shell escaping
Commits
  • 104443e Bump to 8.0.5
  • 8e61e2a Update CHANGES
  • f014c15 Merge pull request #2028 from kiskoza/fix/quote_schema_name
  • 9227822 Merge pull request #2027 from arpitjain099/fix/brakeman-1915-render-partial-t...
  • 6788d28 Merge pull request #2025 from arpitjain099/fix/sql-fp-compact-blank
  • b7c3906 Add quote_schema_name to safe quote method list
  • f95c500 test: update line number for still-warns SQL injection case after fixture shift
  • 4fba779 base_processor: skip hash render-type extraction when type set positionally
  • 1e63a41 Fix SQL injection false positive for compact_blank/compact on permitted params
  • 7ff9e49 Merge pull request #2023 from FFederi/fix-haml-chained-raw-crash
  • Additional commits viewable in compare view

Updates rubocop from 1.86.1 to 1.88.2

Release notes

Sourced from rubocop's releases.

RuboCop v1.88.2

Bug fixes

  • #15417: Fix a false negative for Lint/ToJSON, which did not flag singleton def self.to_json definitions. (@​bbatsov)
  • #15418: Fix a false negative for Lint/UnreachableCode, which only flagged the first statement after a flow-of-control statement instead of every unreachable statement that followed it. (@​bbatsov)
  • #15416: Fix a false negative for Lint/UselessNumericOperation, which only flagged bare method-call receivers and ignored local variables, instance/class/global variables, and constants (e.g. @x + 0, CONST * 1). (@​bbatsov)
  • #15419: Fix a false negative for Lint/Void where safe-navigation calls to nonmutating methods (e.g. x&.sort) were not flagged when CheckForMethodsWithNoSideEffects is enabled. (@​bbatsov)
  • #15421: Fix a false negative for Style/ArrayIntersect with the block form using include? (e.g. array1.any? { |e| array2.include?(e) }), which was only detected for member?. (@​bbatsov)
  • #15420: Fix a false negative for Style/CollectionCompact, which did not flag grep_v(nil)/grep_v(NilClass) on a safe-navigation call (e.g. array&.grep_v(nil)). (@​bbatsov)
  • #15422: Fix a false negative for Style/DefWithParentheses with a single-line definition whose body follows a semicolon (e.g. def foo(); end), where the parentheses can be safely omitted. (@​bbatsov)
  • #15388: Fix a false negative for Style/MixinUsage when including multiple modules in one statement. (@​bbatsov)
  • #15388: Fix a false negative for Style/ModuleFunction when the module body is a single statement. (@​bbatsov)
  • #15388: Fix a false negative for Style/RedundantCurrentDirectoryInPath with double-quoted strings containing interpolation. (@​bbatsov)
  • #15395: Fix a false negative for Style/RedundantHeredocDelimiterQuotes with double-quoted delimiters whose body contains interpolation or escapes. (@​bbatsov)
  • #15409: Fix a false positive for Gemspec/DuplicatedAssignment with multiple specifications. (@​bbatsov)
  • #15403: Fix a false positive for Layout/CommentIndentation with a comment above an inline access modifier (e.g. private def foo) when Layout/AccessModifierIndentation is configured with EnforcedStyle: outdent. (@​grk)
  • #15372: Fix a false positive for Style/InvertibleUnlessCondition with a multi-statement begin condition. (@​bbatsov)
  • #15360: Fix an incorrect autocorrect for Style/ArgumentsForwarding and Style/MethodDefParentheses when autocorrection conflicts while adding parentheses to method definition arguments. (@​koic)
  • #15417: Fix an incorrect autocorrect for Lint/ToJSON that produced invalid Ruby (def to_json(*_args)()) when the method had explicit empty parentheses. (@​bbatsov)
  • #15426: Fix an incorrect autocorrect for Style/MethodCallWithoutArgsParentheses when empty parentheses span multiple lines and the method call has a block. (@​koic)
  • #15328: Fix a false positive for Style/HashConversion with a splat argument, which previously produced an invalid hash literal. (@​bbatsov)
  • #15338: Fix a false positive for Style/HashLookupMethod with safe navigation, where the suggested bracket form would be the unreadable hash&.[](https://github.com/rubocop/rubocop/blob/HEAD/key). (@​bbatsov)
  • #15397: Fix an incorrect autocorrect for Style/IdenticalConditionalBranches that hoisted the moved expression to column zero instead of matching the surrounding indentation. (@​bbatsov)
  • #15372: Fix an incorrect autocorrect for Style/InvertibleUnlessCondition with mixed &&/|| conditions, which lost the required parentheses when inverting. (@​bbatsov)
  • #15428: Fix an incorrect autocorrect for Style/TrivialAccessors when AllowPredicates: false is set and a trivial reader is defined as a predicate class method. (@​koic)
  • #15402: Fix an infinite loop and file corruption for Layout/LineLength with SplitStrings when an over-long string is indented under a multi-line parent. (@​bbatsov)
  • #15384: Fix a false positive and a false negative for Style/MissingRespondToMissing when method_missing is defined at the top level or alongside sibling classes. (@​bbatsov)
  • #15432: Fix false positives in Layout/ElseAlignment when using else within a block that is part of a larger expression. (@​koic)
  • #15423: Fix false positives in Layout/MultilineMethodCallIndentation when a method chain is nested inside a parenthesized argument list or a grouped expression within a hash pair value. (@​koic)
  • #15424: Fix Style/StructInheritance autocorrect dropping leading indentation when class is inside a module or namespace. (@​amckinnie)
  • #15325: Fix Style/DocumentationMethod ignoring AllowedMethods for inline modifier defs. (@​bbatsov)
  • #15369: Fix a false positive for Style/LambdaCall when the argument list contains a comment, which the autocorrect would have dropped. (@​bbatsov)

Changes

  • #15430: Improve performance of offense reporting by not allocating a new source range per offense outside of embedded sources. (@​bbatsov)
  • #15430: Improve investigation performance by dispatching on_new_investigation, on_investigation_end, and on_other_file only to cops that refine them, and by skipping after_* dispatch when no cop needs it. (@​bbatsov)
  • #15430: Improve performance of the per-file cop relevancy check by skipping gem requirement evaluation for cops without gem requirements. (@​bbatsov)
  • #15430: Improve Lint/Debugger performance on code without debugger calls. (@​bbatsov)
  • #15430: Improve autocorrection performance by keeping corrections in memory across inspection iterations and writing each corrected file only once. (@​bbatsov)
  • #15415: Mark Lint/NumericOperationWithConstantResult autocorrect as unsafe because it drops the operands, discarding their side effects and silencing cases where the result is not actually constant (e.g. x / x raises when x is 0). (@​bbatsov)
  • #15430: Improve performance of cops using AllowedPatterns, ForbiddenPatterns, and AllowedMethods by compiling the configured patterns only once. (@​bbatsov)
  • #15430: Improve performance of Style/IfUnlessModifier and other modifier cops on files with many comments or conditionals. (@​bbatsov)

RuboCop v1.88.1

... (truncated)

Changelog

Sourced from rubocop's changelog.

1.88.2 (2026-07-08)

Bug fixes

  • #15417: Fix a false negative for Lint/ToJSON, which did not flag singleton def self.to_json definitions. ([@​bbatsov][])
  • #15418: Fix a false negative for Lint/UnreachableCode, which only flagged the first statement after a flow-of-control statement instead of every unreachable statement that followed it. ([@​bbatsov][])
  • #15416: Fix a false negative for Lint/UselessNumericOperation, which only flagged bare method-call receivers and ignored local variables, instance/class/global variables, and constants (e.g. @x + 0, CONST * 1). ([@​bbatsov][])
  • #15419: Fix a false negative for Lint/Void where safe-navigation calls to nonmutating methods (e.g. x&.sort) were not flagged when CheckForMethodsWithNoSideEffects is enabled. ([@​bbatsov][])
  • #15421: Fix a false negative for Style/ArrayIntersect with the block form using include? (e.g. array1.any? { |e| array2.include?(e) }), which was only detected for member?. ([@​bbatsov][])
  • #15420: Fix a false negative for Style/CollectionCompact, which did not flag grep_v(nil)/grep_v(NilClass) on a safe-navigation call (e.g. array&.grep_v(nil)). ([@​bbatsov][])
  • #15422: Fix a false negative for Style/DefWithParentheses with a single-line definition whose body follows a semicolon (e.g. def foo(); end), where the parentheses can be safely omitted. ([@​bbatsov][])
  • #15388: Fix a false negative for Style/MixinUsage when including multiple modules in one statement. ([@​bbatsov][])
  • #15388: Fix a false negative for Style/ModuleFunction when the module body is a single statement. ([@​bbatsov][])
  • #15388: Fix a false negative for Style/RedundantCurrentDirectoryInPath with double-quoted strings containing interpolation. ([@​bbatsov][])
  • #15395: Fix a false negative for Style/RedundantHeredocDelimiterQuotes with double-quoted delimiters whose body contains interpolation or escapes. ([@​bbatsov][])
  • #15409: Fix a false positive for Gemspec/DuplicatedAssignment with multiple specifications. ([@​bbatsov][])
  • #15403: Fix a false positive for Layout/CommentIndentation with a comment above an inline access modifier (e.g. private def foo) when Layout/AccessModifierIndentation is configured with EnforcedStyle: outdent. ([@​grk][])
  • #15372: Fix a false positive for Style/InvertibleUnlessCondition with a multi-statement begin condition. ([@​bbatsov][])
  • #15360: Fix an incorrect autocorrect for Style/ArgumentsForwarding and Style/MethodDefParentheses when autocorrection conflicts while adding parentheses to method definition arguments. ([@​koic][])
  • #15417: Fix an incorrect autocorrect for Lint/ToJSON that produced invalid Ruby (def to_json(*_args)()) when the method had explicit empty parentheses. ([@​bbatsov][])
  • #15426: Fix an incorrect autocorrect for Style/MethodCallWithoutArgsParentheses when empty parentheses span multiple lines and the method call has a block. ([@​koic][])
  • #15328: Fix a false positive for Style/HashConversion with a splat argument, which previously produced an invalid hash literal. ([@​bbatsov][])
  • #15338: Fix a false positive for Style/HashLookupMethod with safe navigation, where the suggested bracket form would be the unreadable hash&.[](https://github.com/rubocop/rubocop/blob/master/key). ([@​bbatsov][])
  • #15397: Fix an incorrect autocorrect for Style/IdenticalConditionalBranches that hoisted the moved expression to column zero instead of matching the surrounding indentation. ([@​bbatsov][])
  • #15372: Fix an incorrect autocorrect for Style/InvertibleUnlessCondition with mixed &&/|| conditions, which lost the required parentheses when inverting. ([@​bbatsov][])
  • #15428: Fix an incorrect autocorrect for Style/TrivialAccessors when AllowPredicates: false is set and a trivial reader is defined as a predicate class method. ([@​koic][])
  • #15402: Fix an infinite loop and file corruption for Layout/LineLength with SplitStrings when an over-long string is indented under a multi-line parent. ([@​bbatsov][])
  • #15384: Fix a false positive and a false negative for Style/MissingRespondToMissing when method_missing is defined at the top level or alongside sibling classes. ([@​bbatsov][])
  • #15432: Fix false positives in Layout/ElseAlignment when using else within a block that is part of a larger expression. ([@​koic][])
  • #15423: Fix false positives in Layout/MultilineMethodCallIndentation when a method chain is nested inside a parenthesized argument list or a grouped expression within a hash pair value. ([@​koic][])
  • #15424: Fix Style/StructInheritance autocorrect dropping leading indentation when class is inside a module or namespace. ([@​amckinnie][])
  • #15325: Fix Style/DocumentationMethod ignoring AllowedMethods for inline modifier defs. ([@​bbatsov][])
  • #15369: Fix a false positive for Style/LambdaCall when the argument list contains a comment, which the autocorrect would have dropped. ([@​bbatsov][])

Changes

  • #15430: Improve performance of offense reporting by not allocating a new source range per offense outside of embedded sources. ([@​bbatsov][])
  • #15430: Improve investigation performance by dispatching on_new_investigation, on_investigation_end, and on_other_file only to cops that refine them, and by skipping after_* dispatch when no cop needs it. ([@​bbatsov][])
  • #15430: Improve performance of the per-file cop relevancy check by skipping gem requirement evaluation for cops without gem requirements. ([@​bbatsov][])
  • #15430: Improve Lint/Debugger performance on code without debugger calls. ([@​bbatsov][])
  • #15430: Improve autocorrection performance by keeping corrections in memory across inspection iterations and writing each corrected file only once. ([@​bbatsov][])
  • #15415: Mark Lint/NumericOperationWithConstantResult autocorrect as unsafe because it drops the operands, discarding their side effects and silencing cases where the result is not actually constant (e.g. x / x raises when x is 0). ([@​bbatsov][])
  • #15430: Improve performance of cops using AllowedPatterns, ForbiddenPatterns, and AllowedMethods by compiling the configured patterns only once. ([@​bbatsov][])
  • #15430: Improve performance of Style/IfUnlessModifier and other modifier cops on files with many comments or conditionals. ([@​bbatsov][])

1.88.1 (2026-07-01)

Bug fixes

  • #15408: Fix a crash for Bundler/GemComment with a non-literal gem option key. ([@​bbatsov][])

... (truncated)

Commits
  • ceb6377 Cut 1.88.2
  • ee87be8 Update Changelog
  • e161fe6 Keep autocorrections in memory during the inspection loop
  • c8e0c83 Speed up Style/IfUnlessModifier eligibility checks
  • ef10f8a Dispatch investigation callbacks only to cops that refine them
  • 4de41ea Avoid allocating a Range per offense in the common case
  • be1bb58 Fast-path the gem requirements check in cop relevancy
  • 278525b Memoize compiled regexps in pattern mixins
  • 28b6cd6 Improve Lint/Debugger performance on non-debugger code
  • 1066e7b Merge pull request #15434 from koic/fix_else_alignment_for_block_in_expression
  • Additional commits viewable in compare view

Updates cucumber from 11.0.0 to 11.1.1

Release notes

Sourced from cucumber's releases.

v11.1.1

Changed

  • Change to use events to pass the data from "log" and "attach" calls from the step definitions to the formatters. With this the last part of the ancient (pre event) formatter inteface has been removed. (#1881 brasmusson)

Fixed

  • Fixed issue with html-formatter where attachments and envelopes were causing the entire message pool to be blank (#1891) luke-hill
  • Show failed step error details in the summary formatter output
  • Fixed up JRuby examples which weren't running due to anglicisation issues (Pivoted to use English step definitions to help JRuby testing)
  • Fixed up Arabic example which had some incorrect logic for step definition matching (Due to RTL nature of the language)

v11.1.0

Added

  • Print thread backtraces on SIGINFO/SIGPWR (#1830) sobrinho
  • Added Suggestion messages that will show all the snippets for all message based formatters (#1870) luke-hill

Changed

  • Heavy refactor to the internals for message building (Used in formatters - should be no noticeable change) (#1853 luke-hill)
  • Simplify attachment handling in the MessageBuilder and #attach method

Fixed

  • When someone calls #attach with a hashified output (Instead of JSON); call #to_json before attaching as a stringified JSON response to avoid errors (#1787 luke-hill)
  • Altered the concept of how BeforeAll and AfterAll hooks would run. They now attempt to all run before continuing test execution (#1857 brasmusson)
  • Internal refactor to MessageBuilder class to send envelopes through event bus (Should be no noticeable change)
  • Updated cucumber-compatibility-kit to v24
  • This has only been partially completed so far (With approx 20% of all events refactored)
  • Internal refactor to emit direct message envelopes instead of building messages and then converting them to envelopes (Should be no noticeable change)
  • Introduced new base events class which is slightly more intuitive and leans less on old ruby standards (Should be no noticeable change)
Changelog

Sourced from cucumber's changelog.

[11.1.1] - 2026-06-25

Changed

  • Change to use events to pass the data from "log" and "attach" calls from the step definitions to the formatters. With this the last part of the ancient (pre event) formatter inteface has been removed. (#1881 brasmusson)

Fixed

  • Fixed issue with html-formatter where attachments and envelopes were causing the entire message pool to be blank (#1891) luke-hill
  • Show failed step error details in the summary formatter output
  • Fixed up JRuby examples which weren't running due to anglicisation issues (Pivoted to use English step definitions to help JRuby testing)
  • Fixed up Arabic example which had some incorrect logic for step definition matching (Due to RTL nature of the language)

[11.1.0] - 2026-06-02

Added

  • Print thread backtraces on SIGINFO/SIGPWR (#1830) sobrinho
  • Added Suggestion messages that will show all the snippets for all message based formatters (#1870) luke-hill

Changed

  • Heavy refactor to the internals for message building (Used in formatters - should be no noticeable change) (#1853 luke-hill)
  • Simplify attachment handling in the MessageBuilder and #attach method

Fixed

  • When someone calls #attach with a hashified output (Instead of JSON); call #to_json before attaching as a stringified JSON response to avoid errors (#1787 luke-hill)
  • Altered the concept of how BeforeAll and AfterAll hooks would run. They now attempt to all run before continuing test execution (#1857 brasmusson)
  • Internal refactor to MessageBuilder class to send envelopes through event bus (Should be no noticeable change)
  • Updated cucumber-compatibility-kit to v24
  • Internal refactor to emit direct message envelopes instead of building messages and then converting them to envelopes (Approx 20% complete -> should be no noticeable change)
  • Introduced new base events class which is slightly more intuitive and leans less on old ruby standards (Should be no noticeable change)
Commits
  • e0c4ea5 Prepare release v11.1.1
  • b6c9d2b bugfix: HTML Formatter and its envelopes (#1891)
  • cb78f15 Update zizmorcore/zizmor-action action to v0.5.7
  • b22adad Update ruby/setup-ruby action to v1.314.0
  • f2bb801 Update actions/checkout action to v7 (#1892)
  • 5dd320d Update rubygems/configure-rubygems-credentials action to v2.1.0
  • ebe65fe Update ruby/setup-ruby action to v1.313.0
  • 98dfbfe Update ruby/setup-ruby action to v1.312.0
  • df44f65 Update github/codeql-action action to v4.36.2
  • 49c6dfc Use events also when step definitions use "attach" and "log" (#1881)
  • Additional commits viewable in compare view

Updates simplecov from 0.22.0 to 1.0.1

Release notes

Sourced from simplecov's releases.

v1.0.1

What's Changed

New Contributors

Full Changelog: simplecov-ruby/simplecov@v1.0.0...v1.0.1

v1.0.0

What's Changed

... (truncated)

Changelog

Sourced from simplecov's changelog.

1.0.1 (2026-07-14)

Enhancements

  • The gem now ships type signatures under sig/, covering the public API: the configuration DSL (including the criterion-scoped coverage block and the legacy deprecated verbs), the Result / FileList / SourceFile / CoverageStatistics read API that formatter authors consume, the formatter and filter class hierarchies, exit codes, and the ParallelAdapters::Base contract. Internal classes carry repository-only skeleton signatures (sig/internal/, excluded from the gem package) so the entire codebase type-checks under Steep in strict mode, while the shipped signature payload stays small. Signatures are checked with rbs validate and steep check as part of the default rake task. RBS and Steep users no longer need the third-party signatures from ruby/gem_rbs_collection, which cover the 0.22 API and predate 1.0's configuration redesign.

Bugfixes

  • Branch tuples synthesized for tracked-but-unloaded files now match Ruby's Coverage exactly for elsif and for if arms with empty bodies. StaticCoverageExtractor attributed the outer else arm of an elsif to the clause's body rather than the whole clause, and an empty if then-body to the whole node rather than Coverage's zero-width point at the predicate's end. Since resultset merges combine branch arms by their exact location, a simulated entry merging with a real one for the same file (parent and worker under Minitest's parallelize, or RSpec and Minitest suites collated together) produced phantom, permanently-missed branch arms. A new differential spec now pins every branch construct tuple-for-tuple against Ruby's Coverage — which promptly caught that CRuby 3.4 changed several of these conventions, so the extractor now emits whichever shape the running Ruby's Coverage uses (on 3.2/3.3: elsif clause ranges end at the chain's last content rather than the shared end, empty if/else/when bodies fall back to enclosing ranges, and empty while/in bodies collapse to points). Reported with an exemplary diagnosis by @​hasghari. See #1226.
  • merge_subprocesses no longer silently drops all worker coverage under Minitest's fork-based parallelize(workers: N) (the setup the rails profile exists for). When Minitest's autorun was armed before SimpleCov.start — which is how rails test loads — SimpleCov deferred its report to Minitest.after_run, and forked workers inherited that deferral even though Minitest pins its after_run hook to the parent's pid, so no exit path in the worker ever stored its resultset. Workers now reset the inherited at_exit state on fork and re-arm their own hook, so their resultsets are stored and merged as documented. Reported with an exemplary diagnosis by @​hasghari. See #1227.
  • Fixed SimpleCov.formatters= raising NoMethodError when given a single formatter instead of an Array — a regression from 0.22.x, where MultiFormatter.new normalized the value internally. This restores the long-documented SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter.new([...]) pattern, in which MultiFormatter.new returns a Class rather than an Array. The regression surfaced in ruby/ruby's CI through net-imap's test helper. Thanks @​koic. See #1224.
  • Formatter status lines ("Coverage report generated for X") and threshold-enforcement output (violation reports, "SimpleCov failed with exit N") no longer route through Kernel#warn. They still print to stderr, but they are program output rather than Ruby warnings, so Warning.warn hooks — warning trackers and raise-on-warning test setups — no longer intercept them as unaddressable noise, and threshold failure explanations now survive ruby -W0, which previously reduced a failing check to a bare exit code with no explanation. Genuine warnings (deprecations, dropped-file notices, parse failures) still use warn. Suppression remains explicit: silent: true for formatter status lines, print_errors false for enforcement output. Thanks @​viralpraxis. See #1225.

1.0.0 (2026-07-12)

First stable release of the 1.0 line. The entries below consolidate release candidates rc1 through rc5 and describe all changes since 0.22.1.

Breaking Changes

  • Dropped support for Ruby 3.1 and JRuby 9.4. The minimum is now Ruby 3.2 (and JRuby 10, which reports RUBY_VERSION 3.4). Ruby 3.1 reached end of life in March 2025, and a recent i18n release calls Fiber[], a Ruby 3.2 API, at load time, so suites that load Rails no longer run on 3.1. Raising required_ruby_version to >= 3.2 also excludes JRuby 9.4, which reports RUBY_VERSION 3.1.x. See #1171.
  • JSON formatter: group stats changed from { "covered_percent": 80.0 } to full stats shape { "covered": 8, "missed": 2, "total": 10, "percent": 80.0, "strength": 0.0 }. The key covered_percent is renamed to percent.
  • JSON formatter: simplecov_json_formatter gem is now built in. require "simplecov_json_formatter" continues to work via a shim.
  • StringFilter now matches at path-segment boundaries. "lib" matches /lib/ but no longer matches /library/. Use a Regexp filter for substring matching.
  • SourceFile#project_filename now returns a truly relative path with no leading separator (e.g. lib/foo.rb instead of /lib/foo.rb). This also removes the leading / from file path keys in coverage.json and from the filename in minimum_coverage_by_file error messages. Anchored RegexFilters that relied on a leading / (e.g. %r{^/lib/}) should be rewritten (e.g. %r{\Alib/}).
  • Removed docile gem dependency. The SimpleCov.configure block is now evaluated via instance_exec with instance variable proxying.
  • Removed automatic activation of JSONFormatter when the CC_TEST_REPORTER_ID environment variable is set. The default HTMLFormatter now emits coverage.json alongside the HTML report (using JSONFormatter.build_hash to serialize the same payload JSONFormatter writes), so the env-var special case is no longer needed. Because of this, listing JSONFormatter alongside HTMLFormatter is redundant and can be removed.
  • SimpleCov.start now loads the test_frameworks profile by default, which filters paths under test/, spec/, features/, and autotest/. Running the suite always executes 100% of the test files themselves, which inflated the overall percentage and obscured application coverage. To opt back in (e.g. to surface dead test helpers), drop the filter with remove_filter %r{\A(test|features|spec|autotest)/}. See #816.
  • HTML and JSON formatters now write the "Coverage report generated for X to Y" status line (and the per-criterion totals beneath it) to stderr instead of stdout. The message is a diagnostic, not the program's output, and routing it to stdout polluted pipelines like rspec -f json. Suppress it entirely with silent: true on the formatter; redirect with 2>&1 if you want the old behavior. See #1060.
  • Under parallel_tests, SimpleCov now waits in the first started process (via ParallelTests.first_process?) rather than the last. This matches the convention parallel_tests's own README recommends for "do something once after all workers finish" hooks, so user code that has its own ParallelTests.wait_for_other_processes_to_finish in an RSpec.after(:suite) (or equivalent) no longer deadlocks against SimpleCov's wait when both pick the same process. As a side benefit, the previous PARALLEL_TEST_GROUPS=1 workaround for last_process?'s "" == "1" mismatch (#1066) is no longer needed — first_process? handles that case naturally. Migration: the rare project that wired its own wait via ParallelTests.last_process? now hits the symmetric deadlock and must switch to first_process?. See #922.
  • Removed SimpleCov.coverage_criterion. It was a reader/writer for a value nothing in SimpleCov ever consumed, so it duplicated primary_coverage without affecting any behavior. Use primary_coverage to choose the report's leading criterion (or the coverage :branch, primary: true form).

Deprecations

  • The configuration API has been redesigned around a smaller, more consistent set of verbs. The legacy methods continue to work but each emits a deprecation warning that names its replacement; a future release will remove them. Warnings are deduplicated by call site, so a deprecated method called in a loop or a configuration block re-evaluated once per parallel worker or spec file warns at most once per source location (see #1204). See the "Migrating from the legacy configuration API" section in the README for the full migration table and a before/after example.
    • add_filterskip (identical matcher grammar; no behavior change)
    • add_groupgroup (identical matcher grammar; no behavior change)
    • track_filescover (cover includes unloaded files like track_files did and restricts the report to the matching set; pass every directory you want reported, e.g. cover "lib/**/*.rb", "app/**/*.rb", to keep the old additive-only behavior)
    • use_mergingmerging (same value)
    • enable_for_subprocessesmerge_subprocesses (same value)
    • enable_coverage_for_evalenable_coverage :eval (folds into the same call that enables :line / :branch / :method)
    • print_error_status (reader) → print_errors (the print_error_status= writer is unaffected for now)
  • Calling SimpleCov.start from .simplecov is deprecated. Coverage tracking still begins for backward compatibility, but a one-time deprecation warning fires pointing the user at moving the call into spec_helper.rb / test_helper.rb; a future release will require the explicit SimpleCov.start from a test helper. The migration goes hand-in-hand with the bugfix below: once SimpleCov.start lives in the test helper, the parent process that auto-loads .simplecov never starts tracking and the empty-report-overwrite scenario can't arise. See #581.
  • # :nocov: toggle comments (and the configurable SimpleCov.nocov_token / SimpleCov.skip_token) are deprecated in favor of the new # simplecov:disable / # simplecov:enable directives. Each file that still uses # :nocov: emits a one-time deprecation warning to stderr at load time pointing at the recommended replacement, and any call to SimpleCov.nocov_token or SimpleCov.skip_token (getter or setter) likewise warns. The directive will be removed in a future release.
  • SimpleCov::SourceFile#branches_coverage_percent and #methods_coverage_percent are deprecated in favor of the uniform covered_percent(:branch) / covered_percent(:method). covered_percent (and covered_strength) now take a criterion argument (defaulting to :line), so the same ...

    Description has been truncated

…ectory with 4 updates

Bumps the development-dependencies group with 4 updates in the / directory: [brakeman](https://github.com/presidentbeef/brakeman), [rubocop](https://github.com/rubocop/rubocop), [cucumber](https://github.com/cucumber/cucumber-ruby) and [simplecov](https://github.com/simplecov-ruby/simplecov).


Updates `brakeman` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/presidentbeef/brakeman/releases)
- [Changelog](https://github.com/presidentbeef/brakeman/blob/main/CHANGES.md)
- [Commits](presidentbeef/brakeman@v8.0.4...v8.0.5)

Updates `rubocop` from 1.86.1 to 1.88.2
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](rubocop/rubocop@v1.86.1...v1.88.2)

Updates `cucumber` from 11.0.0 to 11.1.1
- [Release notes](https://github.com/cucumber/cucumber-ruby/releases)
- [Changelog](https://github.com/cucumber/cucumber-ruby/blob/main/CHANGELOG.md)
- [Commits](cucumber/cucumber-ruby@v11.0.0...v11.1.1)

Updates `simplecov` from 0.22.0 to 1.0.1
- [Release notes](https://github.com/simplecov-ruby/simplecov/releases)
- [Changelog](https://github.com/simplecov-ruby/simplecov/blob/main/CHANGELOG.md)
- [Commits](simplecov-ruby/simplecov@v0.22.0...v1.0.1)

---
updated-dependencies:
- dependency-name: brakeman
  dependency-version: 8.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: rubocop
  dependency-version: 1.88.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: cucumber
  dependency-version: 11.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: simplecov
  dependency-version: 1.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code labels Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants