New upstream version 6.2.1
authorStephane Glondu <steph@glondu.net>
Sat, 14 Mar 2026 08:43:20 +0000 (09:43 +0100)
committerStephane Glondu <steph@glondu.net>
Sat, 14 Mar 2026 08:43:20 +0000 (09:43 +0100)
22 files changed:
CHANGES.md
cohttp-async.opam
cohttp-bench.opam
cohttp-curl-async.opam
cohttp-curl-lwt.opam
cohttp-curl.opam
cohttp-eio.opam
cohttp-lwt-jsoo.opam
cohttp-lwt-unix.opam
cohttp-lwt.opam
cohttp-mirage.opam
cohttp-mirage/src/client.ml
cohttp-mirage/src/io.ml
cohttp-mirage/src/io.mli
cohttp-mirage/src/static.ml
cohttp-mirage/src/static.mli
cohttp-server-lwt-unix.opam
cohttp-top.opam
cohttp.opam
cohttp/test/test_proxy.ml
dune-project
http.opam

index 787607cb8cdf3fc511e744ba1342b3941dd456ae..3c386bc6fd1923594c964ff3d192ed3ec6c6025b 100644 (file)
@@ -1,3 +1,8 @@
+## v6.2.1 (2025-12-16)
+
+- cohttp: Fix syntax in forward proxy tests to recover compatibility with OCaml
+  4.08 to 4.12, fixing a regression introduced in v6.2.0. (@shonfeder, #1135)
+
 ## v6.2.0 (2025-12-02)
 
 - cohttp-eio: Add support for forward proxies to the client (@shonfeder,  #1126)
index c8ce71c545abb7ed4d909641c84b370ad16e980b..f419fb640805c8ab446dba42b3d83913d41f105a 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "CoHTTP implementation for the Async concurrency library"
@@ -29,7 +29,7 @@ depends: [
   "ocaml" {>= "4.14" & < "5.3.0"}
   "http" {= version}
   "cohttp" {= version}
-  "async_kernel" {>= "v0.16.0"}
+  "async_kernel" {>= "v0.17.0"}
   "async_unix" {>= "v0.16.0"}
   "async" {>= "v0.16.0"}
   "base" {>= "v0.16.0"}
index d91a2d9d0387586f64557685d7cb4f9f12221616..69bab1eeca451f9eb6cb5398d415a2682f18008a 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "Benchmarks binaries for Cohttp"
index 95e11a21867d11bebaf4c477a750c7469ccc8540..50f608b0f4842fe249cd48ebcdfbf16d14248984 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "Cohttp client using Curl & Async as the backend"
index ef9c26f8f7ade47a3c8159b5e90d32c87715c802..a28ecf74732ded91d473c1d7ed4d0754d9a5571e 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "Cohttp client using Curl & Lwt as the backend"
index 295b28ddf00d16466db5f84797915a8308c23248..df4c2f50eb4f4c4f15cfa9a68ffdb7ae0aec69db 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "Shared code between the individual cohttp-curl clients"
index ee9746d660f00ce00b8d899ef5f4d360e90a27e0..4d8af4928f9163d8ac52d34237cadb6170e4a27f 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "CoHTTP implementation with eio backend"
index 62d56f128a825dacafb307ca6004be319be66cab..d4cff347473c4ba037480b27f6e1974c2033ad9f 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "CoHTTP implementation for the Js_of_ocaml JavaScript compiler"
@@ -30,7 +30,7 @@ depends: [
   "cohttp" {= version}
   "cohttp-lwt" {= version}
   "logs"
-  "lwt" {>= "3.0.0"}
+  "lwt" {>= "5.7.0"}
   "lwt_ppx" {with-test}
   "conf-npm" {with-test}
   "js_of_ocaml" {>= "3.3.0"}
index 129c2f07f9790cf4b9fde67998f47994aaa0d7c8..ab53b2ca8b042434268ef1021f15bb5e12eba78f 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "CoHTTP implementation for Unix and Windows using Lwt"
index b5540f12108c6f0f6bb76198e54240dfbabbd735..604ffbb7e357fda468d335ca2674935dfe9ed9cc 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "CoHTTP implementation using the Lwt concurrency library"
@@ -30,7 +30,7 @@ depends: [
   "ocaml" {>= "4.08"}
   "http" {= version}
   "cohttp" {= version}
-  "lwt" {>= "5.4.0"}
+  "lwt" {>= "5.7.0"}
   "sexplib0"
   "ipaddr" {>= "5.6.0"}
   "ppx_sexp_conv" {>= "v0.13.0"}
index 13c9487ed4fb54a8495f2b9fe75b31ee7174dde6..e60dfeadb5f694ab9dfdbccb9eccd07c5868c174 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "CoHTTP implementation for the MirageOS unikernel"
index fe3d3a534dab0a4706811ecc81f4e6e6abc649a9..c9475f3a6de875b94bf76549d1d2ff8e90cfdb27 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v6.2.0
+ * cohttp v6.2.1
  *)
 
 module Make (R : Resolver_mirage.S) (S : Conduit_mirage.S) = struct
index d194e2ba4410264e8211e910f13ae009f97212a5..13f74dc88bf094f7c0f30509165e6b541dfccb89 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v6.2.0
+ * cohttp v6.2.1
  *)
 
 open Lwt.Infix
index 6e48856ceec473c8012f43399cf0501deb4ff1d3..07e4127252a52265082c827374589d9c19c53e7b 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v6.2.0
+ * cohttp v6.2.1
  *)
 
 (** Cohttp IO implementation using Mirage channels. *)
index 80a7a90dfa1e5141720e97093889ee4304cb213b..4de1b2c97f4c5f3cb3d766bbfe953f4a72319e9c 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v6.2.0
+ * cohttp v6.2.1
  *)
 
 module Key = Mirage_kv.Key
index c554424cb2bcbba3ceda2d4e8dca999b5642357a..f443f3d155ed746757800c4d5f2dad8a0ac3346e 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v6.2.0
+ * cohttp v6.2.1
  *)
 
 (** Serve static HTTP sites from a Mirage key-value store. *)
index 1ae550a126485876cda7611a483e0be23f8c6217..24dba0c15b4971ece80e9cdc801783da2443656f 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "Lightweight Cohttp + Lwt based HTTP server"
index e07bc136ec60de8ae8f5e34eeff18e803b7f2bcb..30065175c50f271d6c5b86edaab7688e0e647948 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "CoHTTP toplevel pretty printers for HTTP types"
index 9216bd7da208ca76ac5fc40880ee849dc5138720..bded1515c3df39509c5c70416ab5e0f3ce7c60dd 100644 (file)
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "An OCaml library for HTTP clients and servers"
index 185d618b3f524602ed115582ea752ce179e3fc71..2d796be122a0b1a05786eabea58ef265147415af 100644 (file)
@@ -24,21 +24,21 @@ let select_http_proxy () =
   let proxies = proxies ~no_proxy_patterns:None in
   let expected = Some (Proxy.Direct http_proxy) in
   let actual = Proxy.get proxies @@ Uri.of_string "http://example.com" in
-  Alcotest.(check' @@ option proxy)
+  Alcotest.check' (Alcotest.option proxy)
     ~msg:"should select configured http proxy as Direct" ~actual ~expected
 
 let select_https_proxy () =
   let proxies = proxies ~no_proxy_patterns:None in
   let expected = Some (Proxy.Tunnel https_proxy) in
   let actual = Proxy.get proxies @@ Uri.of_string "https://example.com" in
-  Alcotest.(check' @@ option proxy)
+  Alcotest.check' (Alcotest.option proxy)
     ~msg:"should select configured https proxy as Tunnel" ~actual ~expected
 
 let select_default_proxy () =
   let proxies = proxies ~no_proxy_patterns:None in
   let expected = Some (Proxy.Direct fallback_proxy) in
   let actual = Proxy.get proxies @@ Uri.of_string "ftp://example.com" in
-  Alcotest.(check' @@ option proxy)
+  Alcotest.check' (Alcotest.option proxy)
     ~msg:"should select fallback proxy for unconfigured scheme" ~actual
     ~expected
 
@@ -46,14 +46,14 @@ let no_proxy_wildcard () =
   let proxies = proxies ~no_proxy_patterns:(Some "*") in
   let expected = None in
   let actual = Proxy.get proxies @@ Uri.of_string "http://example.com" in
-  Alcotest.(check' @@ option proxy)
+  Alcotest.check' (Alcotest.option proxy)
     ~msg:"should ensure no proxy is selected" ~actual ~expected
 
 let no_proxy_literal_pattern () =
   let proxies = proxies ~no_proxy_patterns:(Some "example.com") in
   let expected = None in
   let actual = Proxy.get proxies @@ Uri.of_string "http://example.com" in
-  Alcotest.(check' @@ option proxy)
+  Alcotest.check' (Alcotest.option proxy)
     ~msg:"should ensure example.com is not proxied" ~actual ~expected
 
 let no_proxy_list_of_patterns () =
@@ -61,11 +61,11 @@ let no_proxy_list_of_patterns () =
 
   let msg = "should ensure example.com is not proxied" in
   let actual = Proxy.get proxies @@ Uri.of_string "http://example.com" in
-  Alcotest.(check' @@ option proxy) ~msg ~actual ~expected:None;
+  Alcotest.check' (Alcotest.option proxy) ~msg ~actual ~expected:None;
 
   let msg = "should ensure foo.com is not proxied" in
   let actual = Proxy.get proxies @@ Uri.of_string "http://foo.com" in
-  Alcotest.(check' @@ option proxy) ~msg ~actual ~expected:None
+  Alcotest.check' (Alcotest.option proxy) ~msg ~actual ~expected:None
 
 let no_proxy_subdomain_patterns () =
   (* As per https://everything.curl.dev/usingcurl/proxies/env.html#no-proxy
@@ -77,20 +77,20 @@ let no_proxy_subdomain_patterns () =
 
   let msg = "should ensure www.example.com is not proxied" in
   let actual = Proxy.get proxies @@ Uri.of_string "http://www.example.com" in
-  Alcotest.(check' @@ option proxy) ~msg ~actual ~expected:None;
+  Alcotest.check' (Alcotest.option proxy) ~msg ~actual ~expected:None;
 
   let msg = "should ensure home.example.com is not proxied" in
   let actual = Proxy.get proxies @@ Uri.of_string "http://home.example.com" in
-  Alcotest.(check' @@ option proxy) ~msg ~actual ~expected:None;
+  Alcotest.check' (Alcotest.option proxy) ~msg ~actual ~expected:None;
 
   let msg = "should ensure example.com is proxied" in
   let actual = Proxy.get proxies @@ Uri.of_string "http://example.com" in
-  Alcotest.(check' @@ option proxy) ~msg ~actual ~expected:None;
+  Alcotest.check' (Alcotest.option proxy) ~msg ~actual ~expected:None;
 
   let msg = "nonexample.com should be proxied" in
   let actual = Proxy.get proxies @@ Uri.of_string "http://nonexample.com" in
-  Alcotest.(check' @@ option proxy)
-    ~msg ~actual ~expected:(Some (Direct http_proxy))
+  Alcotest.check' (Alcotest.option proxy) ~msg ~actual
+    ~expected:(Some (Direct http_proxy))
 
 let () =
   Alcotest.run "test_proxy"
index 94307683973046f3ace3b79d1a5eb223463cfbe0..c71b0c463c5e9c4f855b275579ce292dbca79d97 100644 (file)
@@ -1,7 +1,7 @@
 (lang dune 3.8)
 
 (name cohttp)
-(version v6.2.0)
+(version v6.2.1)
 
 (license ISC)
 
@@ -78,7 +78,7 @@
   (cohttp
    (= :version))
   (lwt
-   (>= 5.4.0))
+   (>= 5.7.0))
   sexplib0
   (ipaddr
    (>= 5.6.0))
    (= :version))
   logs
   (lwt
-   (>= 3.0.0))
+   (>= 5.7.0))
   (lwt_ppx :with-test)
   (conf-npm :with-test)
   (js_of_ocaml
   (cohttp
    (= :version))
   (async_kernel
-   (>= v0.16.0))
+   (>= v0.17.0))
   (async_unix
    (>= v0.16.0))
   (async
index 1dedc505eccd74ea8cf21d04dc49fc77ea9762df..9998981056a93934eaf208e45920626490be1322 100644 (file)
--- a/http.opam
+++ b/http.opam
@@ -1,4 +1,4 @@
-version: "6.2.0"
+version: "6.2.1"
 # This file is generated by dune, edit dune-project instead
 opam-version: "2.0"
 synopsis: "Type definitions of HTTP essentials"