Restore test deliveries for ActionMailer.
Handle client disconnect during live streaming

.. even when the producer is blocked for a write.
Merge pull request #15452 from matthewd/live-abort

Handle client disconnect during live streaming
Merge pull request #15545 from zuhao/refactor_actionpack_assert_select_test

Restore test deliveries for ActionMailer.
Ignore distressingly-frequent segfaults on this build

Not sure what's causing them suddenly, but it seems unlikely there's
much we can do about it. For the small amount of coverage this
particular job gains us, it's hurting us more, by making CI failures
unremarkable.
Update migrations.md

default column type modifier
Merge pull request #15571 from kalmanh/patch-1

Update migrations.md
Mail 2.6.1 silences excessive warnings; remove Gemfile hack

Completes https://github.com/rails/rails/pull/15493

Revert "For our build, stick with mail 2.5.x for now"

This reverts commit b8f586a094c104006d29a87fee0d8b48d0af2d14.
Merge pull request #15573 from bf4/mail_2_6_1_released

Mail 2.6.1 silences excessive warnings; remove Gemfile hack
pg guide, add index to PostgreSQL array example. [ci skip]
Remove workaround for non-lazy serialize in tests

`serialize` is now lazy, so the workaround is no longer needed.
Remove a long gone :order option from has_one's valid_options.
Merge pull request #15588 from thedarkone/remove-has-one-order-option

Remove a long gone :order option from has_one's valid_options
Make `_before_type_cast` actually be before type cast

- The following is now true for all types, all the time
  - `model.attribute_before_type_cast == given_value`
  - `model.attribute == model.save_and_reload.attribute`
  - `model.attribute == model.dup.attribute`
  - `model.attribute == YAML.load(YAML.dump(model)).attribute`
- Removes the remaining types implementing `type_cast_for_write`
- Simplifies the implementation of time zone aware attributes
- Brings tz aware attributes closer to being implemented as an attribute
  decorator
- Adds additional point of control for custom types
Do not try to set the foreign_key again on has_many through

Integration tests are inside protected_attributes test suite.

Fixes #15496
Fixes rails/protected_attributes#35
Merge pull request #15591 from sgrif/sg-rm-write-attribute

Make `_before_type_cast` actually be before type cast
Merge pull request #15587 from sgrif/sg-remove-workaround

Remove workaround for non-lazy serialize in tests
Use an actual identity type in AR::Result#identity_type

We should be able to rely on this object implenting the full type
interface.
Merge pull request #15586 from sgrif/sg-identity-type

Use an actual identity type in AR::Result#identity_type
Rename `type_cast` to `type_cast_from_database`

In some cases there is a difference between the two, we should always
be doing one or the other. For convenience, `type_cast` is still a
private method on type, so new types that do not need different behavior
don't need to implement two methods, but it has been moved to private so
it cannot be used accidentally.