Rails開発者のDavid Heinemeier Hansson(dhh)氏は9月15日(現地時間)、Railsのメジャーバージョンアップ版「Rails 7」の最初のアルファ版「Rails 7.0 Alpha 1」をリリースしたことを発表しました。
最新版では、JavaScriptの新しい実行方法や、Active Recordの暗号化機能、SQLクエリのオリジンロギング、非同期クエリローディング、Zeitwerkのみを使用したオートローディングなど、さまざまな新機能が追加されています。
通常Railsのアルファ版リリースは行われていませんが、今バージョンはフロントエンド回りの変更が非常に大きく、ベータ版の前にアルファ版をリリースすることに決めたそうです。
Rails 7ではフロントエンドで大きな変更が行われます。モダンなJavaScriptを書くために使用されてきたWebpackerが、npmパッケージを使わずにNodeなしでJavaScriptを記述する方法で置き換えられます。TurbolinksとRails UJSがStimulusとTurboを組み合わせたHotwireに置き換えられ、node_modulesの依存関係や、bundlerの複雑な設定を行う必要が無くなります。
HEYから抽出された暗号化属性がActive Recordに追加され、機密性が高い属性を暗号化することで、セキュリティレイヤーを追加することができるようになっています。これにより攻撃者がデータベースやそのスナップショット、アプリケーションログにアクセスしたとしても、暗号化された情報を読み取ることが不可能となります。
他にも、SQLコメントタグを使ってクエリの起源を追跡できる機能や、非同期のクエリ・ロード、 Railsの自動ロードのZeitwerkコードローダーのみへの置き換えなどさまざまな新機能が追加されています。
新機能の詳細はリリースノートで確認可能です。