add include_hidden option to collection_check_boxes helper
Save has_one associations only if record has changes

Prevents save related callbacks such as `after_commit` being
triggered when `has_one` objects are already persisted and have no
changes.
Don't load test env by default
Only use BINARY for mysql case sensitive uniqueness check when column has a case insensitive collation.
Pass a base relation to build_default_scope when joining

This allows the default scope to be built using the current table alias.
Resolves #12770
typos fixes
Tweak Configuring Guide language

the fact that Rails is multi-thread by default is not very relevant. see https://github.com/rails/rails/pull/13998 [ci skip]
:scissors:

This commit also addresses rails/docrails#169 and rails/rails#14159
Improve guide for Hash#transform_keys and related methods.

[skip ci]
Fix code alignment in duplicable? guide.

[skip ci]
Improve collision explanation for Hash#transform_keys.

Based on comments at
https://github.com/rails/docrails/commit/42417b0013819e573be9ffc5402e179003156e8e#commitcomment-5527251

[skip ci]
Replace map.flatten with flat_map in actionpack
Replace map.flatten with flat_map in activerecord
Make exists? use bound values.

When we build a query with an inline value that is a numeric (e.g.
because it's out of range for an int4) PostgreSQL doesn't use an index
on the column, since it's now comparing numerics and not int4s.

This leads to a _very_ slow query.

When we use bound parameters instead of inline values PostgreSQL
raises numeric_value_out_of_range since no automatic coercion happens.
Replace map.flatten with flat_map in railties
Allow string hash values on AR order method

This behavior has almost no performance impact:

String not allowed  66.910000   0.030000  66.940000 ( 67.024976)
String allowed      69.360000   0.030000  69.390000 ( 69.503096)

Benchmarked with http://git.io/Y0YuRw.
Make CSRF failure logging optional/configurable.

Added the log_warning_on_csrf_failure option to ActionController::RequestForgeryProtection
which is on by default.
Merge pull request #14261 from MSch/bound-parameters-for-exists

Make exists? use bound values.
Merge pull request #14263 from robin850/allow_passing_string_to_order_hash

Follow up of #10732 - Allow string hash values on AR order method
quick pass over Active Record CHANGELOG. [ci skip].