Skip to content

2.1.0

Compare
Choose a tag to compare
@paurkedal paurkedal released this 19 Feb 08:44
· 15 commits to master since this release

CHANGES:

  • There is now TLS support for PGX. The networking code (for PGX) was
    revised in the process, in particular the EIO variant is now buffered,
    which improves performarce. TLS implemantions are shipped as separate
    packages (caqti-tls*) but caqti-tls-async, caqti-tls-eio, and
    caqti-tls-lwt should be considered experimental and will be omitted
    from the OPAM release for now. On the other hand, caqti-mirage now
    ships with built-in TLS support for PGX.

  • Connect functions now accept an optional configuration. For the time
    being, this is used for TLS parameters and for the optional
    tweaks_version argument, which is still available for backwards
    compatibility.

  • The newly introduced Caqti_query.qprintf and associated formatters
    have been moved to a separate module Caqti_query_fmt (#108), to limit
    clashes when used in local open, and since the formatters were nominally
    underqualified.

  • Constants of any field type can now be embedded in queries using the new
    Caqti_query.V constructor and associated shortcuts. This allows
    taking advantage of driver-specific encoders, e.g. to correctly convert
    a Ptime.Span.t to the representation expected by the target database
    system.

  • Equality with type unification evidence is now available for
    Caqti_type.t and Caqti_type.Field.t. The equality type introduced
    for the purpose is compatible with Type.eq from OCaml 5.1, but will
    not be aliased yet. This required a backwards incompatible adjustment
    of the Caqti_type.Product constructor.

  • Added tuples type constructors with arity up to 12.

  • Added multi-statement parser (Caqti_query.angstrom_list_parser)
    intended for loading SQL schema files.

  • The new caqti.plugin sublibrary is a drop-in replacement for the
    caqti-dynload package. It is based on the dune-site.plugin library.
    Please try it and report back if there are issues.

  • Some updates to external dependencies, esp. we are now at EIO 0.12+.

  • Fixed lacking details in error messages related to driver load failures.

  • Fixed uncaught exceptions for PGX (#113).