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でカラム名を指定した場合にエラーになってしまうバグがあったのを修正しています。