Support ocaml 5.0 deprecations (https://github.com/arenadotio/pgx/pull/129)
Missing SASL authentication impl provides an error instead of hanging (https://github.com/arenadotio/pgx/pull/122).
pgx_lwt_mirage now requires conduit 2.3 instead of 2.2 (https://github.com/arenadotio/pgx/pull/117).
The Pgx module is now wrapped, which means
Access, etc. aren't added to the global scope. The main result of this is that
Pgx_valuenow needs to be accessed as
with_connnow have an additional optional
?sslargument (see below).
Pgx_async now supports TLS connections using Conduit_async. This is enabled by default and can be controlled with the new
Improved message for authentication errors. Previously these raised
Pgx_eof, and now they raise
PostgreSQL_Error("Failed to authenticate with postgres server", additional details ...). (https://github.com/arenadotio/pgx/pull/105)
Support new Mirage-conduit timeout argument (https://github.com/arenadotio/pgx/pull/95).
Pgx_value.t is an opaque type now. Use
Pgx_value.of/toconverters. Note that these converters are not equivalent to the OCaml functions like
float_of_string, and that for bytea data, you need to use
Pgx_lwt has been renamed Pgx_lwt_unix.
Pgx.executenow uses the unnamed prepare statement. In most cases this should not affect anything, but if you were relying on Pgx not internally using the unnamed prepared statement, you will need to fix your code. If you run into this, the fix is to use
Pgx.with_preparedand name your prepared statement.
ipaddrlibrary instead of
Pgx_value.to_binaryadded for bytea data.
execute_maphelper to Pgx
execute_pipehelper to Pgx_async
execute_unithelper to Pgx
Pgx_value_corelibrary, which will allow users of Pgx_unix and Pgx_lwt to use the
Datetypes. This is still included by default in Pgx_async.
Pgx_value types now all implement
Pgx no longer assumes all strings are binary data. Strings must be valid varchar data in the database's encoding. Use
Pgx_value.of/to_binarywith bytea columns if you want binary.
Use a tail-recursive
Lwt.getloginfor the default username, since
getloginfails in some cases.
Use int64 to keep track of prepared statements just in case someone prepares several million statements in one program
Re-raise exceptions with backtraces if possible.
Pgx_async uses Async.Log for logging instead of printing directly to stderr
Use Sexplib0 instead of Sexplib
Use the Query protocol for parameterless
executeinstead of Prepare + Bind
Use the unnamed prepared statement for
ipaddrlibrary instead of
Split Pgx_lwt into Pgx_lwt_unix and Pgx_lwt_mirage
Initial release since fork from PG'OCaml.
More consistent use of async API's
Addition of Pgx.Value for hopefully easier conversion to and from DB types
Safe handling of concurrent queries (not any faster, but they won't crash)
Improved interface for prepared statements to make it harder to execute non-existent ones