Verify that route constraints respond to the expected messages instead of silently failing to enforce the constraint
dont use belongs_to as it creates assemblies_id and parts_id
Fix bugs with changed attributes tracking when transaction gets rollback
Fix Hash#deep_merge bug and improve documentation — resolves #12738

Previously merging into a hash with a falsy value would not result in
the merge-block being called. The fix is simply to check for presence
of the key in the hash.

The documentation example for `deep_merge` now appropriately
demonstrates what a deep merge does.
Stringify variables names for mysql connections

For mysql2/mysql adapters, `sql_mode` variable name set in `database.yml`
as string, was ignored and `sql_mode` was set to use strict mode.

Fixes #14895
Fixed custom validation context bug where child
associations were not being saved.

Fixes #13854.

[Eric Chahin, Aaron Nelson, & Kevin Casey]
[ci skip] Security guide clarity.
Merge pull request #14931 from heironimus/security_guide_clarity

[ci skip] Security guide clarity.
always use File.join
Merge pull request #14932 from phoet/use_file_join

always use File.join in asset_path
Merge pull request #14896 from jetthoughts/14895_overide_strict_by_sql_mode

Symbolize variables of mysql/mysql2 connection configuration

Conflicts:
	activerecord/CHANGELOG.md
never merge url options in to the first data hash

if you want options, don't mix them with the first hash, just pass them
all in with the second hash
always pass options to the _url method
only add the optiosn if they are not empty

I think this is wrong, but it gets the build passing for now. We should
always add options, but we need to make more guarantees about how the
underlying url helper is called
Form_tag_helper grammar fix [skip ci]
Merge pull request #14939 from jonatack/patch-8

Form_tag_helper grammar fix [skip ci]
Enhance a bit a few changelog entries [ci skip]
Follow up to 38ad5438 [ci skip]

This commit adds new lines between titles, paragraphs and code blocks
for an easier reading.

Moreover, in order to be consistent with the other guides, let's remove
the sharps on the right side of the different titles.

The "Running a Single Test" part was also explained after the "Testing
Active Record" one which shows how to run a single test under the scope
of a specific adapter.

Finally, let's explain the `-n` option to run a specific test method.
[ci skip] Update guides license to CC BY-SA 4.0 International.

Benefits: https://creativecommons.org/version4
Added link for 4.1 guides on edge guide [ci skip]