New features
- #13077: Add new global
StringLiteralsFrozenByDefault
option for correct analysis withRUBYOPT=--enable=frozen-string-literal
. (@earlopain) - #13080: Add new
DocumentationExtension
global option to serve documentation with extensions different than.html
. (@earlopain) - #13074: Add new
Lint/UselessNumericOperation
cop to check for inconsequential numeric operations. (@zopolis4) - #13061: Add new
Style/RedundantInterpolationUnfreeze
cop to check fordup
and@+
on interpolated strings in Ruby >= 3.0. (@earlopain)
Bug fixes
- #13093: Fix an error for
Lint/ImplicitStringConcatenation
when implicitly concatenating a string literal with a line break and string interpolation. (@koic) - #13098: Fix an error for
Style/IdenticalConditionalBranches
when handling empty case branches. (@koic) - #13113: Fix an error for
Style/IfWithSemicolon
when a nestedif
with a semicolon is used. (@koic) - #13097: Fix an error for
Style/InPatternThen
when using alternative pattern matching deeply. (@koic) - #13159: Fix an error for
Style/OneLineConditional
when using if/then/else/end with multiple expressions in thethen
body. (@koic) - #13092: Fix an incorrect autocorrect for
Layout/EmptyLineBetweenDefs
when two method definitions are on the same line separated by a semicolon. (@koic) - #13116: Fix an incorrect autocorrect for
Style/IfWithSemicolon
when a single-lineif/;/end
has an argument in the then body expression. (@koic) - #13161: Fix incorrect autocorrect for
Style/IfWithSemicolon
when using multiple expressions in theelse
body. (@koic) - #13132: Fix incorrect autocorrect for
Style/TrailingBodyOnMethodDefinition
when an expression precedes a method definition on the same line with a semicolon. (@koic) - #13164: Fix incorrect autocorrect behavior for
Layout/BlockAlignment
whenEnforcedStyleAlignWith: either (default)
. (@koic) - #13087: Fix an incorrect autocorrect for
Style/MultipleComparison
when expression with more comparisons precedes an expression with less comparisons. (@fatkodima) - #13172: Fix an error for
Layout/EmptyLinesAroundExceptionHandlingKeywords
whenensure
orelse
andend
are on the same line. (@koic) - #13107: Fix an error for
Lint/ImplicitStringConcatenation
when there are multiple adjacent string interpolation literals on the same line. (@koic) - #13111: Fix an error for
Style/GuardClause
when if clause is empty and correction would not fit on single line because ofLayout/LineLength
. (@earlopain) - #13137: Fix an error for
Style/ParallelAssignment
when using__FILE__
. (@earlopain) - #13143: Fix an error during
TargetRubyVersion
detection if the gemspec is not valid syntax. (@earlopain) - #13131: Fix false negatives for
Lint/Void
when usingensure
,defs
andnumblock
. (@vlad-pisanov) - #13174: Fix false negatives for
Style/MapIntoArray
when initializing the destination usingArray[]
,Array([])
, orArray.new([])
. (@vlad-pisanov) - #13173: Fix false negatives for
Style/EmptyLiteral
when usingArray[]
,Hash[]
,Array.new([])
andHash.new([])
. (@vlad-pisanov) - #13126: Fix a false positive for
Style/Alias
when using multiplealias
indef
. (@koic) - #13085: Fix a false positive for
Style/EmptyElse
when a comment-onlyelse
is used afterelsif
andAllowComments: true
is set. (@koic) - #13118: Fix a false positive for
Style/MapIntoArray
when splatting. (@earlopain) - #13105: Fix false positives for
Style/ArgumentsForwarding
when forwarding kwargs/block arg with non-matching additional args. (@koic) - #13139: Fix false positives for
Style/RedundantCondition
when using modifierif
orunless
. (@koic) - #13134: Fix false negative for
Lint/Void
when using using frozen literals. (@vlad-pisanov) - #13148: Fix incorrect autocorrect for
Lint/EmptyConditionalBody
when missingelsif
body withend
on the same line. (@koic) - #13109: Fix an error for the
Lockfile
parser when it contains incompatibleBUNDLED WITH
versions. (@earlopain) - #13112: Fix detection of
TargetRubyVersion
through the gemfile if the gemfile ruby version is below 2.7. (@earlopain) - #13155: Fixes an error when the server cache directory has too long path, causing rubocop to fail even with caching disabled. (@protocol7)
Changes
- #13050: Allow
get_!
,set_!
,get_?
,set_?
,get_=
, andset_=
inNaming/AccessorMethodName
. (@koic) - #13103: Make
Lint/UselessAssignment
autocorrection safe. (@koic) - #13099: Make
Style/RedundantRegexpArgument
respect theEnforcedStyle
ofStyle/StringLiterals
. (@koic) - #13165: Remove dependency on the
rexml
gem. (@bquorning) - #13090: Require RuboCop AST 1.32.0+ to use
RuboCop::AST::RationalNode
. (@koic)