New features
- #8322: Support autocorrect for
Style/CaseEquality
cop. (@fatkodima) - #7876: Enhance
Gemspec/RequiredRubyVersion
cop with check thatrequired_ruby_version
is specified. (@fatkodima) - #8291: Add new
Lint/SelfAssignment
cop. (@fatkodima) - #8389: Add new
Lint/DuplicateRescueException
cop. (@fatkodima) - #8433: Add new
Lint/BinaryOperatorWithIdenticalOperands
cop. (@fatkodima) - #8430: Add new
Lint/UnreachableLoop
cop. (@fatkodima) - #8412: Add new
Style/OptionalBooleanParameter
cop. (@fatkodima) - #8432: Add new
Lint/FloatComparison
cop. (@fatkodima) - #8376: Add new
Lint/MissingSuper
cop. (@fatkodima) - #8415: Add new
Style/ExplicitBlockArgument
cop. (@fatkodima) - #8383: Support autocorrect for
Lint/Loop
cop. (@fatkodima) - #8339: Add
Config#for_badge
as an efficient way to get a cop's config merged with its department's. (@marcandre) - #5067: Add new
Style/StringConcatenation
cop. (@fatkodima) - #7425: Add new
Lint/TopLevelReturnWithArgument
cop. (@iamravitejag) - #8417: Add new
Style/GlobalStdStream
cop. (@fatkodima) - #7949: Add new
Style/SingleArgumentDig
cop. (@volfgox) - #8341: Add new
Lint/EmptyConditionalBody
cop. (@fatkodima) - #7755: Add new
Lint/OutOfRangeRegexpRef
cop. (@sonalinavlakhe)
Bug fixes
- #8346: Allow parentheses in single-line inheritance with
Style/MethodCallWithArgsParentheses
EnforcedStyle: omit_parentheses
to fix invalid Ruby auto-correction. (@gsamokovarov) - #8324: Fix crash for
Layout/SpaceAroundMethodCallOperator
when usingProc#call
shorthand syntax. (@fatkodima) - #8332: Fix auto-correct in
Style/ConditionalAssignment
to preserve constant namespace. (@biinari) - #8344: Fix crash for
Style/CaseLikeIf
when checking againstequal?
andmatch?
without a receiver. (@fatkodima) - #8323: Fix a false positive for
Style/HashAsLastArrayItem
when hash is not a last array item. (@fatkodima) - #8299: Fix an incorrect auto-correct for
Style/RedundantCondition
when usingraise
,rescue
, orand
without argument parentheses inelse
. (@koic) - #8335: Fix incorrect character class detection for nested or POSIX bracket character classes in
Style/RedundantRegexpEscape
. (@owst) - #8347: Fix an incorrect auto-correct for
EnforcedStyle: hash_rockets
ofStyle/HashSyntax
withLayout/HashAlignment
. (@koic) - #8375: Fix an infinite loop error for
Style/EmptyMethod
. (@koic) - #8385: Remove auto-correction for
Lint/EnsureReturn
. (@marcandre) - #8391: Mark
Style/ArrayCoercion
as not safe. (@marcandre) - #8406: Improve
Style/AccessorGrouping
's auto-correction to remove redundant blank lines. (@koic) - #8330: Fix a false positive for
Style/MissingRespondToMissing
when defined method with inline access modifier. (@koic) - #8422: Fix an error for
Lint/SelfAssignment
when using or-assignment for constant. (@koic) - #8423: Fix an error for
Style/SingleArgumentDig
when without a receiver. (@koic) - #8424: Fix an error for
Lint/IneffectiveAccessModifier
when there isbegin...end
before a method definition. (@koic) - #8006: Fix line length calculation for
Style/IfUnlessModifier
to correctly take into account code before the if condition when considering conversation to a single-line form. (@dsavochkin) - #8283: Fix line length calculation for
Style/IfUnlessModifier
to correctly take into account a comment on the first line when considering conversation to a single-line form. (@dsavochkin) - #7957: Fix line length calculation for
Style/IfUnlessModifier
to correctly take into account code on the last line after the end keyword when considering conversion to a single-line form. (@dsavochkin) - #8226: Fix
Style/IfUnlessModifier
to add parentheses when converting if-end condition inside an array or a hash to a single-line form. (@dsavochkin) - #8443: Fix an incorrect auto-correct for
Style/StructInheritance
when there is a comment before class declaration. (@koic) - #8444: Fix an error for
Layout/FirstMethodArgumentLineBreak
when using kwargs insuper
. (@koic)
Changes
- #8376:
Style/MethodMissingSuper
cop is removed in favor of newLint/MissingSuper
cop. (@fatkodima) - #8433:
Lint/UselessComparison
cop is removed in favor of newLint/BinaryOperatorWithIdenticalOperands
cop. (@fatkodima) - #8350: Set default max line length to 120 for
Style/MultilineMethodSignature
. (@koic) - #8338: potentially breaking. Config#for_department now returns only the config specified for that department; the 'Enabled' attribute is no longer calculated. (@marcandre)
- #8037: (Breaking) Cop
Metrics/AbcSize
now counts ||=, &&=, multiple assignments, for, yield, iterating blocks.&.
now count as conditions too (unless repeated on the same variable). Default bumped from 15 to 17. Consider usingrubocop -a --disable-uncorrectable
to ease transition. (@marcandre) - #8276: Cop
Metrics/CyclomaticComplexity
not longer counts&.
when repeated on the same variable. (@marcandre) - #8204: (Breaking) Cop
Metrics/PerceivedComplexity
now countselse
incase
statements,&.
,||=
,&&=
and blocks known to iterate. Default bumped from 7 to 8. Consider usingrubocop -a --disable-uncorrectable
to ease transition. (@marcandre) - #8416: Cop
Lint/InterpolationCheck
marked as unsafe. (@marcandre) - #8442: Remove
RuboCop::Cop::ParserDiagnostic
mixin module. (@koic)