2023/08/01分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Merge pull request #48669 from jhawthorn/faster_json_escape
Active Supportの修正です。
JSONのHTML entityのエスケープ処理について、エスケープ対象の文字をRegexp、及び、Hashで管理し、そのオブジェクトをそのままgsub!
に指定していたのを、エスケープ処理対象のString毎に個別にgsub!
するよう修正しています。後者の方が速かった為。
Merge pull request #48835 from nunosilva800/ns-rack-lint-remote-ip
actionpack/test/dispatch/request_test.rb
の修正です。
ActionDispatch::RemoteIp
middlewareをRack::Lintでチェックするよう修正しています。middlewareが Rack SPECを満たしているかどうかをCIでチェック出来るようにする為。
Merge pull request #48807 from shouichi/rails-test-line-range
railties/lib/rails/test_unit/runner.rb
の修正です。
test runnerでテストを実行する際に、行範囲を指定してのフィルタリングを出来るよう修正しています。
$ bin/rails test test/models/user_test.rb:10-20
Merge pull request #48793 from Shopify/define-attributes-initializer
activerecord/lib/active_record/railtie.rb
の修正です。
define_attribute_methods
メソッドを呼び出すinitializerで、check_schema_cache_dump_version
がtrueの場合define_attribute_methods
を実行しないよう修正しています。check_schema_cache_dump_version
がtrueの場合、schema cache load時にDBへのアクセスが発生してしまう(schema versionのチェックの処理の為)のですが、Railsアプリケーションboot時のDBアクセスは極力避けるよう対応が行われており、この処理でDBアクセスが発生するのを避ける為左記チェックが追加されています。
Add Rack::Lint
to ActionDispatch::ShowExceptions
tests
Action Packの修正です。
ActionDispatch::ShowExceptions
middlewareをRack::Lintでチェックするよう修正しています。middlewareが Rack SPECを満たしているかどうかをCIでチェック出来るようにする為。
Merge pull request #48852 from f3ndot/issue-37779-escape-literal-colons-2
activerecord/lib/active_record/sanitization.rb
の修正です。
sanitze系のメソッド(sanitize_sql_xx
)で、named bind variableが使用されている場合、コロンをエスケープするよう修正しています。
sanitize_sql_array(["TO_TIMESTAMP(:date, 'YYYY/MM/DD HH12\\:MI\\:SS')", date: "foo"]) # => "TO_TIMESTAMP('foo', 'YYYY/MM/DD HH12:MI:SS')"