Rubocop v0.89.0 Release Notes

Release Date: 2020-08-05 // over 3 years ago
  • ๐Ÿ†• New features

    ๐Ÿ› 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 using Proc#call shorthand syntax. (@fatkodima)
    • ๐Ÿ’… #8332: Fix auto-correct in Style/ConditionalAssignment to preserve constant namespace. (@biinari)
    • ๐Ÿ’… #8344: Fix crash for Style/CaseLikeIf when checking against equal? and match? 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 using raise, rescue, or and without argument parentheses in else. (@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 of Style/HashSyntax with Layout/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 is begin...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 in super. (@koic)

    ๐Ÿ”„ Changes

    • ๐Ÿ’… #8376: Style/MethodMissingSuper cop is removed in favor of new Lint/MissingSuper cop. (@fatkodima)
    • ๐Ÿ‘• #8433: Lint/UselessComparison cop is removed in favor of new Lint/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 using rubocop -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 counts else in case statements, &., ||=, &&= and blocks known to iterate. Default bumped from 7 to 8. Consider using rubocop -a --disable-uncorrectable to ease transition. (@marcandre)
    • ๐Ÿ‘• #8416: Cop Lint/InterpolationCheck marked as unsafe. (@marcandre)
    • ๐Ÿšš #8442: Remove RuboCop::Cop::ParserDiagnostic mixin module. (@koic)