|
| 1 | +### New features |
| 2 | + |
| 3 | +* [#4464](https://github.com/bbatsov/rubocop/pull/4464): Add `EnforcedStyleForEmptyBraces` parameter to `Layout/SpaceBeforeBlockBraces` cop. ([@palkan][]) |
| 4 | +* [#4453](https://github.com/bbatsov/rubocop/pull/4453): New cop `Style/RedundantConditional` checks for conditionals that return true/false. ([@petehamilton][]) |
| 5 | +* [#4448](https://github.com/bbatsov/rubocop/pull/4448): Add new `TapFormatter`. ([@cyberdelia][]) |
| 6 | +* Add new `Style/HeredocDelimiters` cop. ([@drenmi][]) |
| 7 | +* [#4153](https://github.com/bbatsov/rubocop/issues/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][]) |
| 8 | +* Add auto-correct support to `Lint/ScriptPermission`. ([@rrosenblum][]) |
| 9 | +* [#4514](https://github.com/bbatsov/rubocop/pull/4514): Add configuration options to `Style/YodaCondition` to support checking all comparison operators or equality operators only. ([@smakagon][]) |
| 10 | +* Add new `Lint/BooleanSymbol` cop. ([@droptheplot][]) |
| 11 | +* Make `Rails/PluralizationGrammar` use singular methods for `-1` / `-1.0`. ([@promisedlandt][]) |
| 12 | +* [#4541](https://github.com/bbatsov/rubocop/pull/4541): Add new `Rails/HasManyOrHasOneDependent` cop. ([@oboxodo][]) |
| 13 | +* Add new `Style/Dir` cop. ([@drenmi][]) |
| 14 | +* Add new `Style/HeredocDelimiterCase` cop. ([@drenmi][]) |
| 15 | +* [#2943](https://github.com/bbatsov/rubocop/pull/2943): Add new `Lint/RescueWithoutErrorClass` cop. ([@drenmi][]) |
| 16 | +* [#4568](https://github.com/bbatsov/rubocop/pull/4568): Fix autocorrection for `Style/TrailingUnderscoreVariable`. ([@smakagon][]) |
| 17 | +* [#4586](https://github.com/bbatsov/rubocop/pull/4586): Add new `Performance/UnfreezeString` cop. ([@pocke][]) |
| 18 | +* [#2976](https://github.com/bbatsov/rubocop/issues/2976): Add `Whitelist` configuration option to `Style/NestedParenthesizedCalls` cop. ([@drenmi][]) |
| 19 | +* [#3965](https://github.com/bbatsov/rubocop/issues/3965): Add new `Style/DoublePipeEquals` cop. ([@donjar][]) |
| 20 | +* Make `rake new_cop` create parent directories if they do not already exist. ([@highb][]) |
| 21 | +* [#4368](https://github.com/bbatsov/rubocop/issues/4368): Make `Performance/HashEachMethod` inspect send nodes with any receiver. ([@gohdaniel15][]) |
| 22 | +* [#4508](https://github.com/bbatsov/rubocop/issues/4508): Add new `Style/ReturnNil` cop. ([@donjar][]) |
| 23 | +* [#4629](https://github.com/bbatsov/rubocop/issues/4629): Add Metrics/MethodLength cop for `define_method`. ([@jekuta][]) |
| 24 | +* [#4702](https://github.com/bbatsov/rubocop/pull/4702): Add new `Lint/UriEscapeUnescape` cop. ([@koic][]) |
| 25 | +* [#4696](https://github.com/bbatsov/rubocop/pull/4696): Add new `Performance/UriDefaultParser` cop. ([@koic][]) |
| 26 | +* [#4694](https://github.com/bbatsov/rubocop/pull/4694): Add new `Lint/UriRegexp` cop. ([@koic][]) |
| 27 | +* Add new `Style/MinMax` cop. ([@drenmi][]) |
| 28 | +* [#4720](https://github.com/bbatsov/rubocop/pull/4720): Add new `Bundler/InsecureProtocolSource` cop. ([@koic][]) |
| 29 | +* [#4708](https://github.com/bbatsov/rubocop/pull/4708): Add new `Lint/RedundantWithIndex` cop`. ([@koic][]) |
| 30 | + |
| 31 | +### Bug fixes |
| 32 | + |
| 33 | +* [#4709](https://github.com/bbatsov/rubocop/pull/4709): Use cached remote config on network failure. ([@kristjan][]) |
| 34 | +* [#4688](https://github.com/bbatsov/rubocop/pull/4688): Accept yoda condition which isn't commutative. ([@fujimura][]) |
| 35 | +* [#4676](https://github.com/bbatsov/rubocop/issues/4676): Make `Style/RedundantConditional` cop work with elsif. ([@akhramov][]) |
| 36 | +* [#4656](https://github.com/bbatsov/rubocop/issues/4656): Modify `Style/ConditionalAssignment` autocorrection to work with unbracketed arrays. ([@akhramov][]) |
| 37 | +* [#4615](https://github.com/bbatsov/rubocop/pull/4615): Don't consider `<=>` a comparison method. ([@iGEL][]) |
| 38 | +* [#4664](https://github.com/bbatsov/rubocop/pull/4664): Fix typos in Rails/HttpPositionalArguments. ([@JoeCohen][]) |
| 39 | +* [#4618](https://github.com/bbatsov/rubocop/pull/4618): Fix `Lint/FormatParameterMismatch` false positive if format string includes `%%5B` (CGI encoded left bracket). ([@barthez][]) |
| 40 | +* [#4604](https://github.com/bbatsov/rubocop/pull/4604): Fix `Style/LambdaCall` to autocorrect `obj.call` to `obj.`. ([@iGEL][]) |
| 41 | +* [#4443](https://github.com/bbatsov/rubocop/pull/4443): Prevent `Style/YodaCondition` from breaking `not LITERAL`. ([@pocke][]) |
| 42 | +* [#4434](https://github.com/bbatsov/rubocop/issues/4434): Prevent bad auto-correct in `Style/Alias` for non-literal arguments. ([@drenmi][]) |
| 43 | +* [#4451](https://github.com/bbatsov/rubocop/issues/4451): Make `Style/AndOr` cop aware of comparison methods. ([@drenmi][]) |
| 44 | +* [#4457](https://github.com/bbatsov/rubocop/pull/4457): Fix false negative in `Lint/Void` with initialize and setter methods. ([@pocke][]) |
| 45 | +* [#4418](https://github.com/bbatsov/rubocop/issues/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][]) |
| 46 | +* [#4491](https://github.com/bbatsov/rubocop/issues/4491): Prevent bad auto-correct in `Style/EmptyElse` for nested `if`. ([@pocke][]) |
| 47 | +* [#4485](https://github.com/bbatsov/rubocop/pull/4485): Handle 304 status for remote config files. ([@daniloisr][]) |
| 48 | +* [#4529](https://github.com/bbatsov/rubocop/pull/4529): Make `Lint/UnreachableCode` aware of `if` and `case`. ([@pocke][]) |
| 49 | +* [#4469](https://github.com/bbatsov/rubocop/issues/4469): Include permissions in file cache. ([@pocke][]) |
| 50 | +* [#4270](https://github.com/bbatsov/rubocop/issues/4270): Fix false positive in `Performance/RegexpMatch` for named captures. ([@pocke][]) |
| 51 | +* [#4525](https://github.com/bbatsov/rubocop/pull/4525): Fix regexp for checking comment config of `rubocop:disable all` in `Lint/UnneededDisable`. ([@meganemura][]) |
| 52 | +* [#4555](https://github.com/bbatsov/rubocop/issues/4555): Make `Style/VariableName` aware of optarg, kwarg and other arguments. ([@pocke][]) |
| 53 | +* [#4481](https://github.com/bbatsov/rubocop/issues/4481): Prevent `Style/WordArray` and `Style/SymbolArray` from registering offenses where percent arrays don't work. ([@drenmi][]) |
| 54 | +* [#4447](https://github.com/bbatsov/rubocop/issues/4447): Prevent `Layout/EmptyLineBetweenDefs` from removing too many lines. ([@drenmi][]) |
| 55 | +* [#3892](https://github.com/bbatsov/rubocop/issues/3892): Make `Style/NumericPredicate` ignore numeric comparison of global variables. ([@drenmi][]) |
| 56 | +* [#4101](https://github.com/bbatsov/rubocop/issues/4101): Skip auto-correct for literals with trailing comment and chained method call in `Layout/Multiline*BraceLayout`. ([@jonas054][]) |
| 57 | +* [#4518](https://github.com/bbatsov/rubocop/issues/4518): Fix bug where `Style/SafeNavigation` does not register an offense when there are chained method calls. ([@rrosenblum][]) |
| 58 | +* [#3040](https://github.com/bbatsov/rubocop/issues/3040): Ignore safe navigation in `Rails/Delegate`. ([@cgriego][]) |
| 59 | +* [#4587](https://github.com/bbatsov/rubocop/pull/4587): Fix false negative for void unary operators in `Lint/Void` cop. ([@pocke][]) |
| 60 | +* [#4589](https://github.com/bbatsov/rubocop/issues/4589): Fix false positive in `Performance/RegexpMatch` cop for `=~` is in a class method. ([@pocke][]) |
| 61 | +* [#4578](https://github.com/bbatsov/rubocop/issues/4578): Fix false positive in `Lint/FormatParameterMismatch` for format with "asterisk" (`*`) width and precision. ([@smakagon][]) |
| 62 | +* [#4285](https://github.com/bbatsov/rubocop/issues/4285): Make `Lint/DefEndAlignment` aware of multiple modifiers. ([@drenmi][]) |
| 63 | +* [#4634](https://github.com/bbatsov/rubocop/issues/4634): Handle heredoc that contains empty lines only in `Layout/IndentHeredoc` cop. ([@pocke][]) |
| 64 | +* [#4646](https://github.com/bbatsov/rubocop/issues/4646): Make `Lint/Debugger` aware of `Kernel` and cbase. ([@pocke][]) |
| 65 | +* [#4643](https://github.com/bbatsov/rubocop/issues/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][]) |
| 66 | +* [#4593](https://github.com/bbatsov/rubocop/issues/4593): Fix false positive in `Rails/SaveBang` when `save/update_attribute` is used with a `case` statement. ([@theRealNG][]) |
| 67 | +* [#4322](https://github.com/bbatsov/rubocop/issues/4322): Fix Style/MultilineMemoization from autocorrecting to invalid ruby. ([@dpostorivo][]) |
| 68 | +* [#4722](https://github.com/bbatsov/rubocop/pull/4722): Fix `rake new_cop` problem that doesn't add `require` line. ([@koic][]) |
| 69 | +* [#4723](https://github.com/bbatsov/rubocop/issues/4723): Fix `RaiseArgs` auto-correction issue for `raise` with 3 arguments. ([@smakagon][]) |
| 70 | + |
| 71 | +### Changes |
| 72 | + |
| 73 | +* [#4470](https://github.com/bbatsov/rubocop/issues/4470): Improve the error message for `Lint/AssignmentInCondition`. ([@brandonweiss][]) |
| 74 | +* [#4553](https://github.com/bbatsov/rubocop/issues/4553): Add `node_modules` to default excludes. ([@iainbeeston][]) |
| 75 | +* [#4445](https://github.com/bbatsov/rubocop/pull/4445): Make `Style/Encoding` cop enabled by default. ([@deivid-rodriguez][]) |
| 76 | +* [#4452](https://github.com/bbatsov/rubocop/pull/4452): Add option to `Rails/Delegate` for enforcing the prefixed method name case. ([@klesse413][]) |
| 77 | +* [#4493](https://github.com/bbatsov/rubocop/pull/4493): Make `Lint/Void` cop aware of `Enumerable#each` and `for`. ([@pocke][]) |
| 78 | +* [#4492](https://github.com/bbatsov/rubocop/pull/4492): Make `Lint/DuplicateMethods` aware of `alias` and `alias_method`. ([@pocke][]) |
| 79 | +* [#4478](https://github.com/bbatsov/rubocop/issues/4478): Fix confusing message of `Performance/Caller` cop. ([@pocke][]) |
| 80 | +* [#4543](https://github.com/bbatsov/rubocop/pull/4543): Make `Lint/DuplicateMethods` aware of `attr_*` methods. ([@pocke][]) |
| 81 | +* [#4550](https://github.com/bbatsov/rubocop/pull/4550): Mark `RuboCop::CLI#run` as a public API. ([@yujinakayama][]) |
| 82 | +* [#4551](https://github.com/bbatsov/rubocop/pull/4551): Make `Performance/Caller` aware of `caller_locations`. ([@pocke][]) |
| 83 | +* Rename `Style/HeredocDelimiters` to `Style/HeredocDelimiterNaming`. ([@drenmi][]) |
| 84 | +* [#4157](https://github.com/bbatsov/rubocop/issues/4157): Enhance offense message for `Style/RedudantReturn` cop. ([@gohdaniel15][]) |
| 85 | +* [#4521](https://github.com/bbatsov/rubocop/issues/4521): Move naming related cops into their own `Naming` department. ([@drenmi][]) |
| 86 | +* [#4600](https://github.com/bbatsov/rubocop/pull/4600): Make `Style/RedundantSelf` aware of arguments of a block. ([@Envek][]) |
| 87 | +* [#4658](https://github.com/bbatsov/rubocop/issues/4658): Disable auto-correction for `Performance/TimesMap` by default. ([@Envek][]) |
| 88 | + |
| 89 | +[@palkan]: https://github.com/palkan |
| 90 | +[@petehamilton]: https://github.com/petehamilton |
| 91 | +[@cyberdelia]: https://github.com/cyberdelia |
| 92 | +[@drenmi]: https://github.com/drenmi |
| 93 | +[@harold-s]: https://github.com/harold-s |
| 94 | +[@rrosenblum]: https://github.com/rrosenblum |
| 95 | +[@smakagon]: https://github.com/smakagon |
| 96 | +[@droptheplot]: https://github.com/droptheplot |
| 97 | +[@promisedlandt]: https://github.com/promisedlandt |
| 98 | +[@oboxodo]: https://github.com/oboxodo |
| 99 | +[@pocke]: https://github.com/pocke |
| 100 | +[@donjar]: https://github.com/donjar |
| 101 | +[@highb]: https://github.com/highb |
| 102 | +[@gohdaniel15]: https://github.com/gohdaniel15 |
| 103 | +[@jekuta]: https://github.com/jekuta |
| 104 | +[@koic]: https://github.com/koic |
| 105 | +[@kristjan]: https://github.com/kristjan |
| 106 | +[@fujimura]: https://github.com/fujimura |
| 107 | +[@akhramov]: https://github.com/akhramov |
| 108 | +[@iGEL]: https://github.com/iGEL |
| 109 | +[@JoeCohen]: https://github.com/JoeCohen |
| 110 | +[@barthez]: https://github.com/barthez |
| 111 | +[@daniloisr]: https://github.com/daniloisr |
| 112 | +[@meganemura]: https://github.com/meganemura |
| 113 | +[@jonas054]: https://github.com/jonas054 |
| 114 | +[@cgriego]: https://github.com/cgriego |
| 115 | +[@theRealNG]: https://github.com/theRealNG |
| 116 | +[@dpostorivo]: https://github.com/dpostorivo |
| 117 | +[@brandonweiss]: https://github.com/brandonweiss |
| 118 | +[@iainbeeston]: https://github.com/iainbeeston |
| 119 | +[@deivid-rodriguez]: https://github.com/deivid-rodriguez |
| 120 | +[@klesse413]: https://github.com/klesse413 |
| 121 | +[@yujinakayama]: https://github.com/yujinakayama |
| 122 | +[@Envek]: https://github.com/Envek |
0 commit comments