Skip to content

[ruby] Update rubocop-minitest 0.38.1 → 0.39.1 (major)#100

Open
depfu[bot] wants to merge 1 commit intomainfrom
depfu/update/rubocop-minitest-0.39.1
Open

[ruby] Update rubocop-minitest 0.38.1 → 0.39.1 (major)#100
depfu[bot] wants to merge 1 commit intomainfrom
depfu/update/rubocop-minitest-0.39.1

Conversation

@depfu
Copy link
Contributor

@depfu depfu bot commented Feb 25, 2026

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ rubocop-minitest (0.38.1 → 0.39.1) · Repo · Changelog

Release Notes

0.39.1

Bug fixes

  • #347: Fix false positives in Minitest/AssertIncludes and Minitest/RefuteIncludes cops. (@koic)

0.39.0

Changes

  • #344: Disable Minitest/AssertEmptyLiteral by default. (@koic)
  • #315: Make Minitest/AssertIncludes and Minitest/RefuteIncludes aware of key?, has_key?, and member? alias methods. (@koic)

0.38.2

Bug fixes

  • #321: Fix false positives for Minitest/MultipleAssertions when the assertion has a receiver. (@earlopain)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

✳️ rubocop (1.81.1 → 1.84.2) · Repo · Changelog

Release Notes

1.84.2

Bug fixes

  • #14854: Fix a clobbering error in Style/BlockDelimiters when autocorrecting nested multi-line blocks with adjacent curly braces. (@koic)
  • #14837: Fix an error for Style/IfUnlessModifier when the first value uses a normal if and the others use modifier if. (@koic)
  • #14858: Fix an infinite loop error in Layout/FirstArgumentIndentation when first arguments are over-indented in nested method calls. (@koic)
  • #14843: Fix an error in Layout/MultilineMethodCallIndentation when a multiline method call follows a hash access. (@koic)
  • #14859: Fix an error in Layout/MultilineMethodCallIndentation when a multiline method call includes a keyword argument whose value is a method call with a block. (@koic)
  • #14839: Fix a false positive for Layout/EmptyLinesAfterModuleInclusion when include is nested inside an array. (@eugeneius)
  • #7436: Fix Style/FormatStringToken to not autocorrect strings outside of format method context in aggressive mode. (@ydakuka)
  • #14841: Fix false negatives in Style/HashAsLastArrayItem when an array contains only a single hash element. (@koic)
  • #14865: Fix false negatives in Style/MethodDefParentheses when using splat or forwarding arguments without parentheses. (@koic)
  • #14833: Fix false positive for Layout/MultilineMethodCallIndentation when a multi-dot method chain is inside a hash pair value. (@ydakuka)
  • #14847: Fix false positive for Layout/MultilineMethodCallIndentation when a method is chained after a single-line block. (@ydakuka)
  • #14867: Fix Offense#highlighted_area for PseudoSourceRange locations. (@rafaelfranca)
  • #14861: Fix an error in Style/IfUnlessModifier when the first value uses a normal if and the others use ternary operator. (@koic)
  • #14816: Use toplevel cache configs for remote configuration files. (@nekketsuuu)

1.84.1

Bug fixes

  • #14803: Fix an error for Layout/IndentationWidth cop. (@viralpraxis)
  • #14806: Fix an error in Style/NegativeArrayIndex when using self as array with implicit self receiver. (@koic)
  • #14813: Fix opt-in cop comments taking precedence over configuration file exclude patterns. (@afrase)
  • #14819: Fix incorrect autocorrect for Style/GuardClause when using heredoc as an argument of method call in raise in else branch. (@koic)
  • #14805: Bring back the original indentation from before version 1.84.0. (@Magikdidi24)
  • #12754: Fix an infinite loop for Style/IfUnlessModifier when multiple if/unless statements share the same line in arrays, method arguments, or hash values. (@ydakuka)
  • #14817: Fix an infinite loop between Layout/FirstArgumentIndentation and Layout/LineLength when correcting method chains. (@ydakuka)
  • #11513: Fix Layout/MultilineMethodCallIndentation to properly handle method chains inside hash pair values. (@ydakuka)
  • #14814: Fix push/pop directives to properly handle nested scopes and state restoration. (@Magikdidi24)

Changes

  • #14823: Add the built-in infinite? method to the allowlists for Naming/PredicateMethod, Style/IfWithBooleanLiteralBranches, and Style/RedundantCondition, in addition to the existing nonzero?. (@koic)
  • #14735: Remove deprecated InjectDefaults handling. (@afurm)

1.84.0

New features

  • #14516: Add AllowImplicitArrayLiterals to Layout/FirstArrayElementLineBreak. (@koic)
  • #14750: Add new Style/ReverseFind cop. (@koic)
  • #12343: Add new Style/EmptyClassDefinition cop to enforce consistent style for empty class definitions. The cop can enforce either a two-line class definition or Class.new for classes with no body. (@ydakuka)
  • #14769: Add new Style/HashLookupMethod cop to enforce Hash#[] vs Hash#fetch preference. (@sferik)
  • #12051: Add new Style/NegativeArrayIndex cop to enforce using negative array indices instead of calculating array length minus a value. The cop handles both simple index patterns and range patterns, and recognizes preserving methods and their combinations. (@ydakuka)
  • #14633: Make a new system to handle push and pop locally. (@Magikdidi24)
  • #14722: Support TargetRubyVersion 4.1 (experimental). (@koic)

Bug fixes

  • #14697: Allow non-method calls in Categories for Layout/ClassStructure. (@fatkodima)
  • #14784: Fix an error for Style/GuardClause when using heredoc as an argument of raise in else branch and if branch is empty. (@koic)
  • #14790: Fix an error for Style/HashLookupMethod cop when there's no receiver. (@viralpraxis)
  • #14779: Fix autocorrect crash with ruby_extractor when using offset: 0 and different source buffers. (@ydakuka)
  • #14762: Fix false negatives for Style/RedundantCondition when the branches contains constant assignment. (@koic)
  • #14751: Fix --force-default-config not preventing project config loading when used with options that access configuration. (@sakuro)
  • #14783: Fix incorrect autocorrect for Style/HashSyntax when shorthand syntax is used in condition of if/unless/while/until. (@ydakuka)
  • #14747: Fix a regression inLayout/IndentationWidth by adding a new EnforcedStyleAlignWith style parameter. (@MikeMcQuaid)
  • #14716: Fix an infinite loop error for Layout/LineLength when SplitStrings option is enabled and strings span multiple lines. (@HariprasanthMSH)
  • #14763: Fix an infinite loop error for Layout/IndentationWidth and Layout/IndentationConsistency when using EnforcedStyle: indented_internal_methods with method chain blocks. (@ydakuka)
  • #9373: Fix an infinite loop error for Layout/IndentationWidth when autocorrecting mixed tabs and spaces in blocks. Fix an infinite loop error for Layout/DefEndAlignment and Layout/IndentationStyle when autocorrecting mixed tabs and spaces. Autocorrection for tabs is disabled in AlignmentCorrector for indentation offenses, but enabled for align_end. (@ydakuka)
  • #12295: Fix Layout/FirstArgumentIndentation to correct entire method calls and chains for nested calls. (@ydakuka)
  • #12527: Fix Offense#highlighted_area to return a valid Parser::Source::Range. (@ydakuka)
  • #14801: Preserve source tabs in Clang and Tap formatters when displaying offense highlight. (@lovro-bikic)
  • #14761: Improved the remote configuration file name on the cache location. (@Jack12816)
  • #14778: Fix a false positive for Security/JSONLoad when create_additions option is passed with other options in a hash. (@wktk)
  • #14796: Handle logical and operator assignment nodes in variable branch handling. (@lovro-bikic)

Changes

  • #14753: Add support for squish and squish! applied to heredoc to Layout/HeredocIndentation. (@lovro-bikic)
  • #14798: Recognize Forwardable methods in Lint/DuplicateMethods. (@lovro-bikic)
  • #14793: Make Lint/RedundantSplatExpansion aware of constant assignment. (@koic)
  • #14770: Make Style/AccessModifierDeclarations aware of self class. (@koic)
  • #14748: Add support for other Module member existence methods to Style/ModuleMemberExistenceCheck. (@lovro-bikic)
  • #14795: Add AllowedMethods configuration to Style/ModuleMemberExistenceCheck. (@lovro-bikic)

1.82.1

Bug fixes

  • #14736: Fix an error for Style/TrailingCommaInArguments when EnforcedStyleForMultiline is consistent_comma and keyword arguments use a trailing comma. (@koic)
  • #14737: Fix crash in Layout/RedundantLineBreak when Layout/LineLength is disabled. (@ydakuka)
  • #14719: Fix crash on long lines when Layout/LineLength is disabled. (@floriandejonckheere)
  • #14743: Fix false positives for Layout/MultilineMethodCallIndentation when multiline method chain with block has expected indent width and the method is preceded by splat or double splat. (@koic)
  • #12297: Fix false negative in Layout/IndentationWidth for multiline method chain blocks. (@rscq)
  • #14730: Fix the cache implementation to use consistent cache keys across workers. (@byroot)
  • #14559: Fix false positives for Lint/UselessAssignment when a variable is assigned in loop body and used in loop condition. (@ydakuka)

1.82.0

New features

  • #14655: Add AllowRBSInlineAnnotation option to Layout/LineLength. (@koic)
  • #14569: Add IncludedMacroPatterns configuration option to Style/MethodCallWithArgsParentheses for pattern-based macro method enforcement. (@mmenanno)
  • #14670: Add new cop Style/ModuleMemberExistenceCheck. (@lovro-bikic)
  • #14644: Support TargetRubyVersion 4.0 (experimental). (@koic)

Bug fixes

  • #14649: Fix an error for Lint/LiteralAsCondition when there are literals in multiple branches. (@viralpraxis)
  • #14678: Fix an error when running deprecated rake rubocop:auto_correct task. (@koic)
  • #14650: Fix wrong autocorrect for Lint/RedundantSplatExpansion when splatting a single literal. (@earlopain)
  • #14703: Fix false negatives for Layout/RescueEnsureAlignment when using self class definition. (@koic)
  • #14706: Fix false negatives for Lint/NoReturnInBeginEndBlocks when assigning instance variable, class variable, global variable, or constant. (@koic)
  • #14715: Fix false positives for Layout/EmptyLineAfterGuardClause when a guard clause follows a multiline heredoc in a parenthesized method call. (@koic)
  • #14667: Fix false positives for Layout/EndAlignment when a conditional assignment is used on the same line and the end with a safe navigation method call is aligned. (@koic)
  • #14688: Fix false positives for Layout/EndAlignment when a conditional assignment is used on the same line and the end with a numbered block or it block method call is aligned. (@koic)
  • #14699: Fix false positives for Lint/RedundantSafeNavigation when the receiver is used outside the singleton method definition scope. (@koic)
  • #14663: Fix false positives for Style/EndlessMethod when multiline or xstring heredoc is used in method body. (@koic)
  • #10173: Fix false positives for Style/TrailingCommaInArguments when EnforcedStyleForMultiline is set to consistent_comma and a multiline braced hash argument appears after another argument. (@koic)
  • #14680: Handle all OptionParser errors when running rubocop with input that causes an error. (@dvandersluis)
  • #14658: Fix incorrect behavior when Layout/LineLength is disabled. (@koic)
  • #14704: Fix incorrect Position character value in LSP. (@tmtm)
  • #14619: Store remote configuration caches in cache root. (@Jack12816)
  • #14476: Fix Style/ClassAndModuleChildren to skip compact style definitions inside another class or module when EnforcedStyle: nested. (@rscq)
  • #14281: Update Layout/EndAlignment with EnforcedStyleAlignWith: variable to handle conditionals inside begin nodes properly. (@dvandersluis)

Changes

  • #14662: Add autocorrection for Lint/UselessOr. (@r7kamura)
  • #14668: Exclude Severity from configuration parameters. (@r7kamura)
  • #14684: Make Style/CaseEquality allow regexp case equality where the receiver is a regexp literal. (@koic)
  • #14645: Change Lint/CircularArgumentReference to detect offenses within long assignment chains. (@viralpraxis)
  • #14642: Make Gemspec/RubyVersionGlobalsUsage aware of Ruby::VERSION. (@koic)
  • #14695: Make Layout/EmptyLineAfterMagicComment aware of # rbs_inline magic comment. (@koic)
  • #10147: Make Lint/ElseLayout allow a single-line else body in then single-line conditional. (@koic)
  • #14661: Make Lint/RedundantRequireStatement aware of pathname when analyzing Ruby 4.0. (@koic)
  • #14698: Make Lint/UnreachableCode aware of singleton method redefinition. (@koic)
  • #14677: Make Style/RedundantArgument aware of to_i. (@koic)
  • #14660: Rename IgnoreCopDirectives to AllowCopDirectives in Layout/LineLength. (@koic)
  • #14492: Revert #14492, which added support for LSP positionEncoding 'utf-8' and 'utf-32' due to critical performance regression reports. (@koic)

1.81.7

Bug fixes

  • #14597: Fix an infinite loop error for Layout/HashAlignment when EnforcedStyle: with_fixed_indentation is specified for Layout/ArgumentAlignment. (@koic)
  • #14621: Fix an error for Naming/PredicateMethod when using an in pattern with empty parentheses body. (@koic)
  • #14631: Fix an error for Style/SoleNestedConditional when using nested single line if. (@koic)
  • #14626: Fix false positives in Style/ConstantVisibility when visibility is declared with multiple constants. (@koic)
  • #14628: Fix false positives for Style/FloatDivision when using Regexp.last_match or nth reference (e.g., $1). (@koic)
  • #14617: Handle non-specific issues with the Gemfile to allow fallback. (@Fryguy)
  • #14622: Fix an error for Naming/MethodName when the first argument to alias contains interpolation. (@earlopain)

1.81.6

Bug fixes

  • #14587: Fix an error for Lint/SelfAssignment when using []= assignment with no arguments. (@koic)
  • #14572: Fix an error for Style/ArrayIntersect when intersection(other).any? is called without a receiver. (@koic)
  • #14599: Fix a crash when Style/ConditionalAssignment is configured with assign_inside_conditional and the conditional contains a multi-line regex. (@martinemde)
  • #14574: Fix false positives for Style/RedundantInterpolation when using a one-line => pattern matching. (@koic)
  • #14602: Fix false positives for Style/EndlessMethod when heredoc is used in method body. (@koic)
  • #14594: Fix false positives for Style/EndlessMethod when the endless method would exceed the maximum line length. (@koic)
  • #14605: Fix false positive for Lint/EmptyInterpolation when interpolation is inside a %W literal. (@dvandersluis)
  • #14604: Fix Style/RedundantFormat false positive when a interpolated value is given to a specifier with a width or precision. (@dvandersluis)
  • #14607: Fix Style/RedundantFormat handling control characters like \n. (@dvandersluis)
  • #14577: Fix an incorrect autocorrect for Style/Semicolon when a method call using hash value omission without parentheses is terminated with a semicolon. (@koic)
  • #14552: Fix a false positive for Security/JSONLoad when create_additions is explicitly specified. (@earlopain)

Changes

  • #14566: Enhance Lint::ConstantOverwrittenInRescue cop to detect offenses within fully qualified constants. (@viralpraxis)
  • #14575: Enhance Lint/ConstantOverwrittenInRescue cop to detect offenses within nested constants. (@viralpraxis)
  • #14596: Change Lint/ConstantOverwrittenInRescue to detect any constant assignment. (@viralpraxis)
  • #14568: Make Style/LambdaCall autocorrection contextual. (@koic)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ json (indirect, 2.15.1 → 2.18.1) · Repo · Changelog

Release Notes

2.18.1

What's Changed

  • Fix a potential crash in very specific circumstance if GC triggers during a call to to_json
    without first invoking a user defined #to_json method.

Full Changelog: v2.18.0...v2.18.1

2.18.0

What's Changed

  • Add :allow_control_characters parser options, to allow JSON strings containing unescaped ASCII control characters (e.g. newlines).

Full Changelog: v2.17.1...v2.18.0

2.17.1 (from changelog)

  • Fix a regression in parsing of unicode surogate pairs (\uXX\uXX) that could cause an invalid string to be returned.

2.17.0

What's Changed

  • Improve JSON.load and JSON.unsafe_load to allow passing options as second argument.
  • Fix the parser to no longer ignore invalid escapes in strings.
    Only \", \\, \b, \f, \n, \r, \t and \u are valid JSON escapes.
  • Fixed JSON::Coder to use the depth it was initialized with.
  • On TruffleRuby, fix the generator to not call to_json on the return value of as_json for Float::NAN.
  • Fixed handling of state.depth: when to_json changes state.depth but does not restore it, it is reset
    automatically to its initial value.
    In particular, when a NestingError is raised, depth is no longer equal to max_nesting after the call to
    generate, and is reset to its initial value. Similarly when to_json raises an exception.

Full Changelog: v2.16.0...v2.17.0

2.16.0

What's Changed

  • Deprecate JSON::State#[] and JSON::State#[]=. Consider using JSON::Coder instead.
  • JSON::Coder now also yields to the block when encountering strings with invalid encoding.
  • Fix GeneratorError messages to be UTF-8 encoded.
  • Fix memory leak when Exception is raised, or throw is used during JSON generation.
  • Optimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).
  • Optimized numbers parsing using SWAR (thanks to Scott Myron).
  • Optimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).

Full Changelog: v2.15.2...v2.16.0

2.15.2

What's Changed

  • Fix JSON::Coder to have one dedicated depth counter per invocation.
    After encountering a circular reference in JSON::Coder#dump, any further #dump call would raise JSON::NestingError.

Full Changelog: v2.15.1...v2.15.2

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ parser (indirect, 3.3.9.0 → 3.3.10.2) · Repo · Changelog

Release Notes

3.3.10.2 (from changelog)

Features implemented:

  • add blocknilarg for prism (#1087) (Earlopain)

3.3.10.1 (from changelog)

API modifications:

  • Bump maintenance branches to 3.2.10 (#1085) (Koichi ITO)

3.3.10.0 (from changelog)

API modifications:

  • Bump maintenance branches to 3.3.10 (#1083) (Koichi ITO)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ prism (indirect, 1.5.2 → 1.9.0) · Repo · Changelog

Release Notes

1.9.0

Added

  • Lots of work on the Ripper translation layer to make it more compatible and efficient.
  • Alias Prism::Node#breadth_first_search to Prism::Node#find.
  • Add Prism::Node#breadth_first_search_all/Prism::Node#find_all for finding all nodes matching a condition.

Changed

  • Fixed location of opening tokens when invalid syntax is parsed.
  • Fix RBI for parsing options.

1.8.0

Added

  • Optimize ruby visitor.
  • Report unterminated construct errors at opening token.

Changed

  • Correctly expose ripper state.
  • Use one file for versioned parser classes.
  • Fix denominator of rational float literal.
  • Decouple ripper translator from ripper library.
  • Sync Prism::Translation::ParserCurrent with Ruby 4.0.

1.7.0

Added

  • Support 4.1 as a version option.
  • Add equal_loc to CallNode.
  • Add len()/is_empty() to ConstantList and NodeList in the Rust API.

Changed

  • Rename version 3.5 to version 4.0.
  • Fix compiling the gem from source on Windows.
  • Fix parsing of unary method calls like 42.~@.
  • Reject def f a, (b) = 1.
  • Reject endless method as a block parameter default.
  • Reject variable capture in alternative pattern.
  • Many fixes in regards to memory safety, found through fuzzing.
  • Many fixes to better handle invalid syntax, also found through fuzzing.
  • Fix the ruby version used by the ripper translator.
  • Fix ruby_parser translation comment processing.

1.6.0

Added

  • Add support for passing "current" as the version option to Prism.* APIs.

Changed

  • Remove a compiler warning for a missing unsigned cast for a shift value.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ rubocop-ast (indirect, 1.47.1 → 1.49.0) · Repo · Changelog

Release Notes

1.49.0

New features

  • #394: Support Ruby 4.1 (experimental). (@koic)

1.48.0

New features

  • #391: Support Ruby 4.0 (experimental). (@koic)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ unicode-emoji (indirect, 4.1.0 → 4.2.0) · Repo · Changelog

Release Notes

4.2.0 (from changelog)

  • Allow Ruby 4.0
  • Remove Non-Emoji pictographs from spec, since they have been removed in Unicode 17
  • Update valid subdivisions to CLDR 48 (no changes)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants