RuboCopのメンテナンスポリシーを更新した

以下のように RuboCopのメンテナンスポリシーを更新することにした。

docs.rubocop.org

これまでは Ruby バージョンの EOL 後に1年猶予をもってから、RuboCop のランタイムサポートからもドロップしていた。つまり Ruby 2.6 が EOL を迎えた際は、その 1 年後に Ruby 2.6 を RuboCop のランタイムサポートから落としていた (ドロップするのはランタイムバージョンであり、Ruby 2.0 までバージョンを遡っての解析はできます) 。今回その方針を変えて、Ruby 2.7 ランタイムサポートを延長する決定をしたことになる。

理由としては大きく2つあり、ひとつは Ruby 2.7 から Ruby 3.0 へのメジャーバージョンアップについて、 (いわゆる言語コミュニティの分断というほどのものではなく、いつものレベル感の延長線上で) アップグレードしている世界としていない世界が二極化していること。まあ、これは毎度のことかもしれないけれど、今回はメジャーということもありバッサリといつもどおりとせずに決断は慎重にしようと考えていた。

もうひとつが上記の支えになったというか、理由づけの後押しになったもので、現時点での Rails の最新安定版の 7.1 が Ruby 2.7 をサポートしているということ。

こういった理由から Rails のメンテナンスポリシーで、少なくとも Rails 7.1 が "Bug Fixes" にカテゴライズされている間は Ruby 2.7 をランタイムサポートすることにした。

guides.rubyonrails.org

とはいえ古い Ruby バージョン向けには、今後ランタイム依存の新機能のバックポートなど (必要以上のものはし) ないため、各現場での Ruby アップグレードを進めていきましょう。