add include_hidden option to collection_check_boxes helper
Save has_one associations only if record has changes

Prevents save related callbacks such as `after_commit` being
triggered when `has_one` objects are already persisted and have no
changes.
Don't load test env by default
Only use BINARY for mysql case sensitive uniqueness check when column has a case insensitive collation.
Pass a base relation to build_default_scope when joining

This allows the default scope to be built using the current table alias.
Resolves #12770
Updating select helper doc [ci skip]
Ensure LookupContext in Digestor selects correct variant

Related to: #14242 #14243 14293

Variants passed to LookupContext#find() seem to be ignored, so
I've used the setter instead: `finder.variants = [ variant ]`.

I've also added some more test cases for variants. Hopefully this
time passing tests will mean it actually works.
Run ActiveModel test suites in random order.

This gets the whole ActiveModel test suites working even if
`self.i_suck_and_my_tests_are_order_dependent!` is disabled
in `ActiveSupport::TestCase`.

Two places are found that potentially leak global state. This patch
makes sure states are restored so that none of the changes happen in
a single test will be carried over to subsequence tests.
Merge pull request #14315 from zuhao/activemodel_tests_in_random_order

Run ActiveModel test suites in random order.
Enhance readability of ActionView DateHelper#distance_of_time_in_words

Refactor numerical constants to module constants which give the numbers
a contextual meaning. This commit aims to provide quicker understanding
for part of the implementation of the
DateHelper#distance_of_time_in_words method.
Merge pull request #14334 from kennym/master

Enhance readability of ActionView DateHelper#distance_of_time_in_words
Cleanup Parrot after each test.
Merge pull request #14332 from tgxworld/autosave_association_test

Delete instances of Parrot after each test.
Fix 'fields_for' doc typo.
Merge pull request #14341 from keikun17/master

fix minor typo 'fields_for'. [ci skip]
Whitespaces
Do proper adapter check
Change the assertions depending in the database adapter

This will avoid the confusing flunk logic
The 4.1 release notes is already a thing so lets show in the guides
links
mysql adapter also fails with a number bigger than int