The Apache HttpComponents project is pleased to announce 5.0-beta5 release of HttpComponents Core.
This BETA release adds support for Reactive Streams API [ http://www.reactive-streams.org/] and fixes compatibility issues with Java 11 new TLS engine as well as a number of defects found since the previous release. This release also includes a redesigned HTTP stress test tool loosely based on Apache Benchmark (AB) command interface with support for HTTP/2. Notable changes and features included in the 5.0 series: * Support for HTTP/2 protocol and conformance to requirements and recommendations of the latest HTTP/2 protocol specification (RFC 7540, RFC 7541) Supported features: ** HPACK header compression ** stream multiplexing (client and server) ** flow control ** response push (client and server) ** message trailers ** expect-continue handshake ** connection validation (ping) ** application-layer protocol negotiation (ALPN) on Java 9+ ** TLS 1.2 security features Features out of scope for 5.0 release: ** padding of outgoing frames ** stream priority ** plain connection HTTP/1.1 upgrade ** CONNECT method * Improved conformance to requirements and recommendations of the latest HTTP/1.1 protocol specification (RFC 7230, RFC 7231) * New asynchronous HTTP transport APIs consistent for both HTTP/1.1 and HTTP/2 transport. * Redesigned I/O reactor APIs and improved NIO based reactor implementation for a greater performance and scalability. * Support for server side request filters for classic and asynchronous server implementations. Request filters could be used to implement cross-cutting protocol aspects such as the 'expect-continue' handshaking and user authentication / authorization. * Redesigned connection pool implementation with strict connection limit guarantees. The connection pool is expected to have a better performance under higher concurrency due to reduced global pool lock contention. * New connection pool implementation with lax connection limit guarantees and better performance under higher concurrency due to absence of a global pool lock. * Package name space changed to 'org.apache.hc.core5' * Maven group id changed to 'org.apache.httpcomponents.core5' HttpCore 5.0 releases can be co-located with earlier versions. The 5.0 APIs are considered feature complete and are not expected to undergo any major changes anymore. The focus of development is now shifting to API polish, code stabilization and documentation improvements. IMPORTANT: As of next release HttpCore OSGi module will be discontinued and removed from the project source code. Download - <http://hc.apache.org/downloads.cgi> Release notes - <http://www.apache.org/dist/httpcomponents/httpcore/REL EASE_NOTES-5.0.x.txt> HttpComponents site - <http://hc.apache.org/> About HttpComponents Core HttpCore is a set of HTTP/1.1 and HTTP/2 transport components that can be used to build custom client and server side HTTP services with a minimal footprint