2018/03/23分のコミットです。
CHANGELOGへの追加はありませんでした。
Merge pull request #32319 from yahonda/no_monkeypatch_for_ruby260
activesupport/lib/active_support/core_ext/uri.rbの修正です。
URI::Parser#unescapeのモンキーパッチをRuby 2.6.0未満でだけ適応するよう修正しています。
Ruby本体のunescapeメソッドで、元の文字列のEncodingがUS-ASCIIだったらpackした結果をUTF-8に変換する対応が含まれ、Ruby 2.6ではモンキーパッチが不要になった為。
参考:set UTF-8 if given URI string is ASCII
activesupport/lib/active_support/core_ext/uri.rbの修正です。
使用していない変数を削除しています。
Merge pull request #32316 from rails/fix-non-ascii-static-file-serving
actionpack/lib/action_dispatch/middleware/static.rbの修正です。
ActionDispatch::StaticクラスでpathをASCII-8BITエンコーディングで扱うよう修正しています。
rackではそもそもPATH_INFOをASCII-8BITエンコーディングのStringとして扱うのですが、FileHandler#match?メソッドでRack::Utils.escape_pathを使う事により、エンコーディングがUS-ASCIIになってしまっていました(escape_pathはUS-ASCIIエンコーディングのStringを返す為)。
その影響でエンコーディングが混在した状態になってしまっており、Encoding::CompatibilityErrorが発生する状態になってしまっていた為、ActionDispatch::Static内部ではString#bで変換し、pathはASCII-8BITエンコーディングで扱うよう統一しています。
Merge pull request #32315 from huacnlee/fix/local-cache-read-multi-entry-return
activesupport/lib/active_support/cache/strategy/local_cache.rbの修正です。
with_local_cacheメソッドのブロック内でread_multiメソッドを使用していた場合に、メソッドの返り値がraw valueではなくActiveSupport::Cache::Entryのインスタンスになってしまうバグがあったのを修正しています。
Fix that touch(:updated_at) causes multiple assignments on the column
activerecord/lib/active_record/persistence.rbの修正です。
touchメソッドにSymbolでカラム名を指定した場合にエラーになってしまうバグがあったのを修正しています。