Skip to content

Releases: mirage/ocaml-conduit

Support latest Async and improve IPv4/6 resolution logic

06 Jan 16:28
Compare
Choose a tag to compare
  • Favour resolving over IPv4 instead of IPv6, if both are available
    and one has to be chosen. (#245 via @rixed)
  • Fix some warnings with the dummy Lwt_unix_ssl module.
  • Add a direct dependency on xenstore for mirage-conduit.
  • Support latest Async v0.10.0 interfaces (no more Async.Std).

v1.0.2

14 Sep 11:08
Compare
Choose a tag to compare

v1.0.2 (2017-09-13)

  • Fix regression with TLS/SSL backend: there is no need to set CONDUIT_TLS
    manually when using tls (#234, @hcarty)
  • Update to lwt.3.0.0 (#236, #241, @rgrinberg and @samoht)
  • Fix regression in linking with the launchd backend (#240, @samoht)

Fix mirage-conduit linkage

25 Jul 21:54
Compare
Choose a tag to compare

Fix linkage of mirage-conduit with apps, as a tls.mirage dependency was missing in the mirage-conduit-3.0.0 release (#232 by @samoht)

Port to jbuilder and separate opam packages

23 Jul 11:53
Compare
Choose a tag to compare

Port build to jbuilder, and break up OPAM packages into multiple
independent packages instead of being optional dependencies against
the main conduit package. This makes it significantly easier to
depend on precisely the libraries you need, but requires porting
applications to use the new ocamlfind and opam scheme.

The new package layout is:

  • conduit: the main Conduit module
  • conduit-lwt: the portable Lwt implementation
  • conduit-lwt-unix: the Lwt/Unix implementation
  • conduit-async the Jane Street Async implementation
  • mirage-conduit: the MirageOS compatible implementation

In each of these packages, the opam and ocamlfind package
names are now the same, so you will need to rename the former
subpackages such as conduit.async to conduit-async. The
implementation is otherwise the same, so no other code changes
should be required.

In return for these breaking changes to the packaging, it is
now significantly easier to depend on a particular backend,
also for us to rev the interfaces towards a stable 1.0 release.
Jbuilder also builds the source tree around 4x faster than it
did previously.

There are still some optional dependencies remaining, most
notably the tls and ssl packages. If they are present,
then conduit will be compiled with TLS support.

Port to jbuilder

29 Jun 12:16
Compare
Choose a tag to compare
Port to jbuilder Pre-release
Pre-release

This breaks out conduit into five separate OPAM packages:

  • conduit
  • conduit-async
  • conduit-lwt-unix
  • conduit-lwt
  • mirage-conduit

This is a prerelease to test conduit on mirage/mirage-dev

MirageOS 3 compatibility

24 Jan 22:24
Compare
Choose a tag to compare
  • support MirageOS 3, and drop support for earlier versions (#203, #202)

CA Certificates in Async. Fix leaks

12 Feb 02:49
Compare
Choose a tag to compare
  • Add support for CA certificates in Conduit_async.serve.
  • Fix file descriptor leak in Lwt backend (#101 from @hannesm).
  • Server in Conduit_lwt_tls waits for a user callback to finish
    before accepting more connections. Instead, it should only wait
    until the connection is accepted and detach client callback (#97).
  • Close socket when ssl_accept fails, e.g. when cipher negotiation
    mismatch (#104).

Support MacOS X launchd

14 Oct 16:54
Compare
Choose a tag to compare

Add a Launchd argument for the Conduit_lwt_unix server listener to support the MacOSX service launcher (#96).

Improvement to the MirageOS API, and expose Async SSL's server version

15 Sep 15:22
Compare
Choose a tag to compare
  • Expose a new functor Conduit_mirage.With_tcp (#92, by @Drup)
  • Expose a new functor: Resolver_mirage.Make_with_stack to build a DNS
    resolver using an existing network stack (#92, by @Drup)
  • Expose Resolver_mirage.S, the signature for Mirage's conduit resolvers than
    can perform DNS lookups. These resolvers now expose their DNS implmentation
    as a submodule (#92, by @Drup)
  • Expose a ?version arg in Conduit_async_ssl.ssl_listen, default being TLS 1.2
    (#94, by @vbmithr)

Fix custom contexts on Lwt and client peer address handling

21 Aug 13:32
Compare
Choose a tag to compare
  • Do not ignore custom context when calling Conduit_lwt_unix_ssl.accept
    (reported by @jrb467 in #88)
  • Conduit_lwt_unix.Serve now passes the client flow to the server
    callback instead of the listening server one. This lets servers
    retrieve the peer endpoint correctly (reported by @fxfactorial in #87)