Skip to content

Commit

Permalink
prep release
Browse files Browse the repository at this point in the history
  • Loading branch information
anmonteiro committed Jun 4, 2024
1 parent ea541f6 commit 315a654
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 92 deletions.
84 changes: 2 additions & 82 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,84 +1,4 @@
Unreleased
0.1.0 2024-06-04
--------------

- 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)
- Initial public release
84 changes: 84 additions & 0 deletions FORK.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
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)
13 changes: 3 additions & 10 deletions lib/httpun.mli
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,12 @@
POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------*)

(** Http/af is a high-performance, memory-efficient, and scalable web server
for OCaml. It implements the HTTP 1.1 specification with respect to
parsing, serialization, and connection pipelining. For compatibility,
http/af respects the imperatives of the [Server_connection] header when handling
HTTP 1.0 connections.
To use this library effectively, the user must be familiar with the HTTP
1.1 specification, and the basic principles of memory management and
vectorized IO. *)
(** httpun is a high-performance, memory-efficient, and scalable HTTP/1.x
library for OCaml. It implements the HTTP 1.1 specification with respect to
parsing, serialization, and pipelining. *)

(** {2 Basic HTTP Types} *)


module IOVec : module type of Httpun_types.IOVec
module Version : module type of Httpun_types.Version
module Method : module type of Httpun_types.Method
Expand Down

0 comments on commit 315a654

Please sign in to comment.