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::EnqueueError
by bensheldon · Pull Request #47865 · rails/rails
アダプタで
ActiveJob::EnqueueError
が発生したときに、エンキューに失敗したジョブがActive Jobログメッセージに正しく出力されるよう修正。Ben Sheldon
リリースノートChangelogより
Railties
- PR: Fix
webdrivers
on7-0-stable
branch for issue #48973. by ruyrocha · Pull Request #48977 · rails/rails
webdrivers
gemへの依存をGemfile
テンプレートから除去した。Sean Doyle
リリースノートChangelogより
Changelogに更新の記載がない機能
以下はChangelogには更新の記載がありません。
関連記事
The post Rails 7.0.8がリリースされました first appeared on TechRacho.
TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ)