Add support for Reply-To field in mail_to helper
- Removed unused parameter to cookie serialize method and fixed usage of the same elsewhere
Merge pull request #18180 from vipulnsward/remove-unnecessary-name-passing

Removed unused parameter to cookie serialize method
Merge pull request #18107 from mkdynamic/add-reply-to-mail-to

Add support for Reply-To field in mail_to helper
Fix bug in ActionMailer guide.

When setting a mailer's default from address, you have to pass a hash
with a `:from` key; you can't pass just an email address.
Merge pull request #18183 from danbernier/master

Fix bug in ActionMailer guide.
List the Active Support Instrumentation guide in the index (as WIP)
Fix a few typos [ci skip]
Update grammar [ci skip]
Merge pull request #18190 from ef718/master

Fix grammar in Caching with Rails docs
Correct grammar to fix #18182 [ci skip]
Merge pull request #18185 from ivalkeen/add_missing_guides

List the Active Support Instrumentation guide in the index (as WIP)
Loosen test about order of initializers

This commit modifies the code (but not the purpose) of a test that checks that

> initializers are executed after application configuration initializers

Currently the test hard-codes the *exact* initializers that are expected to
occur before a custom one. This can cause the test to fail even if the
expectation still passes.

This commit loosens the test by simply checking that, in the array of
initializers, the custom initializers (called `dummy_initializer` in the
example) is executed after the last occurrence of `load_config_initializers`.
Throw :abort halts default CallbackChains

This commit changes arguments and default value of CallbackChain's :terminator
option.

After this commit, Chains of callbacks defined **without** an explicit
`:terminator` option will be halted as soon as a `before_` callback throws
`:abort`.

Chains of callbacks defined **with** a `:terminator` option will maintain their
existing behavior of halting as soon as a `before_` callback matches the
terminator's expectation. For instance, ActiveModel's callbacks will still
halt the chain when a `before_` callback returns `false`.
Deprecate `false` as the way to halt AS callbacks

After this commit, returning `false` in a callback will display a deprecation
warning to make developers aware of the fact that they need to explicitly
`throw(:abort)` if their intention is to halt a callback chain.

This commit also patches a single use of AS::Callbacks inside `railties`,
changing its result from `false` to `nil` (equivalent for the purpose of
that method), so the deprecation warning does not show up in that case.
Deprecate `false` as the way to halt AM validation callbacks

Before this commit, returning `false` in an ActiveModel validation
callback such as `before_validation` would halt the callback chain.

After this commit, the behavior is deprecated: will still work until
the next release of Rails but will also display a deprecation warning.

The preferred way to halt a callback chain is to explicitly `throw(:abort)`.
Deprecate `false` as the way to halt AM callbacks

Before this commit, returning `false` in an ActiveModel `before_` callback
such as `before_create` would halt the callback chain.

After this commit, the behavior is deprecated: will still work until
the next release of Rails but will also display a deprecation warning.

The preferred way to halt a callback chain is to explicitly `throw(:abort)`.
Deprecate `false` as the way to halt AR callbacks

Before this commit, returning `false` in an ActiveRecord `before_` callback
such as `before_create` would halt the callback chain.

After this commit, the behavior is deprecated: will still work until
the next release of Rails but will also display a deprecation warning.

The preferred way to halt a callback chain is to explicitly `throw(:abort)`.
Add config to halt callback chain on return false

This stems from [a comment](rails#17227 (comment)) by @dhh.
In summary:

* New Rails 5.0 apps will not accept `return false` as a way to halt callback chains, and will not display a deprecation warning.
* Existing apps ported to Rails 5.0 will still accept `return false` as a way to halt callback chains, albeit with a deprecation warning.

For this purpose, this commit introduces a Rails configuration option:

```ruby
config.active_support.halt_callback_chains_on_return_false
```

For new Rails 5.0 apps, this option will be set to `false` by a new initializer
`config/initializers/callback_terminator.rb`:

```ruby
Rails.application.config.active_support.halt_callback_chains_on_return_false = false
```

For existing apps ported to Rails 5.0, the initializers above will not exist,
and the option defaults to `true`. Therefore, existing apps will still accept
`return true` as a way to halt callback chains, displaying a deprecation warning.
Developers will be able to switch to the new behavior (and stop the warning)
by manually adding the line above to their `config/application.rb`.