blob: 55d2bfaef57478694d238fb3d615a00802f295a6 [file] [log] [blame]
Release 4.1
-------------------
This is the first stable (GA) release of HttpAsyncClient 4.1. Notable features and enhancements
included in 4.1 series are:
* Support for pipelined request execution
* Support for the latest HTTP state management specification (RFC 6265). Please note that the old
cookie policy is still used by default for compatibility reasons. RFC 6265 compliant cookie
policies need to be explicitly configured by the user. Please also note that as of next feature
release support for Netscape draft, RFC 2109 and RFC 2965 cookie policies will be deprecated
and disabled by default. It is recommended to use RFC 6265 compliant policies for new applications
unless compatibility with RFC 2109 and RFC 2965 is required and to migrate existing applications
to the default cookie policy.
* Enhanced, redesigned and rewritten default SSL hostname verifier with improved RFC 2818
compliance
* Default SSL hostname verifier and default cookie policy now validate certificate identity
and cookie domain of origin against the public suffix list maintained by Mozilla.org
<https://publicsuffix.org/list>
* Authentication cache thread-safety: authentication cache used by HttpClient is now thread-safe
and can be shared by multiple threads in order to re-use authentication state for subsequent
requests
Changelog:
-------------------
* [HTTPASYNC-90] Fixed SNI support.
Contributed by David <dblack at atlassian.com>
* [HTTPASYNC-88] persistent connections can time out while kept alive in the pool
causing unexpected SocketTimeoutException
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-86]: fixed a race condition upon connection lease from the connection pool:
in very rare circumstances the main execution thread can get jammed for so long
that the I/O dispatch thread succeeds in completing the request and releasing the connection
while the main still is performing connection validation.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* Update Apache Commons Logging version from 1.1.3 to 1.2.
Contributed by Gary Gregory <ggregory at apache.org>
Release 4.1 BETA1
-------------------
This is the first BETA release of HttpAsyncClient 4.1. Notable features and enhancements included
in 4.1 series are:
* Support for pipelined request execution
* Enhanced redesigned and rewritten default SSL hostname verifier with improved RFC 2818
compliance
* Default SSL hostname verifier and default cookie policy now validate certificate identity
and cookie domain of origin against the public suffix list maintained by Mozilla.org
<https://publicsuffix.org/list>
* Authentication cache thread-safety: authentication caches used by HttpAsyncClient is now
thread-safe and can be shared by multiple contexts in order to re-use authentication state for
subsequent requests
Release 4.0.2
-------------------
HttpAsyncClient 4.0.2 (GA) is a bug fix release that addresses several issues reported since
release 4.0.1. This release also upgrades HttpClient dependency to the latest stable version.
All users of HttpAsyncClient 4.0 are strongly advised to upgrade.
Changelog
-------------------
* [HTTPASYNC-79] Rearranged sequence of operations upon connection lease to eliminate possibility
of a connection leak due to race condition on keep-alive boundary
Contributed by Oleg Kalnichevski <olegk at apache.org>
* Replaced dynamic proxies with custom proxy classes to reduce thread contention.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-73] Original request headers are not copied upon redirect
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 4.0.1
-------------------
This maintenance release fixes a number of bugs including incorrect OSGi bundle metadata
found since release 4.0. This release also upgrades HttpCore and HttpClient dependencies to
the latest stable versions.
All users of HttpAsyncClient 4.0 are advised to upgrade.
Changelog
-------------------
* [HTTPASYNC-69] Premature cancellation of the response consumer to immediately shut down
and release the underlying connection.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-68] Connection closed by the opposite endpoint immediately upon its lease from
the pool is never released back and reclaimed by the pool (collection leak).
Contributed by Dmitry Potapov <potapov.d at gmail.com>
* Persistent connections always get discarded in case of a response future cancellation
even if they can be kept alive.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-64] Race conditions in async caching module.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-65] Relaxed OSGi dependency import version ranges
Contributed by Christian Schneider <chris at die-schneider.net>
* [HTTPCLIENT-1446] NTLM proxy + BASIC target auth fails with 'Unexpected state:
MSG_TYPE3_GENERATED'.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-63] ConnectionShutdownException thrown in case of out-of-sequence response.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPCLIENT-1442] Authentication header set by the user gets removed in case
of proxy authentication.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-60] Fixed incorrect OSGi Symbolic-BundleName.
Contributed by M. van Cuijk <mark at phedny.net>
Release 4.0
-------------------
This is the first stable (GA) release of Apache HttpAsyncClient 4.0. HttpAsyncClient is a library
for asynchronous client-side HTTP communication built on top of HttpCore NIO transport.
It is a complementary library to Apache HttpClient intended and optimized for special cases
whereby ability to scale to many thousands of concurrent connections is more important than
performance in terms of raw data throughput.
HttpAsyncClient 4.0 is designed to have similar APIs as Apache HttpClient 4.3 and a comparable
feature set. In addition HttpAsyncClient provides full support for zero-copy file upload and
download operations. It presently does not support transparent content decompression and automatic
I/O error recovery. These features may be added in future releases.
Changelog:
-------------------
* [HTTPASYNC-56] Fixed thread deadlock in DefaultClientExchangeHandlerImpl.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-57] HTTPS request execution via a HTTP proxy can cause an infinite loop.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-52] Proxy configuration set at the request level does not apply.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-51] Request producers do not get correctly reset if the server responds early
(out of sequence), which can cause entity enclosing requests to be malformed in case of
re-execution.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-45] CachingHttpAsyncClient to override Future returned by the backend.
Contributed by James Leigh <james at 3roundstones dot com>
Release 4.0 Beta 4
-------------------
The 4.0 BETA4 release delivers significant performance improvements in request execution,
especially for short HTTP messages, and also re-aligns programming interfaces used by the library
with HttpCore 4.3 and HttpClient 4.3 APIs. Configuration and preference APIs of HttpAsyncClient
are now consistent with those used by HttpClient 4.3.
Users of previous releases of HttpAsyncClient are advised to upgrade.
Changelog:
* [HTTPCLIENT-1353] 303 Redirects Should be Cacheable
Contributed by James Leigh <james at 3roundstones dot com>
* Redesign of configuration and preference APIs.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* Redesign of connection management APIs.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-34] HttpAsyncClient fails to re-start request execution if the opposite end
prematurely terminates persistent connection.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-28] PoolEntry's expiry information is never updated.
Contributed by Daniel Kulp <dkulp at apache.org>
Release 4.0 Beta 3
-------------------
The 4.0 BETA3 is a maintenance release that picks up the latest bug fixes in the core components.
Changelog:
* Upgraded HttpCore to version 4.2.2
* [HTTPASYNC-26] OSGi bundle import fix.
Contributed by Daniel Kulp <dkulp at apache.org>
* [HTTPASYNC-25] AsyncSchemeRegistry instance set in the execution context takes precedence over
the default one.
Contributed by Daniel Kulp <dkulp at apache.org>
* Ported fix for HTTPCLIENT-1224
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 4.0 Beta 2
-------------------
The 4.0 BETA2 release fixes a number of non-critical issues found since release 4.0-beta1 and
introduces basic support for HTTP/1.1 response caching. Please note that caching for streaming
HTTP exchanges is currently not supported.
Users of previous releases of HttpAsyncClient are advised to upgrade.
Changelog:
* [HTTPASYNC-20] HTTP exchange can now be aborted with HttpUriRequest#abort().
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-17] Caching HttpAsyncClient facade.
Contributed by Clinton Nielsen <clinton.h.nielsen at gmail.com>
* [HTTPASYNC-19] Fixed incorrect execution of message exchanges that span across multiple hosts
(for instance, in case of a request redirect).
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-18] Fixed thread deadlock that could occur in the DefaultAsyncRequestDirector
in case of a runtime exception.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-15]: HttpAsyncClient hangs if connection leased from the pool gets immediately closed
by the opposite endpoint.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 4.0 Beta 1
-------------------
The 4.0 BETA1 release completes the application programming interface and the feature set
of HttpAsyncClient and upgrades to the latest versions of core and client components
(HttpCore 4.2-beta1 and HttpClient 4.2-beta1). As of this release HttpAsyncClient is expected
to be API stable.
Users of previous releases of HttpAsyncClient are advised to upgrade.
Changelog:
* [HTTPASYNC-11]: HttpAsyncClient fails to re-authenticate if connection is non-persistent.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPASYNC-5]: Allow customized LineParser for asynchronous connections.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 4.0 Alpha 3
-------------------
The 4.0 ALPHA3 release largely completes the application programming interface and feature set
of HttpAsyncClient. While the API may still change in the course of the ALPHA development phase,
this is expected to be the last round of major API changes and the API is expected to be reasonably
stable as of this release.
We are kindly asking actual and prospective users of HttpAsyncClient to review its API, evaluate
its functionality and give us feedback while the 4.0 API is still not final. If no major flaws
are discovered the 4.0 API is expected to be frozen with the next BETA release.
Changelog:
* [HTTPASYNC-6]: Fixed NPE in the DefaultAsyncRequestDirector#responseCompleted method.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 4.0 Alpha 2
-------------------
The second ALPHA release of HttpAsyncClient 4.0 comes with a number of important improvements and
enhancements. As of this version HttpAsyncClient fully supports HTTP state management (cookies)
and HTTP authentication (basic, digest, NTLM, spnego/kerberos). Connection management classes have
been thoroughly reworked and improved. This version also improves support for zero copy file
upload / download operations.
The HttpAsyncClient 4.0 API is still considered experimental and is expected to change
in the course of the ALPHA development phase.
Please note that currently HttpAsyncClient DOES NOT support
* Stateful HTTP connections
Changelog:
* [HTTPASYNC-3]: Fixed incorrect handling of expired I/O sessions by SessionPool.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 4.0 Alpha 1
-------------------
HttpAsyncClient is a library for asynchronous client-side HTTP communication built on HttpCore NIO
and HttpClient components.
HttpAsyncClient is NOT meant to replace or supersede Apache HttpClient. It is a complementary
library to Apache HttpClient intended for special cases where ability to handle a great number of
concurrent connections is more important than performance in terms of a raw data throughput or
for those users who prefer event-driven APIs.
The HttpAsyncClient 4.0 API is still very experimental and is expected to change in the course
of the ALPHA development phase.
Please note that currently HttpAsyncClient DOES NOT support
* HTTP state management (cookies)
* HTTP authentication
* Stateful HTTP connections