Fix that a collection proxy could be cached before the save of the owner, resulting in an invalid proxy lacking the owner’s id.

Absent this fix calls like: owner.association.update_all to behave unexpectedly because they try to act on association objects where
owner_id is null.

more evidence here: https://gist.github.com/Empact/5865555
```
Active Record 3.2.13
-- create_table(:firms, {:force=>true})
   -> 0.1371s
-- create_table(:clients, {:force=>true})
   -> 0.0005s
1 clients. 1 expected.
1 clients updated. 1 expected.
```

```
Active Record 4.0.0
-- create_table(:firms, {:force=>true})
   -> 0.1606s
-- create_table(:clients, {:force=>true})
   -> 0.0004s
1 clients. 1 expected.
0 clients updated. 1 expected.
```
Allow authentication header to not have to specify 'token=' key.

Fixes: https://github.com/rails/rails/issues/17108.
Add a section about job testing [ci skip]

* Cover lower level job testing (assertions about the execution of the
  job itself).
* Add a table with the custom assertions provided by Active Job's
  `TestHelper` module.
* Add an example testing job queuing inside a model
`secret_token` is now saved in `Rails.application.secrets.secret_token`

- `secrets.secret_token` is now used in all places `config.secret_token` was
  - `secrets.secret_token`, when not present in `config/secrets.yml`,
    now falls back to the value of `config.secret_token`
  - when `secrets.secret_token` is set, it over-writes
    `config.secret_token` so they are the same (for backwards-compatibility)
  - Update docs to reference app.secrets in all places
    - Remove references to `config.secret_token`, `config.secret_key_base`
- Warn that missing secret_key_base is deprecated
- Add tests for secret_token, key_generator, and message_verifier
  - the legacy key generator is used with the message verifier when
    secrets.secret_key_base is blank and secret_token is set
  - app.key_generator raises when neither secrets.secret_key_base nor
    secret_token are set
  - app.env_config    raises when neither secrets.secret_key_base nor
    secret_token are set
- Add changelog

Run focused tests via
ruby -w -Itest test/application/configuration_test.rb -n '/secret_|key_/'
Delegate comparison operator to value
Correct test description for large integer test
Merge pull request #17551 from y-yagi/fix_command_line_guide

[ci skip] modify default host in command line guide
docs, the abstract data type `:timestamp` was removed. See #15184 [ci skip]
remove the last traces of OpenBase from our codebase. [ci skip]
pg tests, only execute what's necessary.
pg tests, get rid of `sql_types_test.rb`.
Guides: Corrected name for assigns key [ci skip]

- Integration test example is now using 'articles' name
  for both path and assigns key.
Merge pull request #17552 from jipe/master

Guides: Corrected name for assigns key [ci skip]
default scopes should break the cache on has_many.

if you specify a default scope on a model, it will break caching.  We
cannot predict what will happen inside the scope, so play it safe for
now.  fixes #17495
Merge pull request #17493 from petewest/duration-comparable

Delegate comparison operator to value
[ci skip] Fix line break on command line guide
default scopes should break the cache on singulur_association.

fixes #17495
Merge pull request #17476 from robin850/job-testing

Add a section about job testing [ci skip]
Merge pull request #17559 from alfa-jpn/fix/singular_association_cache

default scopes should break the cache on singulur_association.
Merge pull request #17557 from yui-knk/fix/command_line_guide

[ci skip] Fix line break on command line guide