Skip to content

[ruby] Update rubocop 1.84.2 → 1.87.0 (minor)#784

Open
depfu[bot] wants to merge 1 commit into
mainfrom
depfu/update/rubocop-1.87.0
Open

[ruby] Update rubocop 1.84.2 → 1.87.0 (minor)#784
depfu[bot] wants to merge 1 commit into
mainfrom
depfu/update/rubocop-1.87.0

Conversation

@depfu

@depfu depfu Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

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 (1.84.2 → 1.87.0) · Repo · Changelog

Release Notes

1.87.0

New features

  • #15167: Add --enable-all-cops and --disable-all-cops command line options that override AllCops/EnabledByDefault and AllCops/DisabledByDefault in configuration files. (@koic)
  • #15185: Make Layout/EmptyLineAfterGuardClause accept the new # simplecov:disable and # simplecov:enable directive comments. (@koic)
  • #15173: Add optional Rubydex integration via AllCops/UseProjectIndex to enable cross-file detection in Lint/ConstantReassignment (experimental). (@koic)

Bug fixes

  • #15168: Fix false positives in Lint/ParenthesesAsGroupedExpression when the first argument is a call-like expression with its own parentheses, such as yield(...). (@koic)
  • #15188: Fix false positives in Style/YodaCondition when one side is an array or hash literal containing non-literal elements. (@koic)
  • #15182: Fix incorrect autocorrect for Style/Alias causing a syntax error when the return value of alias_method is used, such as an argument to public, private, protected, or module_function, or the right-hand side of an assignment. (@koic)
  • #15174: Fix incorrect autocorrect for Style/ClassAndModuleChildren causing a syntax error when the namespace contains a method call (e.g., class self.class::Foo; end). (@koic)
  • #15180: Fix incorrect autocorrect for Style/FileWrite causing a syntax error when the written heredoc is chained with another method call. (@koic)
  • #15186: Fix incorrect autocorrect for Style/HashConversion causing a syntax error when Hash[...] is passed an anonymous splat (*). (@koic)
  • #15192: Fix incorrect autocorrect for Style/StructInheritance causing a syntax error when the inherited Struct.new is called without parentheses. (@koic)
  • #15170: Fix an infinite loop for Layout/RedundantLineBreak when a single-line block is chained with a safe navigation method call. (@koic)
  • #15175: Fix Layout/IndentationWidth to indent block bodies relative to the method selector for trailing-dot multi-line method chains when EnforcedStyleAlignWith is relative_to_receiver. (@ddbrendan)
  • #15135: Fix incorrect autocorrect for Style/RedundantParentheses that swallowed chained method calls into a trailing inline comment on the line above the closing parenthesis. (@hammadxcm)
  • #15184: Fix various typos and grammar mistakes in documentation and cop descriptions. (@bbatsov)

Changes

  • #15171: Cache FilePatterns#match? results per path so cops sharing the same Include/Exclude configuration do not each repeat File.fnmatch? work on every file. (@Darhazer)

1.86.2

New features

Bug fixes

  • #15156: Fix an error for Style/HashLookupMethod when chaining fetch (or []) calls on the same expression. (@koic)
  • #15161: Fix an error for Style/ReduceToHash when nested each_with_object/inject/reduce calls would build hashes. (@koic)
  • #15144: Fix an error in Style/SoleNestedConditional when autocorrecting nested conditionals containing comments. (@koic)
  • #15040: Exclude constants from Style/ModuleMemberExistenceCheck. (@t-daisuke)
  • #15155: Fix false negatives in Style/RedundantSelf when an explicit self receiver in one scope matches the LHS of an ||=, &&=, or op_asgn in another scope. (@koic)
  • #15107: Fix false positives in Lint/RequireRelativeSelfPath when a non-.rb file uses require_relative with its own basename. (@koic)
  • #15137: Fix incorrect "does not support IndentationWidth parameter" warning for Layout/ClosingParenthesisIndentation and Layout/CommentIndentation. (@koic)
  • #15148: Fix false positives in Lint/RedundantSafeNavigation when safe navigation appears in rescue or ensure bodies. (@koic)
  • #15147: Fix false positives in Lint/RedundantSafeNavigation when safe navigation appears in the body of unless. (@koic)
  • #15163: Fix false positives in Style/Copyright when Notice pattern starts with \A#, uses \s metacharacters, or has multiple spaces after #. (@koic)
  • #10179: Fix false positives in Style/DocumentDynamicEvalDefinition when the heredoc contains an escaped interpolation (\#{...}). (@eyupcanakman)
  • #15154: Fix bug where specifying --out disables parallelization. (@deivid-rodriguez)
  • #15106: Fix TargetFinder to work correctly inside hidden parent directories. (@alpaca-tc)
  • #15102: Fix FrozenError in DisabledConfigFormatter for frozen array config parameters. (@koic)
  • #15141: Fix incorrect autocorrect for Gemspec/RequireMFA causing an infinite loop when rubygems_mfa_required metadata uses a symbol key. (@koic)
  • #15142: Fix infinite loop for --disable-uncorrectable and offense near heredoc. (@jonas054)
  • #15054: Fix false positive for Layout/MultilineMethodCallIndentation when a dot-aligned method chain is inside a hash pair value. (@nicolas-finary)
  • #15136: Fix false positive for Lint/MissingCopEnableDirective when # rubocop:disable is wrapped in a # rubocop:push / # rubocop:pop block. (@koic)
  • #15115: Fix an incorrect autocorrect in Style/RegexpLiteral when the regexp contains unbalanced braces that conflict with the preferred %r delimiters. (@koic)
  • #15130: Fix incorrect autocorrect in Style/Copyright when AutocorrectNotice lacks a # prefix or Notice pattern starts with ^#. (@koic)
  • #14821: Fix Style/IfInsideElse autocorrect moving comments into the wrong branch when a comment precedes the nested if in an else. (@hammadxcm)
  • #14583: Fix template extractor applying only the last fragment's autocorrection. (@zeronosu77108)
  • #14971: Fix false positive for Style/WhileUntilModifier when the body is a conditional. (@fujitanisora)

1.86.1

Bug fixes

  • #11051: Fix Style/AccessModifierDeclarations inline autocorrect dropping comments between the access modifier and the following method definition. (@dduugg)
  • #14665: Cache plugin integration in CopHelper to avoid repeated loading. (@55728)
  • #15091: Fix Lint/DuplicateMethods false positives for anonymous classes in constant assignments and method return values. (@eugeneius)
  • #15055: Fix Lint/DuplicateMethods false positives with anonymous classes inside blocks (e.g. RSpec let, describe). (@ShkumbinDelija)
  • #15035: Exclude included_modules from Style/ModuleMemberExistenceCheck. (@koic)
  • #15087: Fix false positive for Style/RedundantLineContinuation when using interpolated string literals. (@koic)
  • #14361: Fix false positive in file_to_include? when a relative Include pattern matches a parent directory name in the absolute file path. (@jonas054)
  • #15090: Fix false positives for Layout/EmptyLineAfterGuardClause when consecutive guard clauses use and return. (@eugeneius)
  • #15070: Fix false positive for Lint/RedundantSafeNavigation when chained safe navigation is used in a conditional expression with InferNonNilReceiver enabled. (@koic)
  • #15074: Fix false positives in Style/RedundantParentheses when using parentheses around an endless range in assignment. (@koic)
  • #15048: Fix issue where the url_for is missing for Cops without instance methods. (@Fryguy)
  • #15051: Fix Style/RedundantParentheses handling of beginless ranges. (@oggy)
  • #14980: Fix Lint/Syntax zero-length diagnostic range for syntax errors at EOF. (@55728)
  • #15084: Handle heredocs with methods calls correctly when fixing guard clauses. (@G-Rath)
  • #11398: Fix incorrect Include path adjustment when local config overrides an inherited Include. (@jonas054)
  • #15092: Fix Layout/EndAlignment cop error on an empty begin. (@viralpraxis)
  • #15059: Fix an error in Layout/LineLength when SplitStrings option is enabled and __FILE__ is used. (@jeromedalbert)
  • #5876: Fix Lint/UnusedMethodArgument false positive when block argument is used via yield. (@dduugg)
  • #15093: Return tool execution errors instead of protocol errors in MCP server. (@koic)

Changes

  • #15005: Make Style/OneClassPerFile exclude spec/**/* and test/**/* by default. (@koic)
  • #15081: Relax parallel dependency to >= 1.10. (@koic)
  • #15063: Disable Style/RedundantStructKeywordInit cop by default. (@koic)

1.86.0

New features

  • #15000: Display ZJIT usage when running under LSP. (@koic)
  • #14961: Add AllowedParentClasses option to Style/EmptyClassDefinition. (@hammadkhan)
  • #14977: Support AllowedReceivers for Style/HashLookupMethod. (@koic)

Bug fixes

  • #15015: Fix Style/ConcatArrayLiterals autocorrect deleting code for percent literals with interpolation. (@bbatsov)
  • #14897: Detect constant reassignment after class/module definition in Lint/ConstantReassignment. (@ydakuka)
  • #11829: Fix false negatives for Lint/DuplicateMethods when duplicate methods are defined in anonymous classes and modules not assigned to a constant. (@Darhazer)
  • #14988: Fix false negative in Style/RedundantParentheses when redundant parentheses around range literals in block body. (@koic)
  • #14916: Fix false positive for Layout/MultilineMethodCallIndentation when method chain is inside a hash pair value passed to a multiline chained method call. (@ydakuka)
  • #15010: Fix a false positive for Lint/DuplicateMethods when modules blocks are passed as method arguments. (@5hun-s)
  • #15028: Fix a false positive for Lint/DuplicateMethods when the same method is defined in different anonymous module blocks passed to a no-receiver call (e.g. stub_const). (@Darhazer)
  • #15021: Fix false positives in Layout/EmptyLineAfterGuardClause when using a guard clause followed by a multi-line guard clause with raise, fail, return, break, or next. (@koic)
  • #15001: Fix false positives in Layout/RedundantLineBreak when setting InspectBlocks: true and using rescue or ensure in the block. (@koic)
  • #14997: Fix false positives in Style/FileOpen when assigning File.open to an instance variable, class variable, global variable, or constant. (@koic)
  • #15019: Fix false positives in Lint/DuplicateMethods when the same method is defined in anonymous module blocks passed to different receivers. (@koic)
  • #14987: Complete ERB and Haml autocorrection in a single run. (@alpaca-tc)
  • #15039: Fix incorrect autocorrect in Style/IfWithSemicolon when return with value is in the else branch. (@koic)
  • #14930: Fix incorrect autocorrection for Style/IfUnlessModifier when multiple if/unless modifier forms are on the same line inside a collection. (@ydakuka)
  • #14985: Fix incorrect autocorrection in Lint/SafeNavigationChain when chaining a method call after safe navigation in the if branch of a ternary. (@koic)
  • #15009: Fix infinite loop in Layout/EndAlignment when end is followed by || or &&. (@koic)
  • #14981: Fix spurious warning "does not support Safe/SafeAutoCorrect parameter" when those parameters are set for cops that don't have them in their default configuration. (@dduugg)
  • #15043: Fix an error for Lint/UselessDefaultValueArgument when fetch without a receiver is inside a fetch block. (@koic)
  • #15034: Fix incorrect autocorrection in Style/IfWithSemicolon when using single-line unless / ; / end. (@koic)
  • #15015: Fix Style/NonNilCheck autocorrect for receivers containing spaces. (@bbatsov)
  • #15015: Fix Style/RaiseArgs to allow anonymous keyword forwarding (raise Ex.new(**)). (@bbatsov)
  • #14890: Fix a false positive for Lint/RedundantCopDisableDirective when a rubocop:disable comment is used to suppress Lint/EmptyWhen, Lint/EmptyConditionalBody, Lint/EmptyInPattern, or Style/SymbolProc. (@eugeneius)
  • #15015: Fix false negative in Style/RedundantPercentQ for %q strings with interpolation-like syntax. (@bbatsov)
  • #14984: Fix Style/AndOr adding unnecessary parentheses around return without arguments. (@eugeneius)
  • #14945: Support files with multiple modifiers in Lint/UselessConstantScoping. (@h-lame)
  • #15015: Fix Style/TrailingMethodEndStatement to detect singleton methods (def self.foo). (@bbatsov)
  • #10822: Don't store results in cache if there are warnings. (@jonas054)

Changes

  • #14718: Allow setting MaxFilesInCache to false to entirely disable cache pruning. (@byroot)
  • #14989: Make Lint/RedundantSafeNavigation aware of safe navigation in conditional true branch. (@koic)
  • #15041: Remove mcp gem from runtime dependencies. (@koic)

1.85.1

Bug fixes

  • #14958: Fix false positives in Style/FileOpen when File.open is passed as an argument or returned from a method. (@sferik)
  • #14973: Fix Style/ReduceToHash false positive when accumulator is read in key/value. (@sferik)
  • #14964: Fix false positives in Style/RedundantParentheses when parenthesizing a range in a block body. (@koic)

Changes

1.85.0

New features

Bug fixes

  • #14829: Allow classes without a superclass in Style/EmptyClassDefinition. (@koic)
  • #14873: Fix an error in Style/NegatedWhile when the last expression of an until condition is negated. (@koic)
  • #14827: Improve Style/EmptyClassDefinition message wording. (@bbatsov)
  • #14800: Fix false obsolete configuration error for extracted cops when loaded as plugins. (@bbatsov)
  • #14928: Fix a false positive for Lint/Void when nil is used in case branch. (@5hun-s)
  • #14857: Fix false positives in Style/IfUnlessModifier when modifier forms are used inside string interpolations. (@koic)
  • #8773: Fix false positives in Style/HashTransformKeys and Style/HashTransformValues. (@sferik)
  • #6963: Fix false positives in Lint/Void for each blocks where the return value may be meaningful (e.g., Enumerator#each). (@sferik)
  • #14931: Ignore directive comments inside comments. (@koic)
  • #14834: Fix Layout/IndentationWidth false positive for chained method blocks when EnforcedStyleAlignWith is start_of_line. (@krororo)
  • #14756: Fix Lint/Void to detect void expressions in case/when branches. (@bbatsov)
  • #14874: Fix a Parser::ClobberingError in Lint/UselessAssignment when autocorrecting a useless assignment that wraps a block containing another useless assignment. (@koic)
  • #14880: Fix a false negative in Layout/MultilineAssignmentLayout when using numblock or itblock with SupportedTypes: ['block']. (@bbatsov)
  • #11462: Fix over-indentation when autocorrecting nested hashes with Layout/FirstHashElementIndentation. (@ydakuka)
  • #14880: Recognize block on different line from left side of multi-line assignment in Layout/MultilineAssignmentLayout. (@sanfrecce-osaka)
  • #14641: Fix false positive in Lint/RedundantSafeNavigation when using &.respond_to? with methods defined on Object (e.g., :class). (@bbatsov)
  • #14098: Mark Lint/SafeNavigationConsistency autocorrect as unsafe. (@bbatsov)
  • #14791: Fix autocorrect producing SyntaxError in Lint/InterpolationCheck when single quoted string contains double quotes with invalid interpolation. (@ydakuka)

Changes

  • #14872: Tweak autocorrection in Style/HashAsLastArrayItem when multiline hash elements. (@koic)
  • #14917: Change Style/EndlessMethod cop to consider receivers. (@fatkodima)
  • #14851: Reduce precision in 'Finished in X.X seconds' message to 5 decimal places. (@ZimbiX)
  • #14895: Rename class_definition to class_keyword in EnforcedStyle of Style/EmptyClassDefinition. (@koic)
  • #14956: Add support for String.new with interpolated strings to Style/RedundantInterpolationUnfreeze. (@lovro-bikic)
  • #14955: Register redundant parentheses around block body in Style/RedundantParentheses. (@lovro-bikic)

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.

✳️ standard (1.54.0 → 1.55.0) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by 17 commits:

↗️ parallel (indirect, 1.28.0 → 2.1.0) · Repo · Changelog

Release Notes

2.1.0 (from changelog)

Added

  • support different serializers
  • support for HMac verified serializer to secure hardened environments

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

Commits

See the full diff on Github. The new version differs by 22 commits:


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)

@depfu depfu Bot added the depfu label Jun 11, 2026
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