「Ruby on Rails 8」正式リリース。SQLiteを本番DBとして利用可能に。今後は6カ月ごとに新バージョンをリリース
Rubyを用いたWebアプリケーションフレームワーク「Ruby on Rails」の最新バージョン「Ruby on Rails 8.0」(以下、Rails 8)の正式リリースが発表されました。
Rails 8.0: #NOBUILD, #NOPAAS, all-in on SQLite as a production database option with jobs, cache, and cable, new authentication generator, and so much more! Final release is out https://t.co/qom10worLW
— DHH (@dhh) November 7, 2024
Rails 8では、いままで高速なデータ操作のために必要とされてきたRedisおよびMySQLやPostgreSQLなどを用いることなく、SQLiteだけで本番用データベースをまかなうことが可能になっています。
Rails 8の新機能については、作者であるDHH氏がRails World 2024の基調講演で紹介した内容をまとめた記事「DHH氏がRails 8の新機能を解説。Redisなど不要になり、SQLite対応でよりシンプルな構成に。Rails World 2024」を先月(2024年10月)公開しています。
その内容をあらためてまとめましょう。
認証機能のコードを生成
Rails 8では認証機能をコード生成によって提供します。プログラマは自分で認証機能を実装する必要はなく、生成されたコードを見ることでどのような認証処理が行われているかを理解できます。
JavaScriptとCSSをWebブラウザに効率的に配信するために、これまでのSprocketsに変わってPropshaftと呼ばれるアセットパイプラインツールがデフォルトで採用されます。
SQLiteで本番用データベースを構築可能
Rails 8ではプライマリデータベース、キャッシュ、キュー、ケーブルのすべてがSQLiteでまかなえるようになったとコンフィグレーションが示されました。それを実現するのがSolidツール群です。
Solid Cableは、SQLiteを用いてもインメモリデータベースのRedis並の速度で通信メッセージをリレーするPubSubサーバを実現できます。
Solid Cacheは、これまでRedisやMemcachedなどのインメモリデータベースにHTMLフラグメントをキャッシュしていた仕組みを、SQLiteで置き換え可能にします。
Solid Queueはジョブ管理のためのツールです。これまで必要だったRedisを不要にし、MySQL、PostgreSQL、SQLiteのメジャーなデータベースで高速性を実現します。
新しいHTTP/2プロキシやデプロイツール
高速でセキュアな通信を実現するHTTP/2プロキシである「Thruster」と、クラウドやコンテナやさまざまな環境に簡単にデプロイできるデプロイツール「Kamal 2」も採用されました。
参考:Railsを高速かつセキュアにするHTTP/2プロキシ「Thruster」、37signalsがオープンソースとして公開
今後は6カ月ごとに新バージョンが登場
これまでRailsは不定期にバージョンアップが行われてきましたが、今後は6カ月ごとにバージョンアップが行われ、2年間のセキュリティルールが適用されることなども発表されています。
- 新機能を含む新バージョンを6カ月ごとにリリース
- マイナーリリースでは最初のリリースから1年間のバグ修正
- マイナーリリースでは最初のリリースから2年間のセキュリティ修正
例えば、今年8月にリリースされたRails 7.2(Rails 7.2.x)では来年(2025年)8月までバグ修正が、再来年(2026年)8月までセキュリティ修正が提供されます。
今回のRails 8も来年11月まではバグ修正が、再来年11月まではセキュリティ修正が提供される見通しです。
よりシンプルな構成で本番環境に対応し、上記のように明確なリリーススケジュールが定められたことで、Railsは以前よりも企業にとって導入しやすいフレームワークになることが期待されます。
あわせて読みたい
コンテナランタイム「containerd 2.0」正式リリース、登場以来初のメジャーバージョンアップ。1.xとの互換性は維持
≪前の記事
マイクロソフト、「Windows Server 2025」正式リリース。ホットパッチの提供、NVMe最適化によるストレージ高速化、SMB over QUICなど新機能