Ruby on Rails 7.0.5がリリースされました。内容は主にバグ修正ですが変更量が割りと多くなっています。
Rails 7.0.5 has been released https://t.co/pIvs3ACUZI
— Ruby on Rails (@rails) May 24, 2023
英語版Changelogをまとめて見るにはGItHubのリリースタグ↓が便利です。v7.0.5タグの日付は日本時間の2023/05/25 04:25でした。
詳しくは以下のコミットリストをご覧ください。
🔗 Changelogに更新が記載されている機能
本記事では、GitHubリリースタグに掲載されているChangelogに対応するプルリクやコミットへのリンクを取り急ぎ貼りました。Changelogに記載されていない変更もありますのでご注意ください。
🔗 Active Support
TimeWithZoneにキーワード引数を渡すとArgumentErrorになる問題を修正。
Niklas Häusele
リリースノートChangelogより
🔗 Active Record
#attribute_changed?の:fromオプションと:toオプションを型キャストするよう修正。
Andrew Novoselac
columnが配列として渡されてそのカラムが存在しない場合のindex_exists?の挙動を修正。
Eileen M. Uchitelle
PostgreSQLの
timestamptzカラムでDateオブジェクトを扱えるよう修正
Alex Ghiculescu
- PR: Fix collation for changing column to non-string by skipkayhil · Pull Request #46400 · rails/rails
カラムを非文字列に変更するときのコレーション(照合順序)の扱いを修正。
Hartley McGuire
- PR: Map through subtype in PostgreSQL::OID::Arrayby jonathanhefner · Pull Request #46375 · rails/rails
PostgreSQL::OID::Array#mapで配列の各要素に対してsubtype.mapを呼び出すよう修正。
Jonathan Hefner
rails db:prepare実行時にinternal_metadataに正しい環境が保存されるよう修正。
fatkodima
参考: 週刊Railsウォッチ20230131: rails db:prepareでinternal_metadataに誤った環境が保存されていたのを修正
#coerceを実装したオブジェクトでActiveRecord::Relation#sumが非推奨警告を出さずに動作するよう修正。
Alex Ghiculescu
PostgreSQLやMySQLのキーワードと同じテーブル名を参照する外部キー名取り出しの挙動を修正。
fatkodima
disable_joinsでUUIDが使えなかった問題を修正。
Samuel Cochran
Active Recordのexplainでクエリ冒頭にコメントがあると動かなくなる問題を修正。
fatkodima
through関連付けのレコードが、中間の関連付けが読み込み済みだと正しくプリロードされない問題を修正。
Joshua Young
親子関連付けの
where.missingやwhere.associatedで追加されるテーブルエイリアスを削除する修正。
fatkodima
- PR: Fix Enumerable#in_order_ofto preserve duplicates by fatkodima · Pull Request #47805 · rails/rails
Enumerable#in_order_ofで要素の重複が残る問題を修正。
fatkodima
MySQLアダプタで
auto_incrementが主キーに効かない問題を修正。
Eileen M. Uchitelle
Rails 5.2マイグレーションの
create_tableで作ったカラムをRails 6.1で再定義できない問題を修正。
fatkodima
PostgreSQLの仮想カラムがスキーマキャッシュで正しく扱われない問題を修正。
fatkodima
2つのテーブルをjoinしたときに両方に存在するカラムでグループ化計算がおかしくなる問題を修正。
fatkodima
バイナリカラムを用いるシリアライズ属性での
change_in_place?変更検出誤りを修正。
Jean Boussier
長いテーブル名で
groupやcountの結果が正しくなくなるバグを修正。
Shota Toguchi, Yusaku Ono
仮想
datetimeカラムでデフォルトの精度が誤ってnilになっていたのを修正。この変更前は、通常の
datetimeカラムと同じデフォルトのprecisionが仮想datetimeカラムにはなく、以下の2つが誤って同等になっていた。t.virtual :name, type: datetime, as: "expression" t.virtual :name, type: datetime, precision: nil, as: "expression"この変更によってデフォルトの
precision探索が修正され、datetimeカラムが仮想と通常の両方でデフォルトのprecisionと一致するようになる。
Sam Bostock
クエリキャッシュから返される値が正しくない場合があるケースを修正。#46044を参照。
Aaron Patterson
🔗 Action View
form_forやform_withのFormBuilder#idで検索されるidセットが期待と異なる問題を修正。
Matt Polito
テンプレート探索ですべてのロケールが利用できるように修正。
Ben Dilley
selectでグループ化またはネストしたコレクションを使う場合に、html属性を子配列の末尾要素として含められるオプションを追加。<%= form.select :foo, [["North America", [["United States","US"],["Canada","CA"]], { disabled: "disabled" }]] %> # => <select><optgroup label="North America" disabled="disabled"><option value="US">United States</option><option value="CA">Canada</option></optgroup></select>Chris Gunther
🔗 Action Pack
304 Not ModifiedレスポンスでCSPヘッダーを返さないよう修正。
Tobias Kraze
参考: 週刊Railsウォッチ20220920: 304 Not ModifiedレスポンスでCSPヘッダーを返さないよう修正
Flashミドルウェアが利用できない場合の
EtagWithFlashの挙動を修正
fatkodima
参考: 週刊Railsウォッチ20220829: Flashミドルウェアが利用できない場合のEtagWithFlashの挙動を修正
send_streamのContent-Typeヘッダー値が常にStringインスタンスになるよう修正。
Elliot Crosby-McCullough
Selenium 4.8.0以降の
:capabilities非推奨警告を:optionsに変えることで解消
Ron Shinall
2文字の単一レベルTLD(トップレベルドメイン)で
domain: allを指定した場合のcookieドメインを修正。
John Hawthorn
ActiveRecord::QueryLogを使うときにコントローラやアクションやnamespaced_controllerでログが二重出力される問題を修正。
従来はconfig.active_record.query_log_tagsに渡す配列に:controllerや:namespaced_controllerや:actionが含まれていると項目が2回ログ出力されていた。
このバグは修正された。
Alex Ghiculescu
multipartリクエストでrackが発生する
EOFError例外をrescueするよう修正。
Nikita Vasilevsky
ActionDispatch::Cookiesのjsonシリアライザをrescueしてマーシャルダンプをクリアするよう修正。
この変更がないと、action_dispatch.cookies_serializerが:jsonに設定されていてアプリが:marshalでシリアライズされたcookieを読み取ろうとすると、エラーになったときにcookieがクリアされず、アプリのユーザーがブラウザでcookieを手動削除しなければならなくなる(バグについての議論は#45127を参照)。
Nathan Bardoux
🔗 Active Job
delayed_jobが使う
display_nameがフェイルセーフになるよう修正。
codez
参考: 週刊Railsウォッチ20230328: delayed_jobが使うdisplay_nameをフェイルセーフにする
ActiveRecord::QueryLogを使うときにジョブが二重出力される問題を修正。
従来はactive_record.query_log_tagsに渡す配列に:jobが含まれていると項目が2回ログ出力されていた。
このバグは修正された。
Alex Ghiculescu
🔗 Action Cable
Action Cableで、コネクション失敗時のRedisのpub/subリスナーを復旧するようになった。
Vladimir Dementyev
🔗 Action Text
永続化されていない
ActiveStorage::BlobでActionText::Attachable#as_jsonを呼び出すとエラーになる問題を修正。
Alexandre Ruban
🔗 Railties
Gemfileにpumaアプリサーバーを追加してtest/dummyを起動可能になるよう修正。
Donapieppo
参考: 週刊Railsウォッチ20221011: Gemfileにpumaアプリサーバーを追加してtest/dummyを起動可能にした
production環境でRailsコンソールのオートコンプリートがデフォルトで無効になった。
このデフォルト設定はIRB_USE_AUTOCOMPLETE=trueでオーバーライド可能。
Stan Lo
参考: 週刊Railsウォッチ20230125: production環境のRailsコンソールでIRBのオートコンプリートがデフォルトで無効になった
新規生成されたscaffoldコントローラの
destroyアクションで303 See Other statusを送信するよう修正。
Tony Drake
🔗 Changelogに更新の記載がない機能
以下はChangelogには更新の記載がありません。
TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ)
 
       
                      
注釈
#47087は以下のセキュリティ修正にも含まれています。