Ruby on Rails 7.0.8がリリースされました。webdrivers gem依存の除去以外はバグ修正です。
Rails 7.0.8 has been released! https://t.co/zRMIm63LT8
— Ruby on Rails (@rails) September 9, 2023
英語版Changelogをまとめて見るにはGItHubのリリースタグ↓が便利です
- Release 7.0.8 · rails/rails -- 2023/09/10 04:38(日本時間)
 
詳しくは以下のコミットリストをご覧ください。
🔗 更新の概要
アップグレード方法については以下の手順をどうぞ。
参考: § 1.3 アップグレード手順 -- Rails アップグレードガイド - Railsガイド
本記事では、GitHubリリースタグに掲載されているChangelogに対応するプルリクやコミットへのリンクを取り急ぎ貼りました。
🔗 Active Support
- 🔗 PR: Fix TimeWithZone#to_s being overriden with ENV set by skipkayhil · Pull Request #49038 · rails/rails
 
ENVやコンフィグで
TimeWithZoneを無効にしたときに非推奨の#to_sが使われていたのを修正。
Hartley McGuire
リリースノートChangelogより
- 🔗 PR: Fix CacheStore#write_multi with Redis::Distributed+ConnectionPool by jdelStrother · Pull Request #48952 · rails/rails
 
分散Redisキャッシュでコネクションプールを使ったときに
CacheStore#write_multiがエラーになる問題を修正。
修正: #48938
Jonathan del Strother
リリースノートChangelogより
🔗 Active Record
- 🔗 PR: Fix change_column not setting precision for sqlite [7-0-stable] by skipkayhil · Pull Request #49121 · rails/rails
 
Rails 7.0以降のマイグレーションとSQLiteで
datetimeを使うとchange_columnでprecision: 6が設定されない問題を修正。
Hartley McGuire
リリースノートChangelogより
- 🔗 PR: Fix unscope not working when where by tripe dot range by ippachi · Pull Request #48095 · rails/rails
 
特定のケースで
unscopeが動作しない問題を修正。修正前:
Post.where(id: 1...3).unscope(where: :id).to_sql # "SELECT `posts`.* FROM `posts` WHERE `posts`.`id` >= 1 AND `posts`.`id` < 3"修正後:
Post.where(id: 1...3).unscope(where: :id).to_sql # "SELECT `posts`.* FROM `posts`"修正: #48094
Kazuya Hatanaka
リリースノートChangelogより
- PR: 🔗 [Fix #48925] fix "class_name" required for STI class by xfifix · Pull Request #49101 · rails/rails
 
class_nameオプションを含むSTIモデルへの関連付けを修正。class Product < ApplicationRecord has_many :requests, as: :requestable, class_name: "ProductRequest", dependent: :destroy end # STIテーブル class Request < ApplicationRecord belongs_to :requestable, polymorphic: true validate :request_type, presence: true end class ProductRequest < Request belongs_to :user endこのような関連付けにアクセスすると以下のエラーが生じる可能性があった。
table_metadata.rb:22:in `has_column?': undefined method `key?' for nil:NilClass (NoMethodError)Romain Filinto
リリースノートChangelogより
- 🔗 PR: Fix 6.1 change_column setting datetime precision [7-0-stable] by skipkayhil · Pull Request #49006 · rails/rails
 
Rails 6.1のマイグレーションで
datetimeを使うとchange_columnでprecision: 6が設定されない問題を修正。Hartley McGuire
リリースノートChangelogより
🔗 Action View
- 🔗 PR: Fix no _method input in form_for namespaced model by skipkayhil · Pull Request #49053 · rails/rails
 
名前空間付きルーティングでモデルの
_method(hidden input)がform_forで出力されなくなる問題を修正。Hartley McGuire
リリースノートChangelogより
- 🔗 PR: Handle non-string partial body in ActionView::CollectionCaching (7.0 backport) by casperisfine · Pull Request #48937 · rails/rails
 
jbuilderテンプレートでのrender collection: @records, cache: trueを修正。7.0.7でリリースされた前回の修正では、テンプレートのフラグメントが常に文字列であることを前提としていたが、jbuilderはそうではない。
Jean Boussier
リリースノートChangelogより
🔗 Action Pack
- 🔗 PR: Fix host display when X_FORWARDED_HOST authorized by skipkayhil · Pull Request #48941 · rails/rails
 
参考: 週刊Railsウォッチ20230906: X_FORWARDED_HOSTの値がヘッダーに表示される可能性があるバグを修正
HTTP_HOSTの値によってHostがブロックされている場合にX_FORWARDED_HOSTの値がX-Forwarded-Forヘッダーで表示される可能性がある問題を修正。Hartley McGuire, Daniel Schlosser
リリースノートChangelogより
🔗 Active Job
- 🔗 PR: Fix Active Job log message to correctly report a job failed to enqueue when the adapter raises an 
ActiveJob::EnqueueErrorby bensheldon · Pull Request #47865 · rails/rails 
アダプタで
ActiveJob::EnqueueErrorが発生したときに、エンキューに失敗したジョブがActive Jobログメッセージに正しく出力されるよう修正。Ben Sheldon
リリースノートChangelogより
🔗 Railties
- 🔗 PR: Fix 
webdriverson7-0-stablebranch for issue #48973. by ruyrocha · Pull Request #48977 · rails/rails 
webdriversgemへの依存をGemfileテンプレートから除去した。Sean Doyle
リリースノートChangelogより
🔗 Changelogに更新の記載がない機能
以下はChangelogには更新の記載がありません。
      
TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ)