Skip to content

1.8.0

Compare
Choose a tag to compare
@paurkedal paurkedal released this 24 Mar 10:31
· 292 commits to master since this release

CHANGES:

New features:

  • A matchable representation of common causes of errors on the database
    side is now available, with limitations. It focuses on conditions which
    seem most likely useful to handle. At the moment we lack extended error
    codes from SQLite3 needed to make the cause fully precise.

  • Expose the underlying error details from database client libraries.
    This is meant to be use as a last resort, and requires directly linking
    with the relevant drivers.

  • A second set of request construction operators ->., ->?, ->!, and
    ->* were introduced after experience with converting existing code.
    Given the parameter and result type they return a function which
    constructs a request directly from a query string. Avoiding the need to
    compose with @:- simplifies local opens and usage with List.map etc.

  • Environment variables are now expanded in the debug log when using the
    new request constructors introduced in 1.7.0.

  • A new ?tweaks_version connection parameter has been added to control
    when the client is ready to adapt to changes in database session
    parameters or other adjustments of the interaction with specific
    database systems.

  • Enable foreign key constraint checks for SQLite3 starting at tweaks
    version 1.8.

Fixes:

  • Fixed debug logging to pass the correct driver info to the query
    callback instead of a dummy driver info which would cause a failure if
    unsupported.

Deprecations:

  • The --> operator was renamed to -->!, with a deprecated alias, for
    consistency with the new ->! operator.

  • The old convenience interface for creating requests has been deprecated
    in favour of the new infix operators and the new query template parser.

  • Documented-only deprecations of Caqti_sql_io, Caqti_lwt_sql_io, and
    Caqti_async_sql_io have been annotated.

This release was sponsored by the OCaml Software Foundation.