hc-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ol...@apache.org
Subject svn commit: r620510 - /httpcomponents/httpclient/trunk/RELEASE_NOTES.txt
Date Mon, 11 Feb 2008 16:10:50 GMT
Author: olegk
Date: Mon Feb 11 08:10:46 2008
New Revision: 620510

URL: http://svn.apache.org/viewvc?rev=620510&view=rev
Log:
Updated release notes for the 4.0-alpha3 release

Modified:
    httpcomponents/httpclient/trunk/RELEASE_NOTES.txt

Modified: httpcomponents/httpclient/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/RELEASE_NOTES.txt?rev=620510&r1=620509&r2=620510&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/RELEASE_NOTES.txt (original)
+++ httpcomponents/httpclient/trunk/RELEASE_NOTES.txt Mon Feb 11 08:10:46 2008
@@ -1,4 +1,30 @@
-Changes since 4.0 Alpha 2
+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
@@ -29,11 +55,8 @@
   Contributed by Sam Berlin <sberlin at gmail.com> and 
   Oleg Kalnichevski <olegk at apache.org>
  
-* [HTTPCLIENT-667] Added 'Meta' cookie specification that selects a cookie
-  policy depending on the format of the cookie(s). 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 server.
+* [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.
@@ -64,662 +87,637 @@
   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>
-
 --------------------------------------
 
 HttpClient API changes (generated by JarDiff 0.2)
 --------------------------------------
 Class removed: 
-  public org.apache.http.client.HttpState extends java.lang.Object
+  public abstract org.apache.http.client.RoutedRequest extends java.lang.Object
 Class removed: 
-  public org.apache.http.client.VersionInfo extends java.lang.Object
+  public org.apache.http.client.RoutedRequest.Impl extends java.lang.Object implements org.apache.http.client.RoutedRequest
 Class removed: 
-  public org.apache.http.client.protocol.HttpClientContext extends org.apache.http.protocol.HttpExecutionContext
+  public org.apache.http.conn.BasicRouteDirector extends java.lang.Object implements org.apache.http.conn.HttpRouteDirector
 Class removed: 
-  public org.apache.http.conn.HostConfiguration extends java.lang.Object
+  public final org.apache.http.conn.HttpRoute extends java.lang.Object implements java.lang.Cloneable
 Class removed: 
-  public org.apache.http.conn.RouteDirector extends java.lang.Object
+  public abstract org.apache.http.conn.HttpRouteDirector extends java.lang.Object
 Class removed: 
-  public abstract org.apache.http.conn.SecureSocketFactory extends java.lang.Object implements org.apache.http.conn.SocketFactory
+  public abstract org.apache.http.conn.HttpRoutePlanner extends java.lang.Object
 Class removed: 
-  public final org.apache.http.cookie.params.CookieSpecParams extends java.lang.Object
+  public final org.apache.http.conn.RouteTracker extends java.lang.Object implements java.lang.Cloneable
 Class removed: 
-  public org.apache.http.impl.client.DefaultAuthenticationHandler extends java.lang.Object implements org.apache.http.client.AuthenticationHandler
+  public abstract org.apache.http.conn.ssl.HostnameVerifier extends java.lang.Object implements javax.net.ssl.HostnameVerifier
 Class removed: 
-  public org.apache.http.impl.conn.ThreadSafeClientConnManager extends java.lang.Object implements org.apache.http.conn.ClientConnectionManager
-Class added: 
-  public abstract org.apache.http.auth.params.AuthPNames extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.client.CookieStore extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.client.CredentialsProvider extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.client.params.AllClientPNames extends java.lang.Object implements org.apache.http.params.CoreConnectionPNames, org.apache.http.params.CoreProtocolPNames, org.apache.http.client.params.ClientPNames, org.apache.http.auth.params.AuthPNames, org.apache.http.cookie.params.CookieSpecPNames, org.apache.http.conn.params.ConnConnectionPNames, org.apache.http.conn.params.ConnManagerPNames, org.apache.http.conn.params.ConnRoutePNames
-Class added: 
-  public abstract org.apache.http.client.params.ClientPNames extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.client.protocol.ClientContext extends java.lang.Object
-Class added: 
-  public org.apache.http.client.protocol.RequestDefaultHeaders extends java.lang.Object implements org.apache.http.HttpRequestInterceptor
-Class added: 
-  public org.apache.http.conn.BasicRouteDirector extends java.lang.Object implements org.apache.http.conn.HttpRouteDirector
-Class added: 
-  public org.apache.http.conn.HttpHostConnectException extends java.net.ConnectException
-Class added: 
-  public abstract org.apache.http.conn.HttpRouteDirector extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.conn.HttpRoutePlanner extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.conn.LayeredSocketFactory extends java.lang.Object implements org.apache.http.conn.SocketFactory
-Class added: 
-  public abstract org.apache.http.conn.params.ConnConnectionPNames extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.conn.params.ConnManagerPNames extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.conn.params.ConnRoutePNames extends java.lang.Object
-Class added: 
-  public org.apache.http.conn.params.HttpConnParams extends java.lang.Object
-Class added: 
-  public org.apache.http.conn.util.InetAddressUtils extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.cookie.ClientCookie extends java.lang.Object implements org.apache.http.cookie.Cookie
-Class added: 
-  public abstract org.apache.http.cookie.SetCookie extends java.lang.Object implements org.apache.http.cookie.Cookie
-Class added: 
-  public abstract org.apache.http.cookie.SetCookie2 extends java.lang.Object implements org.apache.http.cookie.SetCookie
-Class added: 
-  public abstract org.apache.http.cookie.params.CookieSpecPNames extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.impl.client.AbstractAuthenticationHandler extends java.lang.Object implements org.apache.http.client.AuthenticationHandler
-Class added: 
-  public org.apache.http.impl.client.BasicCookieStore extends java.lang.Object implements org.apache.http.client.CookieStore
-Class added: 
-  public org.apache.http.impl.client.BasicCredentialsProvider extends java.lang.Object implements org.apache.http.client.CredentialsProvider
-Class added: 
-  public org.apache.http.impl.client.ClientParamsStack extends org.apache.http.params.AbstractHttpParams
-Class added: 
-  public org.apache.http.impl.client.DefaultProxyAuthenticationHandler extends org.apache.http.impl.client.AbstractAuthenticationHandler
-Class added: 
-  public org.apache.http.impl.client.DefaultTargetAuthenticationHandler extends org.apache.http.impl.client.AbstractAuthenticationHandler
+  public org.apache.http.impl.conn.tsccm.ConnPoolByRoute.WaitingThread extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.conn.DefaultHttpRoutePlanner extends java.lang.Object implements org.apache.http.conn.HttpRoutePlanner
+  public org.apache.http.client.methods.HttpDelete extends org.apache.http.client.methods.HttpRequestBase
 Class added: 
-  public org.apache.http.impl.conn.DefaultResponseParser extends org.apache.http.impl.io.AbstractMessageParser
+  public org.apache.http.conn.params.HttpRouteParams extends java.lang.Object
 Class added: 
-  public abstract org.apache.http.impl.conn.tsccm.AbstractConnPool extends java.lang.Object implements org.apache.http.impl.conn.tsccm.RefQueueHandler
+  public org.apache.http.conn.routing.BasicRouteDirector extends java.lang.Object implements org.apache.http.conn.routing.HttpRouteDirector
 Class added: 
-  public org.apache.http.impl.conn.tsccm.BasicPoolEntry extends org.apache.http.impl.conn.AbstractPoolEntry
+  public final org.apache.http.conn.routing.HttpRoute extends java.lang.Object implements org.apache.http.conn.routing.RouteInfo, java.lang.Cloneable
 Class added: 
-  public org.apache.http.impl.conn.tsccm.BasicPoolEntryRef extends java.lang.ref.WeakReference
+  public abstract org.apache.http.conn.routing.HttpRouteDirector extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter extends org.apache.http.impl.conn.AbstractPooledConnAdapter
+  public abstract org.apache.http.conn.routing.HttpRoutePlanner extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.conn.tsccm.ConnPoolByRoute extends org.apache.http.impl.conn.tsccm.AbstractConnPool
+  public abstract org.apache.http.conn.routing.RouteInfo extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.conn.tsccm.ConnPoolByRoute.WaitingThread extends java.lang.Object
+  public final org.apache.http.conn.routing.RouteInfo.LayerType extends java.lang.Enum
 Class added: 
-  public abstract org.apache.http.impl.conn.tsccm.RefQueueHandler extends java.lang.Object
+  public final org.apache.http.conn.routing.RouteInfo.TunnelType extends java.lang.Enum
 Class added: 
-  public org.apache.http.impl.conn.tsccm.RefQueueWorker extends java.lang.Object implements java.lang.Runnable
+  public final org.apache.http.conn.routing.RouteTracker extends java.lang.Object implements org.apache.http.conn.routing.RouteInfo, java.lang.Cloneable
 Class added: 
-  public org.apache.http.impl.conn.tsccm.RouteSpecificPool extends java.lang.Object
+  public abstract org.apache.http.conn.ssl.X509HostnameVerifier extends java.lang.Object implements javax.net.ssl.HostnameVerifier
 Class added: 
-  public org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager extends java.lang.Object implements org.apache.http.conn.ClientConnectionManager
+  public org.apache.http.conn.util.SocketUtils extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.cookie.BasicClientCookie extends java.lang.Object implements org.apache.http.cookie.SetCookie, org.apache.http.cookie.ClientCookie
+  public org.apache.http.impl.client.RedirectLocations extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.cookie.BasicClientCookie2 extends org.apache.http.impl.cookie.BasicClientCookie implements org.apache.http.cookie.SetCookie2
+  public abstract org.apache.http.impl.client.RoutedRequest extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
+  public org.apache.http.impl.client.RoutedRequest.Impl extends java.lang.Object implements org.apache.http.impl.client.RoutedRequest
 Class added: 
-  public org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
+  public org.apache.http.impl.conn.ProxySelectorRoutePlanner extends java.lang.Object implements org.apache.http.conn.routing.HttpRoutePlanner
 Class added: 
-  public org.apache.http.impl.cookie.RFC2965DomainAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
+  public org.apache.http.impl.conn.tsccm.WaitingThread extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.cookie.RFC2965PortAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
+  public org.apache.http.impl.cookie.BestMatchSpec extends java.lang.Object implements org.apache.http.cookie.CookieSpec
 Class added: 
-  public org.apache.http.impl.cookie.RFC2965Spec extends org.apache.http.impl.cookie.RFC2109Spec
+  public org.apache.http.impl.cookie.BestMatchSpecFactory extends java.lang.Object implements org.apache.http.cookie.CookieSpecFactory
 Class added: 
-  public org.apache.http.impl.cookie.RFC2965SpecFactory extends java.lang.Object implements org.apache.http.cookie.CookieSpecFactory
-Class added: 
-  public org.apache.http.impl.cookie.RFC2965VersionAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
-Class changed: org.apache.http.auth.params.AuthParams
-  Fields removed:
-    public final static java.lang.String CREDENTIAL_CHARSET = http.protocol.credential-charset;
-
-Class changed: org.apache.http.client.AuthenticationHandler
+  public org.apache.http.impl.cookie.NetscapeDraftHeaderParser extends java.lang.Object
+Class changed: org.apache.http.client.ClientRequestDirector
   Methods removed:
-    public abstract java.util.Map getProxyChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
-    public abstract java.util.Map getTargetChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
-    public abstract boolean isProxyAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
-    public abstract boolean isTargetAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
 
   Methods added:
-    public abstract java.util.Map getChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
-    public abstract boolean isAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+    public abstract org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
 
-Class changed: org.apache.http.client.ClientRequestDirector
-  Method changed:
-  old:
-    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+Class changed: org.apache.http.client.CookieStore
+  Methods removed:
+    public abstract org.apache.http.cookie.Cookie[] getCookies();
 
-  new:
-    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+  Methods added:
+    public abstract java.util.List getCookies();
 
 Class changed: org.apache.http.client.HttpClient
-  Method changed:
-  old:
-    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest) throws org.apache.http.HttpException, java.io.IOException;
-
-  new:
+  Methods removed:
     public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+
+  Methods added:
+    public abstract org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public abstract org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
 
+Class changed: org.apache.http.client.methods.HttpOptions
   Method changed:
   old:
-    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    public java.util.Set getAllowedMethods(org.apache.http.HttpResponse) throws org.apache.http.ParseException;
 
   new:
-    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public java.util.Set getAllowedMethods(org.apache.http.HttpResponse);
 
-  Method changed:
-  old:
-    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.HttpException, java.io.IOException;
+Class changed: org.apache.http.client.params.CookiePolicy
+  Fields added:
+    public final static java.lang.String BEST_MATCH = best-match;
 
-  new:
-    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+Class changed: org.apache.http.client.utils.URLUtils
+  Methods added:
+    public static java.net.URI createURI(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String) throws java.net.URISyntaxException;
+    public static java.net.URI rewriteURI(java.net.URI, org.apache.http.HttpHost) throws java.net.URISyntaxException;
+    public static java.net.URI rewriteURI(java.net.URI, org.apache.http.HttpHost, boolean) throws java.net.URISyntaxException;
 
-  Method changed:
-  old:
-    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+Class changed: org.apache.http.conn.ClientConnectionManager
+  Methods removed:
+    public abstract void closeIdleConnections(long);
+    public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute) throws java.lang.InterruptedException;
+    public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
 
-  new:
-    public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+  Methods added:
+    public abstract void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+    public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.routing.HttpRoute) throws java.lang.InterruptedException;
+    public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.routing.HttpRoute, long, java.util.concurrent.TimeUnit) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
 
-Class changed: org.apache.http.client.methods.HttpOptions
-  Method changed:
+Class changed: org.apache.http.conn.ManagedClientConnection
+  Methods removed:
+    public abstract org.apache.http.conn.HttpRoute getRoute();
+    public abstract void open(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+
+  Methods added:
+    public abstract org.apache.http.conn.routing.HttpRoute getRoute();
+    public abstract void open(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+
+Class changed: org.apache.http.conn.params.ConnRoutePNames
+  Fields added:
+    public final static java.lang.String FORCED_ROUTE = http.route.forced-route;
+    public final static java.lang.String LOCAL_ADDRESS = http.route.local-address;
+
+  Field changed:
   old:
-    public java.util.Set getAllowedMethods(org.apache.http.HttpResponse);
+    public final static java.lang.String DEFAULT_PROXY = http.default-proxy;
 
   new:
-    public java.util.Set getAllowedMethods(org.apache.http.HttpResponse) throws org.apache.http.ParseException;
+    public final static java.lang.String DEFAULT_PROXY = http.route.default-proxy;
 
-Class changed: org.apache.http.client.methods.HttpUriRequest
-  Methods removed:
-    public abstract org.apache.http.HttpVersion getHttpVersion();
-
-Class changed: org.apache.http.client.params.HttpClientParams
+Class changed: org.apache.http.conn.params.HttpConnParams
   Fields removed:
-    public final static java.lang.String ALLOW_CIRCULAR_REDIRECTS = http.protocol.allow-circular-redirects;
-    public final static java.lang.String AUTH_SCHEME_PRIORITY = http.protocol-auth-scheme-priority;
-    public final static java.lang.String CONNECTION_MANAGER_FACTORY = http.connection-manager.factory;
-    public final static java.lang.String CONNECTION_MANAGER_TIMEOUT = http.connection-manager.timeout;
-    public final static java.lang.String COOKIE_POLICY = http.protocol.cookie-policy;
-    public final static java.lang.String DEFAULT_HEADERS = http.default-headers;
-    public final static java.lang.String DEFAULT_HOST = http.default-host;
     public final static java.lang.String DEFAULT_PROXY = http.default-proxy;
-    public final static java.lang.String HANDLE_AUTHENTICATION = http.protocol.handle-authentication;
-    public final static java.lang.String HANDLE_REDIRECTS = http.protocol.handle-redirects;
-    public final static java.lang.String MAX_REDIRECTS = http.protocol.max-redirects;
-    public final static java.lang.String PREEMPTIVE_AUTHENTICATION = http.protocol.authentication-preemptive;
-    public final static java.lang.String REJECT_RELATIVE_REDIRECT = http.protocol.reject-relative-redirect;
-    public final static java.lang.String VIRTUAL_HOST = http.virtual-host;
 
-Class changed: org.apache.http.conn.ClientConnectionManager
+Class changed: org.apache.http.conn.params.HttpConnectionManagerParams
+  Methods removed:
+    public static int getMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HttpRoute);
+    public static void setMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HttpRoute, int);
+
   Methods added:
-    public abstract org.apache.http.params.HttpParams getParams();
+    public static int getMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.routing.HttpRoute);
+    public static void setMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.routing.HttpRoute, int);
 
-  Method changed:
+Class changed: org.apache.http.conn.ssl.AbstractVerifier
+  Methods added:
+    public AbstractVerifier();
+
+  Class descriptor changed:
   old:
-    public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute);
+    public abstract org.apache.http.conn.ssl.AbstractVerifier extends java.lang.Object implements org.apache.http.conn.ssl.HostnameVerifier
+  new:
+    public abstract org.apache.http.conn.ssl.AbstractVerifier extends java.lang.Object implements org.apache.http.conn.ssl.X509HostnameVerifier
+Class changed: org.apache.http.conn.ssl.SSLSocketFactory
+  Methods removed:
+    public org.apache.http.conn.ssl.HostnameVerifier getHostnameVerifier();
+    public void setHostnameVerifier(org.apache.http.conn.ssl.HostnameVerifier);
 
+  Methods added:
+    public org.apache.http.conn.ssl.X509HostnameVerifier getHostnameVerifier();
+    public void setHostnameVerifier(org.apache.http.conn.ssl.X509HostnameVerifier);
+
+Class changed: org.apache.http.cookie.CookieIdentityComparator
+  Methods removed:
+    public int compare(java.lang.Object, java.lang.Object);
+
+  Methods added:
+    public int compare(org.apache.http.cookie.Cookie, org.apache.http.cookie.Cookie);
+
+  Class descriptor changed:
+  old:
+    public org.apache.http.cookie.CookieIdentityComparator extends java.lang.Object implements java.util.Comparator
   new:
-    public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute) throws java.lang.InterruptedException;
+    public org.apache.http.cookie.CookieIdentityComparator extends java.lang.Object implements java.io.Serializable, java.util.Comparator
+Class changed: org.apache.http.cookie.CookiePathComparator
+  Methods removed:
+    public int compare(java.lang.Object, java.lang.Object);
 
-  Method changed:
+  Methods added:
+    public int compare(org.apache.http.cookie.Cookie, org.apache.http.cookie.Cookie);
+
+  Class descriptor changed:
   old:
-    public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.conn.ConnectionPoolTimeoutException;
+    public org.apache.http.cookie.CookiePathComparator extends java.lang.Object implements java.util.Comparator
+  new:
+    public org.apache.http.cookie.CookiePathComparator extends java.lang.Object implements java.io.Serializable, java.util.Comparator
+Class changed: org.apache.http.cookie.CookieSpec
+  Methods removed:
+    public abstract org.apache.http.Header[] formatCookies(org.apache.http.cookie.Cookie[]);
+    public abstract org.apache.http.cookie.Cookie[] parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+
+  Methods added:
+    public abstract java.util.List formatCookies(java.util.List);
+    public abstract java.util.List parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+
+Class changed: org.apache.http.impl.client.AbstractHttpClient
+  Methods removed:
+    protected abstract org.apache.http.conn.HttpRoutePlanner createHttpRoutePlanner();
+    protected abstract org.apache.http.client.RoutedRequest determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+    public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public final org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public final synchronized org.apache.http.conn.HttpRoutePlanner getRoutePlanner();
+    public synchronized void setInterceptors(java.util.List);
+    public synchronized void setRoutePlanner(org.apache.http.conn.HttpRoutePlanner);
 
+  Methods added:
+    protected abstract org.apache.http.conn.routing.HttpRoutePlanner createHttpRoutePlanner();
+    public final org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public final org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public final synchronized org.apache.http.conn.routing.HttpRoutePlanner getRoutePlanner();
+    public synchronized void setRoutePlanner(org.apache.http.conn.routing.HttpRoutePlanner);
+
+  Class descriptor changed:
+  old:
+    public abstract org.apache.http.impl.client.AbstractHttpClient extends java.lang.Object implements org.apache.http.client.HttpClient, org.apache.http.protocol.HttpRequestInterceptorList, org.apache.http.protocol.HttpResponseInterceptorList
   new:
-    public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    public abstract org.apache.http.impl.client.AbstractHttpClient extends java.lang.Object implements org.apache.http.client.HttpClient
+Class changed: org.apache.http.impl.client.BasicCookieStore
+  Methods removed:
+    public synchronized org.apache.http.cookie.Cookie[] getCookies();
 
-Class changed: org.apache.http.conn.HttpRoute
+  Methods added:
+    public synchronized java.util.List getCookies();
+
+Class changed: org.apache.http.impl.client.ClientParamsStack
   Methods removed:
-    deprecated: public final org.apache.http.conn.HostConfiguration toHostConfig();
+    public boolean isParameterSet(java.lang.String);
 
-Class changed: org.apache.http.conn.ManagedClientConnection
+  Methods added:
+    public boolean removeParameter(java.lang.String);
+
+Class changed: org.apache.http.impl.client.DefaultClientRequestDirector
   Methods removed:
-    public abstract void tunnelCreated(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    public DefaultClientRequestDirector(org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.params.HttpParams);
+    protected org.apache.http.conn.ManagedClientConnection allocateConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.HttpException, org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    protected org.apache.http.HttpRequest createConnectRequest(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext);
+    protected boolean createTunnelToProxy(org.apache.http.conn.HttpRoute, int, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    protected boolean createTunnelToTarget(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    protected void establishRoute(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    protected org.apache.http.client.RoutedRequest handleResponse(org.apache.http.client.RoutedRequest, org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
 
   Methods added:
-    public abstract javax.net.ssl.SSLSession getSSLSession();
-    public abstract void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
-    public abstract void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    public DefaultClientRequestDirector(org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.conn.routing.HttpRoutePlanner, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.params.HttpParams);
+    protected org.apache.http.conn.ManagedClientConnection allocateConnection(org.apache.http.conn.routing.HttpRoute, long) throws org.apache.http.HttpException, org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    protected org.apache.http.HttpRequest createConnectRequest(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext);
+    protected boolean createTunnelToProxy(org.apache.http.conn.routing.HttpRoute, int, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    protected boolean createTunnelToTarget(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    protected org.apache.http.impl.client.RoutedRequest determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+    protected void establishRoute(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    protected org.apache.http.impl.client.RoutedRequest handleResponse(org.apache.http.impl.client.RoutedRequest, org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
 
-Class changed: org.apache.http.conn.RouteTracker
+  Fields added:
+    protected final org.apache.http.conn.routing.HttpRoutePlanner routePlanner;
+
+Class changed: org.apache.http.impl.client.DefaultHttpClient
   Methods removed:
-    deprecated: public final org.apache.http.conn.HostConfiguration toHostConfig();
+    protected org.apache.http.conn.HttpRoutePlanner createHttpRoutePlanner();
+    protected org.apache.http.client.RoutedRequest determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
 
-Class changed: org.apache.http.conn.params.HttpConnectionManagerParams
+  Methods added:
+    protected org.apache.http.conn.routing.HttpRoutePlanner createHttpRoutePlanner();
+
+Class changed: org.apache.http.impl.conn.AbstractClientConnAdapter
   Methods removed:
-    public static int getMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HostConfiguration);
-    public static void setMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HostConfiguration, int);
+    protected final void assertWrappedConn();
 
   Methods added:
-    public static int getMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HttpRoute);
-    public static void setMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HttpRoute, int);
+    protected final void assertNotAborted() throws java.io.InterruptedIOException;
+    protected final void assertValid(org.apache.http.conn.OperatedClientConnection);
+    protected void detach();
+    protected org.apache.http.conn.ClientConnectionManager getManager();
+    protected org.apache.http.conn.OperatedClientConnection getWrappedConnection();
 
   Fields removed:
-    public final static java.lang.String MAX_HOST_CONNECTIONS = http.connection-manager.max-per-host;
-    public final static java.lang.String MAX_TOTAL_CONNECTIONS = http.connection-manager.max-total;
+    protected org.apache.http.conn.ClientConnectionManager connManager;
+    protected boolean markedReusable;
+    protected org.apache.http.conn.OperatedClientConnection wrappedConnection;
 
-Class changed: org.apache.http.conn.ssl.SSLSocketFactory
-  Class descriptor changed:
-  old:
-    public org.apache.http.conn.ssl.SSLSocketFactory extends java.lang.Object implements org.apache.http.conn.SecureSocketFactory
-  new:
-    public org.apache.http.conn.ssl.SSLSocketFactory extends java.lang.Object implements org.apache.http.conn.LayeredSocketFactory
-Class changed: org.apache.http.cookie.Cookie
+Class changed: org.apache.http.impl.conn.AbstractPoolEntry
   Methods removed:
-    public Cookie(java.lang.String, java.lang.String);
-    public boolean isDomainAttributeSpecified();
-    public boolean isPathAttributeSpecified();
-    public void setComment(java.lang.String);
-    public void setDomain(java.lang.String);
-    public void setDomainAttributeSpecified(boolean);
-    public void setExpiryDate(java.util.Date);
-    public void setPath(java.lang.String);
-    public void setPathAttributeSpecified(boolean);
-    public void setSecure(boolean);
-    public void setVersion(int);
-    public java.lang.String toString();
+    protected AbstractPoolEntry(org.apache.http.conn.OperatedClientConnection, org.apache.http.conn.HttpRoute);
+    public void open(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
 
   Methods added:
-    public abstract java.lang.String getCommentURL();
-    public abstract int[] getPorts();
+    protected AbstractPoolEntry(org.apache.http.conn.OperatedClientConnection, org.apache.http.conn.routing.HttpRoute);
+    public void open(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
 
-  Class descriptor changed:
-  old:
-    public org.apache.http.cookie.Cookie extends java.lang.Object
-  new:
-    public abstract org.apache.http.cookie.Cookie extends java.lang.Object
-  Method changed:
-  old:
-    public java.lang.String getComment();
+Class changed: org.apache.http.impl.conn.AbstractPooledConnAdapter
+  Methods removed:
+    public org.apache.http.conn.HttpRoute getRoute();
+    public void open(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
 
-  new:
-    public abstract java.lang.String getComment();
+  Methods added:
+    public org.apache.http.conn.routing.HttpRoute getRoute();
+    public void open(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
 
-  Method changed:
+  Class descriptor changed:
   old:
-    public java.lang.String getDomain();
-
+    public abstract org.apache.http.impl.conn.AbstractPooledConnAdapter extends org.apache.http.impl.conn.AbstractClientConnAdapter implements org.apache.http.conn.ManagedClientConnection
   new:
-    public abstract java.lang.String getDomain();
+    public abstract org.apache.http.impl.conn.AbstractPooledConnAdapter extends org.apache.http.impl.conn.AbstractClientConnAdapter
+Class changed: org.apache.http.impl.conn.DefaultHttpRoutePlanner
+  Methods removed:
+    public DefaultHttpRoutePlanner(org.apache.http.conn.ClientConnectionManager);
+    public org.apache.http.conn.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+    public void setConnectionManager(org.apache.http.conn.ClientConnectionManager);
 
-  Method changed:
-  old:
-    public java.util.Date getExpiryDate();
+  Methods added:
+    public DefaultHttpRoutePlanner(org.apache.http.conn.SchemeRegistry);
+    public org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
 
-  new:
-    public abstract java.util.Date getExpiryDate();
+  Fields added:
+    protected org.apache.http.conn.SchemeRegistry schemeRegistry;
 
-  Method changed:
+  Class descriptor changed:
   old:
-    public java.lang.String getName();
-
+    public org.apache.http.impl.conn.DefaultHttpRoutePlanner extends java.lang.Object implements org.apache.http.conn.HttpRoutePlanner
   new:
-    public abstract java.lang.String getName();
+    public org.apache.http.impl.conn.DefaultHttpRoutePlanner extends java.lang.Object implements org.apache.http.conn.routing.HttpRoutePlanner
+Class changed: org.apache.http.impl.conn.SingleClientConnManager
+  Methods removed:
+    public void closeIdleConnections(long);
+    public org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute);
+    public final org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute, long);
 
-  Method changed:
-  old:
-    public java.lang.String getPath();
+  Methods added:
+    public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+    public org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.routing.HttpRoute);
+    public final org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.routing.HttpRoute, long, java.util.concurrent.TimeUnit);
 
-  new:
-    public abstract java.lang.String getPath();
+Class changed: org.apache.http.impl.conn.SingleClientConnManager.ConnAdapter
+  Methods removed:
+    protected SingleClientConnManager.ConnAdapter(org.apache.http.impl.conn.SingleClientConnManager, org.apache.http.impl.conn.SingleClientConnManager.PoolEntry, org.apache.http.conn.HttpRoute);
 
-  Method changed:
-  old:
-    public java.lang.String getValue();
+  Methods added:
+    protected SingleClientConnManager.ConnAdapter(org.apache.http.impl.conn.SingleClientConnManager, org.apache.http.impl.conn.SingleClientConnManager.PoolEntry, org.apache.http.conn.routing.HttpRoute);
 
-  new:
-    public abstract java.lang.String getValue();
+Class changed: org.apache.http.impl.conn.tsccm.AbstractConnPool
+  Methods removed:
+    public synchronized void closeIdleConnections(long);
+    public abstract org.apache.http.impl.conn.tsccm.BasicPoolEntry getEntry(org.apache.http.conn.HttpRoute, long, org.apache.http.conn.ClientConnectionOperator) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    protected abstract void handleLostEntry(org.apache.http.conn.HttpRoute);
 
-  Method changed:
-  old:
-    public int getVersion();
+  Methods added:
+    public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+    public void enableConnectionGC() throws java.lang.IllegalStateException;
+    public abstract org.apache.http.impl.conn.tsccm.BasicPoolEntry getEntry(org.apache.http.conn.routing.HttpRoute, long, java.util.concurrent.TimeUnit, org.apache.http.conn.ClientConnectionOperator) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    protected abstract void handleLostEntry(org.apache.http.conn.routing.HttpRoute);
 
-  new:
-    public abstract int getVersion();
+  Fields added:
+    protected final java.util.concurrent.locks.Lock poolLock;
 
   Method changed:
   old:
-    public boolean isExpired(java.util.Date);
+    public synchronized void handleReference(java.lang.ref.Reference);
 
   new:
-    public abstract boolean isExpired(java.util.Date);
+    public void handleReference(java.lang.ref.Reference);
 
   Method changed:
   old:
-    public boolean isPersistent();
+    public synchronized void shutdown();
 
   new:
-    public abstract boolean isPersistent();
+    public void shutdown();
 
-  Method changed:
-  old:
-    public boolean isSecure();
+Class changed: org.apache.http.impl.conn.tsccm.BasicPoolEntry
+  Methods removed:
+    public BasicPoolEntry(org.apache.http.conn.ClientConnectionOperator, org.apache.http.conn.HttpRoute, java.lang.ref.ReferenceQueue);
+    protected final org.apache.http.conn.HttpRoute getPlannedRoute();
+    protected final java.lang.ref.WeakReference getWeakRef();
 
-  new:
-    public abstract boolean isSecure();
+  Methods added:
+    public BasicPoolEntry(org.apache.http.conn.ClientConnectionOperator, org.apache.http.conn.routing.HttpRoute, java.lang.ref.ReferenceQueue);
+    protected final org.apache.http.conn.routing.HttpRoute getPlannedRoute();
+    protected final org.apache.http.impl.conn.tsccm.BasicPoolEntryRef getWeakRef();
 
-Class changed: org.apache.http.cookie.CookieAttributeHandler
+Class changed: org.apache.http.impl.conn.tsccm.BasicPoolEntryRef
   Methods removed:
-    public abstract void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    public final org.apache.http.conn.HttpRoute getRoute();
 
   Methods added:
-    public abstract void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    public final org.apache.http.conn.routing.HttpRoute getRoute();
+
+Class changed: org.apache.http.impl.conn.tsccm.ConnPoolByRoute
+  Methods removed:
+    public synchronized int getConnectionsInPool(org.apache.http.conn.HttpRoute);
+    public synchronized org.apache.http.impl.conn.tsccm.BasicPoolEntry getEntry(org.apache.http.conn.HttpRoute, long, org.apache.http.conn.ClientConnectionOperator) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    protected synchronized org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.HttpRoute, boolean);
+    protected synchronized void handleLostEntry(org.apache.http.conn.HttpRoute);
+    protected org.apache.http.impl.conn.tsccm.RouteSpecificPool newRouteSpecificPool(org.apache.http.conn.HttpRoute);
 
-Class changed: org.apache.http.cookie.CookieSpec
   Methods added:
-    public abstract int getVersion();
-    public abstract org.apache.http.Header getVersionHeader();
+    protected java.util.Queue createFreeConnQueue();
+    protected java.util.Map createRouteToPoolMap();
+    protected java.util.Queue createWaitingThreadQueue();
+    public int getConnectionsInPool(org.apache.http.conn.routing.HttpRoute);
+    public org.apache.http.impl.conn.tsccm.BasicPoolEntry getEntry(org.apache.http.conn.routing.HttpRoute, long, java.util.concurrent.TimeUnit, org.apache.http.conn.ClientConnectionOperator) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    protected org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute, boolean);
+    protected void handleLostEntry(org.apache.http.conn.routing.HttpRoute);
+    protected org.apache.http.impl.conn.tsccm.RouteSpecificPool newRouteSpecificPool(org.apache.http.conn.routing.HttpRoute);
+    protected org.apache.http.impl.conn.tsccm.WaitingThread newWaitingThread(java.util.concurrent.locks.Condition, org.apache.http.impl.conn.tsccm.RouteSpecificPool);
 
-Class changed: org.apache.http.cookie.SM
   Fields added:
-    public final static java.lang.String COOKIE2 = Cookie2;
-    public final static java.lang.String SET_COOKIE2 = Set-Cookie2;
+    protected java.util.Queue freeConnections;
+    protected final java.util.Map routeToPool;
+    protected java.util.Queue waitingThreads;
 
-Class changed: org.apache.http.impl.client.AbstractHttpClient
-  Methods removed:
-    protected abstract org.apache.http.client.AuthenticationHandler createAuthenticationHandler();
-    protected abstract org.apache.http.client.HttpState createHttpState();
-    public final synchronized org.apache.http.client.AuthenticationHandler getAuthenticationHandler();
-    public final synchronized org.apache.http.client.HttpState getState();
-    public synchronized void setAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
-    public synchronized void setState(org.apache.http.client.HttpState);
+  Method changed:
+  old:
+    protected synchronized org.apache.http.impl.conn.tsccm.BasicPoolEntry createEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool, org.apache.http.conn.ClientConnectionOperator);
 
-  Methods added:
-    public synchronized void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
-    public synchronized void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
-    protected abstract org.apache.http.client.CookieStore createCookieStore();
-    protected abstract org.apache.http.client.CredentialsProvider createCredentialsProvider();
-    protected abstract org.apache.http.conn.HttpRoutePlanner createHttpRoutePlanner();
-    protected abstract org.apache.http.client.AuthenticationHandler createProxyAuthenticationHandler();
-    protected abstract org.apache.http.client.AuthenticationHandler createTargetAuthenticationHandler();
-    protected org.apache.http.params.HttpParams determineParams(org.apache.http.HttpRequest);
-    public final synchronized org.apache.http.client.CookieStore getCookieStore();
-    public final synchronized org.apache.http.client.CredentialsProvider getCredentialsProvider();
-    public final synchronized org.apache.http.client.AuthenticationHandler getProxyAuthenticationHandler();
-    public final synchronized org.apache.http.conn.HttpRoutePlanner getRoutePlanner();
-    public final synchronized org.apache.http.client.AuthenticationHandler getTargetAuthenticationHandler();
-    public void removeRequestInterceptorByClass(java.lang.Class);
-    public void removeResponseInterceptorByClass(java.lang.Class);
-    public synchronized void setCookieStore(org.apache.http.client.CookieStore);
-    public synchronized void setCredentialsProvider(org.apache.http.client.CredentialsProvider);
-    public synchronized void setProxyAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
-    public synchronized void setRoutePlanner(org.apache.http.conn.HttpRoutePlanner);
-    public synchronized void setTargetAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
+  new:
+    protected org.apache.http.impl.conn.tsccm.BasicPoolEntry createEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool, org.apache.http.conn.ClientConnectionOperator);
 
   Method changed:
   old:
-    public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest) throws org.apache.http.HttpException, java.io.IOException;
+    public synchronized void deleteClosedConnections();
 
   new:
-    public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public void deleteClosedConnections();
 
   Method changed:
   old:
-    public final org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    protected synchronized void deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
 
   new:
-    public final org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    protected void deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
 
   Method changed:
   old:
-    public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.HttpException, java.io.IOException;
+    protected synchronized void deleteLeastUsedEntry();
 
   new:
-    public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    protected void deleteLeastUsedEntry();
 
   Method changed:
   old:
-    public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    public synchronized void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
 
   new:
-    public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
 
-Class changed: org.apache.http.impl.client.DefaultClientRequestDirector
-  Methods removed:
-    public DefaultClientRequestDirector(org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.params.HttpParams);
-    protected boolean createTunnel(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  Method changed:
+  old:
+    protected synchronized org.apache.http.impl.conn.tsccm.BasicPoolEntry getFreeEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool);
 
-  Methods added:
-    public DefaultClientRequestDirector(org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.params.HttpParams);
-    protected boolean createTunnelToProxy(org.apache.http.conn.HttpRoute, int, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
-    protected boolean createTunnelToTarget(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  new:
+    protected org.apache.http.impl.conn.tsccm.BasicPoolEntry getFreeEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool);
 
   Method changed:
   old:
-    protected org.apache.http.conn.ManagedClientConnection allocateConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.HttpException, org.apache.http.conn.ConnectionPoolTimeoutException;
+    protected synchronized void notifyWaitingThread(org.apache.http.impl.conn.tsccm.RouteSpecificPool);
 
   new:
-    protected org.apache.http.conn.ManagedClientConnection allocateConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.HttpException, org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    protected void notifyWaitingThread(org.apache.http.impl.conn.tsccm.RouteSpecificPool);
 
   Method changed:
   old:
-    public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    public synchronized void shutdown();
 
   new:
-    public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
+    public void shutdown();
 
-Class changed: org.apache.http.impl.client.DefaultHttpClient
+Class changed: org.apache.http.impl.conn.tsccm.RouteSpecificPool
   Methods removed:
-    protected org.apache.http.client.AuthenticationHandler createAuthenticationHandler();
-    protected org.apache.http.client.HttpState createHttpState();
+    public RouteSpecificPool(org.apache.http.conn.HttpRoute);
+    public final org.apache.http.conn.HttpRoute getRoute();
 
   Methods added:
-    protected org.apache.http.client.CookieStore createCookieStore();
-    protected org.apache.http.client.CredentialsProvider createCredentialsProvider();
-    protected org.apache.http.conn.HttpRoutePlanner createHttpRoutePlanner();
-    protected org.apache.http.client.AuthenticationHandler createProxyAuthenticationHandler();
-    protected org.apache.http.client.AuthenticationHandler createTargetAuthenticationHandler();
+    public RouteSpecificPool(org.apache.http.conn.routing.HttpRoute);
+    public org.apache.http.impl.conn.tsccm.WaitingThread dequeueThread();
+    public final org.apache.http.conn.routing.HttpRoute getRoute();
+    public boolean hasThread();
+    public void queueThread(org.apache.http.impl.conn.tsccm.WaitingThread);
+    public void removeThread(org.apache.http.impl.conn.tsccm.WaitingThread);
 
-Class changed: org.apache.http.impl.conn.AbstractClientConnAdapter
-  Methods added:
-    public javax.net.ssl.SSLSession getSSLSession();
+  Fields added:
+    protected java.util.LinkedList freeEntries;
+    protected int numEntries;
+    protected final org.apache.http.conn.routing.HttpRoute route;
+    protected java.util.Queue waitingThreads;
 
-Class changed: org.apache.http.impl.conn.AbstractPoolEntry
+Class changed: org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager
   Methods removed:
-    protected AbstractPoolEntry(org.apache.http.conn.OperatedClientConnection);
-    public void tunnelCreated(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    public void closeIdleConnections(long);
+    public org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute) throws java.lang.InterruptedException;
+    public org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    public int getConnectionsInPool(org.apache.http.conn.HttpRoute);
 
   Methods added:
-    protected AbstractPoolEntry(org.apache.http.conn.OperatedClientConnection, org.apache.http.conn.HttpRoute);
-    public void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
-    public void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+    public org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.routing.HttpRoute) throws java.lang.InterruptedException;
+    public org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.routing.HttpRoute, long, java.util.concurrent.TimeUnit) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    public int getConnectionsInPool(org.apache.http.conn.routing.HttpRoute);
 
-  Fields added:
-    protected org.apache.http.conn.HttpRoute plannedRoute;
-
-Class changed: org.apache.http.impl.conn.AbstractPooledConnAdapter
+Class changed: org.apache.http.impl.cookie.AbstractCookieSpec
   Methods removed:
-    public void tunnelCreated(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    protected java.util.Iterator getAttribHandlerIterator();
 
   Methods added:
-    public void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
-    public void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    protected java.util.Collection getAttribHandlers();
 
-Class changed: org.apache.http.impl.conn.DefaultClientConnection
+Class changed: org.apache.http.impl.cookie.BrowserCompatSpec
   Methods removed:
-    protected org.apache.http.io.HttpDataReceiver createHttpDataReceiver(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
-    protected org.apache.http.io.HttpDataTransmitter createHttpDataTransmitter(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
-
-  Methods added:
-    protected org.apache.http.io.HttpMessageParser createResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
-    protected org.apache.http.io.SessionInputBuffer createSessionInputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
-    protected org.apache.http.io.SessionOutputBuffer createSessionOutputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    public org.apache.http.Header[] formatCookies(org.apache.http.cookie.Cookie[]);
+    public org.apache.http.cookie.Cookie[] parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
-Class changed: org.apache.http.impl.conn.SingleClientConnManager
   Methods added:
-    public org.apache.http.params.HttpParams getParams();
+    public java.util.List formatCookies(java.util.List);
+    public java.util.List parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
-Class changed: org.apache.http.impl.conn.SingleClientConnManager.PoolEntry
-  Fields removed:
-    protected org.apache.http.conn.HttpRoute plannedRoute;
-
-Class changed: org.apache.http.impl.cookie.BasicCommentHandler
+Class changed: org.apache.http.impl.cookie.CookieSpecBase
   Methods removed:
-    public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    protected org.apache.http.cookie.Cookie[] parse(org.apache.http.HeaderElement[], org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
   Methods added:
-    public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    protected java.util.List parse(org.apache.http.HeaderElement[], org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
-Class changed: org.apache.http.impl.cookie.BasicDomainHandler
+Class changed: org.apache.http.impl.cookie.NetscapeDraftSpec
   Methods removed:
-    public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    public org.apache.http.Header[] formatCookies(org.apache.http.cookie.Cookie[]);
+    public org.apache.http.cookie.Cookie[] parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
   Methods added:
-    public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    public java.util.List formatCookies(java.util.List);
+    public java.util.List parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
-Class changed: org.apache.http.impl.cookie.BasicExpiresHandler
+Class changed: org.apache.http.impl.cookie.RFC2109Spec
   Methods removed:
-    public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    public org.apache.http.Header[] formatCookies(org.apache.http.cookie.Cookie[]);
+    public org.apache.http.cookie.Cookie[] parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
   Methods added:
-    public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    public java.util.List formatCookies(java.util.List);
+    public java.util.List parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
-Class changed: org.apache.http.impl.cookie.BasicMaxAgeHandler
+Class changed: org.apache.http.impl.cookie.RFC2965Spec
   Methods removed:
-    public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    public org.apache.http.cookie.Cookie[] parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
   Methods added:
-    public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+    public java.util.List parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
 
-Class changed: org.apache.http.impl.cookie.BasicPathHandler
-  Methods removed:
-    public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+API diff generated by JarDiff http://www.osjava.org/jardiff/
 
-  Methods added:
-    public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+--------------------------------------
 
-Class changed: org.apache.http.impl.cookie.BasicSecureHandler
-  Methods removed:
-    public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+Release 4.0 Alpha 2
+-------------------
 
-  Methods added:
-    public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+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.   
 
-Class changed: org.apache.http.impl.cookie.BrowserCompatSpec
-  Methods added:
-    public int getVersion();
-    public org.apache.http.Header getVersionHeader();
+-------------------
 
-Class changed: org.apache.http.impl.cookie.NetscapeDraftSpec
-  Methods added:
-    public int getVersion();
-    public org.apache.http.Header getVersionHeader();
+HttpClient 3.x features that have NOT yet been ported
+-------------------
+* NTLM authentication scheme
 
-Class changed: org.apache.http.impl.cookie.RFC2109DomainHandler
-  Methods removed:
-    public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+* Support for multipart MIME coded entities  
 
-  Methods added:
-    public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+-------------------
 
-Class changed: org.apache.http.impl.cookie.RFC2109Spec
-  Methods added:
-    protected void formatCookieAsVer(org.apache.http.util.CharArrayBuffer, org.apache.http.cookie.Cookie, int);
-    protected void formatParamAsVer(org.apache.http.util.CharArrayBuffer, java.lang.String, java.lang.String, int);
-    public int getVersion();
-    public org.apache.http.Header getVersionHeader();
+Changelog
+-------------------
 
-Class changed: org.apache.http.impl.cookie.RFC2109VersionHandler
-  Methods removed:
-    public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+* [HTTPCLIENT-698] Resolve non-absolute redirect URIs relative to 
+  the request URI
+  Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de>
 
-  Methods added:
-    public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+* [HTTPCLIENT-697] Throw a more intelligible exception when connection
+  to a remote host cannot be established.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-API diff generated by JarDiff http://www.osjava.org/jardiff/
+* [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
 -------------------



Mime
View raw message