In the nested_attributes plugin, initialize the parent association in a new child when the reciprocal association exists.
Minor modifications to nested_attributes reciprocal commit

Use add_reciprocal_object to set up the reciprocal, which means
that it will be setup only for reciprocal singular associations,
since other associations won't have a cached association array.

It's possible in the future that this can be extended to support
reciprocal plural associations, but I'm not sure what the corner
cases are in that case.
Fix eager loading limited associations via a UNION when an association block is used

This actually fixes a regression that first occurred in 4.10.0.
However, since 4.11.0 has already been released, there won't
be a new gem issued. Sequel's policy is to issue a new gem for
regression fixes if the regression first occurred in the latest
release.
Don't require RDoc 3.12.2 as hanna-nouveau now works with RDoc 4
Use consistent indentation
Make Dataset#insert_select on PostgreSQL respect existing RETURNING clause

In addition to the regular case, this also handles it in the
prepared statement case.
Use explicit columns when using automatically prepared SELECT statements in the prepared statement plugins

Previously, Sequel would use the same SQL in a prepared statement
as it would in a regular query, except for the placeholders.  In
most cases, this resulted in Sequel using SELECT * for SELECT
queries.  Unfortunately, databases such as PostgreSQL complain
for these types of queries if you are adding columns to a table.

This can cause problems when running migrations for a concurrently
running application that uses the prepared statements plugin. The
only previous alternatives were:

1) Don't use prepared statements while the migration code is running.
2) Shut down the application while the migration code is running.
3) Accept that some queries may fail while the migration code is
   running.

None of these alternatives were desirable.  With this change, you
can safely use the prepared statements plugin while running
migrations that add columns to existing tables.

Note that most other forms of schema modification will still cause
problems with a concurrently running application (such a renaming
a column), but those issues are not specific to the use of
prepared statements.
Add Model#set_nested_attributes to nested_attributes, allowing setting nested attributes options per-call

Previously, the default options set in the class-level
nested_attributes call were the only options that could be used.
This is obviously not friendly if you want to allow different
fields for nested attributes for different actions.

Note that this changes the internal nested_attributes API so
that instead of the reflection, a hash of metadata is passed
around.
Add Database#values on PostgreSQL to create a dataset that uses VALUES instead of SELECT

This adds DSL support for the PostgreSQL VALUES clause, which works
like a SELECT with the given rows.  This is similar to a SELECT
clause without a FROM clause, but allowing multiple rows.
Add :before_thread_exit option to Database#listen_for_static_cache_updates in pg_static_cache_updater extension

This is mostly needed to fix a race condition in the postgres
adapter specs, but I suppose it could be generally useful.
No longer depend on exact column schema hash output in the bin spec
Add :max_length entry to column schema hashes for string types

This makes it simpler to detect the maximum length across database
types.
Automatically setup max_length validations for string columns in the auto_validations plugin
Add max_length schema parsing support on SQLAnywhere
Add max_length schema parsing support on DB2
Add links to the RubyC 2014 videos
add option to open SQLite3 database read-only

from https://gist.github.com/ippeiukai/8034454
Minor cleanup for previous commit

Use typecast_value_boolean instead of !! for converting read_only
flag.  This allows you to turn it off/on using a connection
string parameter.

Also, update the RDoc method formatting and add note to database
connection guide.
Documentation fix

The method is add_hook_type, not define_hook.
Bump version to 4.12.0