|
1 | 1 | Release 5.4-alpha1 |
2 | 2 | ------------------ |
3 | 3 |
|
4 | | -This is the first release in the 5.4 release series. |
5 | | - |
| 4 | +This is the first ALPHA release in the 5.4 release series that improves HTTP/2 protocol |
| 5 | +support by ensuring conformance to the latest HTTP specification (RFC 9113) and adds |
| 6 | +support for Unix domain sockets. |
| 7 | + |
| 8 | +This release also includes all the fixes from the stable 5.3 branch. |
| 9 | + |
| 10 | +Notable changes and features included in the 5.4 series: |
| 11 | + |
| 12 | +* Experimental OFFLOCK (lock-free) connection pool. |
| 13 | + |
| 14 | +* Conformance to RFC 9218 (Extensible Prioritization Scheme for HTTP). |
| 15 | + |
| 16 | +* Improved conformance to RFC 9113 (Hypertext Transfer Protocol Version 2). |
| 17 | + |
| 18 | +* Five-second TCP keep-alive enabled by default. |
| 19 | + |
| 20 | +* Unix domain socket support by the classic and async transports. |
| 21 | + |
| 22 | +* Redesign of classic over async API bridge. |
| 23 | + |
| 24 | +* Improved URI encoding per RFC 3986. |
| 25 | + |
| 26 | +* QUERY method support. |
| 27 | + |
| 28 | + |
6 | 29 |
|
7 | 30 | Change Log |
8 | 31 | ------------------- |
9 | 32 |
|
10 | | -* Add ContentType.APPLICATION_ZIP_COMPRESSED. |
11 | | - Contributed by Gary Gregory <ggregory at apache.org> |
| 33 | +* Experimental RouteSegmentedConnPool (OFFLOCK): lock-free, route-segmented, disposal off |
| 34 | + critical path. |
| 35 | + Contributed by Arturo Bernal <abernal at apache.org> |
12 | 36 |
|
13 | | -* Bump io.reactivex.rxjava3:rxjava from 3.1.9 to 3.1.10 #509 |
14 | | - Contributed by Gary Gregory <ggregory at apache.org> |
| 37 | +* Configurable AuthorityResolver for async server bootstraps. |
| 38 | + Contributed by Christian de Waal <christian at de.waal.name> |
15 | 39 |
|
16 | | -* Bump org.junit:junit-bom from 5.11.0 to 5.13.3 #501, #528, #533 |
17 | | - Contributed by Gary Gregory <ggregory at apache.org> |
| 40 | +* RFC 9218 HTTP/2 Priority support (#552). |
| 41 | + Contributed by Arturo Bernal <abernal at apache.org> |
18 | 42 |
|
19 | | -* Bump testcontainers.version from 1.20.2 to 1.20.4 #505 |
20 | | - Contributed by Gary Gregory <ggregory at apache.org> |
| 43 | +* Stale connection check for the async protocol handlers. |
| 44 | + Contributed by Ryan Schmitt <rschmitt at apache.org> |
| 45 | + |
| 46 | +* Corrected JavaDoc for HttpConnection#close to reference correct CloseMode mode (#561). |
| 47 | + Contributed by Arturo Bernal <abernal at apache.org> |
| 48 | + |
| 49 | +* HTTPCORE-785: Improved Javadocs of TlsStrategy implementations. |
| 50 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 51 | + |
| 52 | +* HTTPCORE-785: Updated request execution example with Conscrypt as a security provider. |
| 53 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 54 | + |
| 55 | +* Five-second TCP keep-alive enabled by default. |
| 56 | + Contributed by Ryan Schmitt <rschmitt at apache.org> |
| 57 | + |
| 58 | +* RFC 9113 conformance: H2 stream can be cancelled (reset) locally from multiple threads. |
| 59 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 60 | + |
| 61 | +* RFC 9113 conformance: Strict SETTINGS_MAX_CONCURRENT_STREAMS enforcement for inbound and |
| 62 | + outbound streams. |
| 63 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 64 | + |
| 65 | +* RFC 9113 conformance: Use command queue to activate streams reserved with a push promise. |
| 66 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 67 | + |
| 68 | +* RFC 9113 conformance: Improved H2 stream creation and initialization, improved H2 stream |
| 69 | + state tracking and tracking of total stream counts. |
| 70 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 71 | + |
| 72 | +* RFC 9113 conformance: Corrected H2 stream ID generation and verification logic. |
| 73 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 74 | + |
| 75 | +* RFC 9113 conformance: Refactoring of internal H2 stream APIs. |
| 76 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 77 | + |
| 78 | +* RFC 9113 conformance: Merge multiple Cookie Header fields into a single field after |
| 79 | + decompression. |
| 80 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 81 | + |
| 82 | +* RFC 9113 conformance: Stricter validation of message fields. |
| 83 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 84 | + |
| 85 | +* RFC 9113 conformance: RST_STREAM with NO_ERROR error code gracefully terminates the request |
| 86 | + on the client if the server has sent the complete response (the stream has been closed |
| 87 | + remotely). |
| 88 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 89 | + |
| 90 | +* Revised graceful / immediate H2 connection shutdown. |
| 91 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 92 | + |
| 93 | +* RFC 9113 conformance: Ensure the ID of promised streams is valid (greater than the last seen). |
| 94 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 95 | + |
| 96 | +* RFC 9113 conformance: Treat ENABLE_PUSH set to 1 transmitted by the server endpoint as |
| 97 | + a protocol error. |
| 98 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 99 | + |
| 100 | +* RFC 9113 conformance: Treat attempts to send frames on a locally closed stream as a protocol |
| 101 | + violation. |
| 102 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 103 | + |
| 104 | +* HTTP/1.1 async protocol handler to read message data more greedily. |
| 105 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 106 | + |
| 107 | +* Optimized release of resources associated with H2 streams. #releaseResources should be called |
| 108 | + only once. |
| 109 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 110 | + |
| 111 | +* H2 transport to enforce a max limit on the number of CONTINUATION frames. |
| 112 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 113 | + |
| 114 | +* Socket keep-alive option support. |
| 115 | + Contributed by Ryan Schmitt <rschmitt at apache.org> |
| 116 | + |
| 117 | +* Discontinue use of SocketSupport to set extended socket options. |
| 118 | + Contributed by Ryan Schmitt <rschmitt at apache.org> |
| 119 | + |
| 120 | +* IOFunction functional interface. |
| 121 | + Contributed by Arturo Bernal <abernal at apache.org> |
| 122 | + |
| 123 | +* Safeguard for infinite unproductive loop in non-blocking SSL session #527. |
| 124 | + Contributed by Ali Farahani <ali.farahani at genesys.com> |
| 125 | + |
| 126 | +* Slightly better and efficient #toHexString method. |
| 127 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
21 | 128 |
|
22 | | -* Bump testcontainers.version from 1.21.1 to 1.21.3 #530, #534 |
| 129 | +* HTTP/2 protocol handler to allow configuring FrameFractory (#525). |
| 130 | + Contributed by Marko <marco at sitar.dev> |
| 131 | + |
| 132 | +* ContentType.APPLICATION_ZIP_COMPRESSED (#524). |
23 | 133 | Contributed by Gary Gregory <ggregory at apache.org> |
24 | 134 |
|
25 | | -* Bump log4j.version from 2.24.3 to 2.25.0 #529 |
| 135 | +* I/O reactors to support Unix domain sockets. |
| 136 | + Contributed by Ryan Schmitt <rschmitt at apache.org> |
| 137 | + |
| 138 | +* Redesign of classic over async bridge. |
| 139 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 140 | + |
| 141 | +* Shared buffers to support timeout on blocking operations. |
| 142 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 143 | + |
| 144 | +* Added a method to the async response channel to terminate the ongoing message exchange |
| 145 | + due to an internal error. |
| 146 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 147 | + |
| 148 | +* Avoid legacy Socket API in reactor code. |
| 149 | + Contributed by Ryan Schmitt <rschmitt at apache.org> |
| 150 | + |
| 151 | +* Support for parsing of headers representing a list of complex elements. |
| 152 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 153 | + |
| 154 | +* RFC 3986 conformant URI encoding policy (#517). |
| 155 | + Contributed by Arturo Bernal <abernal at apache.org> |
| 156 | + |
| 157 | +* Protocol negotiation handlers to use exception callback to report unexpected exceptions |
| 158 | + during the protocol negotiation handshake. |
| 159 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 160 | + |
| 161 | +* Updated error message in ProtocolVersion. |
| 162 | + Contributed by Mavelous <github at mavelo.us> |
| 163 | + |
| 164 | +* Handle overflow in Deadline calculation to ensure correct behavior for large time values |
| 165 | + (#512). |
| 166 | + Contributed by Arturo Bernal <abernal at apache.org> |
| 167 | + |
| 168 | +* HTTPCORE-774: Update window management improvements. |
| 169 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 170 | + |
| 171 | +* Added more convenience methods to classic request / response builders. |
| 172 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 173 | + |
| 174 | +* HTTPCORE-773: Introduced customizable strategy to select I/O dispatch worker for new I/O |
| 175 | + channels. |
| 176 | + Contributed by Oleg Kalnichevski <olegk at apache.org> |
| 177 | + |
| 178 | +* Optimize connection close logic to resolve timeout delay issue (#508). |
| 179 | + Contributed by Noah <yuns994@gmail.com> |
| 180 | + |
| 181 | +* NoConnectionReuseStrategy |
| 182 | + Contributed by Johnny Lim <izeye@naver.com> |
| 183 | + |
| 184 | +* Polish Javadoc for HttpResponseInterceptor. |
| 185 | + Contributed by Johnny Lim <izeye@naver.com> |
| 186 | + |
| 187 | +* HTTP Method QUERY support (#499). |
| 188 | + Contributed by Mario Daniel Ruiz Saavedra <desiderantes93 at gmail.com> |
| 189 | + |
| 190 | +* Ensure Date header is always present and replace invalid values. (#500). |
| 191 | + Contributed by Arturo Bernal <abernal at apache.org> |
| 192 | + |
| 193 | +* HTTP/1.1 TE header interceptor and strict client/server option (#498). |
| 194 | + Contributed by Arturo Bernal <abernal at apache.org> |
| 195 | + |
| 196 | +* HTTPCLIENT-2233: Metrics listener for IOReactor thread pool monitoring (#490). |
| 197 | + Contributed by Arturo Bernal <abernal at apache.org> |
| 198 | + |
| 199 | +* A FutureContribution should not allow a null BasicFuture (#485). |
26 | 200 | Contributed by Gary Gregory <ggregory at apache.org> |
27 | 201 |
|
| 202 | +* HTTPCORE-770: Introduced `plusAsBlank` parameter for dynamic configuration. |
| 203 | + Contributed by Arturo Bernal <abernal at apache.org> |
| 204 | + |
| 205 | + |
| 206 | + |
28 | 207 | Release 5.3 |
29 | 208 | ------------------ |
30 | 209 |
|
|
0 commit comments