【追記】Rails v7.1.0 で `can't be blank` が `can’t be blank` に変わる(リバートされました)

既存アプリやライブラリへの影響が大きく、この変更に対してネガティブなフィードバックも多かったためリバートされました。 github.com


概要

表題の通り、Rails v7.1.0 で APOSTROPHE (U+0027) が SINGLE QUOTATION MARK (U+2019) に変わります。

github.com

既存のRailsアプリをアップグレードする際に影響が大きそうなので、記事を書きました。

影響範囲

テストでエラーメッセージを検証していた場合、Rails v7.1.0 のアップグレードによって検証に失敗するようになります。

Expected: "can't be blank"
  Actual: "can’t be blank"

今回の変更を知らない場合、このテストのエラーメッセージだけで ' と ’ の違いを見分けるのは厳しそう。

SINGLE QUOTATION MARK (U+2019) の入力方法

日本語入力モードで「Shift + 7」を押すと入力できました。*1

変更が戻る可能性

マージされるときも「I'll merge this one and see how people will react to them during the pre-releases.」と書いてあり、マージ後にrails/rails#45463でいくつかコメントが挙がっているので、もしかすると変更がリバートされる可能性はあります。

気になる方やこの変更に対して懸念がある方は v7.1.0.rc が出る前にGitHubで絵文字リアクションやコメントを投稿しておくと良さそうです。

*1:私はJIS配列キーボード使ってるので、英字キーボードだと入力方法が異なるかもしれない