metal is no longer mentioned on rack guide
remove useless duplication in include test
Merge pull request #11536 from dpickett/patch-1

metal is no longer mentioned on rack guide
Merge pull request #11549 from dmathieu/test_duplication

Remove duplication in include test
Removed random dot in code sample [ci skip]
Merge pull request #11551 from skammer/patch-1

Removed random dot in ActionController docs [ci skip]
 syntax fix for f.select doc. [ci skip] .
Merge pull request #11537 from Karunakar/small_fix

syntax fix f.select doc
Merge pull request #11528 from Empact/optimistic_lock_improvement

Rebase and make fixes to #6763 "Specified column type for quote_value"
[Fixes #11512] improves cache size calculation in ActiveSupport::Cache::MemoryStore

Previously, the cache size of `ActiveSupport::Cache::MemoryStore` was calculated
as the sum of the size of its entries, ignoring the size of keys and any data
structure overhead. This could lead to the calculated cache size sometimes being
10-100x smaller than the memory used, e.g., in the case of small values.

The size of a key/entry pair is now calculated via `#cached_size`:

    def cached_size(key, entry)
      key.to_s.bytesize + entry.size + PER_ENTRY_OVERHEAD
    end

The value of `PER_ENTRY_OVERHEAD` is 240 bytes based on an [empirical
estimation](https://gist.github.com/ssimeonov/6047200) for 64-bit MRI on
1.9.3 and 2.0.

Fixes GH#11512 https://github.com/rails/rails/issues/11512
Merge pull request #11546 from swoop-inc/ss_memory_store_cache_size

[Fixes #11512] improves cache size calculation in MemoryStore
Revert "Match Dev/Prod parity for Index Page"

Showing welcome page in production can expose information, which should
not be visible on production if people don't override the default root
route.

This reverts commit b0caea29c2da9f4c8bb958019813482da297067d.
Add info about placing a new CHANGELOG entry to contributing guide
Move #11546 changelog to the top [ci skip]
Fix interactions between :before_add callbacks and nested attributes assignment

Issue #1: :before_add callback is called when nested attributes assignment assigns to existing record if the association is not yet loaded
Issue #2: Nested Attributes assignment does not affect the record in the association target when callback triggers loading of the association
Restore the use of `#add_to_target` for nested attribute updates on existing records

This requires adding a `skip_callbacks` argument to `#add_to_target`
so that we don't call the callbacks multiple times in this case,
which is functionally an application of existing association data,
rather than an addition of a new record to the association.
Refactor NestedAttributesWithCallbacksTest for clarity

1) Use `assert` and `refute` where possible.
2) Separately include the setup, subject, and assertions in each test - don't hide the tested call in an assertion method.
3) Name things based on their role rather than incidental facts about them - e.g. `@bird[1]` -> `bird_to_destroy`. `bird2_deletion_attributes` -> `destroy_bird_attributes`.
4) Use more succinct naming where possible - e.g. `birds_with_callback` -> `birds_with_add`, `@pirate_with_two_birds` -> `@pirate`