[ANN] cohttp 6.0.0~alpha0 released

I’d like to announce the release of the first alpha version of the new cohttp. If you are not familiar with it, cohttp is an OCaml library for creating HTTP clients and servers. It has a portable HTTP parser, and implementations using various asynchronous programming libraries.

This experimental release introduces a number of changes in cohttp’s internals and in the libraries provided. In particular:

  • the new http library provides essential type definitions used in cohttp and also includes a new, extremely fast, http parser. The library is designed to have practically no dependencies and make it easy for other packages to easily interoperate with cohttp.
  • cohttp-server-lwt-unix is a new lwt server backend that does not rely on conduit and uses direct lwt-io access. This should resolve most of the latency issues encountered with the old cohttp-lwt-unix library.
  • cohttp-curl is a new libcurl-based (via ocurl) library, also providing an lwt and an async backend.
  • cohttp-eio uses eio to leverage new features from multicore ocaml, it also include new very fast parser to fully benefit from eio at all levels.

All of this comes with a large number of fixed bugs, improved testing, new long-awaited features (like the http cache for cohttp-lwt-unix) and lots of internal refactoring and cleanup.

We would like to thank @rgrinberg @mefyl @anuragsoni @BikalGurung and all the people that contributed with issues, discussions, PRs and design ideas leading to this release.