Rubocop Versions Save

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

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

9 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)

v1.55.0

9 months ago

New features

  • #11794: Add support to Style/ArgumentsForwarding for anonymous arg/kwarg forwarding in Ruby 3.2. (@owst)
  • #12044: Make LSP server support layoutMode option to run layout cops. (@koic)
  • #12056: Make LSP server support lintMode option to run lint cops. (@koic)
  • #12046: Make ReturnNilInPredicateMethodDefinition aware of nil at the end of predicate method definition. (@koic)

Bug fixes

  • #12055: Allow parentheses in single-line match patterns when using the omit_parentheses style of Style/MethodCallWithArgsParentheses. (@gsamokovarov)
  • #12050: Fix a false positive for Layout/RedundantLineBreak when inspecting the % form string %\n\n. (@koic)
  • #12063: Fix Style/CombinableLoops when one of the loops is empty. (@fatkodima)
  • #12059: Fix a false negative for Style/StringLiteralsInInterpolation for symbols with interpolation. (@fatkodima)
  • #11834: Fix false positive for when variable in inside conditional branch in nested node. (@alexeyschepin)
  • #11802: Improve handling of [] and () with percent symbol arrays. (@jasondoc3)
  • #12052: Fix "Subfolders can't include glob special characters". (@meric426, @loveo)
  • #12062: Fix LoadError when loading RuboCop from a symlinked location on Windows. (@p0deje)

Changes

  • #12064: Make Style/RedundantArgument aware of exit and exit!. (@koic)
  • #12015: Mark Style/HashConversion as unsafe autocorrection. (@koic)

v1.54.2

10 months ago

Bug fixes

  • #12043: Fix a false negative for Layout/ExtraSpacing when some characters are vertically aligned. (@koic)
  • #12040: Fix a false positive for Layout/TrailingEmptyLines to prevent the following incorrect autocorrection when inspecting the % form string %\n\n. (@koic)
  • #1867: Fix an error when AllCops:Exclude is empty in .rubocop.yml. (@koic)
  • #12034: Fix invalid byte sequence in UTF-8 error when using an invalid encoding string. (@koic)
  • #12038: Output the "server restarting" message to stderr. (@knu)

v1.54.1

10 months ago

Bug fixes

  • #12024: Fix a false positive for Lint/RedundantRegexpQuantifiers when interpolation is used in a regexp literal. (@koic)
  • #12020: This PR fixes an infinite loop error for Layout/SpaceAfterComma with Layout/SpaceBeforeSemicolon when autocorrection conflicts. (@koic)
  • #12014: Fix an error for Lint/UselessAssignment when part of a multiple assignment is enclosed in parentheses. (@koic)
  • #12011: Fix an error for Metrics/MethodLength when using a heredoc in a block without block arguments. (@koic)
  • #12010: Fix false negatives for Style/RedundantRegexpArgument when using safe navigation operator. (@koic)

v1.54.0

10 months ago

New features

  • #12000: Support safe or unsafe autocorrect config for LSP. (@koic)

Bug fixes

  • #12005: Fix a false negative for Lint/Debugger when using debugger method inside lambda. (@koic)
  • #11986: Fix a false positive for Lint/MixedCaseRange when the number of characters at the start or end of range is other than 1. (@koic)
  • #11992: Fix an unexpected NoMethodError for built-in language server when an internal error occurs. (@koic)
  • #11994: Fix an error for Layout/LineEndStringConcatenationIndentation when inspecting the % from string %\n\n. (@koic)
  • #12007: Fix an error for Layout/SpaceAroundOperators when using unary operator with double colon. (@koic)
  • #11996: Fix an error for Style/IfWithSemicolon when without branch bodies. (@koic)
  • #12009: Fix an error for Style/YodaCondition when equality check method is used without the first argument. (@koic)
  • #11998: Fix an error when inspecting blank heredoc delimiter. (@koic)
  • #11989: Fix an incorrect autocorrect for Style/RedundantRegexpArgument when using unicode chars. (@koic)
  • #12001: Fix code length calculator for method calls with heredoc. (@fatkodima)
  • #12002: Fix Lint/Void cop for __ENCODING__ constant. (@fatkodima)

Changes

  • #11983: Add Ridgepole files to default Include list. (@ydah)
  • #11738: Enhances empty_line_between_defs to treat configured macros like defs. (@catwomey)

v1.53.1

10 months ago

Bug fixes

  • #11974: Fix an error for Style/RedundantCurrentDirectoryInPath when using string interpolation in require_relative. (@koic)
  • #11981: Fix an incorrect autocorrect for Style/RedundantRegexpArgument when using double quote and single quote characters. (@koic)
  • #11836: Should not offense single-quoted symbol containing double quotes in Lint/SymbolConversion . (@KessaPassa)

v1.53.0

10 months ago

New features

Bug fixes

  • #11953: Fix a false negative for Lint/DuplicateHashKey when there is a duplicated constant key in the hash literal. (@koic)
  • #11945: Fix a false negative for Style/RedundantSelfAssignmentBranch when using method chaining or arguments in ternary branch. (@koic)
  • #11949: Fix a false positive for Layout/RedundantLineBreak when using a line broken string. (@koic)
  • #11931: Fix a false positive for Lint/RedundantRequireStatement when using PP.pp. (@koic)
  • #11946: Fix an error for Lint/NumberConversion when using multiple number conversion methods. (@koic)
  • #11972: Fix an error for Lint/Void when CheckForMethodsWithNoSideEffects: true and using a method definition. (@koic)
  • #11958: Fix error for Style/IdenticalConditionalBranches when using empty parentheses in the if branch. (@koic)
  • #11962: Fix an error for Style/RedundantStringEscape when an escaped double quote precedes interpolation in a symbol literal. (@koic)
  • #11947: Fix an error for Style/ConditionalAssignment with an assignment that uses if branch bodies, which include a block. (@koic)
  • #11959: Fix false negatives for Layout/EmptyLinesAroundExceptionHandlingKeywords when using Ruby 2.5's rescue inside block and Ruby 2.7's numbered block. (@koic)
  • #10902: Fix an error for Style/RedundantRegexpEscape string with invalid byte sequence in UTF-8. (@ydah)
  • #11562: Fixed escaped octal handling and detection in Lint/DuplicateRegexpCharacterClassElement. (@rwstauner)

Changes

  • #11904: Mark Layout/ClassStructure as unsafe to autocorrect. (@nevans)
  • #8506: Add AllowedParentClasses config to Lint/MissingSuper. (@iMacTia)

v1.52.1

11 months ago

Bug fixes

  • #11944: Fix an incorrect autocorrect for Style/SoleNestedConditional with Style/MethodCallWithArgsParentheses. (@koic)
  • #11930: Fix exception on Lint/InheritException when class definition has non-constant siblings. (@rafaelfranca)
  • #11919: Fix an error for Lint/UselessAssignment when a variable is assigned and unreferenced in for. (@koic)
  • #11928: Fix an incorrect autocorrect for Lint/AmbiguousBlockAssociation. (@koic)
  • #11915: Fix a false positive for Lint/RedundantSafeNavigation when &. is used for to_s, to_i, to_d, and other coercion methods. (@lucthev)

Changes