Fix bug, when ':dependent => :destroy' option violates foreign key constraints, issue #12380
Formatting fix in AS changelog [ci skip]
Revert "Formatting fix in AS changelog [ci skip]"

This reverts commit cede0363830e28e73feafc662eccae7d1db526bb.

Reason: CHANGELOG should not be updated on docrails
Detect in-place modifications on Strings
Added rollback method to ActiveModel::Dirty
[ci skip] Add missing colon and period in initialization.md.
Add always_permitted_parameters as an option.

* This commit adds back the always_permitted_parameters
  configuration option to strong paramaters.
* The initial pull requests where this feature was added
  are the following:
  - https://github.com/rails/rails/pull/12682
  - https://github.com/rails/strong_parameters/pull/174
Merge pull request #15788 from sgrif/sg-mutable-strings

Detect in-place modifications on Strings
Merge pull request #12450 from iantropov/master

Fix bug, when ':dependent => :destroy' violates foreign key constraints

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/lib/active_record/associations/builder/association.rb
	activerecord/lib/active_record/associations/builder/has_one.rb
Talk about config.assts.version move too

Closes #15942
Note that `_will_change!` is no longer needed for AR instances

Leave the note for `ActiveModel`, since it can't yet detect mutations
(hopefully we can change this in time for 4.2). However, we now detect
mutations on all supported types in `ActiveRecord`, so we can note that
`_will_change!` is no longer needed there.
We are talking about the libraries, not the constants
MySQL doesn't works with foreign key
rename sequence only if it exists
Improve tests to use add_foreign_key DSL
Improvements per code review.

* General style fixes.
* Add changes to configuration guide.
* Add missing tests.
Update documentation for run_callbacks

In some cases run_callbacks will return nil.  I'm attempting to update the documentation for the method to clarify.
Do not change the global state of the test suite
Merge pull request #15946 from jamesprior/patch-1

Update documentation for run_callbacks
Always instrument ActiveSupport::Cache

The current approach is broken because it uses a thread local value
which means on multi-threaded environments it has to be turned on
per thread. Secondly, ActiveSupport::Notifications does not
instrument items when there are not subscribers so this flag is
unnecessary.