Rubocop v0.53.0 Release Notes

Release Date: 2018-03-05 // about 6 years ago
  • ๐Ÿ†• New features

    • #3666: Add new Naming/UncommunicativeBlockParamName cop. ([@garettarrowood][])
    • #3666: Add new Naming/UncommunicativeMethodParamName cop. ([@garettarrowood][])
    • ๐Ÿ‘• #5356: Add new Lint/UnneededCopEnableDirective cop. ([@garettarrowood][])
    • ๐Ÿ‘• #5248: Add new Lint/BigDecimalNew cop. ([@koic][])
    • โž• Add new Style/TrailingBodyOnClass cop. ([@garettarrowood][])
    • โž• Add new Style/TrailingBodyOnModule cop. ([@garettarrowood][])
    • ๐Ÿ’… #3394: Add new Style/TrailingCommaInArrayLiteral cop. ([@garettarrowood][])
    • ๐Ÿ’… #3394: Add new Style/TrailingCommaInHashLiteral cop. ([@garettarrowood][])
    • ๐Ÿ”’ #5319: Add new Security/Open cop. ([@mame][])
    • โž• Add EnforcedStyleForEmptyBrackets configuration to Layout/SpaceInsideReferenceBrackets.([@garettarrowood][])
    • ๐Ÿ’… #5050: Add auto-correction to Style/ModuleFunction. ([@garettarrowood][])
    • #5358: --no-auto-gen-timestamp CLI option suppresses the inclusion of the date and time it was generated in auto-generated config. ([@dominicsayers][])
    • #4274: Add new Layout/EmptyComment cop. ([@koic][])
    • ๐Ÿ”ง #4477: Add new configuration directive: inherit_mode for merging arrays. ([@leklund][])
    • 0๏ธโƒฃ #5532: Include .axlsx file by default. ([@georf][])
    • ๐Ÿ‘• #5490: Add new Lint/OrderedMagicComments cop. ([@koic][])
    • ๐Ÿ’… #4008: Add new Style/ExpandPathArguments cop. ([@koic][])
    • #4812: Add beginning_only and ending_only style options to Layout/EmptyLinesAroundClassBody cop. ([@jmks][])
    • 0๏ธโƒฃ #5591: Include .arb file by default. ([@deivid-rodriguez][])
    • ๐Ÿ”’ #5473: Use gems.locked or Gemfile.lock to determine the best TargetRailsVersion when it is not specified in the config. ([@roberts1000][])
    • โž• Add new Naming/MemoizedInstanceVariableName cop. ([@satyap][])
    • ๐Ÿ’… #5376: Add new Style/EmptyLineAfterGuardClause cop. ([@unkmas][])
    • โž• Add new Rails/ActiveRecordAliases cop. ([@elebow][])

    ๐Ÿ› Bug fixes

    • #4105: Fix Lint/IndentationWidth when Lint/EndAlignment is configured with start_of_line. ([@brandonweiss][])
    • ๐ŸŽ #5453: Fix erroneous downcase in Performance/Casecmp auto-correction. ([@walinga][])
    • ๐Ÿ’… #5343: Fix offense detection in Style/TrailingMethodEndStatement. ([@garettarrowood][])
    • ๐Ÿ’… #5334: Fix semicolon removal for Style/TrailingBodyOnMethodDefinition auto-correction. ([@garettarrowood][])
    • #5350: Fix Metric/LineLength false offenses for URLs in double quotes. ([@garettarrowood][])
    • #5333: Fix Layout/EmptyLinesAroundArguments false positives for inline access modifiers. ([@garettarrowood][])
    • #5339: Fix Layout/EmptyLinesAroundArguments false positives for multiline heredoc arguments. ([@garettarrowood][])
    • ๐Ÿš… #5383: Fix Rails/Presence false detection of receiver for locally defined blank? & present? methods. ([@garettarrowood][])
    • ๐Ÿ‘• #5314: Fix false positives for Lint/NestedPercentLiteral when percent characters are nested. ([@asherkach][])
    • ๐Ÿ‘• #5357: Fix Lint/InterpolationCheck false positives on escaped interpolations. ([@pocke][])
    • ๐Ÿ’… #5409: Fix multiline indent for Style/SymbolArray and Style/WordArray auto-correct. ([@flyerhzm][])
    • ๐Ÿš… #5393: Fix Rails/Delegate's false positive with a method call with arguments. ([@pocke][])
    • ๐Ÿ’… #5348: Fix false positive for Style/SafeNavigation when safe guarding more comparison methods. ([@rrosenblum][])
    • ๐Ÿ’… #4889: Auto-correcting Style/SafeNavigation will add safe navigation to all methods in a method chain. ([@rrosenblum][])
    • ๐Ÿ’… #5287: Do not register an offense in Style/SafeNavigation if there is an unsafe method used in a method chain. ([@rrosenblum][])
    • ๐Ÿ’… #5401: Fix Style/RedundantReturn to trigger when begin-end, rescue, and ensure blocks present. ([@asherkach][])
    • ๐Ÿš… #5426: Make Rails/InverseOf accept inverse_of: nil to opt-out. ([@wata727][])
    • ๐Ÿš… #5448: Improve Rails/LexicallyScopedActionFilter. ([@wata727][])
    • ๐Ÿš… #3947: Fix false positive for Rails/FilePath when using Rails.root.join in string interpolation of argument. ([@koic][])
    • ๐Ÿš… #5479: Fix false positives for Rails/Presence when using with elsif. ([@wata727][])
    • ๐Ÿ #5427: Fix exception when executing from a different drive on Windows. ([@orgads][])
    • #5429: Detect tabs other than indentation by Layout/Tab. ([@pocke][])
    • ๐Ÿ’… #5496: Fix a false positive of Style/FormatStringToken with unrelated format call. ([@pocke][])
    • ๐Ÿš… #5503: Fix Rails/CreateTableWithTimestamps false positive when using to_proc syntax. ([@wata727][])
    • ๐Ÿ‘• #5512: Improve Lint/Void to detect Kernel#tap as method that ignores the block's value. ([@untitaker][])
    • ๐Ÿ’… #5520: Fix Style/RedundantException auto-correction does not keep parenthesization. ([@dpostorivo][])
    • โšก๏ธ #5524: Return the instance based on the new type when calls RuboCop::AST::Node#updated. ([@wata727][])
    • ๐Ÿ’… #5527: Avoid behavior-changing corrections in Style/SafeNavigation. ([@jonas054][])
    • ๐Ÿ’Ž #5539: Fix compilation error and ruby code generation when passing args to funcall and predicates. ([@Edouard-chin][])
    • #4669: Use binary file contents for cache key so changing EOL characters invalidates the cache. ([@jonas054][])
    • ๐ŸŽ #3947: Fix false positive for Performance::RegexpMatch when using MatchData before guard clause. ([@koic][])
    • ๐Ÿ’… #5515: Fix Style/EmptyElse auto-correct for nested if and case statements. ([@asherkach][])
    • #5582: Fix end alignment for variable assignment with line break after = in Layout/EndAlignment. ([@jonas054][])
    • ๐Ÿ’… #5602: Fix false positive for Style/ColonMethodCall when using Java package namespace. ([@koic][])
    • ๐Ÿ’… #5603: Fix falsy offense for Style/RedundantSelf with pseudo variables. ([@pocke][])
    • #5547: Fix auto-correction of of Layout/BlockEndNewline when there is top level code outside of a class. ([@rrosenblum][])
    • ๐Ÿ‘• #5599: Fix the suggestion being used by Lint/NumberConversion to use base 10 with Integer. ([@rrosenblum][])
    • ๐Ÿ’… #5534: Fix Style/EachWithObject auto-correction leaves an empty line. ([@flyerhzm][])
    • ๐Ÿ›  Fix Layout/EmptyLinesAroundAccessModifier false-negative when next string after access modifier started with end. ([@unkmas][])

    ๐Ÿ”„ Changes

    • ๐ŸŽ #5589: Remove Performance/HashEachMethods cop as it no longer provides a performance benefit. ([@urbanautomaton][])
    • ๐Ÿ’… #3394: Remove Style/TrailingCommmaInLiteral in favor of two new cops. ([@garettarrowood][])
    • ๐Ÿ‘• Rename Lint/UnneededDisable to Lint/UnneededCopDisableDirective. ([@garettarrowood][])
    • #5365: Add *.gemfile to Bundler cop target. ([@sue445][])
    • ๐Ÿ”ง #4477: Warn when user configuration overrides other user configuration. ([@jonas054][])
    • ๐Ÿ’… #5240: Make Style/StringHashKeys to accepts environment variables. ([@pocke][])
    • ๐Ÿ”ง #5395: Always exit 2 when specified configuration file does not exist. ([@pocke][])
    • ๐Ÿšš #5402: Remove undefined ActiveSupport::TimeZone#strftime method from defined dangerous methods of Rails/TimeZone cop. ([@koic][])
    • ๐Ÿ‘• #4704: Move Lint/EndAlignment, Lint/DefEndAlignment, Lint/BlockAlignment, and Lint/ConditionPosition to the Layout namespace. ([@bquorning][])
    • #5283: Change file path output by Formatter::JSONFormatter from relative path to smart path. ([@koic][])
    • ๐Ÿ’… Style/SafeNavigation will now register an offense for methods that nil responds to. ([@rrosenblum][])
    • 0๏ธโƒฃ #5542: Exclude .git/ by default. ([@pocke][])
    • ๐Ÿ— Tell Read the Docs to build downloadable docs. ([@eostrom][])
    • ๐Ÿ’… Change Style/SafeNavigation to no longer register an offense for method chains exceeding 2 methods. ([@rrosenblum][])
    • โœ‚ Remove auto-correction from Lint/SafeNavigationChain. ([@rrosenblum][])
    • ๐Ÿ”„ Change the highlighting of Lint/SafeNavigationChain to highlight the entire method chain beyond the safe navigation portion. ([@rrosenblum][])