なるようになるブログ

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

rails commit log流し読み(2025/09/04)

2025/09/04分のコミットです。

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

actionpack/CHANGELOG.md

activejob/CHANGELOG.md

activerecord/CHANGELOG.md

activestorage/CHANGELOG.md


Merge pull request #54175 from matthewd/impeller

Active Recordの修正です。

database configurationとして、新たに、keepalivemax_age、及び、min_connectionsを追加しています。また、poolmax_connectionsにリネームされています(poolはまだ使用可能)。これらは全て、connection poolの挙動のためのオプションで、keepaliveはコネクションに対して処理を行い予期せぬ切断を防止するため、max_ageは指定した期間を超えてオープンしてるコネクションをクローズするため(フェイルオーバーを円滑にするため、との事です)、min_connectionsは事前に接続する最小のコネクションプールを指定できるようになっています。


Cleanup up the 8.1 release notes

rails guideのRuby on Rails 8.1 Release Notesの修正です。

8.0でリリースされた変更が記載されいたのを削除しています。


Remove deprecated support to skipping over leading brackets in parameter names in the parameter parser

actionpack/lib/action_dispatch/http/param_builder.rbactionpack/lib/action_dispatch/railtie.rbの修正です。

deprecatedになっていた、parameter parserで最初のparameterの括弧を無視する挙動を削除しています。

Before

ActionDispatch::ParamBuilder.from_query_string("[foo]=bar") # => { "foo" => "bar" }
ActionDispatch::ParamBuilder.from_query_string("[foo][bar]=baz") # => { "foo" => { "bar" => "baz" } }

After

ActionDispatch::ParamBuilder.from_query_string("[foo]=bar") # => { "[foo]" => "bar" }
ActionDispatch::ParamBuilder.from_query_string("[foo][bar]=baz") # => { "[foo]" => { "bar" => "baz" } }

合わせて、この挙動を制御するための、Rails.application.config.action_dispatch.ignore_leading_bracketsをdeprecatedにしています。


Remove deprecated support for using semicolons as a query string separator

actionpack/lib/action_dispatch/http/query_parser.rbactionpack/lib/action_dispatch/railtie.rbの修正です。

deprecatedになっていた、query stringのseparatorにsemicolonを使用する挙動を削除しています。

Before

ActionDispatch::QueryParser.each_pair("foo=bar;baz=quux").to_a
# => [["foo", "bar"], ["baz", "quux"]]

After

ActionDispatch::QueryParser.each_pair("foo=bar;baz=quux").to_a
# => [["foo", "bar;baz=quux"]]

Tell when the deprecated code will be removed

actionpack/lib/action_dispatch/routing/mapper.rbの修正です。

route methodsのオプションにhash argumentを指定した場合のdeprecatedメッセージに、削除予定Railsのバージョンを含むよう修正しています。


Remove deprecated support to a route to multiple paths

actionpack/lib/action_dispatch/routing/mapper.rbの修正です。

deprecatedになっていた、同じrouteに複数pathを指定した場合の挙動を削除しています。


Bump dynamic segment deprecation to 9.0

actionpack/lib/action_dispatch/routing/route_set.rbの修正です。

dynamic segmentを使用した場合のdeprecationメッセージ内の削除予定Railsのバージョンを9.0に更新しています。


Remove support to set ActiveJob::Base.enqueue_after_transaction_commit to :never, :always and :default.

activejob/lib/active_job/enqueue_after_transaction_commit.rbactivejob/lib/active_job/railtie.rbの修正です。

deprecatedになっていた、Rails.application.config.active_job.enqueue_after_transaction_commit、及び、ActiveJob::Base.enqueue_after_transaction_commit:never:always及び:defaultを指定した場合の挙動を削除しています。


Remove deprecated internal SuckerPunch adapter in favor of the adapter included with the sucker_punch gem.

Active Jobの修正です。

deprecatedになっていた、SuckerPunch adapterを削除しています。なお、sucker_punch gemの方でActive Jobのサポートは入っており、引き続き、adapterにsucker_punchは使える状態です。


Tell when deprecation will be removed

activerecord/lib/active_record/associations/collection_proxy.rbactiverecord/lib/active_record/signed_id.rbの修正です。

deprecationメッセージに削除するRailsのバージョンが含まれていなかった箇所に、Railsのバージョンを含むよう修正しています。


Remove deprecated :retries option for the SQLite3 adapter

activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rbの修正です。

deprecatedになっていた、SQLite3 adapterの:retriesオプションを削除しています。


Remove deprecated :unsigned_float and :unsigned_decimal column methods for MySQL

activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rbの修正です。

deprecatedになっていた、:unsigned_float:unsigned_decimal column methodsを削除しています。


Remove deprecated :azure storage service

Active Storageの修正です。

deprecatedになっていた、:azure storage serviceを削除しています。


Deprecate sidekiq as an adapter option

activejob/lib/active_job/queue_adapters/sidekiq_adapter.rbの修正です。

組み込みのsidekiq adapterをdeprecateにしています。sidekiq側でActive Jobでadapterを提供するようになっており(sidekiq 7.3.3 移行)、今後はそちらを使用する必要があります。


BigDecimal now works with floats without precision

bigdecimal gemを最新バージョンに更新、及び、bigdecimalがprecisionの無いfloatでも動作するようになった影響で結果が変わったテストがあったのを修正しています。


Use released sdoc

Gemfileの修正です。

sdocを使用するのにGitHubのbranchを指定していたのを、rubygemsにリリースされているgemを使用するよう修正しています。


Update note in the README about new Active Job adapters

activejob/README.mdの修正です。

Active Jobでサポートしているadapterの一覧を最新の情報に更新しています。


Preparing for 8.1.0.beta1 release

各gemのバージョンを8.1.0.beta1に更新しています。