Hello,

*Disclaimer: I am a member of the Apache Logging Services (Log4j, Log4cxx,
Log4net) PMC and I work on the Java Core Libraries (Networking) team at
Oracle. This message reflects my personal views and is sent solely in my
capacity as an open-source maintainer. It is not affiliated with my
employer in any way and carries no financial motivation.*

On 2025-09-30, we had a conversation in the #maven Slack channel
<https://the-asf.slack.com/archives/C7Q9JB404/p1759231362859829>[1], where
I learned that the Java HTTP Client (i.e., `java.net.http.HttpClient`) was
demoted from being the default HTTP transport for Maven 4, which targets
Java 17. This change is implemented in maven-resolver#1599
<https://github.com/apache/maven-resolver/pull/1599>, which was merged on
2025-09-22 and documents the rationale. The concerns that motivated the
change were unknown to the `HttpClient` crew at Oracle and the Slack
conversation helped a lot to get to the bottom of things. AFAIU, in
particular, two issues were of major importance behind this decision:

   1. Incorrect handling of GOAWAY – MNG-8145
   <https://issues.apache.org/jira/browse/MNG-8145> JDK-8335181
   <https://bugs.openjdk.org/browse/JDK-8335181> (delivered in Java 24,
   ported to `17.0.17` & `21.0.8`)
   2. GET method adds `Content-Length: 0` header, rendering services like
   JitPack unusable – jitpack/jitpack.io#7186
   <https://github.com/jitpack/jitpack.io/issues/7186> JDK-8283544
   <https://bugs.openjdk.org/browse/JDK-8283544> (delivered in Java 19,
   ported to `17.0.18`, which will be released on 2026-01-20)

*I want to inform you that all two issues are addressed and backported to
Java 17.*

The Slack conversation spiralled into an `HttpClient` feedback session,
which I am very happy about, and I shared all your remarks with the Oracle
team; compression/caching/interception support, graceful GOAWAY support
<https://github.com/laeubi/java-http-client/issues/8>, custom
`SSLParameters` issues <https://github.com/laeubi/java-http-client/issues/6>,
etc. If there is anything you further would like to ask/share, either now,
or at a later time, you can either post it to the relevant OpenJDK mailing
list[2] (e.g., net-dev <https://mail.openjdk.org/mailman/listinfo/net-dev>),
or email/DM me.

Cheers!

[1] I want to thank Christoph Läubrich, Konrad Windszus, Matthias Bünger,
Romain Manni-Bucau, and Tamas Cservenak for their kind help in providing
feedback.
[2] If the mailing list subscription is not working for you, please
email/DM me.

Reply via email to