From ce1aeb0d27ffc7f161b65a35e63ae1069b4429e8 Mon Sep 17 00:00:00 2001 From: Oleg Kalnichevski Date: Tue, 5 Mar 2024 10:09:10 +0100 Subject: [PATCH] Updated release notes for HttpClient 5.4-alpha2 release --- RELEASE_NOTES.txt | 109 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 102 insertions(+), 7 deletions(-) diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt index d9013c501..758ee005f 100644 --- a/RELEASE_NOTES.txt +++ b/RELEASE_NOTES.txt @@ -1,11 +1,11 @@ -Release 5.4 ALPHA1 -------------------- +Release 5.4 ALPHA2 +------------------ -This is the first ALPHA release in the 5.4 release series that improves HTTP protocol support -by ensuring conformance to the latest HTTP specification (RFC 9110, RFC 9111, RFC 7616, -RFC 7617), ensures compatibility with Java Virtual Threads by replacing 'synchronized' keywords -in critical sections with Java lock primitives. The HTTP caching protocol layer has also been -redesigned and overhauled to improve cache efficiency and optimize performance. +This is the second and likely the last ALPHA release in the 5.3 release series. +It finalizes the new Cache API introduced in the previous ALPHA release and also +improves TLS customization for the classic transport, SNI and endpoint identification +support, authentication data caching, and HTTP context performance. It also introduces +support for optional TLS upgrades for HTTP/1.1 connections. IMPORTANT! Please note the new cache entry serialization format is incompatible with earlier versions of HttpClient Cache. Persistent caches (file system based, Memcached, EhCAche @@ -25,6 +25,101 @@ Notable changes and features included in the 5.4 series: * Redesign and rewrite of the HTTP caching protocol layer for better efficiency and improved conformance to RFC 9111 (HTTP Caching). +* Cache control and context APIs. + +* ETag APIs. + +* TLS SNI and endpoint identification improvements. + +* Support for RFC 2817 (Upgrading to TLS Within HTTP/1.1). + +* Auth cache no longer makes use of Java serialization. + +* Deprecation of ConnectionSocketFactory and LayeredConnectionSocketFactory. + +* HttpContext optimization and performance improvement. + + +Change Log +------------------- + +* HttpClientContext to use instance variables for standard attributes. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2151: Support for JSSE in-built endpoint identification. + Contributed by Oleg Kalnichevski + +* Internal connection operators to make use of the target name from the request URI + authority. + Contributed by Oleg Kalnichevski + +* DefaultRoutePlanner to take the request authority into account when determining a route for + HTTPS requests. + Contributed by Oleg Kalnichevski + +* RouteInfo and HttpRoute to include the target name from the URI authority in case it differs + from the target host (the host recognizes multiple authorities). + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2316: BasicHttpClientConnectionManager incorrectly re-uses the released connection + if it has been closed out by the protocol handler. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2070: Auth cache to no longer rely on Java serialization for auth state caching. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-751: Support for RFC 2817 (Upgrading to TLS Within HTTP/1.1). + Contributed by Oleg Kalnichevski + +* Connection endpoints to provide TLS details and protocol version. + Contributed by Oleg Kalnichevski + +* Deprecated ConnectionSocketFactory, LayeredConnectionSocketFactory, and their plain and SSL + implementations in favor of DefaultClientTlsStrategy. + Contributed by Oleg Kalnichevski + +* Standard client TLS strategy implementations support the upgrading of blocking sockets. + Contributed by Oleg Kalnichevski + +* FileResourceFactory to generate stable file names for the same request ID and entity tag. + Contributed by Oleg Kalnichevski + +* Cache ResourceFactory to make use of strong eTags when available. + Contributed by Oleg Kalnichevski + +* ETag APIs. + Contributed by Oleg Kalnichevski + +* Fixed a design mistake of ConnectionEndpoint having a direct dependency on + HttpRequestExecutor class. + Contributed by Oleg Kalnichevski + +* Cache control and context APIs. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2315: Client builders fail to apply system properties to the default + connection manager. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2314: Handle gracefully a failure of DnsResolver to return a list of + resolved addresses (#533). + Contributed by Philip Helger + +* HTTPCLIENT-2314: Throw ConnectionShutdownException in case of pooled connection + having been closed or discarded instead of plain IllegalStateException. + Contributed by Oleg Kalnichevski + + + +Release 5.4 ALPHA1 +------------------- + +This is the first ALPHA release in the 5.4 release series that improves HTTP protocol support +by ensuring conformance to the latest HTTP specification (RFC 9110, RFC 9111, RFC 7616, +RFC 7617), ensures compatibility with Java Virtual Threads by replacing 'synchronized' keywords +in critical sections with Java lock primitives. The HTTP caching protocol layer has also been +redesigned and overhauled to improve cache efficiency and optimize performance. + Change Log -------------------