
Ruby on Rails 8.1.0がリリースされました。
Rails 8.1 has been released! It includes job continuations, structured events, local CI, registry-free deployments, and so much more. Over 500 contributors has code in this new version
https://t.co/VHvLnj5coF
— DHH (@dhh) October 22, 2025
英語版Changelogをまとめて見るにはGItHubのリリースタグ↓が便利です。v8.1.0タグの日付は日本時間の2025/10/22 09:35でした。
詳しくは以下のコミットリストをご覧ください。
アップグレード方法については以下の手順をどうぞ。
参考: § 1.3 アップグレード手順 -- Rails アップグレードガイド - Railsガイド
なお、Action NotifierやRack 3の必須化など、8.1.0で予告されていた機能の多くはRails 8.2.0に先送りされています。
参考: 8.2.0 · Milestone #97 · rails/rails
更新の概要
以下の6つが主要な追加機能です。
1: Active Job継続機能
2: 構造化イベントレポート
RailsTokyo #1でRails 8.1 + Structured Event Reportingの紹介をしてきました
3: ローカルCI
4: markdownでのレンダリング機能
5: コマンドラインでのcredentialsフェッチ
6: 特定の関連付けを非推奨化する機能
Deprecated associations by fxn · Pull Request #55285 · rails/rails
Action Mailer Changelog
Structured event subscribers by gmcgibbon · Pull Request #55690 · rails/rails
Action Mailerに以下の構造化イベントを追加。
action_mailer.deliveredaction_mailer.processedGannon McGibbon
同Changelogより
Action Pack Changelog
Treat as: :html tests request params as :url_encoded_form by seanpdoyle · Pull Request #50390 · rails/rails
Content-Type: x-www-form-urlencodedを指定したテストリクエストをas: :htmlで送信するよう修正。Sean Doyle
同Changelogより
Active Record Changelog
[#55866] Fix SQLite3 data loss during table alterations with CASCADE foreign keys. by ruyrocha · Pull Request #55907 · rails/rails
SQLite3で
CASCADE外部キーを利用しているテーブルをALTERで変更したときにデータが失われる問題を修正。SQLite3で、
ON DELETE CASCADE外部キーを持つ子テーブルから参照されているテーブルをALTERすると、Active Recordが子テーブルのすべてのデータをエラーなしで削除していた。原因は、SQLiteではスキーマ変更時にテーブルの再作成が必要であり、その際に元のテーブルが一時的に削除され、子テーブルでCASCADE削除がトリガーされていたため。根本原因は、操作の順序が不適切だったことによる。元のコードでは
disable_referential_integrityをトランザクション内にラップしていたが、SQLiteではPRAGMA foreign_keysをトランザクション内で変更できない(変更しようとしても無効)。そのため、テーブルの再作成時に外部キーが有効なままになり、CASCADE削除が実行されていた。この修正により順序が入れ替わり、SQLite公式の12ステップ
ALTER TABLE手続きに従うようになる。つまり、disable_referential_integrityはトランザクションにラップされるのではなく、トランザクションをラップするようになった。これにより、トランザクション開始前に外部キーが適切に無効化され、コミット後に再度有効化される。これにより、アトミックトランザクションでデータの整合性を維持しつつCASCADE削除を防止できる。Ruy Rocha
同Changelogより
8.1.0でChangelog更新がなかったもの
- Action Cable
- Action Mailbox
- Action Text
- Action View
- Active Job
- Active Model
- Active Storage
- Active Support
- Railties
8.1.0.rc1までの更新
以下の更新情報をどうぞ。
8.1.0.beta1までの更新
以下の更新情報をどうぞ。
Rails 8.1.0.beta1のChangelog: Active Model、Action Mailer、Action Mailbox(全項目リンク付き)
Rails 8.1.0.beta1のChangelog: Action Cable、Action Text、ガイド(全項目リンク付き)
The post 速報: Rails 8.1.0がリリースされました first appeared on TechRacho.

TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ)