| Release 4.4.1 |
| ------------------- |
| |
| HttpClient 4.4.1 (GA) is a maintenance release that fixes a number of defects in new functionality |
| introduced in version 4.4. |
| |
| Users of HttpClient 4.4 are encouraged to upgrade. |
| |
| Please note that as of 4.4 HttpClient requires Java 1.6 or newer. |
| |
| Changelog: |
| ------------------- |
| |
| * Marked RFC 2109, RFC 2965, Netscape draft cookie specs as obsolete |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1633] RFC6265CookieSpecProvider compatibility level setting has no effect. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1628]: Auth cache can fail when domain name contains uppercase characters. |
| Contributed by Dennis Ju <dejuknow at gmail.com> |
| |
| * [HTTPCLIENT-1609] Stale connection check in PoolingHttpClientConnectionManager has no effect. |
| Internal connection pool does not correctly implement connection validation. |
| Contributed by Charles Lip <rene1 at singnet.com.sg> |
| |
| |
| |
| Release 4.4 Final |
| ------------------- |
| |
| This is the first stable (GA) release of HttpClient 4.4. Notable features and enhancements included |
| in 4.4 series are: |
| |
| * 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> |
| |
| * More efficient stale connection checking: indiscriminate connection checking which results |
| in approximately 20 to 50 ms overhead per request has been deprecated in favor of conditional |
| connection state validation (persistent connections are to be re-validated only if a specified |
| period inactivity has elapsed) |
| |
| * 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 |
| |
| * Native Windows Negotiate and NTLM via SSPI through JNA: when running on Windows OS HttpClient |
| configured to use native NTLM or SPNEGO authentication schemes can make use of platform specific |
| functionality via JNA and current user credentials. This functionality is still considered |
| experimental, known to have compatibility issues and subject to change without prior notice. |
| Use at your discretion. |
| |
| This release also includes all fixes from the stable 4.3.x release branch. |
| |
| Please note that as of 4.4 HttpClient requires Java 1.6 or newer. |
| |
| |
| Changelog: |
| ------------------- |
| |
| * Support for the latest HTTP state management specification (RFC 6265). |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1515] Caching of responses to HEAD requests |
| Contributed by Tyrone Cutajar <tj.cutajar at gmail.com> and |
| Francois-Xavier Bonnet <fx at apache.org> |
| |
| * [HTTPCLIENT-1560] Native Windows auth improvements |
| Contributed by Michael Osipov <michaelo at apache.org> |
| |
| * Update Apache Commons Logging version from 1.1.3 to 1.2. |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| * Update Apache Commons Codec version from 1.6 to 1.9. |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| * Update Ehcache version from 2.2.0 to 2.6.9. |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| * Update Ehcache version from 2.2.0 to 2.6.9. |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| * Update Spymemcached version from 2.6 to 2.11.4. |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| * Update SLF4J version from 1.5.11 to 1.7.7. |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| |
| |
| |
| |
| Release 4.4 BETA1 |
| ------------------- |
| |
| This is the first BETA release of HttpClient 4.4. Notable features and enhancements included |
| in 4.4 series are: |
| |
| * 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> |
| |
| * Native windows Negotiate/NTLM via JNA: when running on Windows OS HttpClient configured to use |
| native NTLM or SPNEGO authentication schemes can make use of platform specific functionality |
| via JNA and current user system credentials |
| |
| * More efficient stale connection checking: indiscriminate connection checking which results |
| in approximately 20 to 50 ms overhead per request has been deprecated in favor of conditional |
| connection state validation (persistent connections are to be re-validated only if a specified |
| period inactivity has elapsed) |
| |
| * Authentication cache thread-safety: authentication caches used by HttpClient is now thread-safe |
| and can be shared by multiple threads in order to re-use authentication state for subsequent |
| requests |
| |
| This release also includes all fixes from the stable 4.3.x release branch. |
| |
| Please note that as of 4.4 HttpClient requires Java 1.6 or newer. |
| |
| |
| Changelog: |
| ------------------- |
| |
| * [HTTPCLIENT-1547] HttpClient OSGi bundle doesn't import the package "javax.naming". |
| Contributed by Willem Jiang <ningjiang at apache.org> |
| |
| * [HTTPCLIENT-1541] Use correct (HTTP/hostname) service principle name for Windows native |
| Negotiate/NTLM auth schemes. |
| Contributed by Ka-Lok Fung <ka-lok.fung at sap.com> |
| |
| * Improved compliance with RFC 2818: default hostname verifier to ignore the common name of the |
| certificate subject if alternative subject names (dNSName or iPAddress) are present. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1540] Support delegated credentials (ISC_REQ_DELEGATE) by Native windows |
| native Negotiate/NTLM auth schemes. |
| Contributed by Ka-Lok Fung <ka-lok.fung at sap.com> |
| |
| |
| |
| Release 4.4 ALPHA1 |
| ------------------- |
| |
| This is the first ALPHA release of HttpClient 4.4. Notable features and enhancements included |
| in the 4.4 branch are: |
| |
| * More efficient stale connection checking: indiscriminate connection checking which results |
| in approximately 20 to 50 ms overhead per request has been deprecated in favor of conditional |
| connection state validation (persistent connections are to be re-validated only if a specified |
| period inactivity has elapsed) |
| |
| * Native windows Negotiate/NTLM via JNA: when running on Windows OS HttpClient configured to use |
| native NTLM or SPNEGO authentication schemes can make use of platform specific functionality |
| via JNA and current user system credentials |
| |
| * Authentication cache thread-safety: authentication caches used by HttpClient is now thread-safe |
| and can be shared by multiple threads in order to re-use authentication state for subsequent |
| requests |
| |
| This release also includes all fixes from the stable 4.3.x release branch. |
| |
| Please note that as of 4.4 HttpClient requires Java 1.6 or newer. |
| |
| Please note that new features included in this release are still considered experimental and |
| their API may change in the future 4.4 alpha and beta releases. |
| |
| |
| Changelog: |
| ------------------- |
| |
| * [HTTPCLIENT-1493] Indiscriminate connection checking has been deprecated in favor of conditional |
| connection state validation. Persistent connections are to be re-validated only after a defined |
| period inactivity prior to being leased to the consumer. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1519] Use the original HttpHost instance passed as a parameter to |
| HttpClient#execute when generating 'Host' request header. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1491] Enable provision of Service Principal Name in Windows native |
| auth scheme. |
| Contributed by Malcolm Smith <malcolmfsmith at gmail.com> |
| |
| * [HTTPCLIENT-1403] Pluggable content decoders. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1466] FileBodyPart#generateContentType() ignores custom ContentType values. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1461] fixed performance degradation in gzip encoded content processing |
| introduced by HTTPCLIENT-1432. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1457] Incorrect handling of Windows (NT) credentials by |
| SystemDefaultCredentialsProvider. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1456] Request retrial after status 503 causes ClientProtocolException. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1454] Make connection operator APIs public. |
| Contributed by Tamas Cservenak <tamas at cservenak.net> |
| |
| * Update JUnit to version 4.11 from 4.9 |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| |
| |
| Release 4.3.4 |
| ------------------- |
| |
| HttpClient 4.3.4 (GA) is a maintenance release that improves performance in high concurrency |
| scenarios. This version replaces dynamic proxies with custom proxy classes and eliminates thread |
| contention in java.reflect.Proxy.newInstance() when leasing connections from the connection pool |
| and processing response messages. |
| |
| |
| Changelog: |
| ------------------- |
| |
| * Replaced dynamic proxies with custom proxy classes to reduce thread contention. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1484] GzipCompressingEntity should not close the underlying output stream |
| if the entity has not been fully written out due to an exception. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1474] Fixed broken entity enclosing requests in HC Fluent. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1470] CachingExec(ClientExecChain, HttpCache, CacheConfig, AsynchronousValidator) |
| throws NPE if config is null |
| |
| |
| |
| |
| Release 4.3.3 |
| ------------------- |
| |
| HttpClient 4.3.3 (GA) is a bug fix release that fixes a regression introduced by the previous |
| release causing a significant performance degradation in compressed content processing. |
| |
| Users of HttpClient 4.3 are encouraged to upgrade. |
| |
| Changelog: |
| ------------------- |
| |
| * [HTTPCLIENT-1466] FileBodyPart#generateContentType() ignores custom ContentType values. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1453] Thread safety regression in PoolingHttpClientConnectionManager |
| #closeExpiredConnections that can lead to ConcurrentModificationException. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1461] fixed performance degradation in compressed content processing |
| introduced by HTTPCLIENT-1432. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1457] Incorrect handling of Windows (NT) credentials by |
| SystemDefaultCredentialsProvider. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1456] Request retrial after status 503 causes ClientProtocolException. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| Release 4.3.2 |
| ------------------- |
| |
| HttpClient 4.3.2 (GA) is a maintenance release that delivers a number of improvements |
| as well as bug fixes for issues reported since 4.3.1 release. SNI support for |
| Oracle JRE 1.7+ is being among the most notable improvements. |
| |
| Users of HttpClient 4.3 are encouraged to upgrade. |
| |
| Changelog: |
| ------------------- |
| |
| * [HTTPCLIENT-1447] Clients created with HttpClients.createMinimal do not work with absolute URIs |
| Contributed by Joseph Walton <joe at kafsemo dot org> |
| |
| * [HTTPCLIENT-1446] NTLM proxy + BASIC target auth fails with 'Unexpected state: |
| MSG_TYPE3_GENERATED'. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1443] HttpCache uses the physical host instead of the virtual host as a cache key. |
| Contributed by Francois-Xavier Bonnet <fx at apache.org> |
| |
| * [HTTPCLIENT-1442] Authentication header set by the user gets removed in case |
| of proxy authentication (affects plan HTTP requests only). |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1441] Caching AsynchronousValidationRequest leaks connections. |
| Contributed by Dominic Tootell <dominic.tootell at gmail.com> |
| |
| * [HTTPCLIENT-1440] 'file' scheme in redirect location URI causes NPE. |
| Contributed by James Leigh <james at 3roundstones dot com> |
| |
| * [HTTPCLIENT-1437] Made Executor#execute thread safe. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1119] SNI support (Oracle Java 1.7+ only). |
| Contributed by Bruno Harbulot <bruno at distributedmatter.net> |
| |
| * [HTTPCLIENT-1435] Fluent Executor ignores custom request properties. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1432] Lazy decompressing of HttpEntity#getContent() to avoid EOFException |
| in case of an empty response with 'Content-Encoding: gzip' header. |
| Contributed by Yihua Huang <code4crafter at gmail.com> |
| |
| * [HTTPCLIENT-1431] (Regression) deprecated connection manager cannot be used with |
| a custom LayeredSchemeSocketFactory. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1425] Fixed socket closed exception thrown by caching HttpClient when the origin |
| server sends a long chunked response. |
| Contributed by James Leigh <james at 3roundstones dot com> |
| |
| * [HTTPCLIENT-1417] Fixed NPE in BrowserCompatSpec#formatCookies caused by version 1 |
| cookies with null cookie value. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1416] Fixed NPE in CachingHttpClientBuilder#build(). |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| |
| Release 4.3.1 |
| ------------------- |
| |
| HttpClient 4.3.1 (GA) is a bug fix release that addresses a number of issues reported since |
| release 4.3. |
| |
| Users of HttpClient 4.3 are strongly encouraged to upgrade. |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-1410] Browser compatible hostname verifier no longer rejects |
| *.co.<countrycode>, *.gov.<countrycode>, *.info.<countrycode>, etc as invalid. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Ensure X509HostnameVerifier is never null. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1405] CONNECT HTTP/1.1 requests lack mandatory 'Host' header. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1402] Cache default User-Agent value. |
| Contributed by yuexiaojun <junedo at qq.com> |
| |
| * [HTTPCLIENT-1398] Fixed invalid OSGi metadata caused by corrupted Maven bundle plugin metadata. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1399] Fixed NPE in RequestBuilder. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| |
| |
| Release 4.3 Final |
| ------------------- |
| |
| This is the first stable (GA) release of HttpClient 4.3. The most notable enhancements included |
| in this release are: |
| |
| * Support for Java 7 try-with-resources for resource management (connection release.) |
| |
| * Added fluent Builder classes for HttpEntity, HttpRequest, HttpClient and SSLContext instances. |
| |
| * Deprecation of preference and configuration API based on HttpParams interface in favor of |
| constructor injection and plain configuration objects. |
| |
| * Reliance on object immutability instead of access synchronization for thread safety. |
| Several old classes whose instances can be shared by multiple request exchanges have |
| been replaced by immutable equivalents. |
| |
| * DefaultHttpClient, DecompressingHttpClient, CachingHttpClient and similar classes are |
| deprecated in favor of builder classes that produce immutable HttpClient instances. |
| |
| * HttpClient builders now dynamically construct a request execution pipeline tailored |
| specifically to the user configuration by physically excluding unnecessary protocol components. |
| |
| * There is now an option to construct a minimal HttpClient implementation that can only execute |
| basic HTTP message exchanges without redirects, authentication, state management or proxy support. |
| This feature might be of particular use in web crawler development. |
| |
| * There is now option to avoid strict URI syntax for request URIs by executing HTTP requests |
| with an explicitly specified target host. HttpClient will no longer attempt to parse the request |
| URI if it does not need to extract the target host from it. |
| |
| This release also includes all fixes from the stable 4.2.x release branch. |
| |
| |
| Changelog |
| ------------------- |
| * [HTTPCLIENT-1371] Weak ETag Validation is Useful On PUT With If-Match |
| Contributed by James Leigh <james at 3roundstones dot com> |
| |
| * [HTTPCLIENT-1394] Support for Native windows Negotiate/NTLM via JNA |
| Contributed by Ryan McKinley <ryan at apache.org> |
| |
| * [HTTPCLIENT-1384] Expose CacheInvalidator interface. |
| Contributed by Nicolas Richeton <nicolas.richeton at free.fr> |
| |
| * [HTTPCLIENT-1385] Fixed path normalization in CacheKeyGenerator |
| Contributed by James Leigh <james at 3roundstones dot com> |
| |
| * [HTTPCLIENT-1370] Response to non-GET requests should never be cached with the default |
| ResponseCachingPolicy |
| Contributed by James Leigh <james at 3roundstones dot com> |
| |
| * [HTTPCLIENT-1373] OPTIONS and TRACE should not invalidate cache |
| Contributed by James Leigh <james at 3roundstones dot com> |
| |
| * [HTTPCLIENT-1383] HttpClient enters an infinite loop during NTLM authentication if the opposite |
| endpoint keeps responding with a type 2 NTLM response after type 3 MTLM message has already been |
| sent by the client. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1372] Refactor HttpMultipart, and add RFC6532 mode, so that headers in post |
| are no longer constrained to ASCII values. |
| Contributed by Karl Wright <kwright at apache.org> |
| |
| * [HTTPCLIENT-1377] User principal for non-NTLM authentication is incorrectly generated when using |
| user credentials are specified as NTCredentials |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| |
| |
| Release 4.3 BETA2 |
| ------------------- |
| |
| This is the second BETA release of HttpClient 4.3. The most notable features and improvements |
| in the 4.3 branch are: Support for Java 7 try-with-resources for resource management (connection |
| release); fluent Builder classes for HttpEntity, HttpRequest and HttpClient instances, deprecation |
| of preference and configuration API based on HttpParams interface in favor of constructor injection |
| and plain configuration objects, reliance on object immutability instead of access synchronization |
| for thread safety. |
| |
| This release also includes all fixes from the stable 4.2.x release branch. |
| |
| Changelog |
| ------------------- |
| |
| |
| * [HTTPCLIENT-1366] org.apache.http.client.utils.URLEncodedUtils should parse the semicolon as a query parameter separator. |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| * [HTTPCLIENT-1365] NPE when ManagedHttpClientConnectionFactory.create(ConnectionConfig) is called with null. |
| Contributed by Gary Gregory <ggregory at apache.org> |
| |
| * [HTTPCLIENT-1362] Better error messages for connect timed out and connection refused |
| exceptions. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1360] separate out DeflateInputStream as an independent class, |
| so it can be used by others. |
| Contributed by Karl Wright <kwright at apache.org> |
| |
| * [HTTPCLIENT-1359] repeated requests using the same context fail if they redirect. |
| Contributed by James Leigh <james at 3roundstones.com> |
| |
| * [HTTPCLIENT-1354] do not quote algorithm parameter in DIGEST auth response. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1351] Added utility method to resolve final location from original request, |
| target host and a list of redirects. |
| Contributed by James Leigh <james at 3roundstones.com> |
| |
| * [HTTPCLIENT-1344] Userinfo credentials in URI should not default to preemptive BASIC |
| authentication. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1345] Useinfo credentials ignored in redirect location header. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1294] HttpClient to rewrite host name of the redirect location URI in order |
| to avoid circular redirect exception due to host name case mismatch. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1264] Add support for multiple levels of browser compatibility |
| to BrowserCompatSpec and BrowserCompatSpecFactory. Include constructor |
| argument for IE medium-security compatibility. |
| Contributed by Karl Wright (kwright at apache.org) |
| |
| * [HTTPCLIENT-1349] SSLSocketFactory incorrectly identifies key passed with keystore as |
| the keystore password. |
| Contributed by David Graff <djgraff209 at gmail.com> |
| |
| * [HTTPCLIENT-1346] Ensure propagation of SSL handshake exceptions. |
| Contributed by Pasi Eronen <pe at iki.fi> |
| |
| * [HTTPCLIENT-1343] SSLSocketFactory optional parameters for supported SSL protocols and cipher |
| suites. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1238] Contribute Bundle Activator And Central Proxy Configuration. |
| Contributed by Simone Tripodi <simonetripodi at apache.org> |
| |
| * [HTTPCLIENT-1299] (regression) cache incorrectly disposes of the underlying cache resource |
| when storing variant entry. |
| Contributed by James Leigh <james at 3roundstones.com> |
| |
| * [HTTPCLIENT-1342] Redirects with underscore character in the location hostname cause |
| "java.lang.IllegalArgumentException: Host name may not be null". |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| |
| Release 4.3 BETA1 |
| ------------------- |
| |
| This is the first BETA release of HttpClient 4.3. The 4.3 branch enhances HttpClient in several |
| key areas and includes several notable features and improvements: Support for Java 7 |
| try-with-resources for resource management (connection release); fluent Builder classes for |
| HttpEntity, HttpRequest and HttpClient instances, deprecation of preference and configuration API |
| based on HttpParams interface in favor of constructor injection and plain configuration objects, |
| reliance on object immutability instead of access synchronization for thread safety. |
| |
| This release also includes all fixes from the stable 4.2.x release branch. |
| |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-1317] InetAddressUtils should handle IPv6 Addresses with Embedded IPv4 Addresses |
| Contributed Sebastian Bazley <sebb at apache.org>. |
| |
| * [HTTPCLIENT-1320] Leverage javax.net.ssl.SSLSocketFactory#getDefault() to initialize SSL context |
| based on system defaults instead of using an internal custom routine. |
| Contributed by Abe Backus <abraham at backus.com> and Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1316] Certificate verification rejects IPv6 addresses which are not String-equal. |
| Contributed Sebastian Bazley <sebb at apache.org>. |
| |
| * [HTTPCLIENT-1307] Future based asynchronous request execution. |
| Contributed by Jilles van Gurp <jilles at jillesvangurp.com> |
| |
| * [HTTPCLIENT-1313] Fixed IllegalStateException in deprecated ThreadSafeClientConnManager. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1298] Add AsynchronousValidator in HttpClientBuilder's list of closeable objects. |
| Contributed by Martin Meinhold <mmeinhold at atlassian.com> |
| |
| |
| |
| Release 4.3 ALPHA1 |
| ------------------- |
| |
| This is the first ALPHA release of HttpClient 4.3. The 4.3 branch enhances HttpClient in several |
| key areas and includes several notable features and improvements: Support for Java 7 |
| try-with-resources for resource management (connection release); fluent Builder classes for |
| HttpEntity, HttpRequest and HttpClient instances, deprecation of preference and configuration API |
| based on HttpParams interface in favor of constructor injection and plain configuration objects, |
| reliance on object immutability instead of access synchronization for thread safety. |
| |
| We are kindly asking all upstream projects to review API changes and help us improve |
| the APIs by providing feedback and sharing ideas on dev@hc.apache.org. |
| |
| This release also includes all fixes from the stable 4.2.x release branch. |
| |
| Please note that new features included in this release are still considered experimental and |
| their API may change in the future 4.3 alpha and beta releases. |
| |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-1250] Allow query string to be ignored when determining cacheability for |
| HTTP 1.0 responses. |
| Contributed by Don Brown <mrdon at twdata.org> |
| |
| * [HTTPCLIENT-1261] Make SystemDefaultHttpClient honor http.agent system property. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-900] Don't enforce URI syntax for messages with an explicit target host. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1190] HttpClient cache does not support "Vary: Cookie" |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1259] Calling #abort() on requests executed with DecompressingHttpClient has no |
| effect. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1253] URIBuilder setParameter() method could exceed the HTTP header size. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1216] Added method to force clean thread-local used by DateUtils. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| Release 4.2.3 |
| ------------------- |
| |
| HttpClient 4.2.3 (GA) is a bug fix release that addresses a number of issues reported since |
| release 4.2.2. This release also includes a thoroughly reworked NTLM authentication engine |
| which should result in a better compatibility with the newest Microsoft products. |
| |
| Users of HttpClient 4.x are advised to upgrade. |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-1296] NPE gets thrown if you combine a default host with a virtual host |
| that has a -1 value for the port. |
| Contributed by Karl Wright <daddywri at gmail.com> |
| |
| * [HTTPCLIENT-1290] 304 cached response never reused with If-modified-since conditional |
| requests. |
| Contributed by Francois-Xavier Bonnet <francois-xavier.bonnet at centraliens.net> |
| |
| * [HTTPCLIENT-1291] Absolute request URIs without an explicitly specified path are rewritten |
| to have "/" path). |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1286] Request URI rewriting is inconsistent - URI fragments are not removed |
| from absolute request URIs. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1284] HttpClient incorrectly generates Host header when physical connection |
| route differs from the host name specified in the request URI. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1293] Kerberos and SPNego auth schemes use incorrect authorization header name |
| when authenticating with a proxy. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1283] NTLM needs to use Locale-independent form of |
| toUpperCase(). |
| Contributed by Karl Wright <DaddyWri at gmail.com> |
| |
| * [HTTPCLIENT-1279] Target host responding with status 407 (proxy authentication required) |
| causes an NPE. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1281] GzipDecompressingEntity does not release InputStream when an IOException |
| occurs while reading the Gzip header |
| Contributed by Francois-Xavier Bonnet <francois-xavier.bonnet at centraliens.net> |
| |
| * [HTTPCLIENT-1277] Caching client sends a 304 to an unconditional request. |
| Contributed by Francois-Xavier Bonnet <francois-xavier.bonnet at centraliens.net> |
| |
| * [HTTPCLIENT-1278] Update NTLM documentation. |
| Contributed by Karl Wright <DaddyWri at gmail.com> |
| |
| * SystemDefaultHttpClient misinterprets 'http.keepAlive' default value and disables |
| connection persistence if the system property is not set. This causes connection |
| based authentication schemes such as NTLM to fail. |
| |
| * [HTTPCLIENT-1276] cache update on a 304 response causes NPE. |
| Contributed by Francois-Xavier Bonnet <francois-xavier.bonnet at centraliens.net> |
| |
| * [HTTPCLIENT-1273] DecompressingHttpClient does not automatically consume response |
| content in case of an i/o, HTTP or runtime exception thrown by the decompressing |
| protocol interceptor leading to a potential connection leak. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1268] NTLM engine refactor fix, to correct a buffer overrun, and get NTLMv2 |
| flags right. |
| Contributed by Karl Wright <DaddyWri at gmail.com> |
| |
| * [HTTPCLIENT-1266] NTLM engine refactoring and compatibility improvements. |
| Contributed by Karl Wright <DaddyWri at gmail.com> |
| |
| * [HTTPCLIENT-1263] BrowserCompatSpec: attribute values containing spaces or special characters |
| should be enclosed with quotes marks for version 1 cookies. |
| Contributed by Francois-Xavier Bonnet <francois-xavier.bonnet at centraliens.net> |
| |
| * [HTTPCLIENT-1263] CachingHttpClient fails to release connections back to the connection |
| manager for some type of HTTP response messages when used together with DecompressingHttpClient. |
| Contributed by Francois-Xavier Bonnet <francois-xavier.bonnet at centraliens.net> |
| |
| * [HTTPCLIENT-1258] Fixed NullPointerException in NTLMEngineImpl caused by null NT domain |
| attribute. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1254] Redirect with underscore in hostname causes ProtocolException. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1255] AbstractVerifier incorrectly parses certificate CN containing wildcard. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| |
| Release 4.2.2 |
| ------------------- |
| |
| HttpClient 4.2.2 (GA) is a bug fix release that addresses a number of issues reported since |
| release 4.2.1. |
| |
| Users of HttpClient 4.2 are advised to upgrade. |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-1248] Default and lax redirect strategies should not convert requests redirected |
| with 307 status to GET method. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1215] BasicAuthCache does not take default ports into consideration when |
| looking up cached authentication details by HttpHost key. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1241] (regression) Preemptive BASIC authentication failure should be considered |
| final and no further attempts to re-authenticate using the same credentials should be made. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1229] Fixed NPE in BasicClientConnectionManager that can be triggered by releasing |
| connection after the connection manager has already been shut down. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1227] Date parsing in DateUtils made more efficient. |
| Contributed by Patrick Linskey <pcl at apache.org> |
| |
| * [HTTPCLIENT-1224] (regression) NTLM auth not retried after a redirect over a non-persistent |
| connection. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1223] Cache could be more aggressive on cache invalidations |
| from Content-Location. Contributed by Jon Moore <jonm at apache.org>. |
| Contributed by Jon Moore <jonm at apache.org> |
| |
| * [HTTPCLIENT-1217] AutoRetryHttpClient does not release connection used by the previous response |
| when request is retried |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| |
| Release 4.2.1 |
| ------------------- |
| |
| HttpClient 4.2.1 (GA) is a bug fix release that addresses a number of issues reported since |
| release 4.2. |
| |
| Users of HttpClient 4.2 are advised to upgrade. |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-1209] Redirect URIs are now normalized. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1202] ResponseCachingPolicy should honor explicit cache-control |
| directives for other status codes |
| Contributed by Jon Moore <jonm at apache.org> |
| |
| * [HTTPCLIENT-1199] DecompressingHttpClient strips content from entity enclosing requests |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1198] HttpHost is not set in HttpContext in CachingHttpClient. |
| Contributed by Jon Moore <jonm at apache.org> |
| |
| * [HTTPCLIENT-1200] DecompressingHttpClient fails to generate correct HttpHost context attribute. |
| Contributed by Guillaume Castagnino <casta+jira at xwing.info> |
| |
| * [HTTPCLIENT-1192] URIBuilder encodes query parameters twice. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> and Sebastian Bazley <sebb at apache.org>. |
| |
| * [HTTPCLIENT-1196] Fixed NPE in UrlEncodedFormEntity constructor thrown if charset is null. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1193] Fixed regression in the route tracking logic of the default connection manager |
| causing cross-site redirect failures. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| Release 4.2 |
| ------------------- |
| |
| This is the first stable (GA) release of HttpClient 4.2. The most notable enhancements included |
| in this release are: |
| |
| * New facade API for HttpClient based on the concept of a fluent interface. The fluent API exposes |
| only the most fundamental functions of HttpClient and is intended for relatively simple use cases |
| that do not require the full flexibility of HttpClient. However, the fluent API almost fully |
| relieves the users from having to deal with connection management and resource deallocation. |
| |
| * Redesigned and rewritten connection management code. |
| |
| * Enhanced HTTP authentication API that enables HttpClient to handle more complex authentication |
| scenarios. HttpClient 4.2 is now capable of making use of multiple authentication challenges |
| and retry authentication with a fall-back scheme in case the primary one fails. This can be |
| important for compatibility with Microsoft products that are often configured to use |
| SPNEGO/Kerberos as the preferred authentication scheme. |
| |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-1187] If a revalidation response is deemed too old CachingHttpClient fails to |
| consume its content resulting in a connection leak. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1186] State of newly created connections in the connection pool is not always |
| correctly updated potentially allowing those connections to be leased to users with a different |
| security context. |
| Contributed by Ralf Poehlmann <rpn at methodpark.de> |
| |
| * [HTTPCLIENT-1179] Upgraded Commons Codec dependency to version 1.6 |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1177] always remove fragments from request URIs |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| Incompatible changes |
| -------------------- |
| [Compared to release version 4.1.3] |
| |
| The following fields have been deprecated for some time now and have been deleted: |
| |
| org.apache.http.client.params.ClientPNames#CONNECTION_MANAGER_FACTORY |
| org.apache.http.impl.cookie.BrowserCompatSpec#DATE_PATTERNS |
| |
| The following methods have been deprecated for some time now and have been deleted: |
| |
| org.apache.http.client.params.ClientParamBean#setConnectionManagerFactory(org.apache.http.conn.ClientConnectionManagerFactory) |
| org.apache.http.client.protocol.ClientContextConfigurer#setAuthSchemePref(java.util.List) |
| org.apache.http.entity.mime.content.FileBody#writeTo(java.io.OutputStream, int) |
| org.apache.http.entity.mime.content.InputStreamBody#writeTo(java.io.OutputStream, int) |
| org.apache.http.entity.mime.content.StringBody#writeTo(java.io.OutputStream, int) |
| |
| The following classes have been deprecated for some while now and have been deleted: |
| |
| org.apache.http.impl.conn.tsccm.RefQueueHandler |
| org.apache.http.impl.conn.tsccm.AbstractConnPool no longer implements interface org.apache.http.impl.conn.tsccm.RefQueueHandler |
| org.apache.http.impl.conn.tsccm.ConnPoolByRoute no longer implements interface org.apache.http.impl.conn.tsccm.RefQueueHandler |
| org.apache.http.impl.conn.tsccm.RefQueueWorker |
| |
| |
| |
| Release 4.2 BETA1 |
| ------------------- |
| |
| This is the first BETA release of HttpClient 4.2. This release completes development of several |
| notable enhancements in HttpClient: |
| |
| * New facade API for HttpClient based on the concept of a fluent interface. The fluent API exposes |
| only the most fundamental functions of HttpClient and is intended for relatively simple use cases |
| that do not require the full flexibility of HttpClient. However, the fluent API almost fully |
| relieves the users from having to deal with connection management and resource deallocation. |
| |
| * Redesigned and rewritten connection management code. As of release 4.2 HttpClient will be using |
| pooling connection manager per default. |
| |
| * Enhanced HTTP authentication API that enables HttpClient to handle more complex authentication |
| scenarios. HttpClient 4.2 is now capable of making use of multiple authentication challenges |
| and retry authentication with a fall-back scheme in case the primary one fails. This can be |
| important for compatibility with Microsoft products that are often configured to use |
| SPNEGO/Kerberos as the preferred authentication scheme. |
| |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-1164] Compressed entities are not being cached properly. |
| Contributed by Jon Moore <jonm at apache dot org>. |
| |
| * [HTTPCLIENT-1154] MemcachedHttpCacheStorage should allow client to |
| specify custom prefix string for keys. |
| Contributed by Jon Moore <jonm at apache dot org>. |
| |
| * [HTTPCLIENT-1153] MemcachedHttpCacheStorage uses URL as cache key; |
| shouldn't due to fixed maximum-length memcached keys. |
| Contributed by Jon Moore <jonm at apache dot org>. |
| |
| * [HTTPCLIENT-1157] MemcachedHttpCacheStroage should throw IOExceptions |
| instead of RuntimeExceptions. |
| Contributed by James Miller <jamesmiller01 at gmail dot com>. |
| |
| * [HTTPCLIENT-1152] MemcachedHttpCacheStorage should verify class of |
| returned object before casting. |
| Contributed by Rajika Kumarasiri <rajika at wso2 dot com>. |
| |
| * [HTTPCLIENT-1155] CachingHttpClient fails to ensure that the response content gets fully consumed |
| when using a ResponseHandler, which can potentially lead to connection leaks. |
| Contributed by James Miller <jamesmiller01 at gmail dot com> |
| |
| * [HTTPCLIENT-1147] When HttpClient-Cache cannot open cache file, should act like miss. |
| Contributed by Joe Campbell <joseph.r.campbell at gmail.com> |
| |
| * [HTTPCLIENT-1137] Values for the Via header are cached and reused by httpclient-cache. |
| Contributed by Alin Vasile <alinachegalati at yahoo dot com> |
| |
| * [HTTPCLIENT-1142] Infinite loop on NTLM authentication failure. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1143] CachingHttpClient leaks connections with stale-if-error. |
| Contributed by James Miller <jamesmiller01 at gmail dot com> |
| |
| Release 4.2 ALPHA1 |
| ------------------- |
| |
| This is the first ALPHA release of HttpClient 4.2. The 4.2 branch enhances HttpClient in several |
| key areas and includes several notable features and improvements: |
| |
| * New facade API for HttpClient based on the concept of a fluent interface. The fluent API exposes |
| only the most fundamental functions of HttpClient and is intended for relatively simple use cases |
| that do not require the full flexibility of HttpClient. However, the fluent API almost fully |
| relieves the users from having to deal with connection management and resource deallocation. |
| |
| * Redesigned and rewritten connection management code. As of release 4.2 HttpClient will be using |
| pooling connection manager per default. |
| |
| * Enhanced HTTP authentication API that enables HttpClient to handle more complex authentication |
| scenarios. HttpClient 4.2 is now capable of making use of multiple authentication challenges |
| and retry authentication with a fall-back scheme in case the primary one fails. This can be |
| important for compatibility with Microsoft products that are often configured to use |
| SPNEGO/Kerberos as the preferred authentication scheme. |
| |
| Please note that new features included in this release are still considered experimental and |
| their API may change in the future ALPHA releases. |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-1128] SystemDefaultHttpClient (HttpClient implementation initialized using system |
| properties). |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1135] RandomAccessFile mode 'w' used by HttpClientCache is not valid. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1131] HttpClient to authenticate preemptively using BASIC scheme if a userinfo |
| attribute is specified in the request URI. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1134] make BasicResponseHandler consume response content in case of an unsuccessful |
| result (status code >= 300). |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1132] ProxyClient implementation. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1127] fixed dead-lock between SingleClientConnManager and AbstractPooledConnAdapter. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1107] Auth framework redesign. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1116] ResponseCachingPolicy uses integers for sizes |
| Contributed by Greg Bowyer <gbowyer at fastmail.co.uk > |
| |
| * [HTTPCLIENT-1123] Support for pluggable DNS resolvers. |
| Contributed by Alin Vasile <alinachegalati at yahoo dot com> |
| |
| * [HTTPCLIENT-1120] DefaultHttpRequestRetryHandler#retryRequest should not retry aborted requests. |
| Contributed by Alin Vasile <alinachegalati at yahoo dot com> |
| |
| * Support for auth-int qop (quality of protection) option in Digest auth scheme. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1076] Fluent facade API (Google summer of code 2011 project). |
| Contributed by Xu Lilu <cookieme at gmail.com> |
| |
| * UriBuilder implementation. |
| Contributed by Xu Lilu <cookieme at gmail.com> |
| |
| * Redesign of connection management classes based on new pooling components from HttpCore. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1111] Added #prepareSocket method to SSLSocketFactory. |
| Contributed by Pasi Eronen <pe at iki.fi> |
| |
| * Added #reset() and #releaseConnection() methods to HttpRequestBase. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1105] AutoRetryHttpClient: built-in way to do auto-retry for certain status codes. |
| Contributed by Dan Checkoway <dcheckoway at gmail.com> |
| |
| * [HTTPCLIENT-1094] Digest auth scheme refactoring. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Lax implementation of RedirectStrategy. |
| Contributed by Bartosz Firyn <songo.bercik at interia.pl> |
| |
| * [HTTPCLIENT-1044] HttpRequestRetryHandler implementation compliant with the definition of |
| idempotent methods given in the RFC 2616. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| Release 4.1.2 |
| ------------------- |
| |
| The HttpClient 4.1.2 is a bug fix release that addresses a number of non-critical issues reported |
| since release 4.1.1. |
| |
| * [HTTPCLIENT-1100] Missing Content-Length header makes cached entry invalid |
| Contributed by Bart Robeyns <bart dot robeyns at gmail dot com> |
| |
| * [HTTPCLIENT-1098] Avoid expensive reverse DNS lookup on connect timeout exception. |
| Contributed by Thomas Boettcher <tboett at gmail.com> |
| |
| * [HTTPCLIENT-1097] BrowserCompatHostnameVerifier and StrictHostnameVerifier should handle |
| wildcards in SSL certificates better. |
| Contributed by Sebastian Bazley <sebb at apache.org> |
| |
| * [HTTPCLIENT-1092] If ClientPNames.VIRTUAL_HOST does not provide the port, derive it from the |
| current request. |
| Contributed by Sebastian Bazley <sebb at apache.org> |
| |
| * [HTTPCLIENT-1087] NTLM proxy authentication fails on retry if the underlying connection is closed |
| as a result of a target authentication failure. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1079] Fixed Kerberos cross-realm support |
| Contributed by Michael Osipov <1983-01-06 at gmx.net> |
| |
| * [HTTPCLIENT-1078] Decompressing entities (DeflateDecompressingEntity, GzipDecompressingEntity) |
| do not close content stream in #writeTo() method. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1075] Decompressing entities (DeflateDecompressingEntity, GzipDecompressingEntity) |
| do not correctly handle content streaming. |
| Contributed by James Abley <james.abley at gmail.com> |
| |
| * [HTTPCLIENT-1051] Avoid reverse DNS lookups when opening SSL connections by IP address. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| Release 4.1.1 |
| ------------------- |
| |
| HttpClient v4.1.1 is a bug fix release that addresses a number of issues reported since |
| release 4.1, including one critical security issue (HTTPCLIENT-1061). All users of HttpClient 4.0.x |
| and 4.1 are strongly encouraged to upgrade. |
| |
| * [HTTPCLIENT-1069] HttpHostConnectException not correctly retried for direct and non-tunnelled |
| proxy connections. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1066] Changed the way URIUtils#rewriteURI handles multiple consecutive slashes in the |
| URI path component: multiple leading slashes will be replaced by one slash in order to avoid |
| confusion with the authority component. The remaining content of the path will not be modified. |
| (also see HTTPCLIENT-929). |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1061] Fixed critical bug causing Proxy-Authorization header to be sent to the target |
| host when tunneling requests through a proxy server that requires authentication. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1056] Fixed bug causing the RequestAuthCache protocol interceptor to generate |
| an invalid AuthScope instance when looking up user credentials for preemptive authentication. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1053] Fixed the way DigestScheme generates nonce-count values. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| Release 4.1 |
| ------------------- |
| |
| The HttpClient 4.1 release builds upon the stable foundation laid by HttpClient 4.0 and adds several |
| functional improvements and popular features. |
| |
| * Response caching conditionally compliant with HTTP/1.1 specification (full compliance with |
| MUST requirements, partial compliance with SHOULD requirements) |
| |
| * Full support for NTLMv1, NTLMv2, and NTLM2 Session authentication. The NTLM protocol code |
| was kindly contributed by the Lucene Connector Framework project. |
| |
| * Support for SPNEGO/Kerberos authentication. |
| |
| * Persistence of authentication data between request executions within the same execution context. |
| |
| * Support for preemptive authentication for BASIC and DIGEST schemes. |
| |
| * Support for transparent content encoding. Please note transparent content encoding is not |
| enabled per default in order to avoid conflicts with already existing custom content encoding |
| solutions. |
| |
| * Mechanism to bypass the standard certificate trust verification (useful when dealing with |
| self-signed certificates). |
| |
| * Simplified configuration for connection managers. |
| |
| * Transparent support for host multihoming. |
| |
| IMPORTANT: please note that the HttpClient 3.x branch is now officially END OF LIFE and is no longer |
| maintained and supported by the Apache HttpComponents project. |
| |
| Changelog |
| ------------------- |
| * The public API for the caching module had a minor change between 4.1-beta and 4.1-GA to the |
| HttpCacheEntry class - the deprecated public Set<String> getVariantURIs() method and constructor |
| public HttpCacheEntry(Date requestDate, Date responseDate, |
| StatusLine statusLine, Header[] responseHeaders, |
| Resource resource, Set<String> variants) |
| were both removed. This will not affect you unless you are implementing new storage backends |
| that use the deprecated code and/or are implementing custom serializers for cache entries. |
| |
| * Changed Browser-Compatibility and Best-Match cookie policies to emulate the behaviour of FireFox |
| more closely when parsing Netscape style cookies. Comma will no longer be treated as a header |
| element separator if Set-Cookie does not contain a Version attribute mandated by the |
| RFC2109 / RFC 2965 cookie specifications. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1036] StringBody has incorrect default for characterset. (Default changed |
| to US-ASCII) |
| Contributed by Sebastian Bazley <sebb at apache.org> |
| |
| * [HTTPCLIENT-975] Support stale-if-error and stale-while-revalidate extension directive (RFC5861). |
| Contributed by Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com>, |
| Michajlo Matijkiw <michajlo_matijkiw at comcast.com>, and |
| Matthew Hawthorne <matthew_hawthorne at comcast.com>. |
| |
| * [HTTPCLIENT-1033] HttpRoute.equals(Object o) is quite inefficient, as it does not take full |
| advantage of shortcut logic. |
| Contributed by Sebastian Bazley <sebb at apache.org> |
| |
| * [HTTPCLIENT-1030] Implement "ignoreCookies" CookieSpec |
| Contributed by Sebastian Bazley <sebb at apache.org> |
| |
| Release 4.1 BETA1 |
| ------------------- |
| |
| HttpClient 4.1 BETA1 finalizes the 4.1 API and brings a number of major improvements to the HTTP |
| caching module. This release also adds full support for NTLMv1, NTLMv2, and NTLM2 Session |
| authentication. The NTLM protocol code was kindly contributed by the Lucene Connector Framework |
| project. |
| |
| Changelog |
| ------------------- |
| * [HTTPCLIENT-1015] Support only-if-cached directive. |
| Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> |
| |
| * [HTTPCLIENT-990] Allow heuristic freshness caching. |
| Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> |
| |
| * [HTTPCLIENT-919] Support for NTLMv1, NTLMv2, and NTLM2 Session authentication. |
| Contributed by Karl Wright <karl.wright at nokia.com> |
| |
| * [HTTPCLIENT-1008] Send all variants' ETags on "variant miss". |
| Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> and |
| Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com> |
| |
| * [HTTPCLIENT-1011] Handling of IOExceptions thrown by cache components. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-1003] Handle conditional requests in cache. |
| Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> and |
| Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com> |
| |
| * [HTTPCLIENT-1002] Stale connection check fails if wire logging is on. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-1000] Maximum connection lifetimes settings for ThreadSafeClientConnManager. |
| Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> |
| |
| * [HTTPCLIENT-960] HttpMultipart doesn't generate Content-Type header for binary parts in |
| BROWSER_COMPATIBLE mode. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-998] Cache should use both Last-Modified and ETag for validations when available. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-997] Cache module should handle out-of-order validations properly and unconditionally |
| refresh. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-994] Cache does not allow client to override origin-specified freshness using |
| max-stale. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-995] Cache returns cached responses even if validators not consistent with all |
| conditional headers. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-977] Memcached implementation for HttpCache. |
| Contributed by Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com> |
| |
| * [HTTPCLIENT-992] cache should not generate stale responses to requests explicitly requesting |
| first-hand or fresh ones. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-991] cache module produces improperly formatted Warning header when revalidation |
| fails. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-989] DefaultHttpRequestRetryHandler no longer retries non-idempotent http methods |
| if NoHttpResponseException is thrown. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-988] Cache module should strip 'Content-Encoding: identity' from responses |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-987] cache module does not recognize equivalent URIs. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-986] cache module does not completely handle upstream Warning headers correctly |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-985] cache module should populate Via header to capture upstream and downstream protocols |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-984] Additional conditional compliance tests for the caching module for |
| Content-Encoding, Content-Location, Date, Expires, Server, Transfer-Encoding, and Vary headers. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-978] HTTP cache update exception handling |
| Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> |
| |
| * [HTTPCLIENT-981] CachingHttpClient returns a 411 respones when executing a POST (HttpPost) |
| request. |
| Contributed by Joe Campbell <joseph.r.campbell at gmail.com> |
| |
| * [HTTPCLIENT-980] CachingHttpClient returns a 503 response when the backend HttpClient produces |
| an IOException. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-978] Ehcache based HTTP cache implementation |
| Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> |
| |
| * [HTTPCLIENT-967] support for non-shared (private) caches |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-969] BasicCookieStore#getCookies() to return a copy of Cookie list |
| Contributed by David Smiley <dsmiley at mitre.org> |
| |
| * [HTTPCLIENT-965] Fixed problem with cache not honoring must-revalidate or |
| proxy-revalidate Cache-Control directives. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-964] 'no-cache' directives with field names are no longer transmitted |
| downstream. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-963] Fixed handling of 'Cache-Control: no-store' on requests. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-962] Fixed handling of Authorization headers in shared cache mode. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-961] Not all applicable URIs are invalidated on PUT/POST/DELETEs |
| that pass through client cache. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-958] Client cache no longer allows incomplete responses to be |
| passed on to the client. |
| Contributed by Jonathan Moore <jonathan_moore at comcast.com> |
| |
| * [HTTPCLIENT-951] Non-repeatable entity enclosing requests are not correctly |
| retried when 'expect-continue' handshake is active. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-948] In rare circumstances the idle connection handling code |
| can leave closed connections in a inconsistent state. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-953] IllegalStateException thrown by RouteSpecificPool. |
| Contributed by Guillaume <gueugaie at gmail.com> |
| |
| * [HTTPCLIENT-952] Trust store parameter is ignored by SSLSocketFactory |
| (affects version 4.1-alpha2 only) |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-937] CacheEntry made immutable; now uses immutable HttpEntity |
| to store cached content. |
| Contributed by David Mays <david_mays at comcast.com> and |
| Oleg Kalnichevski <olegk at apache.org> |
| |
| Release 4.1 ALPHA2 |
| ------------------- |
| |
| HttpClient 4.1 ALPHA2 fixes a number of non-severe bugs discovered since |
| the last release and introduces support for two frequently requested features: |
| |
| * HTTP/1.1 response caching |
| |
| * transparent support for host multihoming |
| |
| * a mechanism to bypass the standard certificate trust verification |
| (useful when dealing with self-signed certificates) |
| |
| Compatibility notes |
| ------------------- |
| (1) Please note the HTTP caching module is still considered experimental and |
| its API may change significantly in the future releases. |
| |
| (2) This release eliminates Mime4J as a dependency for the HttpMime module. |
| HttpMime is no longer binary compatible with the previous releases. |
| Full API and binary compatibility between minor versions of HttpMime will be |
| maintained as of 4.1 GA release. |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-936] Fixed bug causing NPE or an infinite loop in |
| the authentication code in case of a SPNEGO authentication failure. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-427] HTTP caching support |
| Contributed by Joe Campbell, David Cleaver, David Mays, Jon Moore, Brad Spenla |
| |
| * Dropped dependency on Mime4j for HttpMime. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Extended SSLSocketFactory with a mechanism to bypass the standard certificate |
| trust verification (primarily to simplify dealing with self-signed |
| certificates) |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-898] Improved support for host multihoming |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-916] UsernamePasswordCredentials, NTUserPrincipal, |
| BasicClientCookie, BasicClientCookie2 and BasicCookieStore made Serializable. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-914] Upgraded Commons Codec dependency to version 1.4 |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-903] Use ConcurrentHashMap instead of [Linked]HashMap for |
| thread-safety. Improve performance of AuthSchemeRegistry, CookieSpecRegistry |
| and SchemeRegistry classes. |
| Contributed by Sebastian Bazley <sebb at apache.org> |
| |
| * [HTTPCLIENT-902] HttpRequestRetryHandler not called on I/O exceptions |
| thrown when opening a new connection. |
| Contributed by Olivier Lamy <olamy at apache.org> and |
| Oleg Kalnichevski <olegk at apache.org> |
| |
| Release 4.1 ALPHA1 |
| ------------------- |
| |
| HttpClient 4.1 ALPHA1 builds on the stable 4.0 release and adds several |
| functionality improvements and new features. |
| |
| * Simplified configuration of connection managers. |
| |
| * Persistence of authentication data between request executions within |
| the same execution context. |
| |
| * Support for SPNEGO/Kerberos authentication scheme |
| |
| * Support for transparent content encoding. Please note transparent content |
| encoding is not enabled per default in order to avoid conflicts with |
| already existing custom content encoding solutions. |
| |
| * 5 to 10% performance increase due to elimination of unnecessary Log object |
| lookups by short-lived components. |
| |
| Please note all methods and classes added in this release and marked as |
| 4.1 are API unstable and can change in the future 4.1 ALPHA releases. |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-889] 'expect: continue' handshake disabled per default. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-862] Extended client's redirect handling interface to allow |
| control of the content of the redirect. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-872] HttpClient can now persist authentication data between request |
| executions as long as they share the same execution context. It has also become |
| much easier to make HttpClient authenticate preemptively by pre-populating |
| authentication data cache. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-883] SO_TIMEOUT is not reset on persistent (re-used) connections. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-832] Distinguish cookie format errors from violations of |
| restrictions imposed by a cookie specification. In the latter case |
| CookieRestrictionViolationException will be thrown. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-523] Support for SPNEGO authentication scheme. |
| Contributed by Matthew Stevenson <mavricknzwork at yahoo.com> |
| |
| * Simplified configuration of connection managers. Total connection maximum |
| and maximum connection per route limits can be set using methods of |
| the class instead of HTTP parameters. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Added parameters to define the order of preference for supported auth |
| schemes for target host and proxy authentication. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-875] DefaultClientConnectionOperator#openConnection doesn't |
| update the connection state if the connection socket changed after |
| the call to SocketFactory#connectSocket(). |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-834] Transparent content encoding support. |
| Contributed by James Abley <james.abley at gmail.com> |
| |
| Release 4.0.1 |
| ------------------- |
| |
| This is a bug fix release that addresses a number of issues discovered since |
| the previous stable release. None of the fixed bugs is considered critical. |
| Most notably this release eliminates eliminates dependency on JCIP annotations. |
| |
| This release is also expected to improve performance by 5 to 10% due to |
| elimination of unnecessary Log object lookups by short-lived components. |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-895] Eliminated Log lookups in short lived objects impairing |
| performance. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-885] URLEncodedUtils now correctly parses form-url-encoded |
| entities that specify a charset. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-884] UrlEncodedFormEntity now sets charset on the Content-Type |
| header. |
| Contributed by Jared Jacobs <jmjacobs at cs.stanford.edu> |
| |
| * [HTTPCLIENT-883] SO_TIMEOUT is not reset on persistent (re-used) connections. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-882] Auth state is now correctly updated if a successful NTLM |
| authentication results in a redirect. This is a minor bug as HttpClient |
| manages to recover from the problem automatically. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-881] Fixed race condition in AbstractClientConnAdapter that makes |
| it possible for an aborted connection to be returned to the pool. |
| Contributed by Tim Boemker <tboemker at elynx.com> and |
| Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-866] Removed dependency on jcip-annotations.jar. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| and Sebastian Bazley <sebb at apache.org> |
| |
| |
| Release 4.0 |
| ------------------- |
| |
| HttpClient 4.0 represents a complete, ground-up redesign and almost a complete |
| rewrite of the HttpClient 3.x codeline. This release finally addresses several |
| design flaws that existed since the 1.0 release and could not be fixed without |
| a major code overhaul and breaking API compatibility. |
| |
| |
| Architectural changes |
| --------------------- |
| |
| * Redesign of the HttpClient internals addressing all known major |
| architectural shortcomings of the 3.x codeline. |
| |
| * Cleaner, more flexible and expressive API. |
| |
| * More modular structure. |
| |
| * Better performance and smaller memory footprint due to a more efficient HTTP |
| transport based on HttpCore. |
| |
| * Implementation of cross-cutting HTTP protocol aspects through protocol |
| interceptors. |
| |
| * Improved connection management, better handling of persistent connections, |
| support for stateful connections |
| |
| * Pluggable redirect and authentication handlers. |
| |
| * Improved support for sending requests via a proxy or a chain of proxies |
| |
| * More flexible SSL context customization |
| |
| * Reduced intermediate garbage in the process of generating HTTP requests |
| and parsing HTTP responses |
| |
| |
| Important notes |
| ------------------- |
| |
| * Future releases of HttpMime module may be binary incompatible with this |
| release due to possible API changes in Apache Mime4J. Apache Mime4J is |
| still being actively developed and its API is considered unstable. |
| |
| * HttpClient 4.0 is not fully binary compatible with 4.0 BETA1 release. |
| Some protected variables in connection management class have been |
| made final in order to help ensure their thread safety: |
| |
| org.apache.http.conn.BasicEofSensorWatcher#attemptReuse |
| org.apache.http.conn.BasicEofSensorWatcher#managedConn |
| org.apache.http.impl.conn.DefaultClientConnectionOperator#schemeRegistry |
| org.apache.http.impl.conn.DefaultHttpRoutePlanner#schemeRegistry |
| org.apache.http.impl.conn.ProxySelectorRoutePlanner#schemeRegistry |
| org.apache.http.impl.conn.SingleClientConnManager#alwaysShutDown |
| org.apache.http.impl.conn.SingleClientConnManager#connOperator |
| org.apache.http.impl.conn.SingleClientConnManager#schemeRegistry |
| org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager#connOperator |
| org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager#schemeRegistry |
| |
| |
| Bug fixes since 4.0 BETA2 release |
| ------------------- |
| |
| * [HTTPCLIENT-861] URIUtils#resolve is now compatible with all examples given |
| in RFC 3986. |
| Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de> |
| |
| * [HTTPCLIENT-860] HttpClient no longer converts redirects of PUT/POST to GET |
| for status codes 301, 302, 307, as required by the HTTP spec. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-859] CookieIdentityComparator now takes path attribute into |
| consideration when comparing cookies. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * HttpClient will no longer send expired cookies back to the origin server. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-856] Proxy NTLM authentication no longer fails on a redirect to |
| a different host. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-841] Removed automatic connection release using garbage collection |
| due to a memory leak. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-853] Fixed bug causing invalid cookie origin port to be selected |
| when the target is accessed on the default port and the connection is |
| established via a proxy. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-852] Fixed bug causing automatically retried redirects fail with |
| CircularRedirectException. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Fixed problem with the default HTTP response parser failing to handle garbage |
| preceding a valid HTTP response. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * NonRepeatableRequestExceptions now include the cause that the original |
| request failed. |
| Contributed by Sam Berlin <sberlin at apache.org> |
| |
| * [HTTPCLIENT-837] Fixed problem with the wire log skipping zero byte values |
| if read one byte at a time. |
| Contributed by Kirill Safonov <ksafonov at swiftteams.com> |
| |
| * [HTTPCLIENT-823] 'http.conn-manager.max-total' parameter can be adjusted |
| dynamically. However, the size of existing connection pools per route, |
| once allocated, will not be adjusted. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-822] Default socket factories to rethrow SocketTimeoutException |
| as ConnectTimeoutException in case of connect failure due to a time out. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-813] Fixed default port resolution. Invalid ports no longer |
| get replaced with the default port value. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| Release 4.0 beta 2 |
| ------------------- |
| |
| BETA2 is a maintenance release, which addresses a number of issues |
| discovered since the previous release. |
| |
| The only significant new feature is an addition of an OSGi compliant |
| bundle combining HttpClient and HttpMime jars. |
| |
| All upstream projects are strongly encouraged to upgrade. |
| |
| * Fixed NPE in DefaultRequestDirector thrown when retrying a failed |
| request over a proxied connection. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-803] Fixed bug in SSL host verifier implementations |
| causing the SSL certificate to be rejected as invalid if the connection |
| is established using an IP address. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-806] DefaultHttpMethodRetryHandler will no longer retry |
| on ConnectExceptions. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * DigestScheme can use an arbitrary digest algorithm requested by the |
| target server (such as SHA) as long as this algorithm is supported by |
| the Java runtime. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Fixed parsing and validation of RFC2109 compliant Set-Cookie headers |
| by the Best-Match cookie spec. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Fixed bug that can cause a managed connection to be returned from the |
| pool in an inconsistent state. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| |
| 4.0 Beta 1 |
| ------------------- |
| |
| BETA1 release brings yet another round of API enhancements and |
| improvements in the area of connection management. Among the most notable |
| ones is the capability to handle stateful connections such as persistent |
| NTLM connections and private key authenticated SSL connections. |
| |
| This is the first API stable release of HttpClient 4.0. All further |
| releases in the 4.0 code line will maintain API compatibility with this |
| release. |
| |
| There has been a number of important bug fixes since ALPHA4. All upstream |
| projects are encouraged to upgrade to the latest release. |
| |
| Please note HttpClient currently provides only limited support for NTLM |
| authentication. For details please see NTLM_SUPPORT.txt. |
| |
| ------------------- |
| |
| Changelog: |
| ------------------- |
| |
| * [HTTPCLIENT-790] Protocol interceptors are now correctly invoked when |
| executing CONNECT methods. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-668] Do not use static loggers. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-781] Respect Keep-Alive header's timeout value. |
| Contributed by Sam Berlin <sberlin at apache.org> |
| |
| * [HTTPCLIENT-779] Top-level classes (HttpClient, and HttpGet, HttpPut |
| and similar HttpMethods) throw fewer checked exceptions. |
| Contributed by Sam Berlin <sberlin at apache.org> |
| |
| * HttpClient will throw an exception if an attempt is made to retry |
| a request with a non-repeatable request entity. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Fixed request re-generation logic when retrying a failed request. |
| Auto-generated headers will no accumulate. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-424] Preemptive authentication no longer limited to BASIC |
| scheme only. HttpClient can be customized to authenticate preemptively |
| with DIGEST scheme. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-670] Pluggable hostname resolver. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-719] Clone support for HTTP request and cookie objects. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-776] Fixed concurrency issues with AbstractPoolEntry. |
| Contributed by Sam Berlin <sberlin at gmail.com> |
| |
| * Resolved a long standing problem with HttpClient not taking into account |
| the user context when pooling / re-using connections. HttpClient now |
| correctly handles stateful / user specific connections such as persistent |
| NTLM connections and SSL connections with client side authentication. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-773] Improved handling of the 'expires' attribute by the |
| 'Best Match' cookie spec. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Partial NTLM support (requires an external NTLM engine). For details see |
| NTLM_SUPPORT.txt |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * Redesigned local execution context management. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| -------------------------------------- |
| |
| Release 4.0 Alpha 4 |
| ------------------- |
| |
| ALPHA4 marks the completion of the overhaul of the connection management |
| code in HttpClient. All known shortcomings of the old HttpClient 3.x |
| connection management API have been addressed. |
| |
| NTLM authentication remains the only missing major feature in the new |
| codeline that prevents us from moving awards the API freeze. |
| |
| There has been a number of important bug fixes since ALPHA3. All upstream |
| projects are encouraged to upgrade to the latest release. |
| |
| ------------------- |
| |
| HttpClient 3.x features that have NOT yet been ported: |
| ------------------- |
| |
| * NTLM authentication scheme |
| |
| ------------------- |
| |
| Changelog: |
| ------------------- |
| |
| * [HTTPCLIENT-765] String.toLowerCase() / toUpperCase() should specify |
| Locale.ENGLISH |
| Contributed by Sebastian Bazley <sebb at apache.org> |
| |
| * [HTTPCLIENT-769] Do not pool connection marked non-reusable. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-763] Fixed problem with AbstractClientConnAdapter#abortConnection() |
| not releasing the connection if called from the main execution thread while |
| there is no blocking I/O operation. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-652] Added optional state attribute to managed client connections. |
| This enables connection managers to correctly handle stateful connections. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-673] Revised max connections per route configuration |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-753] Class Scheme and related classes moved to a separate package |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-757] Improved request wrapping in the DefaultClientRequestDirector. |
| This also fixed the problem with the default proxy set at the client level |
| having no effect. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-734] Request abort will unblock the thread waiting for a connection |
| Contributed by Sam Berlin <sberlin at gmail.com> |
| |
| * [HTTPCLIENT-759] Ensure release of connections back to the connection manager |
| on exceptions. |
| Contributed by Sam Berlin <sberlin at gmail.com> |
| |
| * [HTTPCLIENT-758] Fixed the use of generics in AbstractHttpClient |
| #removeRequestInterceptorByClass and #removeResponseInterceptorByClass |
| Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de> |
| |
| * [HTTPCLIENT-749] HttpParams beans |
| Contributed by Stojce Dimski <sdmiski at yahoo.it> |
| |
| * [HTTPCLIENT-755] Workaround for known bugs in java.net.URI.resolve() |
| Bug ID: 4708535 |
| Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de> |
| |
| -------------------------------------- |
| |
| Release 4.0 Alpha 3 |
| ------------------- |
| |
| ALPHA3 release brings another round of API refinements and improvements in |
| functionality. As of this release HttpClient requires Java 5 compatible |
| runtime environment and takes full advantage of generics and new concurrency |
| primitives. |
| |
| This release also introduces new default cookie policy that selects a cookie |
| specification depending on the format of cookies sent by the target host. |
| It is no longer necessary to know beforehand what kind of HTTP cookie support |
| the target host provides. HttpClient is now able to pick up either a lenient |
| or a strict cookie policy depending on the compliance level of the target host. |
| |
| Another notable improvement is a completely reworked support for multipart |
| entities based on Apache mime4j library. |
| |
| ------------------- |
| |
| HttpClient 3.x features that have NOT yet been ported: |
| ------------------- |
| |
| * NTLM authentication scheme |
| |
| ------------------- |
| |
| Changelog: |
| ------------------- |
| |
| * [HTTPCLIENT-742] common interface for HttpRoute and RouteTracker |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-741] Fixed concurrency issues in AbstractClientConnAdapter. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-726] testcase for spurious wakeups in ThreadSafeClientConnManager |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-643] Automatic connect fail-over for multi-home remote servers. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-735] unsetting of DEFAULT_PROXY and FORCED_ROUTE in hierarchies |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-723] route planner based on java.net.ProxySelector |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-740] don't start connection GC thread in pool constructor |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-736] route planners use SchemeRegistry instead of ConnManager |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-730] Fixed rewriting of URIs containing escaped characters |
| Contributed by Sam Berlin <sberlin at gmail.com> and |
| Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-667] Added 'Meta' cookie policy that selects a cookie |
| specification depending on the format of the cookie(s). |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-729] Move HttpRoute and related classes to routing package. |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-725] Use TimeUnit arguments for timeouts in connection manager. |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-677] Connection manager no longer uses Thread.interrupt(). |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-716] Allow application-defined routes. |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-712] Improve HttpRoute API |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-711] Bad route computed for redirected requests |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-715] Remove RoutedRequest from API |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-705] Fixed incorrect handling of URIs with null path component. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-688] HttpOptions#getAllowedMethods can now handle multiple |
| Allow headers. |
| Contributed by Andrea Selva <selva.andre at gmail.com> |
| |
| -------------------------------------- |
| |
| Release 4.0 Alpha 2 |
| ------------------- |
| |
| ALPHA2 release is another milestone in the redesign of HttpClient. It includes |
| a number of improvements since ALPHA1, among which are improved connection |
| pooling, support for proxy chains, redesigned HTTP state and authentication |
| credentials management API, improved RFC 2965 cookie specification. |
| |
| ------------------- |
| |
| HttpClient 3.x features that have NOT yet been ported |
| ------------------- |
| * NTLM authentication scheme |
| |
| * Support for multipart MIME coded entities |
| |
| ------------------- |
| |
| Changelog |
| ------------------- |
| |
| * [HTTPCLIENT-698] Resolve non-absolute redirect URIs relative to |
| the request URI |
| Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de> |
| |
| * [HTTPCLIENT-697] Throw a more intelligible exception when connection |
| to a remote host cannot be established. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-689] Caching of SimpleDateFormat in DateUtils |
| Contributed by Daniel Müller <strider at digitalstrider.com> |
| |
| * [HTTPCLIENT-689] stackable parameters in AbstractHttpClient |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-477] Use distinct instances of the authentication handler |
| interface for authentication with target and proxy hosts |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-690] ManagedClientConnection provides access to SSLSession |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-692] ClientConnectionManager throws InterruptedException |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCORE-116] moved parameter names to interfaces |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-649] support for proxy chains in HttpConn |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-636] refactor ThreadSafeClientConnManager in separate package |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-669] new HttpRoutePlanner interface and implementation |
| Contributed by Andrea Selva <selva.andre at gmail.com> |
| |
| * [HTTPCLIENT-653] detached connection wrapper no longer prevents |
| garbage collection of ThreadSafeClientConnManager |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-674] use org.apache.http.util.VersionInfo instead of a local one |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-666] Replaced HttpState with CredentialsProvier and CookieStore interfaces |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCORE-100] revised HttpContext hierarchy |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-618] eliminate class HostConfiguration |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-672] re-sync with API changes in core alpha6-SNAPSHOT |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| -------------------------------------- |
| |
| Release 4.0 Alpha 1 |
| ------------------- |
| |
| HttpClient 4.0 represents a complete, ground-up redesign and almost a complete |
| rewrite of the HttpClient 3.x codeline. This release finally addresses several |
| design flaws that existed since the 1.0 release and could not be fixed without |
| a major code overhaul and breaking API compatibility. |
| |
| The HttpClient 4.0 API is still very experimental and is bound to change |
| during the course of the ALPHA development phase. Several important features |
| have not yet been ported to the new API. |
| |
| Architectural changes |
| --------------------- |
| |
| * Redesign of the HttpClient internals addressing all known |
| major architectural shortcomings of the 3.x codeline |
| |
| * Cleaner, more flexible and expressive API |
| |
| * Better performance and smaller memory footprint due to a more |
| efficient HTTP transport based on HttpCore. HttpClient 4.0 is |
| expected to be 10% to 25% faster than HttpClient 3.x codeline |
| |
| * More modular structure |
| |
| * Pluggable redirect and authentication handlers |
| |
| * Support for protocol incerceptors |
| |
| * Improved connection management |
| |
| * Improved support for sending requests via a proxy or a chain of |
| proxies |
| |
| * Improved handling redirects of entity enclosing requests |
| |
| * More flexible SSL context customization |
| |
| * Reduced intermediate garbage in the process of |
| generating HTTP requests and parsing HTTP responses |
| |
| ------------------- |
| |
| HttpClient 3.x features that have NOT yet been ported |
| ------------------- |
| * NTLM authentication scheme |
| |
| * RFC2965 cookie policy (Cookie2) |
| |
| * Support for multipart MIME coded entities |
| |
| ------------------- |
| |
| Changelog |
| ------------------- |
| |
| The following is a list of contributions tracked in JIRA. |
| Note that this is not a complete list of contributions or changes. |
| Since the API was redesigned completely, tracking everything outside |
| of the source code repository would have been too burdensome. |
| |
| * [HTTPCLIENT-655] User-Agent string no longer violates RFC |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-541] Virtual host API redesign |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-614] Allow for different strategies when checking |
| CN of x509 certificates |
| Contributed by Julius Davies <juliusdavies at gmail.com> |
| |
| * [HTTPCLIENT-136] Fixed inadequate proxy support |
| Long standing architectural problem. Issue opened on 19/Dec/2002. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-63] Support for pluggable redirect and authentication handlers |
| Long standing architectural problem. Issue opened on 15/Jul/2002. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-245] Fixed redirect handling. HttpClient can now automatically |
| handle redirects of entity enclosing requests. |
| Long standing architectural problem. Issue opened on 14/Jul/2003. |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-613] HTTPS connections now verify CN of x509 certificates |
| Contributed by Julius Davies <juliusdavies at gmail.com> |
| |
| * [HTTPCLIENT-497] Wire/header logger names consistent with class loggers |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-484] AuthSSLProtocolSocketFactory in the main distribution |
| Contributed by Oleg Kalnichevski <olegk at apache.org> |
| |
| * [HTTPCLIENT-589] Do not consume the remaining response content if |
| the connection is to be closed |
| Contributed by Roland Weber <rolandw at apache.org> |
| |
| * [HTTPCLIENT-475] Support for unconnected sockets. HTTP requests can now be |
| aborted while network socket is still being connected. |
| Contributed by Roland Weber <rolandw at apache.org> |
| |