2020/03/20分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
actiontext/CHANGELOG.md
activejob/CHANGELOG.md
Fix possible XSS vector in JS escape helper
actionview/lib/action_view/helpers/javascript_helper.rb
の修正です。
escape_javascript
メソッドでドル記号($
)とバッククォート(""
)もエスケープするよう修正しています。
escape_javascript
した値をそのまま変数に代入するような場合(下記のような場合)にXSSが出来てしまう可能性がある為。
<script>let a = `<%= escape_javascript unknown_input %>`</script>
参考: [CVE-2020-5267] Possible XSS vulnerability in ActionView
Remove extra loop in view_assigns (#38766)
actionpack/lib/abstract_controller/rendering.rb
の修正です。
view_assigns
メソッドのループ処理を減らすようリファクタリングしています。
Use array subtraction to compute variables of interest in view_assigns
actionpack/lib/abstract_controller/rendering.rb
の修正です。
view_assigns
メソッドでprocted varかどうかのチェックをループ内で行わないようリファクタリングしています。
Merge pull request #37951 from t0yohei/add-missing-action-to-action-text
actiontext/lib/action_text/attribute.rb
の修正です。
text contentが存在するかのチェックを、content name + ?
で行えるよう対応しています。
Handle db:rollback and db:rollback:[NAME] for multi-db apps
activerecord/lib/active_record/railties/databases.rake
の修正です。
db:rollback
で複数DB向けのtask(db:rollback:[NAME]
)を追加するよう修正しています。
今後、複数DBを使用しているアプリケーションでは上記taskを使用する事が推奨されており、複数DBでDBの指定無しのdb:rollback
を使用するとexceptionがraiseされるようになっています。
Merge pull request #38749 from etiennebarrie/perform_enqueued_jobs_only_once
activejob/lib/active_job/test_helper.rb
の修正です。
perform_enqueued_jobs
メソッドをblock指定せずに実行した場合に、実行したjobをqueueから削除するよう修正しています。
perform_later
+ perform_enqueued_jobs
を複数回実行する場合に、先に実行したjobが再度実行されてしまうのを防ぐ為。
fix StiAutoloading example code
rails guideのAutoloading and Reloading Constants (Zeitwerk Mode)
の修正です。
Single Table Inheritance
の項にあるSTIをpreloadするexampleコードで、カラム名を取得する処理でunscoped
を指定するよう修正しています。取得処理に使用するクラスでdefaul scopeが指定されている場合にエラーになってしまう可能性がある為。
Add Date and Time #yesterday?
and #tomorrow?
(#37625)
activesupport/lib/active_support/core_ext/date_and_time/calculations.rb
の修正です。
オブジェクトの時間が明日 / 昨日かをチェックするためのtomorrow?
/ yesterday?
メソッドを追加しています。合わせて、それらのaliasとしてnext_day?
/ prev_day?
メソッドも