Use ActionView::OutputBuffer#safe_append= from templates
avoid extra method calls for appending newlines

before:

        ');@output_buffer.append= ( content_icon row[:content] );@output_buffer.safe_concat('
');@output_buffer.safe_concat('        ');@output_buffer.append= ( spinner_img );@output_buffer.safe_concat('
');@output_buffer.safe_concat('      </td>
      <td class="content">
        ');@output_buffer.append= ( content_link row[:content] );@output_buffer.safe_concat('
');@output_buffer.safe_concat('      </td>
      <td class="message">
');

after:

        ';@output_buffer.append=( content_icon row[:content] );@output_buffer.safe_append='
        ';@output_buffer.append=( spinner_img );@output_buffer.safe_append='
      </td>
      <td class="content">
        ';@output_buffer.append=( content_link row[:content] );@output_buffer.safe_append='
      </td>
      <td class="message">
';
+ Add test for auto timestamps update of both old & new parent records
Modifies belong_to touch callback to touch old associations also #9091
Exception handling for controllers using ActionController::Live

Any exceptions that occured at the view or controller level for a
controller using ActionController::Live would cause the server to either
hang with an open socket indefinitely, or immediately crash (depending
on whether the server was launched with rails s or directly). Changed
the behavior of exceptions to act the same as streaming templates for
html requests, and allow for an on_error callback if needed.
rails commands even if bin/rails is a gem stub
failure to parse params should trigger a 400 Bad Request
bugfix, when matching multiple paths with `get`, `post`, ...

This problem was introduced with:

https://github.com/rails/rails/commit/d03aa104e069be4e301efa8cefb90a2a785a7bff
routing shorthand syntax works with multiple paths

Closes #9913.

We need to expand the match shorthand syntax for every path.
Revert grep to select since they are not the same

A previous commit swapped out a call to select for a call to grep in
time_zone_options_for_select. This behavior actually causes the
regexp priority option to stop working.

ActiveSupport::TimeZone overrides the =~ operator which is what the
select block was using previously. Enumerable#grep
checks pattern === element and in this case that would be /US/ ===
ActiveSupport::TimeZone which does not work because
ActiveSupport::TimeZone does not supply an implicit converting to_str
method, only an explicit to_s method.

It would be impossible to provide a to_str method that behaves
identically to the =~ method provided on ActiveSupport::TimeZone
so the only option is to revert back to using select with =~.
Add regression test for TZ grep

Added a regression test that will fail if anyone tries to change
time_zone_select to use grep again thinking it will work when it does
not.
script/rails could never be from bundler
need to delete bin, not binstub, update wording
Raise an exception when unserialization fails due to a missing class
Improve poor security recommendation in docs

As reported in #9960, the current documentation recommends an insecure practice for
key generation from a password (a single round of SHA-256). The modified documentation
uses ActiveSupport::KeyGenerator to perform proper key stretching.
Allow transparent upgrading of legacy signed cookies to encrypted cookies; Automatically configure cookie-based sessions to use the best cookie jar given the app's config
improve readability
change merge to merge!
reverts changes to Rails.version made in #8501
move tests for NamedScope and DefaultScope under test/cases/scoping/

The scoping/default.rb and scoping/named.rb got moved under scoping/ in
commit 2b22564c4efaa63d4bbc006762838c4025c1bdca,
but the tests never did.