RELEASE_NOTES
RELEASE_NOTES
1
------------------
This is a maintenance release that fixes several regressions found in release 5.2.
Change Log
-------------------
* Regression: Async execution runtimes set the negotiated protocol version in the
execution
context at the wrong point of request execution.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 5.2
------------------
This is the first GA release in the 5.2 release series. This release finalizes the
5.2 APIs
and corrects a number of defects discovered since the previous release.
Please note that 5.2 upgrades the minimal JRE level to version 8 (8u251 is
required).
Please note this is likely to be the last release series with support for SPNEGO
and NTLM
authentication. As of version 5.3 GSS-API-based authentication schemes (Kerberos,
SPNEGO)
and NTLM authentication schemes are going to be deprecated and disabled by default.
* Upgrade to Java 8.
* Improved support for TLS upgrade and HTTP protocol upgrade (async).
* Base64 codec based on Commons Codec replaced with JRE Base64 codec.
Dependency on Commons Codec dropped.
* Optional support for BR (Brotli) decompression.
Change Log
-------------------
* HTTPCLIENT-2231: Fixed a race condition in the main async executor when the
request execution
on an I/O thread is faster than execution pipeline management on the client
thread.
Contributed by Oleg Kalnichevski <olegk at apache.org>
This is the first BETA release in the 5.2 release series that upgrades minimal JRE
level to version 8 (8u251 is required) and includes several protocol level and
API improvements. It also includes all bug fixes from the 5.1 branch.
Change Log
-------------------
This is the first ALPHA release in the 5.2 release series that upgrades minimal JRE
level to version 1.8 (8u251 is required) and includes several protocol level and
API improvements. It also includes all bug fixes from the 5.1 branch.
* Upgrade to Java 8.
* Improved support for TLS upgrade and HTTP protocol upgrade (async).
Change Log
-------------------
* Replaced SimpleDateFormat and Calendar with Java 8 Time APIs; removed thread-
local
from DateUtils.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 5.1.1
-----------
This release upgrades HttpCore to the latest 5.1 version and fixes a number of
issues found
since release 5.1.
Change Log
-------------------
* Fixed connection lease request cancellation race in both classic and asyc pooling
connection
managers.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 5.1
-----------
* Conditional conformance with RFC 3986 (Uniform Resource Identifier (URI): Generic
Syntax).
* Improved support for out of sequence response message handing by the the classic
(blocking)
HTTP transport.
Please note that 5.1 is going to be the last release series compatible with Java
1.7.
HttpClient will require Java 1.8 as of 5.2.
Change Log
-------------------
* HTTPCLIENT-2157: Response object generated by the classic caching backend is
missing
the original content encoding.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* Kerberos/SPNego fixes
Contributed by Carey Lin <careylin1111 at gmail.com>
This is the first BETA release in the 5.1 release series that includes a number of
new features as well performance optimizations in the classic HTTP transport.
* Conditional conformance with RFC 3986 (Uniform Resource Identifier (URI): Generic
Syntax).
* Improved support for out of sequence response message handing by the the classic
(blocking)
HTTP transport.
Changelog:
-------------------
* Fixed NPE when H2/Async client interceptors are added using first/last (#268).
Contributed by Koji Lin <koji.lin at gmail.com>
This release upgrades HttpCore to the latest version, improves conformance to RFC
7235
(Hypertext Transfer Protocol (HTTP/1.1): Authentication) and addresses a number of
issues found since 5.0.2 release.
Changelog:
-------------------
Release 5.0.2
-----------------
This release upgrades HttpCore to the latest version, improves conformance to RFC
7235
(Hypertext Transfer Protocol (HTTP/1.1): Authentication) and addresses a number of
issues found since 5.0.1 release.
Changelog:
-------------------
Release 5.0.1
-----------------
This release upgrades HttpCore to the latest version and addresses a number of
issues found
since 5.0 release.
Changelog:
-------------------
* Bug fix: Classic connection managers fail to take #isConsistent() flag into
account when
re-using persistent connections.
7 Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 5.0
-----------------
Supported features:
HttpClient 5.0 releases can be co-located with earlier major versions on the same
classpath
due to the change in package names and Maven module coordinates.
Changelog:
-------------------
* Removed work-around for resumed TLS sessions given that JDK-8212885 fix has been
ported to Java 11
and released in Oracle JDK 11.0.3.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* GitHub #205: Update request factory classes with matching APIs for Method and
String method name inputs:
BasicHttpRequests.create(String, URI)
BasicHttpRequests.create(String, String)
ClassicHttpRequests.create(Method, String)
ClassicHttpRequests.create(Method, URI)
SimpleHttpRequests.create(String, URI)
SimpleHttpRequests.create(String, String)
Contributed by Gary Gregory <ggregory at apache.org>
This BETA release upgrades HttpCore to the latest version and addresses a number
of issues found
since the previous BETA release.
Changelog:
-------------------
* HTTPCLIENT-2040: Copy headers from the original request to the redirect request.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* Removed RFC 2965 specific requirements deprecated and superseded by RFC 6265.
Contributed by Oleg Kalnichevski <olegk at apache.org>
This BETA release picks up the latest fixes and performance improvements from
HttpCore
and addresses a number of issues found since the previous BETA release.
Changelog:
-------------------
Release 5.0-BETA5
-------------------
This BETA release picks up the latest fixes and performance improvements from
HttpCore
and addresses a number of issues found since the previous BETA release.
Changelog:
-------------------
Release 5.0-BETA4
-------------------
This BETA release picks up the latest fixes and performance improvements from
HttpCore
and addresses a number of issues found since the previous BETA release.
* Security improvements.
Changelog:
-------------------
* Bug fix: Simple response consumer to discard stored content when releasing
resources.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* Bug fix: main async request execution handlers to release the associated response
consumer
upon exception.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* Some well known proxies respond with Content-Length=0, when returning 304. For
robustness,
always use the cached entity's content length, as modern browsers do.
Contributed by Jayson Raymond <Jayson.Raymond15 at T-Mobile.com>
* Improve HttpResponseException#getMessage.
Contributed by Michael Osipov <michaelo at apache.org>
Release 5.0-BETA3
-------------------
This BETA release adds support for advanced TLS functions (such as ALPN protocol
negotiation)
on Java 1.7 and Java 1.8 through Conscrypt TLS library and picks up the latest
fixes
and performance improvements from HttpCore.
* TLS ALPN protocol negotiation support on older JREs through Conscrypt TLS
library.
Changelog:
-------------------
Release 5.0-BETA2
-------------------
This BETA release resolves compatibility issues with Java 11 new TLS engine as well
as
a number of defects found since the previous release.
* JDK 11 compatibility
Changelog:
-------------------
* Added enum for supported TLS versions & TLS version parser.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 5.0-BETA1
-------------------
This is the first BETA release of HttpClient 5.0. The 5.0 release serices
introduces
support for the HTTP/2 protocol and event driven messaging APIs consistent for all
supported HTTP protocol versions.
Changelog:
-------------------
* New APIs for cache entry bulk retrieval; bulk retrieval support by Memcached
storage
implementation.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 5.0-ALPHA3
-------------------
This is a major release that introduces support for the HTTP/2 protocol and event
driven
messaging APIs consistent for all supported HTTP protocol versions.
* HttpClient Async is based on NIO model; new event driven APIs consistent for all
supported
HTTP protocol versions; supports both HTTP/1.1 and HTTP/2.
Notable new features in this release:
Supported features:
* Apache Log4j2 logging APIs used for internal logging instead of Commons Logging
APIs.
HttpClient 5.0 releases can be co-located with earlier major versions on the same
classpath
due to the change in package names and Maven module coordinates.
Changelog:
-------------------
Release 5.0-ALPHA2
-------------------
This is a major release that introduces support for the HTTP/2 protocol and event
driven
messaging APIs consistent for all supported HTTP protocol versions.
* HttpClient Async is based on NIO model; new event driven APIs consistent for all
supported
HTTP protocol versions; supports both HTTP/1.1 and HTTP/2.
* Partial support for the HTTP/2 protocol and conformance to requirements and
recommendations of the latest HTTP/2 protocol specification documents
(RFC 7540, RFC 7541.)
Supported features:
* Apache Log4j2 logging APIs used for internal logging instead of Commons Logging
APIs.
* Caching (async)
HttpClient 5.0 releases can be co-located with earlier major versions on the same
classpath
due to the change in package names and Maven module coordinates.
Please note that at this point 5.0 APIs are considered experimental and unstable
and are
expected to change in the coming releases without providing a migration path.
Changelog:
-------------------
* [HTTPCLIENT-1752] Allow to configure the OSGI clients with relaxed SSL checks.
Contributed by Simone Tripodi <simonetripodi at apache.org>
* [HTTPCLIENT-1836] DefaultHostnameVerifier#getSubjectAltNames(X509Certificate)
throws
java.lang.ClassCastException.
Contributed by Gary Gregory <ggregory at apache.org>, Ilian Iliev <ilian_iliev at
yahoo.com>
Release 5.0-ALPHA1
-------------------
This major release renders HttpClient API incompatible with the stable 4.x branch
and upgrades HTTP/1.1 protocol conformance to the requirements and recommendations
of the latest
protocol specification. This release lays the foundation for transition to HTTP/2
as the primary
transport protocol in the future releases.
* By default connection request timeout and connect timeout are set to 3 minutes.
HttpClient 5.0 releases can be co-located with earlier versions, meaning you can
have both 5.x and
4.x on the classpath without experiencing jar hell.
Changelog:
-------------------
* RFC 7231: removed restriction on the use of relative URIs in Location header
Contributed by Oleg Kalnichevski <olegk at apache.org>
* RFC 7231: do not generate header fields in TRACE requests containing sensitive
data such as cookie and user
credentials
Contributed by Oleg Kalnichevski <olegk at apache.org>
* RFC 7230: increased the default max number of concurrent connection for the same
route from 2 to 5
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 4.5.1
-------------------
HttpClient 4.5.1 (GA) is a maintenance release that fixes a number of minor defects
found since 4.5.
Changelog:
-------------------
* [HTTPCLIENT-1667] RequestBuilder does not take charset into account when creating
UrlEncodedFormEntity.
Contributed by Sergey Smith <smithsv at bk.ru>
* [HTTPCLIENT-1655] HttpClient sends RST instead of FIN ACK sequence when using
non-persistant
connections.
Contributed by Oleg Kalnichevski <olegk at apache.org>
Release 4.5
-------------------
HttpClient 4.5 (GA) is a minor feature release that includes several incremental
enhancements
to the exisitng functionality such as support for private domains in the Mozilla
Public Suffix List.
Changelog:
-------------------
Release 4.4.1
-------------------
Changelog:
-------------------
* Marked RFC 2109, RFC 2965, Netscape draft cookie specs as obsolete.
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>
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>
* 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.
Changelog:
-------------------
* Support for the latest HTTP state management specification (RFC 6265).
Contributed by Oleg Kalnichevski <olegk at apache.org>
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>
This release also includes all fixes from the stable 4.3.x release branch.
Changelog:
-------------------
* [HTTPCLIENT-1547] HttpClient OSGi bundle doesn't import the package
"javax.naming".
Contributed by Willem Jiang <ningjiang at apache.org>
* 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>
This is the first ALPHA release of HttpClient 4.4. Notable features and
enhancements included
in the 4.4 branch are:
This release also includes all fixes from the stable 4.3.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.4 alpha and beta releases.
Changelog:
-------------------
Release 4.3.4
-------------------
Changelog:
-------------------
* Replaced dynamic proxies with custom proxy classes to reduce thread contention.
Contributed by Oleg Kalnichevski <olegk at apache.org>
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.
Changelog:
-------------------
Release 4.3.2
-------------------
Changelog:
-------------------
* [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>
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.
Changelog
-------------------
This is the first stable (GA) release of HttpClient 4.3. The most notable
enhancements included
in this release are:
* 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>
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-1362] Better error messages for connect timed out and connection
refused
exceptions.
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPCLIENT-1359] repeated requests using the same context fail if they redirect.
Contributed by James Leigh <james at 3roundstones.com>
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
-------------------
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-900] Don't enforce URI syntax for messages with an explicit target
host.
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.
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-1268] NTLM engine refactor fix, to correct a buffer overrun, and get
NTLMv2
flags right.
Contributed by Karl Wright <DaddyWri at gmail.com>
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.
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-1224] (regression) NTLM auth not retried after a redirect over a non-
persistent
connection.
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.
Changelog
-------------------
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.
* 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
-------------------
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.apach
e.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
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.
* 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-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>
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.
* 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
-------------------
* Support for auth-int qop (quality of protection) option in Digest auth scheme.
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.
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.
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.
* Full support for NTLMv1, NTLMv2, and NTLM2 Session authentication. The NTLM
protocol code
was kindly contributed by the Lucene Connector Framework project.
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.
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-998] Cache should use both Last-Modified and ETag for validations
when available.
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>
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 4.1 ALPHA1 builds on the stable 4.0 release and adds several
functionality improvements and new features.
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
-------------------
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.
Changelog
-------------------
Release 4.0
-------------------
Architectural changes
---------------------
* Better performance and smaller memory footprint due to a more efficient HTTP
transport based on HttpCore.
Important notes
-------------------
* 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
* HttpClient will no longer send expired cookies back to the origin server.
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>
* [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>
* 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
-------------------
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:
-------------------
* 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>
* 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>
--------------------------------------
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.
-------------------
-------------------
Changelog:
-------------------
* [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>
--------------------------------------
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.
-------------------
-------------------
Changelog:
-------------------
--------------------------------------
-------------------
HttpClient 3.x features that have NOT yet been ported
-------------------
* NTLM authentication scheme
-------------------
Changelog
-------------------
--------------------------------------
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
---------------------
-------------------
-------------------
Changelog
-------------------