Use inheritance chain instead of callbacks to increment counter caches after destroy
Merge pull request #14729 from akshay-vishnoi/doc_changes

[ci skip] Improve doc, fix grammatical issue
Remove outdated comment
Return null type format when format is not know

When requesting a controller with the following code with a unknown format:

    def my_action
      respond_to do |format|
        format.json { head :ok }
        format.any { render text: 'Default response' }
      end
    end

we should render the default response instead of raising ActionController::UnknownFormat

Fixes #14462

Conflicts:
	actionpack/CHANGELOG.md
	actionpack/test/controller/mime/respond_with_test.rb

Conflicts:
	actionpack/CHANGELOG.md
:scissors:
Make console and generators blocks works at Application instance level

Like rake tasks and runner blocks these blocks should also being shared
between applications since they are stored at the classes.

Fixes #14748
cache scope building on associations

SQL statements for querying associations are now cached
oops. should probably double check in the DCL
The Association Relation should use `empty?` and `size` from Relation.

968c581ea34b5236af14805e6a77913b1cb36238 have introduced this bug #14744
on Association Relation when the method `empty?` or `size` was called.

Example:
  # Given an author that does have 3 posts, but none of them with the
  # title 'Some Title'
  Author.last.posts.where(title: 'Some Title').size
  # => 3

It was occurring, because the Association Relation had implemented these
methods based on `@association`, this way giving wrong results.

To fix it, was necessary to remove the methods `empty?` and `size` from
Association Relation. It just have to use these methods from Relation.

Example:
  # Given an author that does have 3 posts, but none of them with the
  # title 'Some Title'
  Author.last.posts.where(title: 'Some Title').size
  # => 0
  # Now it will return the correct value.

Fixes #14744.
Make sure the column_name is different from 'all'.

968c581ea34b5236af14805e6a77913b1cb36238 have fixed the EagerLoadTest, but
not in the correct way.

The problem was when `empty?` or `size` was called on relation. It was
triggering `count(:all)`, which was passing `:all` as the column name to `count`
on Calculations.

On the other hand, the method `calculate` on Calculations was calling
`construct_relation_for_association_calculations` instead of `perform_calculation`,
because `has_include?` was returning `true` since `column_name` was present.

To prevent calling the wrong method to perform the calculation, we have to check
if the `column_name` is present and if it is different from `:all` (which is now used
to correctly do `count` with `select`).

More information here: https://github.com/rails/rails/commit/968c581ea34b5236af14805e6a77913b1cb36238#commitcomment-6006135
Merge pull request #14642 from tgxworld/fix_notifications_not_unsubscribing

Fix subscriptions not being unsubscribed.
Merge pull request #14728 from stomar/assertion-msg

Remove surplus period from assertion messages
[ci skip] Add missing end in one of the examples in Migrations.md.
Merge pull request #14758 from JuanitoFatas/migrations-md

[ci skip] Add missing end in one of the examples in Migrations.md.
use YAML.load_file in database tasks example

rather than YAML.load(File.read(path)). YAML.load_file is also used in
guides/rails_guides/helper.rb since 2011, the only other precedent I could find.
Merge pull request #14756 from laurocaetano/fix-count-on-association-relation

Fix count on association relation (calls to empty and size).
Merge pull request #14762 from dwo/master

use YAML.load_file in database tasks example
Merge pull request #14745 from razum2um/plain-text-diagnostics

Display diagnostics in text format for xhr request
[ci skip] Use valid current config in example

`reaping_frequency` is used in Active Record `reap_frequency` is not
use cache queries for hm:t associations