Rubocop Versions Save

A Ruby static code analyzer and formatter, based on the community Ruby style guide.

v1.58.0

5 months ago

New features

Bug fixes

  • #12372: Fix a false negative for Lint/Debugger when used within method arguments a begin...end block. (@koic)
  • #12378: Fix a false negative for Style/Semicolon when a semicolon at the beginning of a lambda block. (@koic)
  • #12146: Fix a false positive for Lint/FloatComparison when comparing against zero. (@earlopain)
  • #12404: Fix a false positive for Layout/RescueEnsureAlignment when aligned rescue in do-end numbered block in a method. (@koic)
  • #12374: Fix a false positive for Layout/SpaceBeforeSemicolon when a space between an opening lambda brace and a semicolon. (@koic)
  • #12326: Fix an error for Style/RedundantDoubleSplatHashBraces when method call for parenthesized no hash double double splat. (@koic)
  • #12361: Fix an incorrect autocorrect for Naming/BlockForwarding and Style/ArgumentsForwarding when autocorrection conflicts for anonymous arguments. (@koic)
  • #12324: Fix an error for Layout/RescueEnsureAlignment when using rescue in do...end block assigned to object attribute. (@koic)
  • #12322: Fix an error for Style/CombinableLoops when looping over the same data for the third consecutive time or more. (@koic)
  • #12366: Fix a false negative for Layout/ExtraSpacing when a file has exactly two comments. (@eugeneius)
  • #12373: Fix a false negative for Lint/SymbolConversion when using string interpolation. (@earlopain)
  • #12402: Fix false negatives for Style/RedundantLineContinuation when redundant line continuations for a block are used, especially without parentheses around first argument. (@koic)
  • #12311: Fix false negatives for Style/RedundantParentheses when parentheses around logical operator keywords in method definition. (@koic)
  • #12394: Fix false negatives for Style/RedundantReturn when lambda (->) ending with return. (@koic)
  • #12377: Fix false positives for Lint/Void when a collection literal that includes non-literal elements in a method definition. (@koic)
  • #12407: Fix an incorrect autocorrect for Style/MapToHash with Layout/SingleLineBlockChain. (@koic)
  • #12409: Fix an incorrect autocorrect for Lint/SafeNavigationChain when ordinary method chain exists after safe navigation leading dot method call. (@koic)
  • #12363: Fix incorrect rendering of HTML character entities in HTMLFormatter formatter. (@koic)
  • #12424: Make Style/HashEachMethods aware of safe navigation operator. (@koic)
  • #12413: Make Style/InverseMethods aware of safe navigation operator. (@koic)
  • #12408: Make Style/MapToHash aware of safe navigation operator. (@koic)

Changes

  • #12328: Make Style/AutoResourceCleanup aware of Tempfile.open. (@koic)
  • #12412: Enhance Lint/RedundantSafeNavigation to handle conversion methods with defaults. (@fatkodima)
  • #12410: Enhance Lint/SelfAssignment to check attribute assignment and key assignment. (@fatkodima)
  • #12370: Make Style/HashEachMethods aware of unused block value. (@koic)
  • #12380: Make Style/RedundantParentheses aware of lambda or proc. (@koic)
  • #12421: Make Style/SelfAssignment aware of %, ^, <<, and >> operators. (@koic)
  • #12305: Require rubocop-ast version 1.30 or greater. (@sambostock)
  • #12337: Supports EnforcedStyleForRationalLiterals option for Layout/SpaceAroundOperators. (@koic)
  • #12296: Support RedundantRestArgumentNames, RedundantKeywordRestArgumentNames, and RedundantBlockArgumentNames options for Style/ArgumentsForwarding. (@koic)

v1.57.2

6 months ago

Bug fixes

  • #12274: Fix a false positive for Lint/Void when each's receiver is an object of Enumerator to which filter has been applied. (@koic)
  • #12291: Fix a false positive for Metrics/ClassLength when a class with a singleton class definition. (@koic)
  • #12293: Fix a false positive for Style/RedundantDoubleSplatHashBraces when using double splat hash braces with merge and method chain. (@koic)
  • #12298: Fix a false positive for Style/RedundantParentheses when using a parenthesized hash literal as the first argument in a method call without parentheses. (@koic)
  • #12283: Fix an error for Style/SingleLineDoEndBlock when using single line do...end with no body. (@koic)
  • #12312: Fix an incorrect autocorrect for Style/HashSyntax when braced hash key and value are the same and it is used in if...else. (@koic)
  • #12307: Fix an infinite loop error for Layout/EndAlignment when EnforcedStyleAlignWith: variable and using a conditional statement in a method argument on the same line and end with method call is not aligned. (@koic)
  • #11652: Make --auto-gen-config generate inherit_from correctly inside ERB if. (@jonas054)
  • #12310: Drop base64 gem from runtime dependency. (@koic)
  • #12300: Fix an error for Style/IdenticalConditionalBranches when if...else with identical leading lines and using index assign. (@koic)
  • #12286: Fix false positives for Style/RedundantDoubleSplatHashBraces when using double splat with a hash literal enclosed in parenthesized ternary operator. (@koic)
  • #12279: Fix false positives for Lint/EmptyConditionalBody when missing 2nd if body with a comment. (@koic)
  • #12275: Fix a false positive for Style/RedundantDoubleSplatHashBraces when using double splat within block argument containing a hash literal in an array literal. (@koic)
  • #12284: Fix false positives for Style/SingleArgumentDig when using some anonymous argument syntax. (@koic)
  • #12301: Make Style/RedundantFilterChain aware of safe navigation operator. (@koic)

v1.57.1

6 months ago

Bug fixes

  • #12271: Fix a false positive for Lint/RedundantSafeNavigation when using snake case constant receiver. (@koic)
  • #12265: Fix an error for Layout/MultilineMethodCallIndentation when usingarithmetic operation with block inside a grouped expression. (@koic)
  • #12177: Fix an incorrect autocorrect for Style/RedundantException. (@ydah)
  • #12261: Fix an infinite loop for Layout/MultilineMethodCallIndentation when multiline method chain with a block argument and method chain. (@ydah)
  • #12263: Fix false positives for Style/RedundantDoubleSplatHashBraces when method call for no hash braced double splat receiver. (@koic)
  • #12262: Fix an incorrect autocorrect for Style/RedundantDoubleSplatHashBraces when using double splat hash braces with merge method call twice. (@koic)

v1.57.0

6 months ago

New features

  • #12227: Add new Style/SingleLineDoEndBlock cop. (@koic)
  • #12246: Make Lint/RedundantSafeNavigation aware of constant receiver. (@koic)
  • #12257: Make Style/RedundantDoubleSplatHashBraces aware of merge methods. (@koic)

Bug fixes

  • #12244: Fix a false negative for Lint/Debugger when using debugger method inside block. (@koic)
  • #12231: Fix a false negative for Metrics/ModuleLength when defining a singleton class in a module. (@koic)
  • #12249: Fix a false positive Style/IdenticalConditionalBranches when if..else with identical leading lines and assign to condition value. (@koic)
  • #12253: Fix Lint/LiteralInInterpolation to accept an empty string literal interpolated in words literal. (@knu)
  • #12198: Fix an error for flip-flop with beginless or endless ranges. (@koic)
  • #12259: Fix an error for Lint/MixedCaseRange when using nested character class in regexp. (@koic)
  • #12237: Fix an error for Style/NestedTernaryOperator when a ternary operator has a nested ternary operator within an if. (@koic)
  • #12228: Fix false negatives for Style/MultilineBlockChain when using multiline block chain with safe navigation operator. (@koic)
  • #12247: Fix false negatives for Style/RedundantParentheses when using logical or comparison expressions with redundant parentheses. (@koic)
  • #12226: Fix false positives for Layout/MultilineMethodCallIndentation when aligning methods in multiline block chain. (@koic)
  • #12076: Fixed an issue where the top-level cache folder was named differently during two consecutive rubocop runs. (@K-S-A)

Changes

  • #12235: Enable auto parallel inspection when config file is specified. (@aboutNisblee)
  • #12234: Enhance Style/FormatString's autocorrection when using known conversion methods whose return value is not an array. (@koic)
  • #12128: Make Style/GuardClause aware of define_method. (@koic)
  • #12126: Make Style/RedundantFilterChain aware of select.present? when ActiveSupportExtensionsEnabled config is true. (@koic)
  • #12250: Mark Lint/RedundantRequireStatement as unsafe autocorrect. (@koic)
  • #12097: Mark unsafe autocorrect for Style/ClassEqualityComparison. (@koic)
  • #12210: Mark Style/RedundantFilterChain as unsafe autocorrect. (@koic)

v1.56.4

7 months ago

Bug fixes

  • #12221: Fix a false positive for Layout/EmptyLineAfterGuardClause when using return before guard condition with heredoc. (@koic)
  • #12213: Fix a false positive for Lint/OrderedMagicComments when comment text # encoding: ISO-8859-1 is embedded within example code as source code comment. (@koic)
  • #12205: Fix an error for Style/OperatorMethodCall when using foo bar./ baz. (@koic)
  • #12208: Fix an incorrect autocorrect for the --disable-uncorrectable command line option when registering an offense is outside a percent array. (@koic)
  • #12203: Fix an incorrect autocorrect for Lint/SafeNavigationChain when using safe navigation with comparison operator as an expression of logical operator or comparison operator's operand. (@koic)
  • #12206: Fix an incorrect autocorrect for Style/OperatorMethodCall when using foo./bar. (@koic)
  • #12202: Fix an incorrect autocorrect for Style/RedundantConditional when unless/else with boolean results. (@ydah)
  • #12199: Fix false negatives for Layout/MultilineMethodCallIndentation when using safe navigation operator. (@koic)

Changes

  • #12197: Make Style/CollectionMethods aware of collect_concat. (@koic)

v1.56.2

7 months ago

Bug fixes

  • #12138: Fix a false positive for Layout/LineContinuationLeadingSpace when a backslash is part of a multiline string literal. (@ymap)
  • #12155: Fix false positive for Layout/RedundantLineBreak when using a modified singleton method definition. (@koic)
  • #12143: Fix a false positive for Lint/ToEnumArguments when using anonymous keyword arguments forwarding. (@koic)
  • #12148: Fix an incorrect autocorrect for Lint/NonAtomicFileOperation when using FileUtils.remove_dir, FileUtils.remove_entry, or FileUtils.remove_entry_secure. (@koic)
  • #12141: Fix false positive for Style/ArgumentsForwarding when method def includes additional kwargs. (@owst)
  • #12154: Fix incorrect diagnosticProvider value of LSP. (@koic)

v1.56.3

7 months ago

Bug fixes

  • #12151: Make Layout/EmptyLineAfterGuardClause allow :nocov: directive after guard clause. (@koic)
  • #12195: Fix a false negative for Layout/SpaceAfterNot when a newline is present after !. (@ymap)
  • #12192: Fix a false positive for Layout/RedundantLineBreak when using quoted symbols with a single newline. (@ymap)
  • #12190: Fix a false positive for Layout/SpaceAroundOperators when aligning operators vertically. (@koic)
  • #12171: Fix a false positive for Style/ArrayIntersect when using block argument for Enumerable#any?. (@koic)
  • #12172: Fix a false positive for Style/EmptyCaseCondition when using return, break, next or method call before empty case condition. (@koic)
  • #12162: Fix an error for Bundler/DuplicatedGroup when there's a duplicate set of groups and the group value contains a splat. (@koic)
  • #12182: Fix an error for Lint/UselessAssignment when variables are assigned using chained assignment and remain unreferenced. (@koic)
  • #12181: Fix an incorrect autocorrect for Lint/UselessAssignment when variables are assigned with sequential assignment using the comma operator and unreferenced. (@koic)
  • #12187: Fix an incorrect autocorrect for Style/SoleNestedConditional when comment is in an empty nested if body. (@ymap)
  • #12183: Fix an incorrect autocorrect for Style/MultilineTernaryOperator when returning a multiline ternary operator expression with safe navigation method call. (@koic)
  • #12168: Fix bug in Style/ArgumentsForwarding when there are repeated send nodes. (@owst)
  • #12185: Set target version for Layout/HeredocIndentation. (@tagliala)

v1.56.1

8 months ago

Bug fixes

  • #12136: Fix a false negative for Layout/LeadingCommentSpace when using #+ or #- as they are not RDoc comments. (@koic)
  • #12113: Fix a false positive for Bundler/DuplicatedGroup when groups are duplicated but source, git, platforms, or path values are different. (@koic)
  • #12134: Fix a false positive for Style/MethodCallWithArgsParentheses when parentheses are used in one-line in pattern matching. (@koic)
  • #12111: Fix an error for Bundler/DuplicatedGroup group declaration has keyword option. (@koic)
  • #12109: Fix an error for Style/ArgumentsForwarding cop when forwarding kwargs/block arg and an additional arg. (@ydah)
  • #12117: Fix a false positive for Style/ArgumentsForwarding cop when not always forwarding block. (@owst)
  • #12115: Fix an error for Style/Lambda when using numbered parameter with a multiline -> call. (@koic)
  • #12124: Fix false positives for Style/RedundantParentheses when parentheses in super or yield call with multiline style argument. (@koic)
  • #12120: Fix false positives for Style/SymbolArray when %i array containing unescaped [, ], (, or ). (@koic)
  • #12133: Fix Style/RedundantSelfAssignmentBranch to handle heredocs. (@r7kamura)
  • #12105: Fix target ruby Gem::Requirement matcher and version parsing to support multiple version constraints. (@ItsEcholot)

v1.56.0

8 months ago

New features

  • #12074: Add new Bundler/DuplicatedGroup cop. (@OwlKing)
  • #12078: Make LSP server support rubocop.formatAutocorrectsAll execute command. (@koic)

Bug fixes

  • #12106: Fix a false negative for Style/RedundantReturn when returning value with guard clause and return is used. (@koic)
  • #12095: Fix a false positive for Style/Alias when EncforcedStyle: prefer_alias and using alias with interpolated symbol argument. (@koic)
  • #12098: Fix a false positive for Style/ClassEqualityComparison when comparing interpolated string class name for equality. (@koic)
  • #12102: Fix an error for Style/LambdaCall when using nested lambda call x.().(). (@koic)
  • #12099: Fix an incorrect autocorrect for Style/Alias when EncforcedStyle: prefer_alias_method and using alias with interpolated symbol argument. (@koic)
  • #12085: Fix an error for Lint/SuppressedException when AllowNil: true is set and endless method definition is used. (@koic)
  • #12087: Fix false positives for Style/ArgumentsForwarding with additional args/kwargs in def/send nodes. (@owst)
  • #12071: Fix Style/SymbolArray false positives when using square brackets or interpolation in a symbol literal in a percent style array. (@jasondoc3)
  • #12061: Support regex in StringLiteralsInInterpolation. (@jonas054)
  • #12091: With --fail-level A ignore non-correctable offenses at :info severity. (@naveg)

Changes

  • #12094: Add base64 gem to runtime dependency to suppress Ruby 3.3's warning. (@koic)

v1.55.1

9 months ago

Bug fixes

  • #12068: Fix a false positive for Style/ReturnNilInPredicateMethodDefinition when the last method argument in method definition is nil. (@koic)
  • #12082: Fix an error for Lint/UselessAssignment when a variable is assigned and unreferenced in for with multiple variables. (@koic)
  • #12079: Fix an error for Style/MixinGrouping when mixin method has no arguments. (@koic)
  • #11637: Correct Rubocop for private_class_method method documentation. (@bigzed)
  • #12070: Fix false positive in Style/ArgumentsForwarding when receiver forwards args/kwargs. (@owst)