Properly handle scoping with has_many :through. Fixes #14537.
Add a CHANGELOG entry for the has_many :through scoping fix (See #14537 for details).
Simplify the code in target_scope
Minor improvement: Use the merge method on the relation instead of instance_eval directly.
select! renamed to avoid name collision Array#select!

Fixes #14752

Select mimics the block interface of arrays, but does not mock the
block interface for select!. This change moves the api to be a
private method, _select!.
Merge pull request #14573 from habermann24/has_many_through_fix

Properly handle scoping with has_many :through. Fixes #14537.

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/test/cases/associations/has_many_through_associations_test.rb
Merge pull request #14757 from estsauver/14752

Fix behavior of select! to be consistent with select #14752
Add CHANGELOG entry for #14757 [ci skip]
Fix syntax error
Perfer to define methods instead of calling test

This file is using this pattern already