Skip to content

Update dependency rubocop to v1.90.0 - #32

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/rubocop-1.x-lockfile
Open

Update dependency rubocop to v1.90.0#32
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/rubocop-1.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Jun 17, 2025

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.74.01.90.0 age confidence

Release Notes

rubocop/rubocop (rubocop)

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: Change Style/SoleNestedConditional to only register an offense when its correction is verified to parse. ([@​bbatsov][])

v1.88.2

Compare Source

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&.[](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][])

v1.88.1

Compare Source

Bug fixes
  • #​15408: Fix a crash for Bundler/GemComment with a non-literal gem option key. ([@​bbatsov][])
  • #​9571: Fix a crash for Layout/ClassStructure when a class body is a single safe-navigation call (e.g. test&.private_methods(def foo; end)). ([@​bbatsov][])
  • #​15413: Fix a crash for Gemspec/DevelopmentDependencies when AllowedGems is nil. ([@​bbatsov][])
  • #​15404: Fix a crash for Metrics/MethodLength with an anonymous define_method. ([@​bbatsov][])
  • #​15414: Fix a crash for Naming/InclusiveLanguage with nil or empty FlaggedTerms. ([@​bbatsov][])
  • #​15405: Fix a crash for Security/IoMethods with a non-string-literal argument. ([@​bbatsov][])
  • #​15330: Fix a crash for Style/EmptyStringInsideInterpolation with a modifier conditional. ([@​bbatsov][])
  • #​15351: Fix a crash for Style/OpenStructUse with a bare OpenStruct root node. ([@​bbatsov][])
  • #​15379: Fix a crash for Style/TrailingUnderscoreVariable when a nested destructuring group consists only of underscore variables. ([@​bbatsov][])
  • #​15412: Fix a false negative for Security/MarshalLoad with a proc argument. ([@​bbatsov][])
  • #​15386: Fix a false negative for Style/MethodDefParentheses with named rest arguments under EnforcedStyle: require_no_parentheses. ([@​bbatsov][])
  • #​15396: Fix a false negative for Style/MultilineMethodSignature where a signature that fits on one line was skipped because the multi-line source length was measured instead of the collapsed width. ([@​bbatsov][])
  • #​15386: Fix a false negative for Style/OptionalArguments with singleton methods. ([@​bbatsov][])
  • #​15383: Fix a false negative for Style/RedundantFilterChain with numbered-parameter blocks. ([@​bbatsov][])
  • #​15290: Fix a false negative for Lint/ToEnumArguments when a braced hash is passed to keyword parameters (e.g. to_enum(:m, { required: required })), which raises ArgumentError when the enumerator is used. ([@​RedZapdos123][])
  • #​11956: Fix a false positive for Naming/FileName when a class or module name contains multiple consecutive AllowedAcronyms. ([@​camallen][])
  • #​15324: Fix a false positive for Style/DirEmpty with a block. ([@​bbatsov][])
  • #​15326: Fix a false positive for Style/EmptyLiteral with numbered and it block parameters. ([@​bbatsov][])
  • #​15335: Fix a false positive for Style/EnvHome. ([@​bbatsov][])
  • #​15345: Fix a false positive for Style/InlineComment with rubocop:todo directives. ([@​bbatsov][])
  • #​15348: Fix a false positive for Style/MultilineIfThen. ([@​bbatsov][])
  • #​15383: Fix a false positive for Style/NumericPredicate when an allowed method encloses a numbered-parameter or it block. ([@​bbatsov][])
  • #​15389: Fix a false positive for Style/OptionHash when the options hash is forwarded with an explicit super. ([@​bbatsov][])
  • #​15350: Fix a false positive for Style/RedundantFormat with a lone format sequence. ([@​bbatsov][])
  • #​15374: Fix a false positive for Style/RedundantSelf with a rescue exception variable. ([@​bbatsov][])
  • #​15376: Fix a false positive for Style/Semicolon with a semicolon inside a string literal. ([@​bbatsov][])
  • #​15398: Fix an incorrect autocorrect for Layout/ConditionPosition that dropped a body statement sharing the condition's line via a semicolon. ([@​bbatsov][])
  • #​15399: Fix an incorrect autocorrect for Layout/EmptyComment that deleted a heredoc when removing an empty comment trailing its opener. ([@​bbatsov][])
  • #​15400: Fix an incorrect autocorrect for Layout/EmptyLineBetweenDefs that inserted a blank line inside a heredoc body when an endless method's body was a heredoc. ([@​bbatsov][])
  • #​15401: Fix an incorrect autocorrect for Layout/SpaceAroundOperators that turned **= and /= compound assignments into **//, dropping the assignment. ([@​bbatsov][])
  • #​15406: Fix an incorrect autocorrect for Naming/MemoizedInstanceVariableName. ([@​bbatsov][])
  • #​15411: Fix an incorrect autocorrect for Naming/RescuedExceptionsVariableName. ([@​bbatsov][])
  • #​15319: Fix an incorrect autocorrect for Style/DataInheritance with a brace block. ([@​bbatsov][])
  • #​15323: Fix an incorrect autocorrect for Style/EmptyCaseCondition as a yield/super argument. ([@​bbatsov][])
  • #​15323: Fix an incorrect autocorrect for Style/EmptyCaseCondition with low-precedence when values. ([@​bbatsov][])
  • #​15322: Fix an incorrect autocorrect for Style/EmptyClassDefinition with a namespaced constant. ([@​bbatsov][])
  • #​15336: Fix an incorrect autocorrect for Style/EmptyHeredoc. ([@​bbatsov][])
  • #​15332: Fix an incorrect autocorrect for Style/EvenOdd. ([@​bbatsov][])
  • #​15329: Fix an incorrect autocorrect for Style/ExactRegexpMatch with a single quote. ([@​bbatsov][])
  • #​15333: Fix an incorrect autocorrect for Style/FileNull. ([@​bbatsov][])
  • #​15334: Fix an incorrect autocorrect for Style/For. ([@​bbatsov][])
  • #​15331: Fix an incorrect autocorrect for Style/FormatString with a low-precedence argument. ([@​bbatsov][])
  • #​15331: Fix an incorrect autocorrect for Style/FormatString with a splat argument. ([@​bbatsov][])
  • #​15337: Fix an incorrect autocorrect for Style/HashSlice. ([@​bbatsov][])
  • #​15327: Fix an incorrect autocorrect for Style/HashSyntax with a multi-pair braceless return. ([@​bbatsov][])
  • #​15368: Fix an incorrect autocorrect for Style/IfWithSemicolon that changed semantics when the condition was an assignment, by parenthesizing it in the resulting ternary. ([@​bbatsov][])
  • #​15340: Fix an incorrect autocorrect for Style/KeywordArgumentsMerging with a block-pass argument. ([@​bbatsov][])
  • #​15387: Fix an incorrect autocorrect for Style/KeywordParametersOrder that inserted a spurious blank line when a keyword optional parameter already trailed the parameters list. ([@​bbatsov][])
  • #​15341: Fix an incorrect autocorrect for Style/MapIntoArray with a block-pass argument. ([@​bbatsov][])
  • #​15342: Fix an incorrect autocorrect for Style/MethodCallWithoutArgsParentheses with it() in a numbered block. ([[@​

Note

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.

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


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

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

@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.76.2 chore(deps): update dependency rubocop to v1.77.0 Jun 20, 2025
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.77.0 chore(deps): update dependency rubocop to v1.78.0 Jul 8, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 217fee8 to 4dab81d Compare July 24, 2025 10:59
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.78.0 chore(deps): update dependency rubocop to v1.79.0 Jul 24, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 4dab81d to 5a90821 Compare July 31, 2025 10:07
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.79.0 chore(deps): update dependency rubocop to v1.79.1 Jul 31, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 5a90821 to bc7a106 Compare August 5, 2025 12:31
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.79.1 chore(deps): update dependency rubocop to v1.79.2 Aug 5, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from bc7a106 to 2a817e1 Compare August 10, 2025 13:37
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.79.2 chore(deps): update dependency rubocop to v1.80.0 Aug 22, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 2a817e1 to 3a6ab24 Compare August 22, 2025 11:15
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.80.0 chore(deps): update dependency rubocop to v1.80.1 Aug 27, 2025
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.80.1 chore(deps): update dependency rubocop to v1.80.2 Sep 3, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 3a6ab24 to 5862564 Compare September 25, 2025 13:27
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.80.2 chore(deps): update dependency rubocop to v1.81.0 Sep 25, 2025
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.81.0 chore(deps): update dependency rubocop to v1.81.1 Sep 26, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 5862564 to 4851ea7 Compare October 21, 2025 08:50
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.81.1 chore(deps): update dependency rubocop to v1.81.6 Oct 21, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 4851ea7 to e855cb1 Compare October 31, 2025 11:55
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.81.6 chore(deps): update dependency rubocop to v1.81.7 Oct 31, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from e855cb1 to 1526ae4 Compare November 18, 2025 09:50
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 1526ae4 to 6991733 Compare December 17, 2025 12:35
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.81.7 chore(deps): update dependency rubocop to v1.82.0 Dec 17, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch 2 times, most recently from 4183849 to d57947c Compare December 24, 2025 09:31
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.82.0 chore(deps): update dependency rubocop to v1.82.1 Dec 24, 2025
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from d57947c to 49cd513 Compare January 27, 2026 14:37
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.82.1 chore(deps): update dependency rubocop to v1.84.0 Jan 27, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch 2 times, most recently from 7a77096 to 17944f1 Compare February 2, 2026 22:55
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.84.0 chore(deps): update dependency rubocop to v1.84.1 Feb 2, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 17944f1 to e64febf Compare February 12, 2026 10:57
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.84.1 chore(deps): update dependency rubocop to v1.84.2 Feb 12, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from e64febf to 1f4917f Compare March 1, 2026 09:58
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.84.2 chore(deps): update dependency rubocop to v1.85.0 Mar 1, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 1f4917f to 3e4645c Compare March 5, 2026 14:59
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.85.0 chore(deps): update dependency rubocop to v1.85.1 Mar 5, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 3e4645c to 2e157cc Compare March 13, 2026 15:04
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 2e157cc to c2b9a2c Compare March 23, 2026 12:41
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.85.1 chore(deps): update dependency rubocop to v1.86.0 Mar 23, 2026
@renovate renovate Bot changed the title chore(deps): update dependency rubocop to v1.86.0 Update dependency rubocop to v1.86.0 Apr 8, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from c2b9a2c to 16563dd Compare April 9, 2026 09:14
@renovate renovate Bot changed the title Update dependency rubocop to v1.86.0 Update dependency rubocop to v1.86.1 Apr 9, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 16563dd to 6fd5387 Compare May 14, 2026 08:29
@renovate renovate Bot changed the title Update dependency rubocop to v1.86.1 Update dependency rubocop to v1.86.2 May 14, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 6fd5387 to 7ce8073 Compare May 30, 2026 12:27
@renovate renovate Bot changed the title Update dependency rubocop to v1.86.2 Update dependency rubocop to v1.87.0 May 30, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 7ce8073 to 4449513 Compare June 16, 2026 05:46
@renovate renovate Bot changed the title Update dependency rubocop to v1.87.0 Update dependency rubocop to v1.88.0 Jun 16, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 4449513 to 711668a Compare July 1, 2026 22:39
@renovate renovate Bot changed the title Update dependency rubocop to v1.88.0 Update dependency rubocop to v1.88.1 Jul 1, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 711668a to 253cc3f Compare July 8, 2026 11:16
@renovate renovate Bot changed the title Update dependency rubocop to v1.88.1 Update dependency rubocop to v1.88.2 Jul 8, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 253cc3f to 5198b38 Compare July 16, 2026 16:46
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 5198b38 to 86bcb0d Compare August 4, 2026 10:46
@renovate renovate Bot changed the title Update dependency rubocop to v1.88.2 Update dependency rubocop to v1.89.0 Aug 4, 2026
@renovate
renovate Bot force-pushed the renovate/rubocop-1.x-lockfile branch from 86bcb0d to 5f0334f Compare August 25, 2026 12:47
@renovate renovate Bot changed the title Update dependency rubocop to v1.89.0 Update dependency rubocop to v1.90.0 Aug 25, 2026
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