diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt index 67a7224ab..773e15c03 100644 --- a/RELEASE_NOTES.txt +++ b/RELEASE_NOTES.txt @@ -1,3 +1,115 @@ +Release 5.3 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 and RFC 9112) and also ensuring compatibility with Java Virtual Threads by +replacing 'synchronized' keyword in critical sections with Java lock primitives. + + +Notable changes and features included in the 5.3 series: + +* Improved conformance to RFC 9110 and RFC 9112. + +* Compatibility with Java Virtual Threads and Java 21 Runtime. + + +Change Log +------------------- + +* Removed AccessController checks (AccessController deprecated in Java 21). + Contributed by Oleg Kalnichevski + +* Support for percent coding as defined in RFC 5987. + Contributed by Arturo Bernal + +* HTTPCORE-756: Improved Transfer-Encoding handling and message frame validity verification per RFC 9112 section 6.1. + Contributed by Oleg Kalnichevski + +* HTTPCORE-756: Stricter parsing of response status code per RFC 9112 section 3.2; less intermediate garbage while + parsing response status lines. + Contributed by Oleg Kalnichevski + +* HTTPCORE-756: Support for the effective HTTP/1.x protocol level config parameter; HTTP/1.1 endpoints to signal their + actual supported protocol level (the minor version in HTTP/1.x) in the message control data as per RFC 9110 + section 6.2. + Contributed by Oleg Kalnichevski + +* HTTPCORE-756: Authority from an absolute request URI to take precedence over Host header per RFC 9112 section 3.2. + Contributed by Oleg Kalnichevski + +* HTTPCORE-756: client protocol handlers to try to send `Host` as the first header in the request header section + per RFC 9110 section 7.2. + Contributed by Oleg Kalnichevski + +* HTTPCORE-756: Updated response status codes as per RFC 9110 section 18.3. + Contributed by Oleg Kalnichevski + +* HTTPCORE-756: Expect-Continue handshake improvements per RFC 9110 section 10.1.1. + Contributed by Oleg Kalnichevski + +* Additional message support methods. + Contributed by Oleg Kalnichevski + +* HTTPCORE-756: Support methods for handling hop-by-hop and connection specific headers. + Contributed by Oleg Kalnichevski + +* HTTPCORE-756: Reject HTTPS requests received over insecure (non-TLS) connection per RFC 9110 section 7.4. + Contributed by Oleg Kalnichevski + +* HTTPCORE-756: replace CR, LF, NULL in header values with SP per RFC 9110 section 5.5. + Contributed by Oleg Kalnichevski + +* HTTPCORE-759: Add Content-Length to POST, PUT and PATCH with null entity request content (#435). + Contributed by Billy <10576351+chrysophylax at users.noreply.github.com> + +* Improved name/value parsing code. + Contributed by Oleg Kalnichevski + +* ':path' pseudo-Header validation for HTTP/2 Requests (#428). + Contributed by Arturo Bernal + +* HTTPCORE-756: Implement RFC9110 Content-Type validation for OPTIONS requests. Enforce the presence of a valid + Content-Type header for OPTIONS requests containing content as per RFC9110 (#424). + Contributed by Arturo Bernal + +* HTTPCORE-756: Enforced non-empty host identifier for http/https URIs. (#423) + Contributed by Arturo Bernal + +* HTTPCORE-756: Deprecate and remove userInfo from URIAuthority and URIBuilder in compliance with RFC 9110 (#418). + Contributed by Arturo Bernal + +* Async requesters to populate request URI authority based on the target host when not explicitly set by the caller. + Contributed by Oleg Kalnichevski + +* Async requesters to support custom / resolved target endpoints + Contributed by Oleg Kalnichevski + +* Replace 'synchronized' blocks with ReentrantLock. (#412) + Contributed by Arturo Bernal + +* HTTPCORE-744: Removed references to URI normalization from URIBuilder. + Contributed by Oleg Kalnichevski + +* Use Timeout#INFINITE instead of Timeout#DISABLED for network operations. + Contributed by Oleg Kalnichevski + +* Add support for Internationalized Domain Names (IDN). + Contributed by Arturo Bernal + +* Added a request interceptor to generate 'Forwarded' HTTP header. + Contributed by Arturo Bernal + +* Use either US-ASCII or UTF-8 encoding for text where appropriate. + Contributed by Michael Osipov + +* Fixed an issue with invalid scoped IPv6 addresses in InetAddressUtils. + Contributed by Arturo Bernal + +* Added a request interceptor to generate 'Via' HTTP header. + Contributed by Arturo Bernal + + + Release 5.2.4 ------------------