RuboCop 0.65.0 のリリース予定内容

今晩 (2/19) くらいにリリースされる予定である RuboCop 0.65.0 のざっくり内容です。

github.com

New features

#6126: Add an experimental strict mode to Style/MutableConstant that will freeze all constants, rather than just literals. ([@rrosenblum][])

Style/MutableConstant cop に strict モードがオプションとして入りました。デフォルトで strict というのが当初の提案でしたが、厳しすぎるように思えたためオルタナティブという形で落ち着きました。

Bug fixes

#6765: Fix false positives in keyword arguments for Style/MethodCallWithArgsParentheses omit_parentheses. ([@gsamokovarov][])

Style/MethodCallWithArgsParentheses のエッジケースについての不具合修正です。

#6763: Fix false positives in range literals for Style/MethodCallWithArgsParentheses omit_parentheses. ([@gsamokovarov][])

同じく Style/MethodCallWithArgsParentheses のエッジケースについての不具合修正です。

#6748: Fix Style/RaiseArgs auto-correction breaking in contexts that require parentheses. ([@drenmi][])

Style/RaiseArgs の auto-correct で invalid なコードに破壊してしまうケースを修正しています。

#6751: Prevent Style/OneLineConditional from breaking on retry and break keywords. ([@drenmi][])

if true then retry else 7 end のようなワンライナー中で retry あるいは break を使っているエッジケースでのエラーを防ぐようにしています。

#6755: Prevent Style/TrailingCommaInArgument from breaking when a safe method call is chained on the offending method. ([@drenmi], [@hoshinotsuyoshi])

Style/TrailingCommaInArgumentscsend (&.) を使ったコードに対してエラーになるケースを防いでいます。

Changes

#6766: Drop support for Ruby 2.2.0 and 2.2.1. ([@pocke][])

Psych 3.1.0 以上を使うため、Ruby 2.2.0 と 2.2.1 のサポートをドロップしています。なお近々 Ruby 2.3 系が EOL になった頃に Ruby 2.2 系のドロップを検討しています。

#6733: Warn duplicated keys in .rubocop.yml. ([@pocke][])

.rubocop.yml で重複している cop 設定を見つけるようにしています。

#6613: Mark Style/ModuleFunction as SafeAutocorrect: false and disable autocorrect by default. ([@dduugg][])

Style/ModuleFunction が行う auto-correct が常に意図された互換になるものではないため unsafe にしています。

何かあればフィードバックをといいたいところですが、いまのところ RC リリースなどはないためお試しいただく場合はリポジトリのコードを手元に持って来て rake install などでソースインストールしてお試しください。