Skip to content
Choose a tag to compare

RuboCop 1.7

@bbatsov bbatsov released this
· 899 commits to master since this release
Choose a tag to compare

New features

  • #9260: Support auto-correction for Style/MultilineMethodSignature. (@koic)
  • #9282: Make Style/RedundantFreeze and Style/MutableConstant cops aware of frozen regexp and range literals when using Ruby 3.0. (@koic)
  • #9223: Add new Lint/AmbiguousAssignment cop. (@fatkodima)
  • #9243: Support auto-correction for Style/CommentedKeyword. (@koic)
  • #9283: Add new Style/HashExcept cop. (@koic)
  • #9231: Add new Layout/SpaceBeforeBrackets cop. (@koic)

Bug fixes

  • #9232: Fix Style/SymbolProc registering wrong offense when using a symbol numbered block argument greater than 1, i.e. [[1, 2]].map { _2.succ }. (@tdeo)
  • #9274: Fix error in Metrics/ClassLength when the class only contains comments. (@dvandersluis)
  • #9213: Fix a false positive for Style/RedanduntFreeze when using Array#*. (@koic)
  • #9279: Add support for endless methods to Style/MethodCallWithArgsParentheses. (@dvandersluis)
  • #9245: Fix Lint/AmbiguousRegexpLiteral when given a match_with_lvasgn node. (@dvandersluis)
  • #9276: Add support for endless methods to Style/SingleLineMethods. (@dvandersluis)
  • #9225: Fix Style/LambdaCall ignoring further offenses after opposite style is detected. (@sswander)
  • #9234: Fix the error for Style/KeywordParametersOrder and make it aware of block keyword parameters. (@koic)
  • #8938: Fix some ConfigurableEnforcedStyle cops to output Exclude file lists in --auto-gen-config runs. (@h-lame)
  • #9257: Fix false positive for Style/SymbolProc when the block uses a variable from outside the block. (@dvandersluis)
  • #9251: Fix extracted cop warning when the extension is loaded using --require. (@dvandersluis)
  • #9244: When a cop defined in an extension is explicitly enabled, ensure that it remains enabled. (@dvandersluis)
  • #8046: Fix an error for Layout/HeredocArgumentClosingParenthesis when there is an argument between a heredoc argument and the closing paretheses. (@koic)
  • #9261: Fix an incorrect auto-correct for Style/MultilineWhenThen when one line for multiple condidate values of when statement. (@makicamel)
  • #9258: Fix calculation of cop department for nested departments. (@mvz)
  • #9277: Fix Layout/EmptyLineBetweenDefs error with endless method definitions. (@dvandersluis)
  • #9278: Update Style/MethodDefParentheses to ignore endless method definitions since parentheses are always required. (@dvandersluis)


  • #9212: Make Style/RedundantArgument aware of String#chomp and String#chomp!. (@koic)
  • #8482: Allow simple math for Lint/BinaryOperatorWithIdenticalOperands cop. (@fatkodima)
  • #9237: Add IgnoredPatterns configuration to Lint/UnreachableLoop to allow for block methods that share a name with an Enumerable method. (@dvandersluis)
  • #9206: Allow extensions to disable cop obsoletions. (@dvandersluis)
  • #9262: Update Style/CollectionMethods to be handle additional arguments and methods that accept a symbol instead of a block. (@dvandersluis)
  • #9235: Allow --only and --except to be able to properly qualify cops added by require. (@dvandersluis)
  • #9205: Update Naming/MemoizedInstanceVariableName to handle dynamically defined methods. (@dvandersluis)
  • #9285: Add AllowPercentLiteralArrayArgument option for Lint/RedundantSplatExpansion to enable the option by default. (@koic)
  • #9208: Use Array#bsearch instead of Array#include? to detect hidden files. (@dark-panda)
  • #9228: Suppress any config warnings for rubocop -V. (@dvandersluis)
  • #9193: Add IgnoreLiteralBranches and IgnoreConstantBranches options to Lint/DuplicateBranch. (@dvandersluis)