Releases: mirage/ocaml-conduit
Releases · mirage/ocaml-conduit
Support ocaml-tls in mirage, rework the mirage API
- Full support for
ocaml-tls.0.5.0
- Breaking API change for mirage-conduit. Now all the flows are dynamic,
the functors are becoming first-class values so no big functor to build
first.
Set TCP_NODELAY on unix domain sockets
Make Mirage_TLS an optional dependency
Make TLS optional in Conduit_mirage
, and disable it by default so that it is a developer-only option until it is properly released. It can be enabled by setting the HAVE_MIRAGE_LWT
env variable.
Plug Unix resource leaks and support latest Async_ssl
TLS compatibility
Add error message display function
Reduce debug logging by default
- Do not emit debug output when the
CONDUIT_DEBUG
variable is not set. - Do not create symlinks in a local build, which helps with OPAM pins.
- Improve ocamldoc for
Conduit_lwt_unix
.
Add native OCaml-TLS support
- Add Lwt-unix support for the native OCaml/TLS stack as an alternative
to OpenSSL. This can be activated by setting theCONDUIT_TLS
environment
variable tonative
. If this is not set and OpenSSL is available, then
OpenSSL is used by in preference to the pure OCaml implementation. - Add sexp convertors for
Conduit_lwt_unix.ctx
andConduit_mirage.ctx
and theResolver
service types. - Fix the Mirage tests to the Mirage 2.0.1+ Conduit interfaces.
- Add more debugging output when the
CONDUIT_DEBUG
variable is set on Unix. - Interface breaking: The
client
andserver
types inConduit_lwt_unix
now explicitly label the fields of the tuples with a polymorphic variant.
This allows them to remain independent of this library but still be
more self-descriptive (i.e.Port of int
instead of justint
).
Improve connection closing semantics
When terminating conduits, always close the output channel first before the input channel, so that any pending data in the underlying fd is flushed.
Significant interface improvements for Lwt, Async and Mirage
- Add an explicit
ctx
content to track every conduit's runtime state. - Allow the source interface for a conduit to be set.
- Support a
password
callback for the SSL layer (#4). - [lwt] Add stop parameters in main-loop of the server (#5).
- Add
Conduit_mirage
with Mirage functor suport. - Add ocamldoc of most interfaces.
- Add a
CONDUIT_DEBUG
environment variable to the Unix backends for
live debugging. - Add a
conn
value to the callback to query more information about the
current connection (#2). - Expose the representation of
Conduit_lwt_unix.flow
in the external signature.
This lets library users obtain the originalLwt_unix.file_descr
when using
Conduit libraries like Cohttp.