2024/05/14分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Merge pull request #51651 from heka1024/support-duration-in-xml
activesupport/lib/active_support/xml_mini.rbの修正です。
ActiveSupport::XmlMiniでduration typeをサポートするよう修正しています。
Development of Rails 8.0 starts now
gemのバージョンを8.0.0.alphaに変更しています。合わせて、migrationのバージョンやdoc内のRailsのバージョンを表示している箇所もまとめて8.0.0に更新しています。
Reapply "Rails 8 will target Ruby 3.3+ only for new apps"
railties/lib/rails/generators/rails/app/templates/Gemfile.ttの修正です。
rails newで生成されるGemfileからerror_highlight gemを削除しています。Rails 3.2未満向けの対応であり、Rails v8.0.0ではRuby 3.3+のみサポートをする予定の為。
CHANGELOGの修正です。
Rails 7.2向けの変更をまとめて削除しています。
Add name to DevContainer compose file
railties/lib/rails/generators/rails/app/templates/.devcontainer/compose.yaml.ttの修正です。
DevContainerのcompose fileでnameにアプリケーション名を指定するよう修正しています。 nameの指定が無いとフォルダ名を使用してvolume名を作成するのですが、それだと複数プロジェクトで同じ名前になってしまう可能性があり、違うプロジェクトで同じvolumeが使われるのを避けるため、nameを指定するようにしています。
.rubocop.ymlの修正です。
TargetRailsVersionを明示的に指定するよう修正しています。Rails 8.0.0.alphaが8.alphaに解釈されてしまうバグがあり、そのための対応ととして明示的に指定したとのことです。
Point user to devcontainer for containerized dev environment
railties/lib/rails/generators/rails/app/templates/Dockerfile.ttの修正です。
dev環境でのコンテナの開発については、https://guides.rubyonrails.org/getting_started_with_devcontainer.html を参照する旨コメントを追加しています。
Merge pull request #51765 from Shopify/refactor-devcontainer-implementation
railtiesの修正です。
デフォルトでサポートするDB adapterからoracle、sqlserver、及び、JRubyのadapterを削除しています。今後サポートするのはsqlite3, mysql, postgresql 及び trilogyのみになっています。
railties/CHANGELOG.mdの修正です。
先のサポートするDB adapterを変更した対応のエントリーを削除しています。Rails 7.2に含める対応で、8.0のCHANGELOGには不要なため。
Merge pull request #51766 from Shopify/revert-actionable-errors-retry
pendingになっているmigrationがあるなどのActionable Errorがテスト実行時に発生した場合に、そのエラーの解消をターミナルから指定&テストの再実行を行えるよう対応した、Retry ActionableErrors when running testsをRevertしています。実装上にいくつか問題があったため、とのことです。
Add Highlights section in the Rails 7.1 release notes
rails guideのRuby on Rails 7.1 Release Notesの修正です。
Rails 7.1 release notesにHighlightsセクションを追加しています。
Merge pull request #51787 from fatkodima/fix-touch_all-with-aliased-attribute-for-update
activerecord/lib/active_record/timestamp.rbの修正です。
ActiveRecord::Relation#touch_allにalias_attributeで定義しているattributeを指定出来るよう修正しています。
Remove jruby and oracle related gems from Gemfile
Gemfileの修正です。
jrubyとoracle 関連のgemを削除しています。先のDB adapterの変更に伴いRails本体には不要になったため。
Change BatchEnumerator#destroy_all to return the total number of affected rows
activerecord/lib/active_record/relation/batches/batch_enumerator.rbの修正です。
BatchEnumerator#destroy_allの戻り値を、削除したレコードの件数を返すよう修正しています。
Fix PostgreSQL Cidr#change?: NoMethodError: undefined method prefix for nil
activerecord/lib/active_record/connection_adapters/postgresql/oid/cidr.rbの修正です。
PostgreSQLでCIDR columnを使用している場合に、変更前の値がnilの場合に、変更されたかどうかのチェック処理でNoMethodErrorがraiseしてしまうバグがあったのを修正しています。
Add Kamal by default to Rails 8 (#51798)
railtiesの修正です。
rails newで新規にアプリケーションを作成した場合に、Kamal用の設定(gemとconfig/deploy.yml)を含むよう修正しています。
参考:Kamal — Deploy web apps anywhere
Only serialize associations that were loaded
activerecord/lib/active_record/marshalling.rb、
activerecord/lib/active_record/message_pack.rbの修正です。
serializeされたassociationsをloadした場合に、associationのloaded?が誤った結果を返してしまうバグがあったのを修正しています。
Eliminate lease_connection call in cached_find_by
activerecord/lib/active_record/core.rbの修正です。
cached_find_byメソッド内にlease_connectionを使用している箇所が残ってしまっていたのを修正しています。
railties/CHANGELOG.mdの修正です。
Lintでエラーになっている箇所があったのを修正しています。
Remove deprecated problem from local dev guide
rails guideのInstalling Rails Core Development Dependenciesの修正です。
openssl@3 + mysql gemのセットアップが上手くいかなかった場合の対応の説明を削除しています。最新のmysql gemだと発生しない問題な為。