…p-mirage, cohttp-lwt, cohttp-lwt-unix, cohttp-lwt-jsoo, cohttp-eio, cohttp-curl, cohttp-curl-lwt, cohttp-curl-async, cohttp-bench and cohttp-async (6.0.0~alpha0)
CHANGES:
- cohttp-eio: ensure "Host" header is the first header in http client requests (bikallem mirage/ocaml-cohttp#939)
- cohttp-eio: add TE header in client. Check TE header is server (bikallem mirage/ocaml-cohttp#941)
- cohttp-eio: add User-Agent header to request from Client (bikallem mirage/ocaml-cohttp#940)
- cohttp-eio: add Content-Length header to request/response (bikallem mirage/ocaml-cohttp#929)
- cohttp-eio: add cohttp-eio client api - Cohttp_eio.Client (bikallem mirage/ocaml-cohttp#879)
- http: add requires_content_length function for requests and responses (bikallem mirage/ocaml-cohttp#879)
- cohttp-eio: use Eio.Buf_write and improve server API (talex5 mirage/ocaml-cohttp#887)
- cohttp-eio: update to Eio 0.3 (talex5 mirage/ocaml-cohttp#886)
- cohttp-eio: convert to Eio.Buf_read (talex5 mirage/ocaml-cohttp#882)
- cohttp lwt client: Connection cache and explicit pipelining (madroach mirage/ocaml-cohttp#853)
- http: add Http.Request.make and simplify Http.Response.make (bikallem mseri mirage/ocaml-cohttp#878)
- http: add pretty printer functions (bikallem mirage/ocaml-cohttp#880)
- New eio based client and server on top of the http library (bikallem mirage/ocaml-cohttp#857)
- New curl based clients (rgrinberg mirage/ocaml-cohttp#813)
+ cohttp-curl-lwt for an Lwt backend
+ cohttp-curl-async for an Async backend
- Completely new Parsing layers for servers (anuragsoni mirage/ocaml-cohttp#819)
+ Cohttp now uses an optimized parser for requests.
+ The new parser produces much less temporary buffers during read operations
in servers.
- Faster header comparison (gasche mirage/ocaml-cohttp#818)
- Introduce http package containing common signatures and structures useful for
compatibility with cohttp - and no dependencies (rgrinberg mirage/ocaml-cohttp#812)
- async(server): allow reading number of active connections (anuragsoni mirage/ocaml-cohttp#809)
- Various internal refactors (rgrinberg, mseri, mirage/ocaml-cohttp#802, mirage/ocaml-cohttp#812, mirage/ocaml-cohttp#820, mirage/ocaml-cohttp#800, mirage/ocaml-cohttp#799,
mirage/ocaml-cohttp#797)
- http (all cohttp server backends): Consider the connection header in response
in addition to the request when deciding on whether to keep a connection
alive (anuragsoni, mirage/ocaml-cohttp#843)
+ The user provided Response can contain a connection header. That header
will also be considered in addition to the connection header in requests
when deciding whether to use keep-alive. This allows a handler to decide to
close a connection even if the client requested a keep-alive in the
request.
- async(server): allow creating a server without using conduit (anuragsoni mirage/ocaml-cohttp#839)
+ Add `Cohttp_async.Server.Expert.create` and
`Cohttp_async.Server.Expert.create_with_response_action`that can be used to
create a server without going through Conduit. This allows creating an
async TCP server using the Tcp module from `Async_unix` and lets the user
have more control over how the `Reader.t` and `Writer.t` are created.
- http(header): faster `to_lines` and `to_frames` implementation (mseri mirage/ocaml-cohttp#847)
- cohttp(cookies): use case-insensitive comparison to check for `set-cookies` (mseri mirage/ocaml-cohttp#858)
- New lwt based server implementation: cohttp-server-lwt-unix
+ This new implementation does not depend on conduit and has a simpler and
more flexible API
- async: Adapt cohttp-curl-async to work with core_unix.
- *Breaking changes*
+ refactor: move opam metadata to dune-project (rgrinberg mirage/ocaml-cohttp#811)
+ refactor: deprecate Cohttp_async.Io (rgrinberg mirage/ocaml-cohttp#807)
+ fix: move more internals to Private (rgrinberg mirage/ocaml-cohttp#806)
+ fix: deprecate transfer encoding field (rgrinberg mirage/ocaml-cohttp#805)
+ refactor: deprecate Cohttp_async.Body_raw (rgrinberg mirage/ocaml-cohttp#804)
+ fix: deprecate more aliases (rgrinberg mirage/ocaml-cohttp#803)
+ refactor: deprecate connection value(rgrinberg mirage/ocaml-cohttp#798)
+ refactor: deprecate using attributes (rgrinberg mirage/ocaml-cohttp#796)
+ cleanup: remove cohttp-{curl,server}-async (rgrinberg mirage/ocaml-cohttp#904)
+ cleanup: remove cohttp-{curl,server,proxy}-lwt (rgrinberg mirage/ocaml-cohttp#904)
+ fix: all parsers now follow the spec and require `\r\n` endings.
Previously, the `\r` was optional. (rgrinberg, mirage/ocaml-cohttp#921)
- `cohttp-lwt-jsoo`: do not instantiate `XMLHttpRequest` object on boot (mefyl mirage/ocaml-cohttp#922)