New features
- #13259: Add new
Lint/DuplicateSetElement
cop. (@koic) - #13223: Add
AllowRBSInlineAnnotation
config option toLayout/LeadingCommentSpace
to support RBS::Inline style annotation comments. (@tk0miya) - #13310: Display analysis Ruby version in
rubocop -V
. (@koic)
Bug fixes
- #13314: Fix a false negative for
Style/Semicolon
when using a semicolon between a closing parenthesis after a line break and a consequent expression. (@koic) - #13217: Fix a false positive in
Lint/ParenthesesAsGroupedExpression
with compound ranges. (@gsamokovarov) - #13268: Fix a false positive for
Style/BlockDelimiters
when a single line do-end block with an inlinerescue
with a semicolon beforerescue
. (@koic) - #13298: Fix an error for
Layout/AccessModifierIndentation
when the access modifier is on the same line as the class definition. (@koic) - #13198: Fix an error for
Style/OneLineConditional
when using nested if/then/else/end. (@koic) - #13316: Fix an incorrect autocorrect for
Lint/ImplicitStringConcatenation
withLint/TripleQuotes
when string literals with triple quotes are used. (@koic) - #13220: Fix an incorrect autocorrect for
Style/ArgumentsForwarding
when using only forwarded arguments in brackets. (@koic) - #13202: Fix an incorrect autocorrect for
Style/CombinableLoops
when looping over the same data with different block variable names. (@koic) - #13291: Fix an incorrect autocorrect for
Style/RescueModifier
when using modifier rescue for method call with heredoc argument. (@koic) - #13226: Fix
--auto-gen-config
when passing an absolute config path. (@earlopain) - #13225: Avoid syntax error when correcting
Style/OperatorMethodCall
with/
operations followed by a parenthesized argument. (@dvandersluis) - #13235: Fix an error for
Style/IfUnlessModifier
when multilineif
that fits on one line and using implicit method call with hash value omission syntax. (@koic) - #13219: Fix a false positive for
Style/ArgumentsForwarding
with Ruby 3.0 and optional position arguments. (@earlopain) - #13271: Fix a false positive for
Lint/AmbiguousRange
when using rational literals. (@koic) - #13260: Fix a false positive for
Lint/RedundantSafeNavigation
with namespaced constants. (@earlopain) - #13224: Fix false positives for
Style/OperatorMethodCall
with named forwarding. (@earlopain) - #13213: Fix false positives for
Style/AccessModifierDeclarations
whenAllowModifiersOnAttrs: true
and using splat with a percent symbol array, or with a constant. (@koic) - #13145: Fix false positives for
Style/RedundantLineContinuation
when line continuations with comparison operator and the LHS is wrapped in parentheses. (@koic) - #12875: Fix false positive for
Style/ArgumentsForwarding
when argument is used inside a block. (@dvandersluis) - #13239: Fix false positive for
Style/CollectionCompact
when usingdelete_if
. (@masato-bkn) - #13210: Fix omit_parentheses style for pattern match with value omission in single-line branch. (@gsamokovarov)
- #13149: Handle crashes in custom Ruby extractors more gracefully. (@earlopain)
- #13319: Handle literal forward slashes inside a
regexp
inLint/LiteralInInterpolation
. (@dvandersluis) - #13208: Fix an incorrect autocorrect for
Style/IfWithSemicolon
when single-lineif/;/end
when the then body contains a method call with[]
or[]=
. (@koic) - #13318: Prevent modifying blocks with
Style/HashEachMethods
if the hash is modified within the block. (@dvandersluis) - #13293: Fix
TargetRubyVersion
from a gemspec when the gemspec is not named like the folder it is located in. (@earlopain) - #13211: Fix wrong autocorrect for
Style/GuardClause
when using heredoc withoutelse
branch. (@earlopain) - #13215: Fix wrong autocorrect for
Lint/BigDecimalNew
when using::BigDecimal.new
. (@earlopain) - #13215: Fix wrong autocorrect for
Style/MethodCallWithArgsParentheses
withEnforcedStyle: omit_parentheses
and whitespace. (@earlopain) - #13302: Fix incompatible autocorrect between
Style/RedundantBegin
andStyle/BlockDelimiters
withEnforcedStyle: braces_for_chaining
. (@earlopain)
Changes
- #13221: Do not group accessors having RBS::Inline annotation comments in
Style/AccessorGrouping
. (@tk0miya) - #13286: Add
AllowedMethods
configuration toLayout/FirstMethodArgumentLineBreak
. (@dvandersluis) - #13110: Add support in
Style/ArgumentsForwarding
for detecting forwarding of all anonymous arguments. (@dvandersluis) - #13222: Allow to write RBS::Inline annotation comments after method definition in
Style/CommentedKeyword
. (@tk0miya) - #13253: Emit a deprecation when custom cops inherit from
RuboCop::Cop::Cop
. (@earlopain) - #13300: Set
EnforcedShorthandSyntax: either
by default forStyle/HashSyntax
. (@koic) - #13254: Enhance the autocorrect for
Naming/InclusiveLanguage
when a sole suggestion is set. (@koic) - #13232: Make server mode aware of auto-restart for local config update. (@koic)
- #13270: Make
Style/SelectByRegexp
aware offilter
in Ruby version 2.6 or above. (@masato-bkn) - #9816: Refine
Lint/SafeNavigationConsistency
cop to check that the safe navigation operator is applied consistently and without excess or deficiency. (@koic) - #13256: Report and correct more
Style/SafeNavigation
offenses. (@dvandersluis) - #13245: Support
filter/filter!
inStyle/CollectionCompact
. (@masato-bkn) - #13281: Support Ruby 3.4 for
Lint/UriRegexp
to avoid obsolete API. (@koic) - #13229: Update
Style/MapIntoArray
to be able to handle arrays created using[].tap
. (@dvandersluis) - #13305: Update
Style/ReturnNilInPredicateMethodDefinition
to detect implicitnil
returns insideif
. (@dvandersluis) - #13327: Make server mode aware of auto-restart for .rubocop_todo.yml update. (@koic)