Merge pull request #16054 from rails/revert-16003-sg-refactor-sqlite3-strings

Revert "Use a type object for type casting behavior on SQLite3"
Add a `required` option to singular associations

In addition to defining the association, a `required` association will
also have its presence validated.

Before:

```ruby
belongs_to :account
validates_presence_of :account
```

After:

```ruby
belongs_to :account, required: true
```

This helps to draw a distinction between types of validations, since
validations on associations are generally for data integrity purposes,
and aren't usually set through form inputs.
Merge pull request #16056 from sgrif/sg-required-associations

Add a `required` option to singular associations
CHANGELOG and release notes entry for #16056
Add release notes entry for #15819 [ci skip]
Use the type object for quoting PG Ranges
`Time.today` -> `Date.today` in guides. [ci skip]

Removed mentions of non-existent methods, also added a mention for
`Date.current`, which is analagous to `Time.current`. Closes #16061.
Remove *all* references to `Time.yesterday` [ci skip]
Only reference time specific methods in the time section [ci skip]
[ci skip] add guide for ActiveModel::Naming
Merge pull request #16035 from sgrif/sg-range-types

Use the type object for quoting PG Ranges
Re-enable foriegn key tests on MySQL

This reverts commit e84799d, e31104c and e6ca8e2
If our connection is explicitly non-strict, tell MySQL

We default to making the connection strict, but have historically relied
on the MySQL default when we want it to be non-strict. On some (recent?)
versions of MySQL, new connections default to being strict, so if we've
been told 'strict:false', we're obliged to pass that on.

This fixes a test failure that we've seen turn up on relatively-new
development machines, so we do already have a test covering it.
Fix mysql/mysql2 failing with FK constraint errors

One of the author fixture we have ("david") references an author address by ID.
Since we disable FK checks when inserting fixtures, this is all fine until we
try to update it, at which point MySQL would complain about the missing row
referenced by the `author_address_id`.

[Godfrey Chan, Matthew Draper]
Merge pull request #16065 from matthewd/mysql-explicit-non-strict

If our connection is explicitly non-strict, tell MySQL
Merge pull request #16059 from jenncoop/json-serialized-attr

Fixed issue with ActiveRecord serialize object as JSON

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/lib/active_record/attribute_methods/serialization.rb
Revert "Merge pull request #16059 from jenncoop/json-serialized-attr"

This reverts commit a03097759bd7103bb9db253e7ba095f011453f75.

This needs more work before it would work correctly on master.
[ci skip] Concludes changelog links in the bottom.
This way when we do next release notes, this would be easier to copy and change.
Merge pull request #16068 from JuanitoFatas/4-2-changelogs

[ci skip] Concludes changelog links in the bottom.
Merge pull request #16044 from jjb/patch-1

[ci skip] link directly to ActionMailer Previews documentation