Rubocop v0.50.0 Release Notes

Release Date: 2017-09-14 // over 6 years ago
  • ๐Ÿ†• New features

    • ๐Ÿ’… #4464: Add EnforcedStyleForEmptyBraces parameter to Layout/SpaceBeforeBlockBraces cop. ([@palkan][])
    • ๐Ÿ’… #4453: New cop Style/RedundantConditional checks for conditionals that return true/false. ([@petehamilton][])
    • #4448: Add new TapFormatter. ([@cyberdelia][])
    • ๐Ÿ’… #4467: Add new Style/HeredocDelimiters cop(Note: This cop was renamed to Naming/HeredocDelimiterNaming). ([@drenmi][])
    • ๐Ÿ‘• #4153: New cop Lint/ReturnInVoidContext checks for the use of a return with a value in a context where it will be ignored. ([@harold-s][])
    • ๐Ÿ‘• #4506: Add auto-correct support to Lint/ScriptPermission. ([@rrosenblum][])
    • ๐Ÿ’… #4514: Add configuration options to Style/YodaCondition to support checking all comparison operators or equality operators only. ([@smakagon][])
    • ๐Ÿ‘• #4515: Add new Lint/BooleanSymbol cop. ([@droptheplot][])
    • ๐Ÿš… #4535: Make Rails/PluralizationGrammar use singular methods for -1 / -1.0. ([@promisedlandt][])
    • ๐Ÿš… #4541: Add new Rails/HasManyOrHasOneDependent cop. ([@oboxodo][])
    • ๐Ÿ’… #4552: Add new Style/Dir cop. ([@drenmi][])
    • ๐Ÿ’… #4548: Add new Style/HeredocDelimiterCase cop(Note: This cop is renamed to Naming/HeredocDelimiterCase). ([@drenmi][])
    • ๐Ÿ‘• #2943: Add new Lint/RescueWithoutErrorClass cop. ([@drenmi][])
    • ๐Ÿ’… #4568: Fix auto-correction for Style/TrailingUnderscoreVariable. ([@smakagon][])
    • ๐ŸŽ #4586: Add new Performance/UnfreezeString cop. ([@pocke][])
    • ๐Ÿ’… #2976: Add Whitelist configuration option to Style/NestedParenthesizedCalls cop. ([@drenmi][])
    • ๐Ÿ’… #3965: Add new Style/OrAssignment cop. ([@donjar][])
    • #4655: Make rake new_cop create parent directories if they do not already exist. ([@highb][])
    • ๐ŸŽ #4368: Make Performance/HashEachMethod inspect send nodes with any receiver. ([@gohdaniel15][])
    • ๐Ÿ’… #4508: Add new Style/ReturnNil cop. ([@donjar][])
    • #4629: Add Metrics/MethodLength cop for define_method. ([@jekuta][])
    • ๐Ÿ‘• #4702: Add new Lint/UriEscapeUnescape cop. ([@koic][])
    • ๐ŸŽ #4696: Add new Performance/UriDefaultParser cop. ([@koic][])
    • ๐Ÿ‘• #4694: Add new Lint/UriRegexp cop. ([@koic][])
    • ๐Ÿ’… #4711: Add new Style/MinMax cop. ([@drenmi][])
    • #4720: Add new Bundler/InsecureProtocolSource cop. ([@koic][])
    • ๐Ÿ‘• #4708: Add new Lint/RedundantWithIndex cop. ([@koic][])
    • ๐Ÿ‘• #4480: Add new Lint/InterpolationCheck cop. ([@GauthamGoli][])
    • ๐Ÿ‘• #4628: Add new Lint/NestedPercentLiteral cop. ([@asherkach][])

    ๐Ÿ› Bug fixes

    • #4709: Use cached remote config on network failure. ([@kristjan][])
    • #4688: Accept yoda condition which isn't commutative. ([@fujimura][])
    • ๐Ÿ’… #4676: Make Style/RedundantConditional cop work with elsif. ([@akhramov][])
    • ๐Ÿ’… #4656: Modify Style/ConditionalAssignment auto-correction to work with unbracketed arrays. ([@akhramov][])
    • #4615: Don't consider <=> a comparison method. ([@iGEL][])
    • โœ๏ธ #4664: Fix typos in Rails/HttpPositionalArguments. ([@JoeCohen][])
    • ๐Ÿ‘• #4618: Fix Lint/FormatParameterMismatch false positive if format string includes %%5B (CGI encoded left bracket). ([@barthez][])
    • ๐Ÿ’… #4604: Fix Style/LambdaCall to auto-correct obj.call to obj.. ([@iGEL][])
    • ๐Ÿ’… #4443: Prevent Style/YodaCondition from breaking not LITERAL. ([@pocke][])
    • ๐Ÿ’… #4434: Prevent bad auto-correct in Style/Alias for non-literal arguments. ([@drenmi][])
    • ๐Ÿ’… #4451: Make Style/AndOr cop aware of comparison methods. ([@drenmi][])
    • ๐Ÿ‘• #4457: Fix false negative in Lint/Void with initialize and setter methods. ([@pocke][])
    • ๐Ÿ’… #4418: Register an offense in Style/ConditionalAssignment when the assignment line is the longest line, and it does not exceed the max line length. ([@rrosenblum][])
    • ๐Ÿ’… #4491: Prevent bad auto-correct in Style/EmptyElse for nested if. ([@pocke][])
    • #4485: Handle 304 status for remote config files. ([@daniloisr][])
    • ๐Ÿ‘• #4529: Make Lint/UnreachableCode aware of if and case. ([@pocke][])
    • #4469: Include permissions in file cache. ([@pocke][])
    • ๐ŸŽ #4270: Fix false positive in Performance/RegexpMatch for named captures. ([@pocke][])
    • ๐Ÿ‘• #4525: Fix regexp for checking comment config of rubocop:disable all in Lint/UnneededDisable. ([@meganemura][])
    • ๐Ÿ’… #4555: Make Style/VariableName aware of optarg, kwarg and other arguments. ([@pocke][])
    • ๐Ÿ’… #4481: Prevent Style/WordArray and Style/SymbolArray from registering offenses where percent arrays don't work. ([@drenmi][])
    • #4447: Prevent Layout/EmptyLineBetweenDefs from removing too many lines. ([@drenmi][])
    • ๐Ÿ’… #3892: Make Style/NumericPredicate ignore numeric comparison of global variables. ([@drenmi][])
    • #4101: Skip auto-correct for literals with trailing comment and chained method call in Layout/Multiline*BraceLayout. ([@jonas054][])
    • ๐Ÿ’… #4518: Fix bug where Style/SafeNavigation does not register an offense when there are chained method calls. ([@rrosenblum][])
    • ๐Ÿš… #3040: Ignore safe navigation in Rails/Delegate. ([@cgriego][])
    • ๐Ÿ‘• #4587: Fix false negative for void unary operators in Lint/Void cop. ([@pocke][])
    • ๐ŸŽ #4589: Fix false positive in Performance/RegexpMatch cop for =~ is in a class method. ([@pocke][])
    • ๐Ÿ‘• #4578: Fix false positive in Lint/FormatParameterMismatch for format with "asterisk" (*) width and precision. ([@smakagon][])
    • ๐Ÿ‘• #4285: Make Lint/DefEndAlignment aware of multiple modifiers. ([@drenmi][])
    • #4634: Handle heredoc that contains empty lines only in Layout/IndentHeredoc cop. ([@pocke][])
    • ๐Ÿ‘• #4646: Make Lint/Debugger aware of Kernel and cbase. ([@pocke][])
    • ๐Ÿ’… #4643: Modify Style/InverseMethods to not register a separate offense for an inverse method nested inside of the block of an inverse method offense. ([@rrosenblum][])
    • โšก๏ธ #4593: Fix false positive in Rails/SaveBang when save/update_attribute is used with a case statement. ([@theRealNG][])
    • ๐Ÿ’… #4322: Fix Style/MultilineMemoization from auto-correcting to invalid ruby. ([@dpostorivo][])
    • #4722: Fix rake new_cop problem that doesn't add require line. ([@koic][])
    • #4723: Fix RaiseArgs auto-correction issue for raise with 3 arguments. ([@smakagon][])

    ๐Ÿ”„ Changes

    • ๐Ÿ‘• #4470: Improve the error message for Lint/AssignmentInCondition. ([@brandonweiss][])
    • 0๏ธโƒฃ #4553: Add node_modules to default excludes. ([@iainbeeston][])
    • ๐Ÿ’… #4445: Make Style/Encoding cop enabled by default. ([@deivid-rodriguez][])
    • ๐Ÿš… #4452: Add option to Rails/Delegate for enforcing the prefixed method name case. ([@klesse413][])
    • ๐Ÿ‘• #4493: Make Lint/Void cop aware of Enumerable#each and for. ([@pocke][])
    • ๐Ÿ‘• #4492: Make Lint/DuplicateMethods aware of alias and alias_method. ([@pocke][])
    • ๐ŸŽ #4478: Fix confusing message of Performance/Caller cop. ([@pocke][])
    • ๐Ÿ‘• #4543: Make Lint/DuplicateMethods aware of attr_* methods. ([@pocke][])
    • #4550: Mark RuboCop::CLI#run as a public API. ([@yujinakayama][])
    • ๐ŸŽ #4551: Make Performance/Caller aware of caller_locations. ([@pocke][])
    • ๐Ÿ’… #4547: Rename Style/HeredocDelimiters to Style/HeredocDelimiterNaming. ([@drenmi][])
    • ๐Ÿ’… #4157: Enhance offense message for Style/RedudantReturn cop. ([@gohdaniel15][])
    • ๐Ÿšš #4521: Move naming related cops into their own Naming department. ([@drenmi][])
    • ๐Ÿ’… #4600: Make Style/RedundantSelf aware of arguments of a block. ([@Envek][])
    • ๐ŸŽ #4658: Disable auto-correction for Performance/TimesMap by default. ([@Envek][])