オープンソースのWebアプリケーションフレームワークであるRuby on Railsの開発チームは、「Ruby on Rails 7.2」の最初のベータ版となる「Ruby on Rails 7.2 Beta 1」を、5月29日(現地時間)に公開した。
Ruby on Rails 7.2 Beta 1では、Ruby 3.1以降のCRubyで使えるRubyのJITコンパイラであり、Railsアプリケーションのパフォーマンスを大幅に向上させ、レイテンシを15〜25%改善するYJITがデフォルトで有効化されている。
あわせて、Pumaにおけるデフォルトのスレッド数を5から3に変更し、スレッド数が多すぎる場合にRubyがグローバルVMロック(GVL)が解放されるまでの待ち時間を削減することで、レイテンシ(リクエスト応答時間)を改善した。
また、Ruby on Railsによって生成されるデフォルトのDockerfileには、メモリ割り当てを最適化するためのjemallocが含まれるようになっている。
さらに、アプリケーションの開発コンテナ構成を生成する機能が追加された。同構成では、.devcontainerフォルダ内に、Dockerfile、docker-compose.yml、devcontainer.jsonが含まれる。デフォルトでは、開発コンテナに、
- Kredis、Action Cableなどで使用するRedisコンテナ
- データベース(SQLite、Postgres、MySQL、MariaDB)
- システムテスト用のヘッドレスChromeコンテナ
- ローカルディスクを使用するように設定され、プレビュー機能が動作するActive Storage
が含まれている。
そのほか、Railsフレームワークから複雑さを取り除いて、ドキュメントに一貫性を持たせ、明確で最新のものにするための作業にあわせて、ガイドのデザインを同様にモダンでシンプルかつ新鮮なものとすべく、ガイドに以下のような変更が反映された。
- よりすっきりとしたデザインの採用
- フォント、配色、ロゴがホームページとより一貫性のあるものへの変更
- アイコンの更新
- 簡素化されたナビゲーション
- スクロール時の「章」ナビゲーションバー固定
Ruby on Rails 7.2 Beta 1ではほかにも、以下のような機能追加・改善が行われている。
- デフォルトでのブラウザバージョンガードの追加
- 最小バージョンのRuby 3.1への変更
- プログレッシブWebアプリケーション(PWA)ファイルのデフォルト化
- デフォルトでのomakase RuboCopルールの追加
- 新しいアプリケーションにおけるGitHub CIワークフローのデフォルトでの追加
- 新しいアプリケーションにおけるBrakemanのデフォルトでの追加
- トランザクション内でのジョブのスケジュールを防止
- トランザクションごとのコミットおよびロールバックのコールバック
- bin/setupにおけるpuma-dev設定の提案
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です