Releases: rubocop/rubocop
Releases · rubocop/rubocop
RuboCop v1.73.1
Bug fixes
- #13920: Fix an error for
Lint/MixedCaseRange
when/[[ ]]/
is used. (@koic) - #13912: Fix wrong autocorrect for
Lint/EmptyConditionalBody
when assigning to a variable with only a single branch. (@earlopain) - #13913: Fix false positives for
Style/RedundantCondition
when using when true is used as the true branch and the condition is not a predicate method. (@koic) - #13909: Fix false positive with
Layout/ClosingParenthesisIndentation
when first parameter is a hash. (@tejasbubane) - #13915: Fix writing generics type of rbs-inline annotation for nested class in
Style/CommentedKeyword
. (@dak2) - #13916: Fix
Lint/LiteralAsCondition
acting on the right hand side of && nodes. (@zopolis4)
RuboCop 1.73
New features
- #11024: Add
require_always
option toStyle/EndlessMethod
. (@koic) - #11024: Add
require_single_line
option toStyle/EndlessMethod
. (@jtannas) - #9935: Introduce
EnforcedStyleForMultiline
"diff_comma". (@flavorjones)
Bug fixes
- #13867: Fix an error for plugins when not running RuboCop through Bundler. (@earlopain)
- #13902: Fix false negative for
Style/RedundantSelfAssignment
when the method receives a block. (@vlad-pisanov) - #13826: Fix false positives for regex cops when
Lint/MixedCaseRange
is enabled. (@earlopain) - #13818: Fix false positives for
Lint/Void
when using operator method call without argument. (@koic) - #13896: Fix a false positive for
Style/TrivialAccessors
withinstance_eval
and numblocks. (@earlopain) - #13910: Fix false positives for
Style/EndlessMethod
when using setter method definitions. (@koic) - #13889: Fix autocorrection for
Layout/LineLength
with interpolated strings when not on the first line. (@dvandersluis) - #13900: Fix infinite loop between
Layout/EmptyLinesAroundAccessModifier
andLayout/EmptyLinesAroundBlockBody
withEnforcedStyle: no_empty_lines
. (@dvandersluis) - #12692: Fix
Style/AccessorGrouping
with constants. (@tejasbubane) - #13882: Fix
Style/RedundantFormat
for annotated template strings with missing hash keys. (@dvandersluis) - #13880: Fix
Style/RedundantFormat
when given double-splatted arguments. (@dvandersluis) - #13907: Don't offer autocorrect for
Style/StringConcatenation
when numblocks are used. (@earlopain) - #13876: Don't consider
require 'pp'
to be redundant forLint/RedundantRequireStatement
. (@earlopain) - #13885: Update
Style/HashExcept
andStyle/HashSlice
to not register an offense if selecting over the hash value. (@dvandersluis)
Changes
- #12948: Add
ForbiddenNames
configuration toNaming/VariableName
to specify names that are forbidden. (@dvandersluis) - #13117: Add partial autocorrect support to
Lint/LiteralAsCondition
cop to check for redundant conditions. (@zopolis4) - #13892: Allow merging of configured arrays and non-arrays. (@sambostock)
- #13833: Add
Reference
to common params. (@sambostock) - #13890: Update
Lint/RedundantTypeConversion
to not register an offense when given a constructor withexception: false
. (@dvandersluis) - #13729: Update
Style/RedundantCondition
cop to detect conditional expressions where the true branch istrue
and suggest replacing them with a logical OR. (@datpmt)
RuboCop 1.72.2
Bug fixes
- #13853: Fix exclusion of relative paths in plugin's
AllCops: Exclude
as expected. (@koic) - #13844: Fix an error for
Style/RedundantFormat
when a template argument is used without keyword arguments. (@koic) - #13857: Fix an error for
Style/RedundantFormat
when numeric placeholders is used in the template argument. (@koic) - #13861: Fix
ArgumentError
related to two deprecatedAllowedPattern
APIs. (@koic) - #13849: Fix an error for
Lint/UselessConstantScoping
when multiple assigning to constants afterprivate
access modifier. (@koic) - #13856: Fix false positives for
Lint/UselessConstantScoping
when a constant is used afterprivate
access modifier with arguments. (@koic)
Changes
RuboCop 1.72.1
RuboCop 1.72
New features
- #13740: Add new
Lint/CopDirectiveSyntax
cop. (@kyanagi) - #13800: Add new
Lint/SuppressedExceptionInNumberConversion
cop. (@koic) - #13702: Add new
Lint/RedundantTypeConversion
cop. (@dvandersluis) - #13831: Add new
Lint/UselessConstantScoping
cop. (@koic) - #13793: Add new
Style/RedundantFormat
cop to check for uses offormat
orsprintf
with only a single string argument. (@dvandersluis) - #13581: Add new
InternalAffairs/LocationExists
cop to check for code that can be replaced withNode#loc?
orNode#loc_is?
. (@dvandersluis) - #13661: Make server mode detect local paths in .rubocop.yml under
inherit_from
andrequire
for automatically restart. (@koic) - #13721:
Naming/PredicateName
: Optionally use Sorbet to detect predicate methods. (@issyl0) - #6012: Support RuboCop extension plugin. (@koic)
Bug fixes
- #13807: Fix false negatives for
Style/RedundantParentheses
when chaining[]
method calls. (@koic) - #13788: Fix false negatives for
Style/RedundantParentheses
when[]
method is called with variable or constant receivers. (@koic) - #13811: Fix false negatives for
Style/RedundantParentheses
when handling range literals with redundant parentheses. (@koic) - #13796: Fix crash in
Layout/EmptyLinesAroundMethodBody
for endless methods. (@dvandersluis) - #13817: Fix false positive for format specifier with non-numeric precision. (@dvandersluis)
- #12672: Fix false positives for
Lint/FormatParameterMismatch
when the width value is interpolated. (@dvandersluis) - #12795: Fix
Layout/BlockAlignment
for blocks that are the body of an endless method. (@dvandersluis) - #13822: Fix undefined method Logger when processing watched file notifications. (@vinistock)
- #13805: Make the language_server-protocol dependency version stricter. (@koic)
RuboCop 1.71.2
Bug fixes
- #13782: Fix an error
Layout/ElseAlignment
whenelse
is part of a numblock. (@earlopain) - #13395: Fix a false positive for
Lint/UselessAssignment
when assigning in branch and block. (@pCosta99) - #13783: Fix a false positive for
Lint/Void
wheneach
numblock with conditional expressions that has multiple statements. (@earlopain) - #13787: Fix incorrect autocorrect for
Style/ExplicitBlockArgument
when using arguments ofzsuper
in method definition. (@koic) - #13785: Fix
Style/EachWithObject
cop error in case of single block argument. (@viralpraxis) - #13781: Fix a false positive for
Lint/UnmodifiedReduceAccumulator
when omitting the accumulator in a nested numblock. (@earlopain)
RuboCop 1.71.1
Bug fixes
- #10081: Add the missing
include RuboCop::RSpec::ExpectOffense
in rubocop/rspec/support.rb. (@d4rky-pl) - #13765: Fix a false negative for
Lint/AmbiguousBlockAssociation
with numblocks. (@earlopain) - #13759: Fix a false negative for
Lint/ConstantDefinitionInBlock
with numblocks. (@earlopain) - #13741: Register an offense for
Naming/BlockForwarding
andStyle/ArgumentsForwarding
with Ruby >= 3.4 when the block argument is referenced inside a block. This was previously disabled because of a bug in Ruby 3.3.0. (@earlopain) - #13777: Fix a false negative for
Layout/EmptyLineBetweenDefs
withDefLikeMacros
and numblocks. (@earlopain) - #13769: Fix a false negative for
Style/RedundantParentheses
with numblocks. (@earlopain) - #13780: Fix a false positive
Style/AccessModifierDeclarations
when using access modifier in a numblock. (@earlopain) - #13775: Fix a false positive for
Lint/AssignmentInCondition
when assigning in numblocks. (@earlopain) - #13773: Fix false positives for
Layout/RedundantLineBreak
when using numbered block parameter. (@koic) - #13761: Fix a false positive for
Style/SuperArguments
when calling super in a numblock. (@earlopain) - #13768: Fix a false positive for
Lint/UnreachableCode
withinstance_eval
numblock. (@earlopain) - #13750: Fix false positives for
Style/RedundantSelfAssignment
when assigning to attribute ofself
. (@koic) - #13739: Fix false positive for
Style/HashExcept
andStyle/HashSlice
when checking for inclusion with a range. (@dvandersluis) - #13751: Fix false positive in
Layout/ExtraSpacing
withForceEqualSignAlignment: true
for endless methods. (@dvandersluis) - #13767: Fix
Style/IdenticalConditionalBranches
autocorrect when condition is inside assignment. (@dvandersluis) - #13764: Fix a false negative for
Layout/SingleLineBlockChain
with numblocks. (@earlopain) - #13771: Fix wrong autocorrect for
Style/SoleNestedConditional
when using numblocks. (@earlopain)
RuboCop 1.71
New features
- #13735: Add new
Lint/ArrayLiteralInRegexp
cop. (@dvandersluis) - #13507: Add new
Style/HashSlice
cop. (@lovro-bikic)
Bug fixes
- #13684: Fix a false positive for
Style/FrozenStringLiteralComment
when using the frozen string literal magic comment in Active Admin's arb files. (@koic) - #13372: Add
rubocop_cache
to the path given by--cache-root
when pruning cache. (@capncavedan) - #13257: Fix department disable/enable comments enabling the cop for the whole file even if that file is excluded by the cop. (@earlopain)
- #13704: Fix false positives for
Lint/OutOfRangeRegexpRef
when matching withmatch
using safe navigation. (@koic) - #13720: Fix false positives for
Style/BlockDelimiters
when using brace blocks as conditions underEnforcedStyle: semantic
. (@koic) - #13688: Fix false negative on
Style/RedundantLineContinuation
when the continuation is preceded by an interpolated string. (@dvandersluis) - #13677: Fix false negative on
Style/RedundantLineContinuation
when the continuation is followed by a percent array. (@dvandersluis) - #13692: Fix false positive in
Style/RedundantLineContinuation
when the ruby code ends with a commented continuation. (@dvandersluis) - #13675: Fix invalid autocorrect for
Style/ArrayFirstLast
when calling.[]
or&.[]
with 0 or -1. (@dvandersluis) - #13685: Fix syntax error introduced by
Lint/SafeNavigationChain
when adding safe navigation to an operator call inside a hash. (@dvandersluis) - #13725: Fix an incorrect autocorrect for
Style/IfUnlessModifier
when using omitted hash values in an assignment. (@elliottt) - #13667: Maintain precedence in autocorrect for
Style/SoleNestedConditional
. (@tejasbubane) - #13679: Fix false positive for
Style/RedundantLineContinuation
when calling methods with fully qualified constants. (@earlopain) - #13728: Fix a RuboCop error on provided glob pattern which matches directory. (@viralpraxis)
- #13693: Fix
Style/ConditionalAssignment
cop error onunless
withoutelse
andassign_inside_condition
enforced style. (@viralpraxis) - #13669: Fix
Style/FrozenStringLiteralComment
cop error on unnormalized magic comment andnever
enforced style. (@viralpraxis) - #13696: Update
Metrics/CollectionLiteralLength
to only register for[]
when called onSet
. (@dvandersluis)
Changes
- #13709: Add support for safe navigation to
Lint/FloatComparison
. (@dvandersluis) - #13711: Add support for safe navigation to
Layout/MultilineMethodCallBraceLayout
. (@dvandersluis) - #13712: Add support for safe navigation to
Layout/MultilineMethodArgumentLineBreaks
. (@dvandersluis) - #13714: Add support for safe navigation to
Security/CompoundHash
. (@dvandersluis) - #13674: Add support for safe navigation to
Style/BlockDelimiters
. (@dvandersluis) - #13673: Add support for safe navigation to
Style/CollectionMethods
. (@dvandersluis) - #13672: Add support for safe navigation to
Style/MapToSet
. (@dvandersluis) - #13671: Add support for safe navigation to
Style/MethodCallWithoutArgsParentheses
. (@dvandersluis) - #13701: Add support for safe navigation to
Lint/NumericOperationWithConstantResult
. (@dvandersluis) - #13700: Add support for safe navigation to
Lint/RedundantStringCoercion
. (@dvandersluis) - #13698: Add support for safe navigation to
Lint/UselessNumericOperation
. (@dvandersluis) - #13686: Add wildcard support to
--show-cops
. (@kyanagi) - #13724: Make
Style/RedundantParentheses
aware of parenthesized assignment. (@koic) - #13732: Update
Style/RedundantLineContinuation
to handle required continuations followingsuper
. (@dvandersluis)
RuboCop 1.70
New features
- #13474: Add new
Style/ItAssignment
cop to detect local assignments toit
inside blocks. (@dvandersluis) - #11013: Add new
Lint/SharedMutableDefault
cop to alert on mutable Hash defaults. (@corsonknowles) - #13612: Create new cop
Lint/ConstantReassignment
. (@lovro-bikic) - #13628: Make LSP server support quick fix code action. (@koic)
- #13607: Support passing the target ruby version through an environment variable. (@elliottt)
- #13628: Add support for Ruby LSP as a built-in add-on. (@koic)
- #13284: Add new
target_gem_version
API to change behavior of a cop at runtime depending on which gem version is present. (@earlopain)
Bug fixes
- #13589: Fix
Lint/NonAtomicFileOperation
to detect offenses with fully qualified constants. (@viralpraxis) - #13630: Fix CLI
--format
option to accept fully qualified formatter class names. (@viralpraxis) - #13624: Don't show warnings from
Lint/Syntax
when a syntax error occurs. (@earlopain) - #13605: Fix
RuboCop::Cop::Util.to_string_literal
to work correctly with frozen strings. (@viralpraxis) - #12393: Fix false negatives for
Lint/Void
inside of non-modifier conditionals. (@GabeIsman) - #13623: Fix false negatives for
Style/MultipleComparison
when settingAllowMethodComparison: false
and comparing with simple method calls. (@koic) - #13644: Fix a false positive for
Layout/EmptyLinesAroundAccessModifier
when an access modifier and an expression are on the same line. (@koic) - #13645: Fix a false positive for
Style/MethodCallWithArgsParentheses
when settingEnforcedStyle: omit_parentheses
and last argument is an endless range. (@earlopain) - #13614: Fix false positives for
Style/RaiseArgs
with anonymous splat and triple dot forwarding. (@earlopain) - #13591: Fix false positives for
Lint/NestedMethodDefinition
when defining a method on a constant or a method call. (@koic) - #13594: Fix false positives for
Style/MultipleComparison
when using multiple safe navigation method calls. (@koic) - #13654: Fix false positives for
Style/RedundantInitialize
when empty initialize method has arguments. (@marocchino) - #13608: Fix crash when running
rubocop -d
on a config with a remoteinherit_from
that causes a duplicate setting warning. (@dvandersluis) - #12430: Fix false negatives in
Style/RedundantLineContinuation
with multiple line continuations. (@dvandersluis) - #13638: Fix false positive for
Naming/BlockForwarding
when method just returns the block argument. (@mvz) - #13599: Fix incorrect autocorrect for
Layout/HashAlignment
when there is a multiline positional argument andLayout/ArgumentAlignment
is configured withEnforcedStyle: with_fixed_indentation
. (@dvandersluis) - #13586: Fix regression in
Layout/SpaceAroundOperators
when different comparison operators were aligned with each other. (@dvandersluis) - #13603: Fix
Lint/LiteralInInterpolation
cop error on invalid string literal. (@viralpraxis) - #13582: Fix
Lint/NonAtomicFileOperation
cop error on non-constant receiver. (@viralpraxis) - #13598: Fix
Lint/Void
cop error onif
without body. (@viralpraxis) - #13634: Fix
Style/ClassAndModuleChildren
cop error oncompact
enforced style and unindented body. (@viralpraxis) - #13642: Fix
Style/FloatDivision
cop error if#to_f
has implicit receiver. (@viralpraxis) - #13517: Fixes
Style/HashExcept
to recognize safe navigation whenActiveSupportExtensionsEnabled
config is enabled. (@lovro-bikic) - #13585: Fix
Style/HashSyntax
cop error on implicitcall
method. (@viralpraxis) - #13632: Fix
Style/MissingElse
cop error ifStyle/EmptyElse
'sEnforcedStyle
is notboth
andif
expression containselsif
. (@viralpraxis) - #13659: Fix
Style/MissingElse
cop error ifStyle/EmptyElse
'sEnforcedStyle
is notboth
andif
expression contains multipleelsif
. (@viralpraxis) - #13596: Fix
Style/RedundantCondition
cop error on parentheses and modifierif
inelse
. (@viralpraxis) - #13616: Fix incorrect autocorrect for
Style/RedundantRegexpArgument
when the regex contains a single quote. (@mrzasa) - #13619: Fix
Style/YodaExpression
cop error in case of suffix form of operator. (@viralpraxis) - #13578: Update
Layout/LineContinuationSpacing
to ignore continuations inside aregexp
orxstr
. (@dvandersluis) - #13601: Update
Style/SuperArguments
to handlesuper
with a block or with a chained method with a block. (@dvandersluis) - #13568: Fix
NoMethodError
inConfigValidator
when a Cop's config is not aHash
and raiseValidationError
instead. (@amomchilov)
Changes
- #13665: Add support for safe navigation to
Style/ObjectThen
. (@dvandersluis) - #13657: Add support for safe navigation to
Layout/HashAlignment
. (@dvandersluis) - #13656: Add support for safe navigation to
Layout/HeredocArgumentClosingParenthesis
. (@dvandersluis) - #13655: Add support for safe navigation to
Layout/LineLength
. (@dvandersluis) - #13662: Add support for safe navigation to
Style/SendWithLiteralMethodName
. (@dvandersluis) - #13557: Fix false positives for
Lint/NumericOperationWithConstantResult
. (@earlopain) - #13658: Fix invalid autocorrect for
Style/SlicingWithRange
when calling.[]
or&.[]
with a correctable range. (@dvandersluis) - #13548: Enhance
Lint/DuplicateSetElement
to detect offences withinSortedSet
. (@viralpraxis) - #13646: Update
Layout/TrailingWhitespace
to support blank characters other than space and tab. (@krororo) - #13652: Update
Metrics/MethodLength
to make use ofAllowedMethods
andAllowedPatterns
for methods defined dynamically withdefine_method
. (@dvandersluis) - #13606: Update
Style/AccessModifierDeclarations
to addAllowModifiersOnAliasMethod
configuration (defaulttrue
). (@dvandersluis) - #13663: Update
Style/RedundantSelfAssignment
to handle safe navigation on the right-hand side of the assignment. (@dvandersluis)
RuboCop 1.69.2
Bug fixes
- #13553: Fix an incorrect autocorrect for
Style/MultipleComparison
when a variable is compared multiple times after a method call. (@koic) - #13562: Fix
Bundler/DuplicatedGem
cop error in case of empty branch. (@viralpraxis) - #13573: Fix
Lint/UnescapedBracketInRegexp
cop failure with invalid multibyte escape. (@earlopain) - #13556: Fix false positives for
Style/FileNull
when using'nul'
string. (@koic) - #12995: Fix
--disable-uncorrectable
to not insert directives inside a string. (@dvandersluis) - #13320: Fix incorrect autocorrect when
Layout/LineContinuationLeadingSpace
andStyle/StringLiterals
autocorrects in the same pass. (@dvandersluis) - #13299: Fix
Style/BlockDelimiters
to always accept braces when an operator method argument is chained. (@dvandersluis) - #13565: Fix
Style/RedundantLineContinuation
false negatives when a redundant continuation follows a required continuation. (@dvandersluis) - #13551: Fix an incorrect autocorrect for
Style/IfWithSemicolon
when using multi value assignment inif
with a semicolon is used. (@koic) - #13534: Fix
Layout/LineLength
cop failure in case of YARD-comment-like string. (@viralpraxis) - #13558: Fix
Lint/NonAtomicFileOperation
cop error in case of implicit receiver. (@viralpraxis) - #13564: Fix
Metrics/ClassLength
cop error in case of chained assignments. (@viralpraxis) - #13570: Fix
Naming/RescuedExceptionsVariableName
cop error when exception is assigned with writer method. (@viralpraxis) - #13559: Fix a false positive for
Style/RedundantLineContinuation
when a method definition is used as an argument for a method call. (@davidrunger) - #13574: Fix
Style/ExactRegexpMatch
cop error on invalid regular expression literal. (@viralpraxis) - #13554: Fix
Style/FrozenStringLiteralComment
false positive in case of non-downcased value literal. (@viralpraxis) - #13569: Fix
Style/MethodCallWithoutArgsParentheses
cop error in case of mass hash assignment. (@viralpraxis) - #13542: Fix
Style/RedundantCondition
cop failure in case of empty arguments. (@viralpraxis) - #13509: Update
Layout/ExtraSpacing
andLayout/SpaceAroundOperators
to handle preceding operators inside strings. (@dvandersluis)