なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2024/05/14)

2024/05/14分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activesupport/CHANGELOG.md

railties/CHANGELOG.md

activerecord/CHANGELOG.md


Merge pull request #51651 from heka1024/support-duration-in-xml

activesupport/lib/active_support/xml_mini.rbの修正です。

ActiveSupport::XmlMiniduration 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+のみサポートをする予定の為。


Clean CHANGELOG for 8.0

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を指定するようにしています。


Fix rubocop

.rubocop.ymlの修正です。

TargetRailsVersionを明示的に指定するよう修正しています。Rails 8.0.0.alpha8.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からoraclesqlserver、及び、JRubyのadapterを削除しています。今後サポートするのはsqlite3, mysql, postgresql 及び trilogyのみになっています。


This will be released in 7.2

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_allalias_attributeで定義しているattributeを指定出来るよう修正しています。


Remove jruby and oracle related gems from Gemfile

Gemfileの修正です。

jrubyoracle 関連の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.rbactiverecord/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を使用している箇所が残ってしまっていたのを修正しています。


Appease the linter

railties/CHANGELOG.mdの修正です。

Lintでエラーになっている箇所があったのを修正しています。


Remove deprecated problem from local dev guide

rails guideのInstalling Rails Core Development Dependenciesの修正です。

openssl@3 + mysql gemのセットアップが上手くいかなかった場合の対応の説明を削除しています。最新のmysql gemだと発生しない問題な為。