つみかさね
R

Rails v8.1.3

minor
リリース日: 2026-03-25データソース: GitHub Releases, npm, endoflife.date
影響度スコア
24/ 100影響度: 低
Breaking Changes0/40
新機能2/25
バグ修正16/20
セキュリティ0/15
依存関係2/15
RailsRubyActive SupportActive Modelバグ修正

この変更が意味すること

Rails v8.1.3 がリリースされました。先日の v8.1.2.1(CVE 6件のセキュリティパッチ)に続く、バグ修正中心のリリースです。同時に v8.0.5 もリリースされています。

Active Support の JSON シリアライズにおけるカスタムオブジェクトキーの修正や、重複する頭字語(acronym)のインフレクション改善など、地味ながら実用上重要な修正が含まれています。Ruby 4.0 対応の delegator 警告修正も注目ポイントです。

主な変更点

Active Support: JSONGemCoderEncoder のカスタムオブジェクトキー修正

Hash のキーがカスタムオブジェクトで、その as_json が Hash を返す場合のシリアライズが修正されました。修正前は as_json の結果に対して to_s が呼ばれていましたが、修正後はオリジナルのキーオブジェクトに対して to_s が呼ばれるようになりました。

# Before
hash = {CustomKey.new(123) => "value"}
hash.to_json  # => {"{:id=>123}":"value"}

# After
hash.to_json  # => {"custom_123":"value"}

Active Support: 重複する頭字語のインフレクション改善

USDUSDC のように一方が他方を含む acronym を登録した場合に、underscore メソッドが正しく動作するようになりました。

ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.acronym "USD"
  inflect.acronym "USDC"
end

"USDC".underscore # => "usdc"

Active Support: Dalli 4.0+ 警告の抑制

ActiveSupport::Cache::MemCacheStore 使用時に Dalli 4.0 以降で表示されていた警告が抑制されました。Memcached を利用している環境でのログがクリーンになります。

Active Model: Ruby 4.0 delegator 警告修正

attributes の inspect 呼び出し時に Ruby 4.0 で発生する delegator 警告が修正されました。Ruby 4.0 への対応が着実に進んでいます。

Active Model: デシリアライズ時の NoMethodError 修正

デシリアライズ処理で NoMethodError が発生する問題が修正されました。

EOL / サポート状況

サイクル最新バージョンサポート終了EOL
8.18.1.32026-10-102027-10-10
8.08.0.52026-05-072026-11-07
7.27.2.3.12025-08-09 (終了)2026-08-09
7.17.1.62024-10-01 (終了)2025-10-01 (EOL済)

Rails 8.1 は2027年10月までサポートされる最新のアクティブバージョンです。Rails 7.1 以前は既に EOL のため、8.0 以降へのアップグレードを推奨します。

開発者への影響

  1. カスタムオブジェクトを Hash キーに使い JSON シリアライズしている方: シリアライズ結果が意図通りになるよう修正されています。既存の挙動に依存している場合は確認が必要です
  2. 重複する acronym を登録している方: underscore の結果が正しくなります
  3. Memcached(Dalli 4.0+)を利用している方: 不要な警告ログが出なくなります
  4. Ruby 4.0 への移行を進めている方: delegator 警告が解消されます
  5. v8.1.2.1 ユーザー全般: バグ修正リリースのため、安心してアップデートできます

アップデート方法

# Bundler
bundle update rails

# Gemfile で指定
gem 'rails', '~> 8.1.3'

データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

アップデート判断

通常のアップデートサイクルで対応

アップデートすべき場合

  • カスタムオブジェクトをHashキーに使いJSONシリアライズしている場合
  • 重複するacronymを登録していてinflection結果がおかしい場合
  • Dalli 4.0+の警告ログが気になる場合

様子見でよい場合

  • v8.1.2.1で特に問題が発生していない場合
  • 上記の修正対象機能を使用していない場合

EOL / サポート状況

Rails 8.1ActiveEOL: 2027-10-10
Rails 8.0ActiveEOL: 2026-11-07
Rails 7.2ActiveEOL: 2026-08-09
Rails 7.1End of LifeEOL: 2025-10-01
Xでシェアはてブ
データソース: GitHub Releases API, npm Registry, endoflife.date (MIT License), NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文リリースノートをご確認ください。