Skip to content

Commit

Permalink
Updated release notes for HttpClient 5.4-alpha1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
ok2c committed Dec 24, 2023
1 parent 45619c3 commit 083f9dd
Showing 1 changed file with 103 additions and 2 deletions.
105 changes: 103 additions & 2 deletions RELEASE_NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,105 @@
Release 5.3
Release 5.4 ALPHA1
-------------------

This is the first ALPHA release in the 5.3 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.

IMPORTANT! Please note the new cache entry serialization format is incompatible with earlier
versions of HttpClient Cache. Persistent caches (file system based, Memcached, EhCAche
with object serialization) created with any earlier version MUST be flushed and re-populated
or the cache backend MUST be configured to use the old deprecated cache entry serializer.


Notable changes and features included in the 5.3 series:

This comment has been minimized.

Copy link
@PascalSchumacher

PascalSchumacher Dec 24, 2023

I guess this (and in the first sentence) should be 5.4 instead of 5.3?

This comment has been minimized.

Copy link
@ok2c

ok2c Dec 26, 2023

Author Member

@PascalSchumacher Disregard my previous message. You are absolutely right. Corrected. Thank you.


* Improved conformance to RFC 9110 (HTTP Semantics), RFC 7616 (HTTP Digest Access
Authentication), RFC 2617 (’Basic’ HTTP Authentication Scheme).

* UTF-8 encoding to be used by default for text where appropriate.

* Compatibility with Java Virtual Threads and Java 21 Runtime.

* Redesign and rewrite of the HTTP caching protocol layer for better efficiency
and improved conformance to RFC 9111 (HTTP Caching).


Change Log
-------------------

* `username*` validation and decoding in DigestScheme as per RFC (#511).
Contributed by Arturo Bernal <abernal at apache.org>

* Support for Userhash parameter in Digest authentication as per RFC 7616 (#509).
Contributed by Arturo Bernal <abernal at apache.org>

* Enforce UTF-8 encoding in Digest authentication according to RFC 7616 (#508).
Contributed by Arturo Bernal <abernal at apache.org>

* Enforce UTF-8 encoding in BasicSchemeFactory as per RFC 7617 (#506).
Contributed by Arturo Bernal <abernal at apache.org>

* Stricter password validation in BasicScheme (#505).
Contributed by Arturo Bernal <abernal at apache.org>

* Bug fix: When validating a cache entry the protocol handlers must use the current request
message with additional headers generated by the previous request interceptors instead of
the original request message.
Contributed by Oleg Kalnichevski <olegk at apache.org>

* Better debug logging in the caching protocol handlers.
Contributed by Oleg Kalnichevski <olegk at apache.org>

* Better HTTP execution context management by caching protocol handlers.
Contributed by Oleg Kalnichevski <olegk at apache.org>

* HTTPCLIENT-2301. Fixed a concurrency defect in the connection release code of
BasicHttpClientConnectionManager.
Contributed by Arturo Bernal <abernal at apache.org>

* HttpCacheEntry to cache parsed DATE, EXPIRES, and LAST_MODIFIED values; avoid parsing
DATE header of cache entries and HTTP messages multiple times.
Contributed by Oleg Kalnichevski <olegk at apache.org>

* HTTPCLIENT-2293: Via header protocol improvements and performance optimization.
Contributed by Oleg Kalnichevski <olegk at apache.org>

* HTTPCLIENT-2293: RFC-compliant TRACE request interceptor (#486).
Contributed by Arturo Bernal <abernal at apache.org>

* HTTPCLIENT-2293: 'If-Range' request validation as per RFC 9110 (#485).
Contributed by Arturo Bernal <abernal at apache.org>

* HTTPCLIENT-2293: Enforce port specification for CONNECT requests as per RFC 9110 (#482).
Contributed by Arturo Bernal <abernal at apache.org>

* HTTPCLIENT-2284: Internal cache storage improvements (#478).
Contributed by Oleg Kalnichevski <olegk at apache.org>

* Replace `synchronized` blocks with ReentrantLock to ensure compatibility with virtual
threads (#476).
Contributed by Arturo Bernal <abernal at apache.org>

* HTTPCLIENT-2284: Cache entry representation improvements: (#477).
Contributed by Oleg Kalnichevski <olegk at apache.org>

* HTTPCLIENT-2277: Rewrite the caching protocol layer for improved efficiency and
conformance to RFC 9111.
Contributed by Arturo Bernal <[email protected]> and
Oleg Kalnichevski <olegk at apache.org> and

* Request and response Cache-Control APIs
Contributed by Arturo Bernal <[email protected]> and
Oleg Kalnichevski <olegk at apache.org> and

* HttpByteArrayCacheEntrySerializer refactoring and performance improvements.
Contributed by Arturo Bernal <abernal at apache.org>



Release 5.3
-------------------

This is the first GA release in the 5.3 release series. This release finalizes the 5.3 APIs
Expand Down Expand Up @@ -135,7 +236,7 @@ Release 5.2
------------------

This is the first GA release in the 5.2 release series. This release finalizes the 5.2 APIs
and corrects a number of defects discovered since the previous release.
and corrects several defects discovered since the previous release.

Please note that 5.2 upgrades the minimal JRE level to version 8 (8u251 is required).

Expand Down

0 comments on commit 083f9dd

Please sign in to comment.