The Apache HttpComponents project is pleased to announce 5.0-alpha3
release of HttpComponents Client. 

This is a major release that introduces support for the HTTP/2 protocol
and event driven messaging APIs consistent for all supported HTTP
protocol versions.

HttpClient ships with several client implementations:

* HttpClient Classic is based on the classic (blocking) I/O model;
largely compatible with the 4.x APIs; supports HTTP/1.1 only.

* HttpClient Async is based on NIO model; new event driven APIs
consistent for all supported HTTP protocol versions; supports both
HTTP/1.1 and HTTP/2.


Notable new features in this release:
-------------------------------------

* New asynchronous HttpClient implementations optimized for HTTP/2
multiplexed request execution.

* Full support for HTTP caching by asynchronous HttpClient
implementations including streaming message exchanges.


Notable changes and features in the 5.0 series:
-----------------------------------------------

* Support for the HTTP/2 protocol and conformance to requirements and
recommendations of the latest HTTP/2 protocol specification documents
(RFC 7540, RFC 7541.)

  Supported features:

    ** HPACK header compression
    ** Stream multiplexing (client and server)
    ** Flow control
    ** Response push
    ** Message trailers
    ** Expect-continue handshake
    ** Connection validation (ping)
    ** Application-layer protocol negotiation (ALPN) on Java 9.0.1+
    ** TLS 1.2 security features

* Improved conformance to requirements and recommendations of the
latest HTTP/1.1 protocol specification documents (RFC 7230, RFC 7231.)

* Redesigned connection pool implementation with reduced pool lock
contention.

* Package name space changed to 'org.apache.hc.client5'.

* Maven group id changed to 'org.apache.httpcomponents.client5'.

* Apache Log4j2 logging APIs used for internal logging instead of
Commons Logging APIs.


HttpClient 5.0 releases can be co-located with earlier major versions
on the same classpath due to the change in package names and Maven
module coordinates.

Please note that as of 5.0, HttpClient requires Java 1.7 or newer.

!!!IMPORTANT!!! 
We have been considering upgrading minimal JRE level to 1.8 for all
HttpClient 5.x artifacts. If you would like HttpClient to remain 1.7
compatible please do let us know by posting a message to dev@hc.apache.
org  

Download - <http://hc.apache.org/downloads.cgi>
Release notes -
<https://www.apache.org/dist/httpcomponents/httpclient/RELEASE_NOTES-5.
0.x.txt>
HttpComponents site - <http://hc.apache.org/>

About HttpComponents HttpClient

The Hyper-Text Transfer Protocol (HTTP) is perhaps the most significant
protocol used on the Internet today. Web services, network-enabled
appliances and the growth of network computing continue to expand the
role of the HTTP protocol beyond user-driven web browsers, while
increasing the number of applications that require HTTP support.

Although the java.net package provides basic functionality for
accessing resources via HTTP, it doesn't provide the full flexibility
or functionality needed by many applications. HttpClient seeks to fill
this void by providing an efficient, up-to-date, and feature-rich
package implementing the client side of the most recent HTTP standards
and recommendations.

Designed for extension while providing robust support for the base HTTP
protocol, HttpClient may be of interest to anyone building HTTP-aware
client applications such as web browsers, web service clients, or
systems that leverage or extend the HTTP protocol for distributed
communication.

Reply via email to