Skip to content

Update RuboCop packages - #181

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/rubocop-packages
Open

Update RuboCop packages#181
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/rubocop-packages

Conversation

@renovate

@renovate renovate Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
rubocop (source, changelog) '~> 1.85.0''~> 1.91.0' age confidence
rubocop-performance (source, changelog) '~> 1.26.0''~> 1.27.0' age confidence
rubocop-rspec (changelog) '~> 3.9.0''~> 3.10.0' age confidence

Release Notes

rubocop/rubocop (rubocop)

v1.91.0

Compare Source

New features
  • #​15631: Add a preview channel for unstable behavior. ([@​bbatsov][])
  • #​15627: Add a SARIF formatter. ([@​bbatsov][])
  • #​15686: Add AllCops: FailLevel, the configuration equivalent of --fail-level. ([@​bbatsov][])
  • #​15650: Add AllowedDirectives option to Style/DisableCopsWithinSourceCodeDirective, exempting directive kinds such as generated rubocop:todo comments. ([@​bbatsov][])
  • #​15629: Add --changed to inspect only the files git says changed. ([@​bbatsov][])
  • #​15628: Add --diff to preview autocorrection without writing files. ([@​bbatsov][])
  • #​15615: Add new Lint/MisplacedMagicComment cop to flag magic comments in positions where Ruby ignores them. ([@​bbatsov][])
  • #​15600: Add the rubocop:enable-next directive to re-enable cops for the next statement only. ([@​bbatsov][])
  • #​15600: Add the rubocop:next directive, combining push-style +/- arguments with disable-next's statement scope. ([@​bbatsov][])
  • #​15363: Let a cop's entry in the default configuration carry a Preview section with the defaults it is expected to adopt in the next major release, applied under Preview. ([@​bbatsov][])
Bug fixes
  • #​15349: Fix a false positive for Style/RedundantRegexpCharacterClass with \8/\9. ([@​bbatsov][])
  • #​15646: Fix an error for Layout/ElseAlignment when else is used with rescue in a class, module, or singleton class body. ([@​viralpraxis][])
  • #​15613: Fix an error for Layout/HashAlignment when a hash value starts on the line below its key. ([@​viralpraxis][])
  • #​15623: Fix an error for Layout/HashAlignment when the first pair of a hash omits its value, and an incorrect autocorrection when a later pair does. ([@​viralpraxis][])
  • #​15602: Fix an error for Layout/IndentationWidth on under-indented code with tab indentation. ([@​Starlexxx][])
  • #​15672: Fix an error for Lint/RedundantCopDisableDirective when a file contains more than one rubocop:push/rubocop:pop pair. ([@​koic][])
  • #​15625: Fix an error for Style/AccessModifierDeclarations when a body repeats the same access modifier. ([@​viralpraxis][])
  • #​15603: Fix an error for Style/AccessModifierDeclarations with EnforcedStyle: inline when an access modifier is the body of an if without an else branch. ([@​viralpraxis][])
  • #​15604: Fix an error for Style/ConstantVisibility when a visibility declaration splats anything other than an array literal, e.g. private_constant(*constants(false)). ([@​viralpraxis][])
  • #​15647: Fix an error for Style/DocumentationMethod when an inline module_function/ruby2_keywords def is preceded by another argument. ([@​viralpraxis][])
  • #​15680: Fix an error for Style/EndlessMethod when a method definition is nested inside another method definition. ([@​viralpraxis][])
  • #​15674: Fix an error for Style/FloatDivision when using EnforcedStyle: fdiv and one operand of a float division is itself a parenthesized float division. ([@​viralpraxis][])
  • #​15624: Fix an error for Style/HashLookupMethod when the looked-up key is itself a hash lookup. ([@​viralpraxis][])
  • #​15642: Fix an error for Style/HashSyntax when hash rockets are enforced and a hash value repeats its key. ([@​viralpraxis][])
  • #​15634: Fix an incorrect autocorrect for Lint/LiteralAsCondition when the other operand is a parenthesized return. ([@​Starlexxx][])
  • #​15648: Fix an incorrect autocorrect for Lint/ParenthesesAsGroupedExpression when the parentheses contain and, or, not, or a modifier expression. ([@​Starlexxx][])
  • #​15612: Fix an incorrect autocorrect for Naming/BlockForwarding with Style/MethodDefParentheses. ([@​Starlexxx][])
  • #​15680: Fix an incorrect autocorrect for Style/EndlessMethod when using EnforcedStyle: require_always and the method body has a rescue or ensure clause. ([@​viralpraxis][])
  • #​15669: Fix an incorrect autocorrect for Style/FloatDivision when using EnforcedStyle: fdiv and the divisor is a method call with parenthesized arguments. ([@​viralpraxis][])
  • #​15678: Fix an incorrect autocorrect for Style/For when using EnforcedStyle: for and the block body has a rescue or ensure clause. ([@​viralpraxis][])
  • #​15645: Fix an incorrect autocorrect for Style/GuardClause with Style/MissingElse. ([@​Starlexxx][])
  • #​15668: Fix an incorrect autocorrect for Style/MethodCallWithArgsParentheses when EnforcedStyle: omit_parentheses is used together with Style/TrailingCommaInArguments. ([@​viralpraxis][])
  • #​15347: Fix an incorrect autocorrect for Style/NestedModifier. ([@​bbatsov][])
  • #​15347: Fix an incorrect autocorrect for Style/NonNilCheck. ([@​bbatsov][])
  • #​15347: Fix an incorrect autocorrect for Style/Not with a flip-flop or assignment. ([@​bbatsov][])
  • #​15349: Fix an incorrect autocorrect for Style/RedundantDoubleSplatHashBraces with a braced merge argument. ([@​bbatsov][])
  • #​15349: Fix an incorrect autocorrect for Style/RedundantParentheses around and/or. ([@​bbatsov][])
  • #​15349: Fix an incorrect autocorrect for Style/RedundantRegexpConstructor with %r{} delimiters. ([@​bbatsov][])
  • #​15614: Fix an infinite loop between Layout/ArgumentAlignment and Layout/HashAlignment with separator style. ([@​Starlexxx][])
  • #​15599: Fix an infinite loop error for Layout/CommentIndentation when many comment blocks with the same indentation are separated by empty lines. ([@​Starlexxx][])
  • #​15597: Fix an infinite loop error for Layout/EmptyLinesAfterModuleInclusion when a module inclusion is directly before rescue. ([@​Starlexxx][])
  • #​15617: Fix an infinite loop between Layout/ExtraSpacing with ForceEqualSignAlignment and Layout/SpaceAroundOperators. ([@​Starlexxx][])
  • #​15638: Fix an infinite loop error for Layout/FirstArrayElementIndentation with Layout/ArrayAlignment when EnforcedStyle: with_fixed_indentation is configured. ([@​RedZapdos123][])
  • #​15639: Fix an infinite loop error for Layout/FirstParameterIndentation with Layout/ParameterAlignment when EnforcedStyle: with_fixed_indentation is configured. ([@​RedZapdos123][])
  • #​15619: Fix an infinite loop for Layout/LineLength with SplitStrings: true when the split point lands on a trailing space. ([@​Starlexxx][])
  • #​15675: Fix an infinite loop between Layout/SpaceAroundOperators and Layout/ExtraSpacing with ForceEqualSignAlignment: true for aligned operator assignments. ([@​Starlexxx][])
  • #​15598: Fix an infinite loop error for Lint/AssignmentInCondition when an assignment is inside defined?. ([@​Starlexxx][])
  • #​15665: Fix an infinite loop between Style/EmptyMethod and Style/SingleLineMethods with AllowIfMethodIsEmpty: false. ([@​Starlexxx][])
  • #​15644: Fix an infinite loop error for Style/EndlessMethod when an indented method definition would exceed Layout/LineLength once made endless. ([@​viralpraxis][])
  • #​15651: Fix an infinite loop error for Style/EndlessMethod when a method body is a block spread over several lines. ([@​viralpraxis][])
  • #​15618: Fix an infinite loop between Style/ParenthesesAroundCondition with AllowSafeAssignment: false and Lint/AssignmentInCondition. ([@​Starlexxx][])
  • #​15662: Fix an infinite loop between Layout/SpaceAroundBlockParameters and Layout/SpaceInsideParens when the two cops enforce conflicting styles for a lambda's parameter parentheses. ([@​viralpraxis][])
  • #​15670: Fix an infinite loop for Style/NumericLiteralPrefix with signed literals. ([@​dylanpulver][])
  • #​15636: Fix Lint/CopDirectiveSyntax falsely reporting multiple directives when valid reason text mentions another directive. ([@​RedZapdos123][])
  • #​15679: Fix false positives in Lint/DuplicateMethods for singleton methods in separate anonymous classes. ([@​rafaelfranca][])
  • #​15347: Fix incorrect autocorrects for Style/NilComparison with precedence-sensitive operands. ([@​bbatsov][])
  • #​15611: Fix Lint/ArgumentMismatch registering false positives for Foo.new calls, which are documented as out of scope but were checked against whichever new the project index could reach. ([@​HoneyryderChuck][])
  • #​15610: Fix Lint/ArgumentMismatch registering false positives for calls that resolve to a private method on Object, such as a bare def written at the top level of a DSL file. ([@​HoneyryderChuck][])
  • #​15600: Make rubocop:push +Cop arguments enable cops that are disabled in the configuration. ([@​bbatsov][])
  • #​9325: Merge Exclude with the default configuration and with inherited files under Preview. ([@​bbatsov][])
  • #​15626: Fix RemoteConfig failing to follow relative HTTP redirects for remote configuration files. ([@​RedZapdos123][])
  • #​15661: Fix the result cache reading and processing non-regular files. ([@​viralpraxis][])
  • #​15621: Fix incorrect analysis results when the result cache cannot compute a file checksum, which could serve one file's cached results for another file. ([@​koic][])
  • #​11696: Fix Style/DataInheritance to not register an offense when the class body defines constants, nested classes, or nested modules. ([@​MatheusRich][])
  • #​15655: Fix Style/StructInheritance to not register an offense when the class body defines constants, nested classes, or nested modules. ([@​MatheusRich][])
Changes
  • #​15363: Disable Metrics/MethodLength, Metrics/AbcSize, Metrics/ClassLength, Metrics/ModuleLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/BlockLength, Metrics/ParameterLists and Metrics/BlockNesting under Preview, ahead of them being disabled by default in RuboCop 2.0. ([@​bbatsov][])
  • #​15363: Disable Style/IfUnlessModifier, Style/GuardClause, Style/Next, Style/ClassAndModuleChildren, Style/DoubleNegation, Style/NumericPredicate, Style/SpecialGlobalVars, Style/PerlBackrefs, Style/FrozenStringLiteralComment, Style/FormatStringToken, Style/FormatString, Style/RegexpLiteral, Style/SignalException, Style/Lambda, Style/ParallelAssignment, Style/RaiseArgs, Style/ModuleFunction, Style/BlockDelimiters, Style/NumericLiterals, Style/NegatedIf, Naming/VariableNumber, Naming/HeredocDelimiterNaming, Layout/EmptyLineAfterGuardClause and Bundler/OrderedGems under Preview, ahead of them being disabled by default in RuboCop 2.0. ([@​bbatsov][])
  • #​15363: Set AllCops: FailLevel to warning under Preview, so that style offenses are reported without failing the build, ahead of it becoming the default in RuboCop 2.0. ([@​bbatsov][])
  • #​15363: Set the community-preferred EnforcedStyle of Style/StringLiterals, Style/StringLiteralsInInterpolation, Layout/CaseIndentation, Layout/EndAlignment, Layout/MultilineMethodCallIndentation, Layout/MultilineOperationIndentation, Layout/FirstHashElementIndentation, Layout/FirstArrayElementIndentation, Layout/ParameterAlignment, Layout/ArgumentAlignment, Style/EmptyMethod, Style/Alias, Style/RescueStandardError and Style/TernaryParentheses under Preview, ahead of them becoming the defaults in RuboCop 2.0. ([@​bbatsov][])
  • #​15363: Set the EnforcedStyle of Style/SymbolArray and Style/WordArray to brackets under Preview, ahead of it becoming the default in RuboCop 2.0. ([@​bbatsov][])
  • #​15686: Derive a cop's default severity from its department: Security cops now report as warning and Metrics cops as refactor. ([@​bbatsov][])
  • #​15363: Disable Style/Documentation under Preview, ahead of it being disabled by default in RuboCop 2.0. ([@​bbatsov][])
  • #​15616: Enable Lint/CopDirectiveSyntax by default, so directives that silently disable nothing are reported. ([@​bbatsov][])
  • #​15601: Make Style/DirectiveScope convert single-statement signed push/pop scopes and enable/disable pairs to the next, enable-next and disable-next forms. ([@​bbatsov][])
  • #​15650: Make AllowedCops and DisallowedCops of Style/DisableCopsWithinSourceCodeDirective match department names as well as cop names. ([@​bbatsov][])
  • #​15616: Remove Style/DoubleCopDisableDirective, superseded by Lint/CopDirectiveSyntax, which now reports and corrects more than one directive on a line. ([@​bbatsov][])
  • #​15607: Recognize warn_indent as a magic comment. This fixes a false positive for Layout/EmptyLineAfterMagicComment and makes Lint/OrderedMagicComments and Style/MagicCommentFormat aware of it. ([@​koic][])
  • #​15650: Rename the AllowTrailingComment option of Style/DisableCopsWithinSourceCodeDirective to AllowWithReason. ([@​bbatsov][])

v1.90.0

Compare Source

New features
  • #​15073: Add AllowTrailingComment option to Style/DisableCopsWithinSourceCodeDirective. ([@​bbatsov][])
  • #​9505: Add disable-next directives scoped to the following statement. ([@​bbatsov][])
  • #​15550: Add --display-suppressed option to also report offenses suppressed by directive comments, including their -- justification in the JSON formatter. ([@​bbatsov][])
  • #​15523: Add new Lint/ArgumentMismatch cop. ([@​bbatsov][])
  • #​15594: Add new Lint/SuperArgumentMismatch cop. ([@​bbatsov][])
  • #​15581: Add new Style/TimeNow cop. ([@​Starlexxx][])
  • #​15111: Add NumberOfEmptyLines option to Layout/EmptyLineAfterMagicComment to configure the minimum number of empty lines required after magic comments. ([@​alejofraga][])
  • #​13037: Add --report-unused-todo-entries to catch rotting todo files. ([@​bbatsov][])
  • #​15559: Add new Style/DirectiveScope cop to flag disable/enable pairs and disable-only push/pop scopes that wrap a single statement and can use disable-next instead. ([@​bbatsov][])
  • #​15547: Make Lint/RedundantCopEnableDirective flag # rubocop:pop directives without a matching # rubocop:push. ([@​bbatsov][])
Bug fixes
  • #​15584: Fix a crash in Lint/NameTypo and Lint/UnusedPrivateMethod on string literals with invalid encoding. ([@​bbatsov][])
  • #​15541: Fix a false negative for Lint/OutOfRangeRegexpRef when a preceding element access with a non-string literal argument (e.g. hash[:key]) discarded the tracked capture count. ([@​koic][])
  • #​7958: Add todo comments for skipped unsafe corrections with --disable-uncorrectable. ([@​bbatsov][])
  • #​15569: Fix an error for the built-in language server when a workspace/executeCommand request has no document URI in its arguments. ([@​koic][])
  • #​15410: Fix an incorrect autocorrect for Naming/BinaryOperatorParameterName. ([@​bbatsov][])
  • #​15576: Fix an incorrect autocorrect for Style/Sample when shuffle is given a random: argument; the offense is still reported but no longer autocorrected, since shuffle and sample consume a seeded generator differently and would select different elements. ([@​koic][])
  • #​15590: Fix an infinite loop error for Layout/FirstArgumentIndentation when EnforcedStyle: with_fixed_indentation is specified for Layout/ArgumentAlignment and Layout/FirstMethodArgumentLineBreak is enabled with AllowMultilineFinalElement: true. ([@​Starlexxx][])
  • #​15588: Fix RuboCop::Cop::IgnoredMethods and RuboCop::Cop::IgnoredPattern being unreachable after require 'rubocop'. ([@​SeanLF][])
  • #​8349: Don't autocorrect away directives for unknown cops. ([@​bbatsov][])
  • #​7894: Don't flag disables of pending cops as redundant. ([@​bbatsov][])
  • #​9963: Fix false negatives for Layout/ExtraSpacing. ([@​Starlexxx][])
  • #​15525: Fix false negatives in Layout/LineLength when a constant path like Http::UploadedFile matches URISchemes case-insensitively. ([@​koic][])
  • #​13941: Fix false positives for Lint/UselessConstantScoping when assigning with Class.new, Module.new, Struct.new, or Data.define after private. ([@​pdobb][])
  • #​15526: Fix false positives in Layout/MultilineMethodCallIndentation when a line has multiple single-line blocks before a multiline block. ([@​koic][])
  • #​15538: Fix false positives in Lint/ConstantReassignment when a constant is assigned in compact-style namespaces (e.g. module A::B). ([@​alex-tan][])
  • #​15517: Fix false positives in Lint/RedundantSafeNavigation when InferNonNilReceiver is enabled and the receiver name is rebound by a nested block (it or a shadowed block parameter). ([@​koic][])
  • #​15572: Fix RuboCop::Cop::Registry#freeze to freeze its internal collections, so that registering a lazily loaded cop after the freeze fails fast at the registration site instead of corrupting the registry. ([@​koic][])
  • #​15585: Make Lint/DuplicateMethods honor silence_redefinition_of_method and redefine_method as intentional redefinitions. ([@​bbatsov][])
  • #​15558: Fix --display-suppressed reporting a nil justification when the offense is loaded from the result cache. ([@​corsonknowles][])
  • #​10449: Fix Layout/ClassStructure autocorrection producing a wrong order when an element cannot be moved, and make offenses report the category that actually blocks the expected order. ([@​koic][])
  • #​15568: Fix Lint/NameTypo registering false positives for names provided by a gem whose namespace the project reopens, and for constants read from a namespace with an unresolved ancestor. ([@​HoneyryderChuck][])
  • #​15556: Fix Lint/UnusedPrivateMethod retaining every past project_index object it has seen (and the index graph reachable from each), rather than only the most recent one. This caused unbounded memory growth in long-lived processes such as rubocop --server. ([@​bquorning][])
  • #​10046: Fix Lint/UselessMethodDefinition false positive for methods with **kwargs. ([@​bbatsov][])
  • #​15589: Fix --lsp and --mcp being silently ignored when the RuboCop server is running: they now start the protocol server in the current process instead of being forwarded to the server as a lint request. ([@​koic][])
  • #​11148: Merge department and cop-level Exclude settings. ([@​bbatsov][])
  • #​15531: Fix a regression in RuboCop 1.89 where the modifier cops could produce lines longer than Layout/LineLength Max when exemptions like AllowedPatterns matched the result. ([@​bbatsov][])
  • #​15574: Fix an incorrect warning such as AllCops does not support TargetRailsVersion parameter when a plugin declares a custom AllCops key with a nil value and another plugin is loaded after it. ([@​koic][])
  • #​9543: Preserve escape notation in Style/StringConcatenation autocorrect. ([@​bbatsov][])
  • #​11119: Preserve persistent cop instances across files. ([@​Eljees][])
  • #​13022: Fix rubocop . (and other relative directory arguments) needlessly traversing directories excluded by the configuration, which made it much slower than rubocop in projects with large ignored trees. ([@​bbatsov][])
  • #​15561: Fix Lint/RedundantCopDisableDirective and Lint/RedundantCopEnableDirective leaving a directive's -- reason behind when removing the directive. ([@​corsonknowles][])
  • #​15593: Fix false positives for Lint/UnusedPrivateMethod for private definitions of Ruby runtime hooks like inherited and const_missing. ([@​bbatsov][])
  • #​15547: Make Lint/MissingCopEnableDirective suggest # rubocop:pop instead of # rubocop:enable for an unclosed # rubocop:push. ([@​bbatsov][])
  • #​14379: Suppress multi-line offenses with a directive on any of their lines. ([@​bbatsov][])
  • #​15593: Fix false positives for Lint/UnusedPrivateMethod when a method name is composed with an interpolated symbol or string prefix. ([@​bbatsov][])
Changes
  • #​15585: Add AllowedCrossFilePaths option to Lint/DuplicateMethods to skip cross-file duplicates in configured paths. ([@​bbatsov][])
  • #​15593: Add AllowedNames and AllowedPatterns options to Lint/UnusedPrivateMethod. ([@​bbatsov][])
  • #​15587: Backfill missing StyleGuide metadata for 21 cops and fix four broken style guide links. ([@​bbatsov][])
  • #​15530: Improve Lint/DeprecatedReference performance by short-circuiting deprecated?. ([@​connorshea][])
  • #​15529: Improve Lint/NameTypo performance by deferring the literal-name scan. ([@​connorshea][])
  • #​15554: Change AllowForAlignment to no longer treat a same-indentation line beyond the enclosing block as an alignment anchor for Layout/ExtraSpacing, Layout/SpaceAroundOperators, and Layout/SpaceBeforeFirstArg. ([@​koic][])
  • #​15582: Make JUnit formatter output <testcase> elements only for cops enabled for each inspected file, instead of all cops. ([@​koic][])
  • #​15562: Make Layout/SpaceAroundOperators aware of endless method definitions. ([@​koic][])
  • #​14673: Make Lint/CopDirectiveSyntax catch keyword typos and unknown cop names. ([@​bbatsov][])
  • #​12219: Stop honoring wrongly-namespaced disable directives. ([@​bbatsov][])

v1.89.0

Compare Source

New features
  • #​15492: Add AllCops/ProjectIndexIncludesGems for bundle-wide indexing. ([@​bbatsov][])
  • #​15498: Add DelegatingMethods option to Lint/DuplicateMethods to register custom delegate-shaped methods. ([@​bbatsov][])
  • #​15042: Add DisallowedCops configuration option to Style/DisableCopsWithinSourceCodeDirective. ([@​hammadxcm][])
  • #​15441: Add new AllowYARDCommentBlockSeparator option to Layout/LeadingCommentSpace. ([@​koic][])
  • #​15466: Add new Lint/DeprecatedReference cop to detect references to methods and constants documented as @deprecated, powered by the project index. ([@​bbatsov][])
  • #​15491: Add new Lint/NameTypo cop. ([@​bbatsov][])
  • #​15468: Add new Lint/UnusedPrivateMethod cop for project-wide dead-code detection via the project index (disabled by default). ([@​bbatsov][])
  • #​14598: Make Style/DisableCopsWithinSourceCodeDirective impossible to disable via directive comments when explicitly enabled with Enabled: true. ([@​rafaelfranca][])
  • #​15511: Support textDocument/codeAction requests in the built-in language server, so LSP clients that request code actions (Eglot, Helix, Flycheck, ...) can apply RuboCop's autocorrects, not only clients that read them off the published diagnostic. ([@​bbatsov][])
  • #​8565: Support NewCops in department configuration to enable pending cops per department, including cops added up to a specific version (e.g. Style: NewCops: '1.19'). ([@​koic][])
  • #​9373: Support autocorrection for tab indentation in Layout/IndentationWidth and Style/ClassAndModuleChildren. ([@​ioquatix][], [@​koic][])
Bug fixes
  • #​15257: Fix a false negative for Lint/ToEnumArguments when explicit extra keyword arguments are passed (e.g. def m(x:); to_enum(:m, x: x, y: 1); end), which raises ArgumentError when the enumerator is used. ([@​RedZapdos123][])
  • #​15452: Fix a false positive for Layout/HashAlignment when using EnforcedHashRocketStyle: table and a hash key spans multiple lines. ([@​dduugg][])
  • #​12269: Fix a false positive for Lint/UselessAssignment with modifier conditions. ([@​bbatsov][])
  • #​13786: Fix a false positive for Lint/Void with setter methods. ([@​bbatsov][])
  • #​15507: Fix a false positive for Naming/VariableNumber when using an empty symbol hash key. ([@​koic][])
  • #​15284: Fix a false positive for Style/MutableConstant with Data.define. ([@​bbatsov][])
  • #​15483: Fix a false positive for Style/MissingRespondToMissing when respond_to_missing? is defined in a reopening of the class and UseProjectIndex is enabled. ([@​bbatsov][])
  • #​15500: Fix an error for Lint/LiteralAsCondition when a literal condition has an empty branch. ([@​koic][])
  • #​15499: Fix an error for Lint/UselessRuby2Keywords when ruby2_keywords is used with a symbol but no method definition is found. ([@​koic][])
  • #​15453: Fix an error for Metrics/MethodLength when a method contains a heredoc and __ENCODING__. ([@​koic][])
  • #​15442: Fix an error for Style/ArrayIntersect cop when the block-based check calls member?/include? without an explicit receiver. ([@​dduugg][])
  • #​15434: Fix an error for Style/NegativeArrayIndex cop. ([@​viralpraxis][])
  • #​15469: Fix an error for Style/RedundantFormat when a format string uses a positional argument number beyond the 64-bit range. ([@​koic][])
  • #​15454: Fix an error for Style/RedundantFormat when the argument for a positional variable width is missing. ([@​koic][])
  • #​15298: Fix an incorrect autocorrect for Lint/LiteralInInterpolation. ([@​bbatsov][])
  • #​15515: Fix an incorrect autocorrect for Style/ArrayIntersect when using safe navigation none? with a block. ([@​koic][])
  • #​15364: Fix an incorrect autocorrect for Style/MultipleComparison that dropped an allowed method comparison appearing between the compared values. ([@​bbatsov][])
  • #​15367: Fix an incorrect autocorrect for Style/RedundantFileExtensionInRequire that produced invalid Ruby when a backslash preceded the .rb extension. ([@​bbatsov][])
  • #​12017: Fix Lint/Void to no longer autocorrect a constant used in a void context, since removing it can change behavior through constant autoloading side effects. ([@​bbatsov][])
  • #​14797: Avoid cache writes during server checks. ([@​sjh9714][])
  • #​15484: Fix false negatives for Lint/InheritException when Exception is inherited indirectly through a project class (UseProjectIndex). ([@​bbatsov][])
  • #​15357: Fix a false negative for Lint/AmbiguousAssignment when using attribute or index assignment. ([@​sngsmz][])
  • #​9571: Fix false negatives in Layout/ClassStructure when class body elements are wrapped in begin blocks. ([@​koic][])
  • #​9570: Fix false negatives in Layout/ClassStructure when using private_class_method or public_class_method def modifiers. ([@​koic][])
  • #​15438: Fix false positives in Style/ArrayIntersect when the receiver of include? in a block is not an array literal. ([@​koic][])
  • #​15445: Fix false positives in Style/MultilineIfThen when using the Prism parser engine and an elsif without then follows a branch using then with a body on the same line. ([@​koic][])
  • #​15058: Fix false positives in Lint/DuplicateMethods for anonymous classes (Class.new) passed as arguments to the same named-receiver method call (e.g. T.cast). Each Class.new block is an independent class, so methods defined in different blocks should not be treated as duplicates. ([@​rafaelfranca][])
  • #​15486: Fix false negatives for Style/RedundantConstantBase inside namespaces when the constant provably resolves identically without :: (UseProjectIndex). ([@​bbatsov][])
  • #​15505: Fix incompatible autocorrect between Style/Lambda and Style/SymbolProc producing a syntax error like ->(x)(&:method) when both cops run on lambda { |x| x.method }. ([@​koic][])
  • #​15481: Fix cross-file offenses depending on which files are inspected: the project index now always covers the whole project (UseProjectIndex). ([@​bbatsov][])
  • #​13794: Fix Layout/LineLength autocorrection for endless methods with block bodies. ([@​hervetatche][])
  • #​15462: Fix an error for Lint/ConstantReassignment when a built-in constant name is assigned and UseProjectIndex is enabled. ([@​bbatsov][])
  • #​15321: Fix Style/ClassAndModuleChildren ignoring EnforcedStyleForClasses and EnforcedStyleForModules, and skip autocorrection when mixed per-type styles make the result ambiguous. ([@​bbatsov][])
  • #​15122: Fix false positive in Layout/MultilineMethodCallIndentation when a line has multiple chained calls before a single-line block. ([@​hammadxcm][])
  • #​15471: Fix false negatives for Style/RedundantLineContinuation by verifying backslash removal against a reparse of the source instead of hand-written grammar rules. ([@​bbatsov][])
  • #​15522: Fix Ruby version detection from mise.toml with single quotes. ([@​joklek-vinted][])
  • #​15488: Fix false positives for Naming/PredicatePrefix and Naming/AccessorMethodName when the method overrides an ancestor method defined in the project (UseProjectIndex). ([@​bbatsov][])
  • #​15485: Fix a false positive for Style/StaticClass when the class is subclassed elsewhere in the project (UseProjectIndex). ([@​bbatsov][])
  • #​15477: Fix false positives for Style/MethodCallWithArgsParentheses omit_parentheses style by verifying each omission by reparsing before registering an offense. ([@​bbatsov][])
Changes
  • #​15482: Change Style/Documentation to accept a reopened class or module documented at another definition site when UseProjectIndex is enabled. ([@​bbatsov][])
  • #​15355: Add rubocop-i18n to suggested extensions. ([@​tejasbubane][])
  • #​15521: Advertise executeCommandProvider and the supported code action kinds in the language server's capabilities, so clients can discover the rubocop.formatAutocorrects and rubocop.formatAutocorrectsAll commands. ([@​bbatsov][])
  • #​15521: Improve language server performance by caching the project index across requests instead of rebuilding it on every keystroke when AllCops/UseProjectIndex is enabled. ([@​bbatsov][])
  • #​14835: Extend Lint/AmbiguousBlockAssociation to detect do...end blocks likely intended for enumerable methods in arguments. ([@​hammadxcm][])
  • #​15458: Improve Layout/LineLength performance on files with large collection literals. ([@​koic][])
  • #​15497: Make Style/ConditionalAssignment skip cases it cannot safely rewrite instead of emitting invalid code or erroring on unusual branch shapes. ([@​bbatsov][])
  • #​15261: Mention the required parentheses in the Style/IfUnlessModifier offense message when the condition is part of a larger expression. ([@​rafa-el-souza][])
  • #​15513: Improve Style/DisableCopsWithinSourceCodeDirective performance on large AllowedCops and DisallowedCops lists by matching directives against memoized sets instead of rebuilding an array lookup per comment. ([@​corsonknowles][])
  • #​15501: Improve performance for large literal files. ([@​koic][])
  • #​15519: Improve Style/RedundantLineContinuation performance on files with many adjacent string literals joined by line continuations. ([@​koic][])
  • #​15462: Change Lint/DuplicateMethods to detect duplicates across files when UseProjectIndex is enabled. ([@​bbatsov][])
  • #​14983: Load cops lazily to speed up loading RuboCop; only the cops needed for a run are loaded. ([@​lovro-bikic][], [@​koic][])
  • #​15493: Make Style/IfUnlessModifier, Style/WhileUntilModifier, Style/GuardClause, and other modifier cops respect Layout/LineLength exemptions (allowed patterns, cop directives, allowed URIs) when checking whether the modifier form fits on one line. ([@​bbatsov][])
  • #​15433: Mark Lint/SafeNavigationChain autocorrection as unsafe. ([@​koic][])
  • #​15487: Change Lint/ConstantResolution to report only genuinely ambiguous constants when UseProjectIndex is enabled. ([@​bbatsov][])
  • #​14809: Do not autocorrect Style/RedundantAssignment offenses when there are comments between assignment and reference. ([@​lovro-bikic][])
  • #​15463: Change Style/ClassAndModuleChildren autocorrection to consult the project index for the namespace kind and definition sites when UseProjectIndex is enabled. ([@​bbatsov][])
  • #​15464: Change Lint/MissingSuper to skip the constructor offense when the project index shows no ancestor defines initialize (UseProjectIndex). ([@​bbatsov][])
  • #​15490: Change Style/Copyright to validate AutocorrectNotice only when autocorrection is requested (-a/-A), so plain inspection no longer raises a warning. ([@​koic][])
  • #​15476: Change Layout/RedundantLineBreak to verify each correction by reparsing before registering an offense. ([@​bbatsov][])
  • #​15472: Change Style/RedundantParentheses to verify each correction by reparsing before registering an offense. ([@​bbatsov][])
  • #​15478

Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

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

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title Update dependency rubocop to '~> 1.86.0' Update dependency rubocop to '~> 1.87.0' May 30, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-packages branch from a5d6045 to 9011edf Compare May 30, 2026 13:49
@codecov

codecov Bot commented May 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.93%. Comparing base (075d03c) to head (9011edf).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #181   +/-   ##
=======================================
  Coverage   99.93%   99.93%           
=======================================
  Files          27       27           
  Lines        1446     1446           
=======================================
  Hits         1445     1445           
  Misses          1        1           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate Bot changed the title Update dependency rubocop to '~> 1.87.0' Update RuboCop packages to '~> 1.87.0' Jun 2, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-packages branch from 9011edf to 37729bb Compare June 5, 2026 15:11
@renovate renovate Bot changed the title Update RuboCop packages to '~> 1.87.0' Update RuboCop packages Jun 5, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-packages branch from 37729bb to 5cd8187 Compare June 16, 2026 11:10
@renovate
renovate Bot force-pushed the renovate/rubocop-packages branch from 5cd8187 to 0e3fd83 Compare August 4, 2026 13:40
@renovate
renovate Bot force-pushed the renovate/rubocop-packages branch from 0e3fd83 to e34a479 Compare August 16, 2026 09:55
@renovate
renovate Bot force-pushed the renovate/rubocop-packages branch from e34a479 to d12f2b4 Compare August 25, 2026 12:13
@renovate
renovate Bot force-pushed the renovate/rubocop-packages branch from d12f2b4 to 28a9267 Compare September 10, 2026 18:45
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