mte/unikernel/duniverse/httpun/FORK.md
2025-11-11 02:07:51 +01:00

84 lines
5 KiB
Markdown

Unreleased
--------------
- httpaf-lwt-unix: add support for HTTPS in the Lwt runtime, either via OpenSSL
or `ocaml-tls` ([#2](https://github.com/anmonteiro/httpaf/pull/2))
- httpaf, httpaf-lwt, httpaf-lwt-unix, httpaf-mirage: Add a Mirage adapter
([#3](https://github.com/anmonteiro/httpaf/pull/3))
- Add an `esy.json` file ([#6](https://github.com/anmonteiro/httpaf/pull/6))
- httpaf: Catch parsing errors and hand them to `error_handler` in
`Server_connection` ([#4](https://github.com/anmonteiro/httpaf/pull/4))
- httpaf, httpaf-lwt, httpaf-lwt-unix, httpaf-async, httpaf-mirage: add support
for persistent connections and pipelining in the client implementations
([#5](https://github.com/anmonteiro/httpaf/pull/5))
- httpaf, httpaf-lwt, httpaf-lwt-unix, httpaf-async, httpaf-mirage: add support
for switching protocols, e.g. to a WebSocket connection, via a new function
`Reqd.respond_with_upgrade`
([#8](https://github.com/anmonteiro/httpaf/pull/8))
- httpaf-lwt, httpaf-lwt-unix, httpaf-mirage: deduplicate interface code via a
common `Httpaf_lwt_intf` interface
([#13](https://github.com/anmonteiro/httpaf/pull/13))
- httpaf-mirage: depend on `mirage-conduit` instead of `conduit-mirage`,
effectively placing a lower bound of OCaml 4.07 on httpaf-mirage
([#16](https://github.com/anmonteiro/httpaf/pull/16))
- httpaf-lwt-unix: replace the `dune` file (previously written in OCaml) with a
`(select)` form to avoid depending on `ocamlfind`
([#18](https://github.com/anmonteiro/httpaf/pull/18))
- httpaf: Shutdown the writer after closing a non chunk-encoded request body on
the client ([#23](https://github.com/anmonteiro/httpaf/pull/23))
- httpaf-mirage: Adapt to Mirage 3.7 interfaces. `httpaf_mirage` now requires
`conduit-mirage` >= 2.0.2 and `mirage-flow` >= 2.0.0
([#24](https://github.com/anmonteiro/httpaf/pull/24))
- httpaf, httpaf-lwt, httpaf-lwt-unix, httpaf-async, httpaf-mirage: after
switching protocols, close the connection / file descriptors when the upgrade
handler's returned promise resolves
([#26](https://github.com/anmonteiro/httpaf/pull/26))
- httpaf-lwt, httpaf-lwt-unix: split HTTPS functions in 2: one that sets up a
default secure connection and performs the TLS handshake / accept, and one
that is more "raw", i.e. leaves that responsibility to the caller. Also
exposes the `socket` type to make it easier to abstract over HTTP / HTTPS
([#28](https://github.com/anmonteiro/httpaf/pull/28))
- httpaf-lwt, httpaf-lwt-unix, httpaf-mirage: Improve the `Httpaf_lwt.IO`
interface, don't require a `report_exn` function, only a `state` function
that returns the socket state
([#30](https://github.com/anmonteiro/httpaf/pull/30))
- httpaf, httpaf-lwt, httpaf-async: Add support for upgrading connections on
the client. ([#31](https://github.com/anmonteiro/httpaf/pull/31))
- httpaf: Fix the order of parsed request / response headers to match what it's
advertised in the interface file. They are now served to the respective
handlers in the original transmission order
([#32](https://github.com/anmonteiro/httpaf/pull/32))
- httpaf: Fix persistent connections getting stuck (reader never waking up)
when using `~flush_headers_immediately:true` in combination with an empty
response body ([#34](https://github.com/anmonteiro/httpaf/pull/34)). This is
a fix for an issue opened in the upstream repo:
[inhabitedtype/httpaf#162](https://github.com/inhabitedtype/httpaf/issues/162)
- httpaf-async: Add HTTPS support for the Async bindings
([#35](https://github.com/anmonteiro/httpaf/pull/35)).
- httpaf: Fix upstream regression introduced in
[inhabitedtype/httpaf#161](https://github.com/inhabitedtype/httpaf/pull/161)
that caused `wake_up_writer` callback bookkeeping to be slightly wrong due to
physical equality, producing runtime errors in cases where it shouldn't
([#37](https://github.com/anmonteiro/httpaf/pull/37)).
- httpaf-lwt: Close the communication channel after shutting down the client
([#45](https://github.com/anmonteiro/httpaf/pull/45))
- httpaf: Fix sending streaming error responses; in particular, allow sending
chunk-encoded responses ([#56](https://github.com/anmonteiro/httpaf/pull/56))
- httpaf: handle read backpressure in server and client implementations
([#59](https://github.com/anmonteiro/httpaf/pull/59))
- httpaf-lwt, httpaf-lwt-unix: Use
[gluten](https://github.com/anmonteiro/gluten) to implement the Lwt-based
runtimes ([#63](https://github.com/anmonteiro/httpaf/pull/63))
- httpaf-async: Use [gluten](https://github.com/anmonteiro/gluten) to implement
the Async runtimes ([#69](https://github.com/anmonteiro/httpaf/pull/69))
- httpaf: call error handler on read EOF if the entire body hasn't been
received ([#75](https://github.com/anmonteiro/httpaf/pull/75))
- httpaf: Abort (chunked) responses correctly if an error is reported
([#84](https://github.com/anmonteiro/httpaf/pull/84),
[#86](https://github.com/anmonteiro/httpaf/pull/86))
httpaf (upstream) 0.6.6
--------------
- Initial fork point
[7de2d4ea](https://github.com/anmonteiro/httpaf/commit/6aefc835552010ce8f8466c8695a7b106b49ec35)