Removing warning : assigned but unused variable
Do not create useless database transaction when building `has_one` association.
Merge pull request #8154 from bogdan/has_one_association_performance

Remove unwanted transaction when has one association is built
Merge pull request #8165 from arunagw/warning_removed_unused_variables

Removing warning : assigned but unused variable
update turbolinks readme link [ci skip]
recent railties changes added to the release notes [ci skip]
Rake test:uncommitted finds git directory in ancestors.

Sometimes your git directory is an ancestor of your application root
directory.

For example:
 ./repo/.git/
 ./repo/app/Rakefile

In this case rake test:uncommitted will be unable to detect your SCM.

This patch fixes this and add a test.
Make ActiveRecord::Delegation#method_missing threadsafe

Two threads may be in method_missing at the same time. If so, they might
both try to define the same delegator method.

Such a situation probably wouldn't result in a particularly spectacular
bug as one method would probably just be overridden by an identical
method, but it could cause warnings to pop up. (It could be worse if
method definition is non-atomic in a particular implementation.)

(We will also need this mutex shortly anyway, see #8127.)
Removing warning : ambiguous first argument
Test Hash#diff deprecation, also prevent deprecation message in AS tests
Merge pull request #8170 from arunagw/warning_removed_railties

Removing warning : ambiguous first argument
Merge pull request #8172 from nikitug/silent_diff_deprecation

Test Hash#diff deprecation, also prevent deprecation message in AS tests
Match classes without to_s conversions.

There is no need in `value_under_case.class.to_s` conversion since case already matches classes with `Class === value_under_case`.
Merge pull request #8173 from nikitug/match_classes_without_to_s

Match classes without to_s conversions.
Remove duplicated ConnectionHandling extension in AR::Base

Thanks @toretore.
https://github.com/rails/rails/commit/9e4c41c903e8e58721f2c41776a8c60ddba7a0a9#commitcomment-2134706
Simplify code by taking advantage of latest mocha (v0.13.0).

This only works with mocha v0.13.0 or later.

Note that this also fixes a few subtle bugs present in the current
implementation :-

* Mocha was raising a `MiniTest::Assertion` instead of a
  `Mocha::ExpectationError` as intended. The latter is not recognized by
  MiniTest as an assertion failure and so it is recorded as a test
  *error*, not a test *failure* as it ought to. This leads to
  potentially confusing output in the test results.

* Mocha verification should happen as part of the test. The verification
  of expectations is equivalent to a set of assertions. These assertions
  should happen as *part of* the test so that they have a chance to
  cause the test to fail, and not just as part of the teardown. Also if
  an assertion fails during the test, then there is no need to verify
  expectations, because only the first assertion failure is normally
  reported and all subsequent bets are off.

* Expectation verification should be counted as an assertion. Mocha
  cannot record each expectation verification as an assertion, because
  we weren't passing in an assertion counter to `#mocha_verify`.
Merge and add tests related to 5215
`#as_json` isolates options when encoding a hash. Closes #8182

Setting options in a custom `#as_json` method had side effects.
Modifications of the `options` hash leaked outside and influenced
the conversion of other objects contained in the hash.
cleanup, removed whitespace from CHANGELOG
Debugger gem doesn't work with patchlevel < 327