Releases: ocaml-attic/ocaml-cohttp
Releases · ocaml-attic/ocaml-cohttp
Thread safety and Async SSL
0.10.1 (2014-04-01):
- Remove dependency on
ocaml-re
in order to make library POSIX thread-safe. - Add Async-SSL support for both client and server (mirage#102).
Interface cleanups before a 1.0 release
0.10.0 (2014-03-02):
- Interface change: The
Request
andResponse
module types now explictly
signalEof
andInvalid
(for errors), to help the backend distinguish them. - Interface change: Unify HTTP body handling across backends into a
Cohttp.Body
module. This is extended by Async/Lwt implementations with their specific
ways of handling bodies (Pipes for Async, or Lwt_stream for Lwt). - [lwt] Interface change: HTTP client calls now raise Lwt exceptions rather
than return an option type. This permits better error handling in Lwt. - [lwt] Interface change: The
Server
callback now always provides abody
argument, sinceCohttp_lwt_body
now explicitly supports empty bodys. - Add
Cohttp.Header.is_keep_alive
to test if a connection should be reused. - [lwt] Respect the
keep-alive
header in the server request handling. - [async] Add a
Body
that takes aPipe
or astring
, similarly to Lwt. - Install
cohttp-server
binary even if tests are disabled. - Begin an
examples
directory with some simple uses of the library.
Sexp support for most types
0.9.16 (2014-01-30):
- Add some module type equalities in
Cohttp_lwt_unix
so that
Cohttp_lwt_unix.Server.Request.IO.ic
can be equivalen toLwt_io.input_channel
. - Add sexp converters to most Cohttp types (mirage#83).
- Improve Travis tests to cover more upstream users of Cohttp.
- Refactor build flags to let the portable Lwt-core be built independently of Lwt.unix.
Cookie improvements, API consistency and better header parsing
0.9.15 (2014-01-11):
- Remove
Cohttp_mirage
libraries, which have now moved tomirage/mirage-http-*
on GitHub. - Add an "HTTP only"
Cookie
attribute (mirage#69). - Fix parsing of cookies with
=
in the values (mirage#71). - Add
Max-age
support for cookies (mirage#70). - Make the
Response
record fields mutable to match theRequest
(mirage#67). - Fix compilation with Async 109.58.00 (mirage#77).
- Make Header handling case-insensitive (by forcing lowercase) (mirage#75).
- Remove the
>>
operator as it was unused and had incorrect precedence (mirage#79).
Better Server-Side Event support, complete HTTP codes and install a server binary
0.9.14 (2013-12-15):
- Install a
cohttp-server
binary that serves local directory contents via a web server (mirage#54). - Add a
flush
function to theIO
module type and implement in Lwt/Async/Mirage. - Add option
flush
support in the Async and Lwt responders (mirage#52). - Autogenerate HTTP codes from @citricsquid's JSON representation of the HTTP RFCs.
- Always set
TCP_NODELAY
for Lwt/Unix server sockets for low-latency responses (mirage#58). - Added a Server-Side Events test-case from the HTML5 Doctor. See
lib_test/README.md
. - Async.Server response now takes an optional
body
rather than a mandatorybody option
(mirage#62). - Regenerate build system using OASIS 0.4.0.
Mirage 1.0 support and Lwt-core
0.9.13 (2013-12-10):
- The
cohttp.lwt-core
is now installed as an OS-independent Lwt library. - Add support for Mirage 1.0, via
cohttp.mirage-unix
andcohttp.mirage-xen
. - Add a new
Cohttp.Connection
module to manage server's connections identifiers. - Share the same configuration type for the different server implementations.
- Add
Accept_types
module to theCohttp
pack.
Polishing the interfaces to a fine shine
0.9.12 (2013-11-28):
- Improve documentation for
Cohttp.Header
. - Expose Fieldslib setters and getters for most of the
Cohttp
types (mirage#38). Cohttp.Set_cookie.t
is no longer an abstract type to make it easier to update (mirage#38).- [Lwt] ignore SIGPIPE unconditionally if using the Lwt/Unix module (mirage#37).
- Rename
Cookie
creation parameters for consistency (interface breaking, see mirage#44). - Fix transfer-length detection (regression from 0.9.11 in mirage#42).
- Add Merin editor file (mirage#41).
Mini features: HTTP 1.0 improved, OPTIONS and Travis
0.9.11 (2013-10-27):
- Request module: When sending a request, add the port information in the host header field if available.
- Request module: When parsing a request, add scheme, host and port information in the uri.
- TCP server: When creating the socket for the server, do not force PF_INET6 but take the sockaddr value.
- Add HTTP OPTIONS method.
- Use getaddrinfo instead of gethostbyname for DNS resolution.
- Async: improve HTTP/1.0 support (mirage#35).
- Build with debug symbols, binary annotations by default.
- Add Travis CI test scripts.