Ruby on Rails 7.2 Beta 1がリリースされました。
Rails 7.2 Beta 1: Better production defaults, Dev containers, new guides design, and more!
Give it a try and report any issues.https://t.co/x8tmeFOly6
— Ruby on Rails (@rails) May 29, 2024
参考までに、7-2-stableブランチは少し前に作成されています↓。
詳しくは以下のコミット差分をご覧ください。
🔗 7.2 Beta 1の概要
詳しくは上記リリース情報を参照してください。
他に気づいた点として、非推奨化コードが多数削除されています↓が、アップグレードガイドに記されている対応項目は今のところ1個にとどまっています。
参考: Remove all deprecated code by rafaelfranca · Pull Request #49624 · rails/rails
参考: 3 Upgrading from Rails 7.1 to Rails 7.2 -- Upgrading Ruby on Rails — Ruby on Rails Guides
1: production向けのデフォルト設定値を改善
- YJITがデフォルトで有効になる(Ruby 3.3以降を利用する場合)
- Pumaのデフォルトスレッド数が5から3に変更
- Dockerfileでjemallocがデフォルトで有効になる
2: devcontainerでの開発をサポート
devcontainer(development containerの略)を用いてフル機能の開発環境をサポートします。
具体的には、新規Railsアプリで.devcontainer/フォルダの中にDockerfile、docker-compose.yml、devcontainer.jsonファイルが生成されます。
3: Rails Guidesのデザインが変更される
Ruby on Rails Guidesのデザインが変更されます。新デザインは以下のEdgeGuidesで見られます。
参考: Ruby on Rails Guides -- https://edgeguides.rubyonrails.org/
また、Rails Guidesのいくつかのコンテンツが大きく書き直されています。
4: その他
詳しくはRuby on Rails 7.2 Release Notes — Ruby on Rails Guidesを参照してください。
- デフォルトでブラウザのバージョン制限が適用される
- Ruby 3.1が最小のRubyバージョンとなる
- PWAファイルがデフォルトで生成される
- 新規アプリケーションで以下がデフォルトで有効になる
- rubocop-rails-omakase
- GitHub CI workflow(#50508)
- brakeman
- ジョブがトランザクション内でスケジューリングされるのを防止
- コミットやロールバックのコールバックをトランザクションごとに設定可能
bin/setup
でpuma-devの設定を提案
参考: Rails 7.2 Beta 1をローカルインストールする
Macbook Pro M1 2021環境と、Ruby 3.3.1でrails new
してみました。
$ ruby -v
ruby 3.3.1 (2024-04-23 revision c56cd86388) +YJIT [arm64-darwin23]
プロジェクトディレクトリを適当に作成(ここではrails72beta1)してディレクトリに移動し、bundle initでGemfileを生成し、内容を以下に変更します。
$ mkdir rails72beta1
$ cd rails72beta1
$ bundle init
Writing new Gemfile to /Users/hachi8833/deve/rails/rails72beta1/Gemfile
Gemfileを以下のように変更します。
# Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
-gem "rails"
+gem "rails", github: "rails/rails", tag: "v7.2.0.beta1"
以下を実行してRailsアプリを生成します。
$ bundle exec rails new .
これで以下を実行すればRails 7.2 Beta 1アプリが起動します。
$ rails s