Back to Rubocop

V0.50.0

relnotes/v0.50.0.md

1.86.111.5 KB
Original Source

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)
  • Add new Style/HeredocDelimiters cop. (@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)
  • 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)
  • Add new Lint/BooleanSymbol cop. (@droptheplot)
  • Make Rails/PluralizationGrammar use singular methods for -1 / -1.0. (@promisedlandt)
  • #4541: Add new Rails/HasManyOrHasOneDependent cop. (@oboxodo)
  • Add new Style/Dir cop. (@drenmi)
  • Add new Style/HeredocDelimiterCase cop. (@drenmi)
  • #2943: Add new Lint/RescueWithoutErrorClass cop. (@drenmi)
  • #4568: Fix autocorrection 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/DoublePipeEquals cop. (@donjar)
  • 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)
  • Add new Style/MinMax cop. (@drenmi)
  • #4720: Add new Bundler/InsecureProtocolSource cop. (@koic)
  • #4708: Add new Lint/RedundantWithIndex cop`. (@koic)

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 autocorrection 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 autocorrect 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 autocorrecting 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)
  • #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)
  • Rename Style/HeredocDelimiters to Style/HeredocDelimiterNaming. (@drenmi)
  • #4157: Enhance offense message for Style/RedundantReturn 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)