You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2007/06/24 18:34:31 UTC

svn commit: r550255 - /jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt

Author: olegk
Date: Sun Jun 24 09:34:22 2007
New Revision: 550255

URL: http://svn.apache.org/viewvc?view=rev&rev=550255
Log:
Updated API changes section

Modified:
    jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt

Modified: jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt?view=diff&rev=550255&r1=550254&r2=550255
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt (original)
+++ jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt Sun Jun 24 09:34:22 2007
@@ -78,611 +78,747 @@
   key is fully initialized. 
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-Release 4.0 Alpha 4
--------------------
-
-The forth ALPHA version of HttpComponents Core has been released. 
-The ALPHA4 release fixes a number of bugs and adds a number of 
-improvements to HttpCore base and HttpCore NIO extensions. 
-HttpCore NIO can be used to build HTTP services intended to handle 
-thousands of simultaneous connections with a small number of I/O 
-threads. This release also introduces NIOSSL extensions that can be 
-used to extend HttpCore non-blocking transport components with 
-ability to transparently encrypt data in transit using SSL/TLS protocol.
-
-* [HTTPCORE-49]: DefaultConnectingIOReactor can now correctly handle 
-  unresolved socket addresses. It no longer terminates with the 
-  UnresolvedAddressException runtime exception.
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-42]: Added server side API for the expectation verification. 
-  Improved support for the 'expect: continue' handshake in HttpCore and 
-  HttpCore NIO.
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-26]: Added SSL support for HttpCore NIO.
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-40]: API classes no longer reference impl classes in module-main.
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-39]: Refactored HttpStatus, spun off [English]ReasonPhraseFactory.
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-32]: HttpRequestInterceptorList, HttpResponseInterceptorList
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-38]: Packages nio.impl.* are now impl.nio.*, same for examples.
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-27]: I/O reactors can now accept a thread factory as an optional
-  parameter.
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-36]: Fixed #setHandlers() method and matching of request URIs 
-  with a query part in HttpRequestHandlerRegistry
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-28]: DefaultConnectingIOReactor now maintains a queue of connect 
-  requests and registers new sessions with the selector on the I/O thread.
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-29] DefaultConnectingIOReactor changed to ensure IOExceptions 
-  are correctly propagated to the caller, if an exception is thrown while 
-  initializing a newly connected socket.
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-24] Fixed bug in non-blocking connection implementations, which 
-  prevented the session buffer from being correctly flushed when the content 
-  coding process has been completed.
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-23] Fixed threading bug in DefaultConnectingIOReactor.
-  Contributed by Asankha C. Perera <asankha at wso2.com>
-
 HttpCore API changes (generated by JarDiff 0.2)
 --------------------------------------
+
 Class removed: 
-  public abstract org.apache.http.ReasonPhraseCatalog extends java.lang.Object
-Class removed: 
-  public org.apache.http.impl.EnglishReasonPhraseCatalog extends java.lang.Object implements org.apache.http.ReasonPhraseCatalog
-Class removed: 
-  public org.apache.http.impl.NoConnectionReuseStrategy extends java.lang.Object implements org.apache.http.ConnectionReuseStrategy
-Class removed: 
-  public org.apache.http.impl.io.ChunkedInputStream extends java.io.InputStream
-Class removed: 
-  public org.apache.http.impl.io.ChunkedOutputStream extends java.io.OutputStream
-Class removed: 
-  public org.apache.http.impl.io.ContentLengthInputStream extends java.io.InputStream
-Class removed: 
-  public org.apache.http.impl.io.ContentLengthOutputStream extends java.io.OutputStream
-Class removed: 
-  public org.apache.http.impl.io.HttpDataInputStream extends java.io.InputStream
-Class removed: 
-  public org.apache.http.impl.io.HttpDataOutputStream extends java.io.OutputStream
-Class removed: 
-  public org.apache.http.impl.io.IdentityOutputStream extends java.io.OutputStream
-Class removed: 
-  public org.apache.http.message.BasicHttpVersionFormat extends java.lang.Object
-Class removed: 
-  public org.apache.http.params.BasicHttpParams extends java.lang.Object implements org.apache.http.params.HttpParams, java.io.Serializable
+  public org.apache.http.impl.DefaultHttpRequestRetryHandler extends java.lang.Object implements org.apache.http.protocol.HttpRequestRetryHandler
 Class removed: 
-  public abstract org.apache.http.protocol.HttpExpectationVerifier extends java.lang.Object
+  public org.apache.http.message.HttpGet extends org.apache.http.message.BasicHttpRequest
 Class removed: 
-  public abstract org.apache.http.protocol.HttpRequestInterceptorList extends java.lang.Object
+  public org.apache.http.message.HttpHead extends org.apache.http.message.BasicHttpRequest
 Class removed: 
-  public abstract org.apache.http.protocol.HttpResponseInterceptorList extends java.lang.Object
+  public org.apache.http.message.HttpPost extends org.apache.http.message.BasicHttpEntityEnclosingRequest
 Class removed: 
-  public org.apache.http.util.HeaderGroup extends java.lang.Object
+  public abstract org.apache.http.protocol.HttpRequestRetryHandler extends java.lang.Object
 Class removed: 
-  public abstract org.apache.http.util.concurrent.Executor extends java.lang.Object
+  public org.apache.http.util.DateParseException extends java.lang.Exception
 Class removed: 
-  public abstract org.apache.http.util.concurrent.ThreadFactory extends java.lang.Object
-Class added: 
-  public org.apache.http.impl.DefaultHttpParams extends java.lang.Object implements org.apache.http.params.HttpParams, java.io.Serializable
-Class added: 
-  public org.apache.http.impl.HeaderGroup extends java.lang.Object
-Class added: 
-  public org.apache.http.io.ChunkedInputStream extends java.io.InputStream
+  public final org.apache.http.util.DateUtils extends java.lang.Object
 Class added: 
-  public org.apache.http.io.ChunkedOutputStream extends java.io.OutputStream
+  public abstract org.apache.http.HttpConnectionMetrics extends java.lang.Object
 Class added: 
-  public org.apache.http.io.ContentLengthInputStream extends java.io.InputStream
+  public org.apache.http.impl.HttpConnectionMetricsImpl extends java.lang.Object implements org.apache.http.HttpConnectionMetrics
 Class added: 
-  public org.apache.http.io.ContentLengthOutputStream extends java.io.OutputStream
+  public org.apache.http.impl.io.HttpTransportMetricsImpl extends java.lang.Object implements org.apache.http.io.HttpTransportMetrics
 Class added: 
-  public org.apache.http.io.HttpDataInputStream extends java.io.InputStream
+  public abstract org.apache.http.io.HttpTransportMetrics extends java.lang.Object
 Class added: 
-  public org.apache.http.io.HttpDataOutputStream extends java.io.OutputStream
+  public abstract org.apache.http.params.AbstractHttpParams extends java.lang.Object implements org.apache.http.params.HttpParams
 Class added: 
-  public org.apache.http.io.IdentityOutputStream extends java.io.OutputStream
+  public abstract org.apache.http.params.HttpLinkedParams extends java.lang.Object implements org.apache.http.params.HttpParams
 Class added: 
-  public org.apache.http.message.BasicHttpVersion extends org.apache.http.HttpVersion
-Class changed: org.apache.http.HttpConnection
+  public org.apache.http.params.HttpParamsLinker extends java.lang.Object
+Class changed: org.apache.http.HttpClientConnection
   Methods removed:
-    public abstract int getSocketTimeout();
-    public abstract void setSocketTimeout(int);
+    public abstract org.apache.http.HttpResponse receiveResponseHeader(org.apache.http.params.HttpParams) throws org.apache.http.HttpException, java.io.IOException;
 
-Class changed: org.apache.http.HttpInetConnection
-  Methods removed:
-    public abstract int getLocalPort();
-    public abstract int getRemotePort();
+  Methods added:
+    public abstract org.apache.http.HttpResponse receiveResponseHeader() throws org.apache.http.HttpException, java.io.IOException;
 
-Class changed: org.apache.http.HttpResponse
-  Methods removed:
-    public abstract java.util.Locale getLocale();
-    public abstract void setLocale(java.util.Locale);
-    public abstract void setReasonPhrase(java.lang.String) throws java.lang.IllegalStateException;
-    public abstract void setStatusLine(org.apache.http.HttpVersion, int, java.lang.String);
+Class changed: org.apache.http.HttpConnection
+  Methods added:
+    public abstract org.apache.http.HttpConnectionMetrics getMetrics();
 
-  Method changed:
-  old:
-    public abstract void setStatusCode(int) throws java.lang.IllegalStateException;
+Class changed: org.apache.http.HttpServerConnection
+  Methods removed:
+    public abstract org.apache.http.HttpRequest receiveRequestHeader(org.apache.http.params.HttpParams) throws org.apache.http.HttpException, java.io.IOException;
 
-  new:
-    public abstract void setStatusCode(int);
+  Methods added:
+    public abstract org.apache.http.HttpRequest receiveRequestHeader() throws org.apache.http.HttpException, java.io.IOException;
 
-Class changed: org.apache.http.HttpResponseFactory
+Class changed: org.apache.http.impl.AbstractHttpClientConnection
   Methods removed:
-    public abstract org.apache.http.HttpResponse newHttpResponse(org.apache.http.HttpVersion, int, org.apache.http.protocol.HttpContext);
-    public abstract org.apache.http.HttpResponse newHttpResponse(org.apache.http.StatusLine, org.apache.http.protocol.HttpContext);
+    protected org.apache.http.HttpResponse readResponseStatusLine(org.apache.http.params.HttpParams) throws org.apache.http.HttpException, java.io.IOException;
+    public org.apache.http.HttpResponse receiveResponseHeader(org.apache.http.params.HttpParams) throws org.apache.http.HttpException, java.io.IOException;
+    protected void setHttpDataReceiver(org.apache.http.io.HttpDataReceiver);
+    protected void setHttpDataTransmitter(org.apache.http.io.HttpDataTransmitter);
+    protected void setMaxHeaderCount(int);
+    protected void setResponseFactory(org.apache.http.HttpResponseFactory);
 
   Methods added:
-    public abstract org.apache.http.HttpResponse newHttpResponse(org.apache.http.HttpVersion, int);
-    public abstract org.apache.http.HttpResponse newHttpResponse(org.apache.http.StatusLine);
+    protected org.apache.http.impl.entity.EntityDeserializer createEntityDeserializer();
+    protected org.apache.http.impl.entity.EntitySerializer createEntitySerializer();
+    protected org.apache.http.HttpResponseFactory createHttpResponseFactory();
+    public org.apache.http.HttpConnectionMetrics getMetrics();
+    protected void init(org.apache.http.io.HttpDataReceiver, org.apache.http.io.HttpDataTransmitter, org.apache.http.params.HttpParams);
+    protected org.apache.http.HttpResponse readResponseStatusLine() throws org.apache.http.HttpException, java.io.IOException;
+    public org.apache.http.HttpResponse receiveResponseHeader() throws org.apache.http.HttpException, java.io.IOException;
+
+Class changed: org.apache.http.impl.AbstractHttpServerConnection
+  Methods removed:
+    public org.apache.http.HttpRequest receiveRequestHeader(org.apache.http.params.HttpParams) throws org.apache.http.HttpException, java.io.IOException;
+    protected org.apache.http.HttpRequest receiveRequestLine(org.apache.http.params.HttpParams) throws org.apache.http.HttpException, java.io.IOException;
+    protected void setHttpDataReceiver(org.apache.http.io.HttpDataReceiver);
+    protected void setHttpDataTransmitter(org.apache.http.io.HttpDataTransmitter);
+    protected void setMaxHeaderCount(int);
+    protected void setRequestFactory(org.apache.http.HttpRequestFactory);
 
-Class changed: org.apache.http.HttpStatus
   Methods added:
-    public HttpStatus();
-    public static java.lang.String getStatusText(int);
+    protected org.apache.http.impl.entity.EntityDeserializer createEntityDeserializer();
+    protected org.apache.http.impl.entity.EntitySerializer createEntitySerializer();
+    protected org.apache.http.HttpRequestFactory createHttpRequestFactory();
+    public org.apache.http.HttpConnectionMetrics getMetrics();
+    protected void init(org.apache.http.io.HttpDataReceiver, org.apache.http.io.HttpDataTransmitter, org.apache.http.params.HttpParams);
+    public org.apache.http.HttpRequest receiveRequestHeader() throws org.apache.http.HttpException, java.io.IOException;
+    protected org.apache.http.HttpRequest receiveRequestLine() throws org.apache.http.HttpException, java.io.IOException;
 
-  Class descriptor changed:
-  old:
-    public abstract org.apache.http.HttpStatus extends java.lang.Object
-  new:
-    public org.apache.http.HttpStatus extends java.lang.Object
-Class changed: org.apache.http.HttpVersion
-  Class descriptor changed:
-  old:
-    public final org.apache.http.HttpVersion extends java.lang.Object implements java.lang.Comparable, java.io.Serializable
-  new:
-    public org.apache.http.HttpVersion extends java.lang.Object implements java.lang.Comparable
-Class changed: org.apache.http.impl.DefaultHttpClientConnection
-  Methods removed:
-    public java.lang.String toString();
+Class changed: org.apache.http.impl.SocketHttpClientConnection
+  Methods added:
+    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;
+    protected java.net.Socket getSocket();
 
-Class changed: org.apache.http.impl.DefaultHttpResponseFactory
-  Methods removed:
-    public DefaultHttpResponseFactory(org.apache.http.ReasonPhraseCatalog);
-    protected java.util.Locale determineLocale(org.apache.http.protocol.HttpContext);
-    public org.apache.http.HttpResponse newHttpResponse(org.apache.http.HttpVersion, int, org.apache.http.protocol.HttpContext);
-    public org.apache.http.HttpResponse newHttpResponse(org.apache.http.StatusLine, org.apache.http.protocol.HttpContext);
+  Fields removed:
+    protected volatile boolean open;
+    protected java.net.Socket socket;
 
+Class changed: org.apache.http.impl.SocketHttpServerConnection
   Methods added:
-    public org.apache.http.HttpResponse newHttpResponse(org.apache.http.HttpVersion, int);
-    public org.apache.http.HttpResponse newHttpResponse(org.apache.http.StatusLine);
+    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;
+    protected java.net.Socket getSocket();
 
   Fields removed:
-    protected final org.apache.http.ReasonPhraseCatalog reasonCatalog;
+    protected volatile boolean open;
+    protected java.net.Socket socket;
 
-Class changed: org.apache.http.impl.DefaultHttpServerConnection
+Class changed: org.apache.http.impl.io.AbstractHttpDataReceiver
   Methods removed:
-    public java.lang.String toString();
+    protected void init(java.io.InputStream, int);
+    public void reset(org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.impl.SocketHttpClientConnection
+  Methods added:
+    public org.apache.http.io.HttpTransportMetrics getMetrics();
+    protected void init(java.io.InputStream, int, org.apache.http.params.HttpParams);
+
+Class changed: org.apache.http.impl.io.AbstractHttpDataTransmitter
   Methods removed:
-    public int getLocalPort();
-    public int getRemotePort();
-    public int getSocketTimeout();
-    public void setSocketTimeout(int);
+    protected void init(java.io.OutputStream, int);
+    public void reset(org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.impl.SocketHttpServerConnection
+  Methods added:
+    public org.apache.http.io.HttpTransportMetrics getMetrics();
+    protected void init(java.io.OutputStream, int, org.apache.http.params.HttpParams);
+
+Class changed: org.apache.http.impl.io.SocketHttpDataReceiver
   Methods removed:
-    public int getLocalPort();
-    public int getRemotePort();
-    public int getSocketTimeout();
-    public void setSocketTimeout(int);
+    public SocketHttpDataReceiver(java.net.Socket, int) throws java.io.IOException;
+
+  Methods added:
+    public SocketHttpDataReceiver(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
 
-Class changed: org.apache.http.message.BasicHttpResponse
+Class changed: org.apache.http.impl.io.SocketHttpDataTransmitter
   Methods removed:
-    public BasicHttpResponse(org.apache.http.HttpVersion, int, java.lang.String);
-    public BasicHttpResponse(org.apache.http.StatusLine, org.apache.http.ReasonPhraseCatalog, java.util.Locale);
-    public java.util.Locale getLocale();
-    protected java.lang.String getReason(int);
-    public void setLocale(java.util.Locale);
-    public void setReasonPhrase(java.lang.String);
-    public void setStatusLine(org.apache.http.HttpVersion, int, java.lang.String);
+    public SocketHttpDataTransmitter(java.net.Socket, int) throws java.io.IOException;
 
   Methods added:
-    public BasicHttpResponse(org.apache.http.HttpVersion, int);
+    public SocketHttpDataTransmitter(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+
+Class changed: org.apache.http.io.HttpDataReceiver
+  Methods removed:
+    public abstract void reset(org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.message.BasicStatusLine
   Methods added:
-    public BasicStatusLine(org.apache.http.HttpVersion, int);
+    public abstract org.apache.http.io.HttpTransportMetrics getMetrics();
 
-Class changed: org.apache.http.params.HttpProtocolParams
-  Fields removed:
-    public final static java.lang.String WAIT_FOR_CONTINUE = http.protocol.wait-for-continue;
+Class changed: org.apache.http.io.HttpDataTransmitter
+  Methods removed:
+    public abstract void reset(org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.protocol.BasicHttpProcessor
+  Methods added:
+    public abstract org.apache.http.io.HttpTransportMetrics getMetrics();
+
+Class changed: org.apache.http.params.BasicHttpParams
   Methods removed:
-    public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor);
-    public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor);
-    public void clearRequestInterceptors();
-    public void clearResponseInterceptors();
-    public org.apache.http.HttpRequestInterceptor getRequestInterceptor(int);
-    public int getRequestInterceptorCount();
-    public org.apache.http.HttpResponseInterceptor getResponseInterceptor(int);
-    public int getResponseInterceptorCount();
+    public boolean getBooleanParameter(java.lang.String, boolean);
+    public double getDoubleParameter(java.lang.String, double);
+    public int getIntParameter(java.lang.String, int);
+    public long getLongParameter(java.lang.String, long);
+    public boolean isParameterFalse(java.lang.String);
+    public boolean isParameterTrue(java.lang.String);
+    public org.apache.http.params.HttpParams setBooleanParameter(java.lang.String, boolean);
+    public org.apache.http.params.HttpParams setDoubleParameter(java.lang.String, double);
+    public org.apache.http.params.HttpParams setIntParameter(java.lang.String, int);
+    public org.apache.http.params.HttpParams setLongParameter(java.lang.String, long);
 
   Methods added:
-    public void removeInterceptor(org.apache.http.HttpRequestInterceptor);
-    public void removeInterceptor(org.apache.http.HttpResponseInterceptor);
-    public void removeInterceptors(java.lang.Class);
+    public org.apache.http.params.HttpParams copy();
+    protected void copyParams(org.apache.http.params.HttpParams);
+
+  Fields added:
+    protected org.apache.http.params.HttpParams defaults;
 
   Class descriptor changed:
   old:
-    public org.apache.http.protocol.BasicHttpProcessor extends java.lang.Object implements org.apache.http.protocol.HttpProcessor, org.apache.http.protocol.HttpRequestInterceptorList, org.apache.http.protocol.HttpResponseInterceptorList
+    public org.apache.http.params.BasicHttpParams extends java.lang.Object implements org.apache.http.params.HttpParams, java.io.Serializable
   new:
-    public org.apache.http.protocol.BasicHttpProcessor extends java.lang.Object implements org.apache.http.protocol.HttpProcessor
+    public org.apache.http.params.BasicHttpParams extends org.apache.http.params.AbstractHttpParams implements org.apache.http.params.HttpLinkedParams, java.io.Serializable
   Method changed:
   old:
-    public final void addInterceptor(org.apache.http.HttpRequestInterceptor);
+    public synchronized void clear();
 
   new:
-    public void addInterceptor(org.apache.http.HttpRequestInterceptor);
+    public void clear();
 
   Method changed:
   old:
-    public final void addInterceptor(org.apache.http.HttpResponseInterceptor);
+    public synchronized org.apache.http.params.HttpParams getDefaults();
 
   new:
-    public void addInterceptor(org.apache.http.HttpResponseInterceptor);
+    public org.apache.http.params.HttpParams getDefaults();
 
-Class changed: org.apache.http.protocol.HttpRequestExecutor
-  Fields added:
-    protected final static int WAIT_FOR_CONTINUE_MS = 10000;
-
-Class changed: org.apache.http.protocol.HttpRequestHandlerRegistry
-  Methods removed:
-    public void setHandlers(java.util.Map);
-
-  Methods added:
-    public void setHandlers(java.util.Properties);
+  Method changed:
+  old:
+    public synchronized java.lang.Object getParameter(java.lang.String);
 
-Class changed: org.apache.http.protocol.HttpService
-  Methods removed:
-    public void setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier);
+  new:
+    public java.lang.Object getParameter(java.lang.String);
 
-Class changed: org.apache.http.util.DateUtils
-  Class descriptor changed:
+  Method changed:
   old:
-    public final org.apache.http.util.DateUtils extends java.lang.Object
+    public synchronized boolean isParameterSetLocally(java.lang.String);
+
   new:
-    public org.apache.http.util.DateUtils extends java.lang.Object
-Class changed: org.apache.http.util.EncodingUtils
-  Class descriptor changed:
+    public boolean isParameterSetLocally(java.lang.String);
+
+  Method changed:
   old:
-    public final org.apache.http.util.EncodingUtils extends java.lang.Object
+    public synchronized void setDefaults(org.apache.http.params.HttpParams);
+
   new:
-    public org.apache.http.util.EncodingUtils extends java.lang.Object
-Class changed: org.apache.http.util.EntityUtils
-  Class descriptor changed:
+    public void setDefaults(org.apache.http.params.HttpParams);
+
+  Method changed:
   old:
-    public final org.apache.http.util.EntityUtils extends java.lang.Object
+    public synchronized org.apache.http.params.HttpParams setParameter(java.lang.String, java.lang.Object);
+
   new:
-    public org.apache.http.util.EntityUtils extends java.lang.Object
-Class changed: org.apache.http.util.ExceptionUtils
-  Class descriptor changed:
+    public org.apache.http.params.HttpParams setParameter(java.lang.String, java.lang.Object);
+
+  Method changed:
   old:
-    public final org.apache.http.util.ExceptionUtils extends java.lang.Object
+    public synchronized void setParameters(java.lang.String[], java.lang.Object);
+
   new:
-    public org.apache.http.util.ExceptionUtils extends java.lang.Object
+    public void setParameters(java.lang.String[], java.lang.Object);
+
+Class changed: org.apache.http.params.HttpConnectionParams
+  Fields added:
+    public final static java.lang.String MAX_STATUS_LINE_GARBAGE = http.connection.max-status-line-garbage;
+
+Class changed: org.apache.http.params.HttpParams
+  Methods removed:
+    public abstract org.apache.http.params.HttpParams getDefaults();
+    public abstract boolean isParameterSetLocally(java.lang.String);
+    public abstract void setDefaults(org.apache.http.params.HttpParams);
+
+  Methods added:
+    public abstract org.apache.http.params.HttpParams copy();
+
+Class changed: org.apache.http.params.HttpProtocolParams
+  Fields removed:
+    public final static java.lang.String STATUS_LINE_GARBAGE_LIMIT = http.protocol.status-line-garbage-limit;
+
+Class changed: org.apache.http.protocol.BasicHttpProcessor
+  Methods added:
+    public org.apache.http.protocol.BasicHttpProcessor copy();
+
+Class changed: org.apache.http.protocol.HttpDateGenerator
+  Fields added:
+    public final static java.util.TimeZone GMT;
+    public final static java.lang.String PATTERN_RFC1123 = EEE, dd MMM yyyy HH:mm:ss zzz;
+
+Class changed: org.apache.http.protocol.HttpRequestExecutor
+  Methods removed:
+    public HttpRequestExecutor(org.apache.http.protocol.HttpProcessor);
+    protected void doFinishResponse(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    protected void doPrepareRequest(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    public final org.apache.http.params.HttpParams getParams();
+    public final void setParams(org.apache.http.params.HttpParams);
+
+  Methods added:
+    public HttpRequestExecutor();
+    public void postProcess(org.apache.http.HttpResponse, org.apache.http.protocol.HttpProcessor, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    public void preProcess(org.apache.http.HttpRequest, org.apache.http.protocol.HttpProcessor, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+
 Class changed: org.apache.http.util.HeaderUtils
-  Class descriptor changed:
-  old:
-    public final org.apache.http.util.HeaderUtils extends java.lang.Object
-  new:
-    public org.apache.http.util.HeaderUtils extends java.lang.Object
-Class changed: org.apache.http.util.LangUtils
-  Class descriptor changed:
-  old:
-    public final org.apache.http.util.LangUtils extends java.lang.Object
-  new:
-    public org.apache.http.util.LangUtils extends java.lang.Object
+  Methods removed:
+    public static org.apache.http.Header[] parseHeaders(org.apache.http.io.HttpDataReceiver, int) throws org.apache.http.HttpException, java.io.IOException;
+
+  Methods added:
+    public static org.apache.http.Header[] parseHeaders(org.apache.http.io.HttpDataReceiver, int, int) throws org.apache.http.HttpException, java.io.IOException;
+
+API diff generated by JarDiff http://www.osjava.org/jardiff/
 
 HttpCore NIO API changes (generated by JarDiff 0.2)
 --------------------------------------
-Class removed: 
-  public org.apache.http.impl.nio.DefaultClientIOEventDispatch extends java.lang.Object implements org.apache.http.nio.reactor.IOEventDispatch
-Class removed: 
-  public org.apache.http.impl.nio.DefaultNHttpClientConnection extends org.apache.http.impl.nio.NHttpConnectionBase implements org.apache.http.nio.NHttpClientConnection
-Class removed: 
-  public org.apache.http.impl.nio.DefaultNHttpServerConnection extends org.apache.http.impl.nio.NHttpConnectionBase implements org.apache.http.nio.NHttpServerConnection
-Class removed: 
-  public org.apache.http.impl.nio.DefaultServerIOEventDispatch extends java.lang.Object implements org.apache.http.nio.reactor.IOEventDispatch
-Class removed: 
-  public org.apache.http.impl.nio.NHttpConnectionBase extends java.lang.Object implements org.apache.http.nio.NHttpConnection, org.apache.http.HttpInetConnection, org.apache.http.nio.reactor.SessionBufferStatus
-Class removed: 
-  public abstract org.apache.http.impl.nio.codecs.AbstractContentDecoder extends java.lang.Object implements org.apache.http.nio.ContentDecoder
-Class removed: 
-  public abstract org.apache.http.impl.nio.codecs.AbstractContentEncoder extends java.lang.Object implements org.apache.http.nio.ContentEncoder
-Class removed: 
-  public org.apache.http.impl.nio.codecs.ChunkDecoder extends org.apache.http.impl.nio.codecs.AbstractContentDecoder
-Class removed: 
-  public org.apache.http.impl.nio.codecs.ChunkEncoder extends org.apache.http.impl.nio.codecs.AbstractContentEncoder
-Class removed: 
-  public abstract org.apache.http.impl.nio.codecs.HttpMessageParser extends java.lang.Object
-Class removed: 
-  public org.apache.http.impl.nio.codecs.HttpRequestParser extends org.apache.http.impl.nio.codecs.HttpMessageParser
-Class removed: 
-  public org.apache.http.impl.nio.codecs.HttpResponseParser extends org.apache.http.impl.nio.codecs.HttpMessageParser
-Class removed: 
-  public org.apache.http.impl.nio.codecs.IdentityDecoder extends org.apache.http.impl.nio.codecs.AbstractContentDecoder
-Class removed: 
-  public org.apache.http.impl.nio.codecs.IdentityEncoder extends org.apache.http.impl.nio.codecs.AbstractContentEncoder
-Class removed: 
-  public org.apache.http.impl.nio.codecs.LengthDelimitedDecoder extends org.apache.http.impl.nio.codecs.AbstractContentDecoder
-Class removed: 
-  public org.apache.http.impl.nio.codecs.LengthDelimitedEncoder extends org.apache.http.impl.nio.codecs.AbstractContentEncoder
-Class removed: 
-  public abstract org.apache.http.impl.nio.reactor.AbstractIOReactor extends java.lang.Object implements org.apache.http.nio.reactor.IOReactor
-Class removed: 
-  public abstract org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor extends java.lang.Object implements org.apache.http.nio.reactor.IOReactor
-Class removed: 
-  public org.apache.http.impl.nio.reactor.BaseIOReactor extends org.apache.http.impl.nio.reactor.AbstractIOReactor
-Class removed: 
-  public org.apache.http.impl.nio.reactor.ChannelEntry extends java.lang.Object
-Class removed: 
-  public org.apache.http.impl.nio.reactor.ChannelQueue extends java.lang.Object
-Class removed: 
-  public org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor extends org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor implements org.apache.http.nio.reactor.ConnectingIOReactor
-Class removed: 
-  public org.apache.http.impl.nio.reactor.DefaultListeningIOReactor extends org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor implements org.apache.http.nio.reactor.ListeningIOReactor
-Class removed: 
-  public abstract org.apache.http.impl.nio.reactor.SessionClosedCallback extends java.lang.Object
-Class removed: 
-  public org.apache.http.impl.nio.reactor.SessionHandle extends java.lang.Object
-Class removed: 
-  public org.apache.http.impl.nio.reactor.SessionInputBuffer extends org.apache.http.nio.util.ExpandableBuffer
-Class removed: 
-  public org.apache.http.impl.nio.reactor.SessionOutputBuffer extends org.apache.http.nio.util.ExpandableBuffer
-Class removed: 
-  public org.apache.http.impl.nio.reactor.SessionQueue extends java.lang.Object
-Class removed: 
-  public org.apache.http.impl.nio.reactor.SessionRequestHandle extends java.lang.Object
-Class removed: 
-  public org.apache.http.impl.nio.reactor.SessionRequestQueue extends java.lang.Object
-Class removed: 
-  public org.apache.http.impl.nio.reactor.SessionSet extends java.lang.Object
-Class removed: 
-  public abstract org.apache.http.nio.IOControl extends java.lang.Object
-Class removed: 
-  public final org.apache.http.nio.params.HttpNIOParams extends java.lang.Object
-Class removed: 
-  public org.apache.http.nio.protocol.BufferingHttpClientHandler extends java.lang.Object implements org.apache.http.nio.NHttpClientHandler
-Class removed: 
-  public org.apache.http.nio.protocol.BufferingHttpServiceHandler extends java.lang.Object implements org.apache.http.nio.NHttpServiceHandler
-Class removed: 
-  public abstract org.apache.http.nio.protocol.EventListener extends java.lang.Object
-Class removed: 
-  public abstract org.apache.http.nio.protocol.HttpRequestExecutionHandler extends java.lang.Object
-Class removed: 
-  public org.apache.http.nio.protocol.ThrottlingHttpServiceHandler extends java.lang.Object implements org.apache.http.nio.NHttpServiceHandler
-Class removed: 
-  public org.apache.http.nio.reactor.IOReactorException extends java.io.IOException
-Class removed: 
-  public abstract org.apache.http.nio.reactor.IOReactorExceptionHandler extends java.lang.Object
-Class removed: 
-  public org.apache.http.nio.util.SharedInputBuffer extends org.apache.http.nio.util.ExpandableBuffer implements org.apache.http.nio.util.ContentInputBuffer
-Class removed: 
-  public org.apache.http.nio.util.SharedOutputBuffer extends org.apache.http.nio.util.ExpandableBuffer implements org.apache.http.nio.util.ContentOutputBuffer
-Class removed: 
-  public org.apache.http.nio.util.SimpleInputBuffer extends org.apache.http.nio.util.ExpandableBuffer implements org.apache.http.nio.util.ContentInputBuffer
-Class removed: 
-  public org.apache.http.nio.util.SimpleOutputBuffer extends org.apache.http.nio.util.ExpandableBuffer implements org.apache.http.nio.util.ContentOutputBuffer
-Class added: 
-  public abstract org.apache.http.nio.ContentIOControl extends java.lang.Object
-Class added: 
-  public org.apache.http.nio.impl.DefaultClientIOEventDispatch extends java.lang.Object implements org.apache.http.nio.reactor.IOEventDispatch
-Class added: 
-  public org.apache.http.nio.impl.DefaultNHttpClientConnection extends org.apache.http.nio.impl.NHttpConnectionBase implements org.apache.http.nio.NHttpClientConnection
-Class added: 
-  public org.apache.http.nio.impl.DefaultNHttpServerConnection extends org.apache.http.nio.impl.NHttpConnectionBase implements org.apache.http.nio.NHttpServerConnection
-Class added: 
-  public org.apache.http.nio.impl.DefaultServerIOEventDispatch extends java.lang.Object implements org.apache.http.nio.reactor.IOEventDispatch
-Class added: 
-  public org.apache.http.nio.impl.NHttpConnectionBase extends java.lang.Object implements org.apache.http.nio.NHttpConnection, org.apache.http.HttpInetConnection, org.apache.http.nio.reactor.SessionBufferStatus
-Class added: 
-  public abstract org.apache.http.nio.impl.codecs.AbstractContentDecoder extends java.lang.Object implements org.apache.http.nio.ContentDecoder
-Class added: 
-  public abstract org.apache.http.nio.impl.codecs.AbstractContentEncoder extends java.lang.Object implements org.apache.http.nio.ContentEncoder
-Class added: 
-  public org.apache.http.nio.impl.codecs.ChunkDecoder extends org.apache.http.nio.impl.codecs.AbstractContentDecoder
-Class added: 
-  public org.apache.http.nio.impl.codecs.ChunkEncoder extends org.apache.http.nio.impl.codecs.AbstractContentEncoder
-Class added: 
-  public abstract org.apache.http.nio.impl.codecs.HttpMessageParser extends java.lang.Object
-Class added: 
-  public org.apache.http.nio.impl.codecs.HttpRequestParser extends org.apache.http.nio.impl.codecs.HttpMessageParser
-Class added: 
-  public org.apache.http.nio.impl.codecs.HttpResponseParser extends org.apache.http.nio.impl.codecs.HttpMessageParser
-Class added: 
-  public org.apache.http.nio.impl.codecs.IdentityDecoder extends org.apache.http.nio.impl.codecs.AbstractContentDecoder
-Class added: 
-  public org.apache.http.nio.impl.codecs.IdentityEncoder extends org.apache.http.nio.impl.codecs.AbstractContentEncoder
-Class added: 
-  public org.apache.http.nio.impl.codecs.LengthDelimitedDecoder extends org.apache.http.nio.impl.codecs.AbstractContentDecoder
-Class added: 
-  public org.apache.http.nio.impl.codecs.LengthDelimitedEncoder extends org.apache.http.nio.impl.codecs.AbstractContentEncoder
-Class added: 
-  public abstract org.apache.http.nio.impl.reactor.AbstractIOReactor extends java.lang.Object implements org.apache.http.nio.reactor.IOReactor
-Class added: 
-  public abstract org.apache.http.nio.impl.reactor.AbstractMultiworkerIOReactor extends java.lang.Object implements org.apache.http.nio.reactor.IOReactor
-Class added: 
-  public org.apache.http.nio.impl.reactor.BaseIOReactor extends org.apache.http.nio.impl.reactor.AbstractIOReactor
+
 Class added: 
-  public org.apache.http.nio.impl.reactor.ChannelEntry extends java.lang.Object
+  public abstract org.apache.http.nio.FileContentDecoder extends java.lang.Object implements org.apache.http.nio.ContentDecoder
 Class added: 
-  public org.apache.http.nio.impl.reactor.ChannelQueue extends java.lang.Object
+  public abstract org.apache.http.nio.FileContentEncoder extends java.lang.Object implements org.apache.http.nio.ContentEncoder
 Class added: 
-  public org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor extends org.apache.http.nio.impl.reactor.AbstractMultiworkerIOReactor implements org.apache.http.nio.reactor.ConnectingIOReactor
+  public org.apache.http.nio.entity.ContentBufferEntity extends org.apache.http.entity.BasicHttpEntity
 Class added: 
-  public org.apache.http.nio.impl.reactor.DefaultListeningIOReactor extends org.apache.http.nio.impl.reactor.AbstractMultiworkerIOReactor implements org.apache.http.nio.reactor.ListeningIOReactor
+  public org.apache.http.nio.entity.ContentInputStream extends java.io.InputStream
 Class added: 
-  public abstract org.apache.http.nio.impl.reactor.SessionClosedCallback extends java.lang.Object
+  public org.apache.http.nio.entity.ContentOutputStream extends java.io.OutputStream
 Class added: 
-  public org.apache.http.nio.impl.reactor.SessionHandle extends java.lang.Object
+  public abstract org.apache.http.nio.protocol.NHttpClientHandlerBase extends org.apache.http.nio.protocol.NHttpHandlerBase implements org.apache.http.nio.NHttpClientHandler
 Class added: 
-  public org.apache.http.nio.impl.reactor.SessionInputBuffer extends org.apache.http.nio.util.ExpandableBuffer
+  public abstract org.apache.http.nio.protocol.NHttpHandlerBase extends java.lang.Object
 Class added: 
-  public org.apache.http.nio.impl.reactor.SessionOutputBuffer extends org.apache.http.nio.util.ExpandableBuffer
+  public abstract org.apache.http.nio.protocol.NHttpServiceHandlerBase extends org.apache.http.nio.protocol.NHttpHandlerBase implements org.apache.http.nio.NHttpServiceHandler
 Class added: 
-  public org.apache.http.nio.impl.reactor.SessionQueue extends java.lang.Object
+  public org.apache.http.nio.protocol.ThrottlingHttpClientHandler extends org.apache.http.nio.protocol.NHttpClientHandlerBase
 Class added: 
-  public org.apache.http.nio.impl.reactor.SessionRequestHandle extends java.lang.Object
+  public abstract org.apache.http.nio.util.ByteBufferAllocator extends java.lang.Object
 Class added: 
-  public org.apache.http.nio.impl.reactor.SessionSet extends java.lang.Object
+  public org.apache.http.nio.util.DirectByteBufferAllocator extends java.lang.Object implements org.apache.http.nio.util.ByteBufferAllocator
 Class added: 
-  public org.apache.http.nio.protocol.AsyncHttpService extends java.lang.Object
-Class changed: org.apache.http.nio.NHttpClientConnection
-  Methods removed:
-    public abstract void cancelRequest();
+  public org.apache.http.nio.util.HeapByteBufferAllocator extends java.lang.Object implements org.apache.http.nio.util.ByteBufferAllocator
+Class changed: org.apache.http.impl.nio.DefaultClientIOEventDispatch
+  Methods added:
+    public DefaultClientIOEventDispatch(org.apache.http.nio.NHttpClientHandler, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.nio.NHttpClientHandler
+Class changed: org.apache.http.impl.nio.DefaultNHttpClientConnection
   Methods removed:
-    public abstract void requestReady(org.apache.http.nio.NHttpClientConnection);
+    public DefaultNHttpClientConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
+    public void cancelRequest();
 
-Class changed: org.apache.http.nio.NHttpConnection
-  Class descriptor changed:
+  Methods added:
+    public DefaultNHttpClientConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpResponseFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
+    public void resetInput();
+    public void resetOutput();
+
+  Method changed:
   old:
-    public abstract org.apache.http.nio.NHttpConnection extends java.lang.Object implements org.apache.http.HttpConnection, org.apache.http.nio.IOControl
+    public void submitRequest(org.apache.http.HttpRequest) throws org.apache.http.HttpException;
+
   new:
-    public abstract org.apache.http.nio.NHttpConnection extends java.lang.Object implements org.apache.http.HttpConnection, org.apache.http.nio.ContentIOControl
-Class changed: org.apache.http.nio.NHttpServerConnection
+    public void submitRequest(org.apache.http.HttpRequest) throws java.io.IOException, org.apache.http.HttpException;
+
+Class changed: org.apache.http.impl.nio.DefaultNHttpServerConnection
   Methods removed:
-    public abstract void cancelRequest();
+    public DefaultNHttpServerConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
+    public void cancelRequest();
+
+  Methods added:
+    public DefaultNHttpServerConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpRequestFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
+    public void resetInput();
+    public void resetOutput();
+
+  Method changed:
+  old:
+    public void submitResponse(org.apache.http.HttpResponse) throws org.apache.http.HttpException;
+
+  new:
+    public void submitResponse(org.apache.http.HttpResponse) throws java.io.IOException, org.apache.http.HttpException;
 
-Class changed: org.apache.http.nio.NHttpServiceHandler
+Class changed: org.apache.http.impl.nio.DefaultServerIOEventDispatch
+  Methods added:
+    public DefaultServerIOEventDispatch(org.apache.http.nio.NHttpServiceHandler, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
+
+Class changed: org.apache.http.impl.nio.NHttpConnectionBase
   Methods removed:
-    public abstract void responseReady(org.apache.http.nio.NHttpServerConnection);
+    public NHttpConnectionBase(org.apache.http.nio.reactor.IOSession, org.apache.http.params.HttpParams);
+
+  Methods added:
+    public NHttpConnectionBase(org.apache.http.nio.reactor.IOSession, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
+    public org.apache.http.HttpConnectionMetrics getMetrics();
 
-Class changed: org.apache.http.nio.reactor.ConnectingIOReactor
+  Fields added:
+    protected final org.apache.http.impl.HttpConnectionMetricsImpl metrics;
+
+  Method changed:
+  old:
+    protected void assertNotClosed();
+
+  new:
+    protected void assertNotClosed() throws java.io.IOException;
+
+Class changed: org.apache.http.impl.nio.codecs.ChunkEncoder
+  Method changed:
+  old:
+    public void complete();
+
+  new:
+    public void complete() throws java.io.IOException;
+
+  Method changed:
+  old:
+    public int write(java.nio.ByteBuffer);
+
+  new:
+    public int write(java.nio.ByteBuffer) throws java.io.IOException;
+
+Class changed: org.apache.http.impl.nio.codecs.HttpMessageParser
   Methods removed:
-    public abstract org.apache.http.nio.reactor.SessionRequest connect(java.net.SocketAddress, java.net.SocketAddress, java.lang.Object, org.apache.http.nio.reactor.SessionRequestCallback);
+    public HttpMessageParser(org.apache.http.impl.nio.reactor.SessionInputBuffer);
 
   Methods added:
-    public abstract org.apache.http.nio.reactor.SessionRequest connect(java.net.SocketAddress, java.net.SocketAddress, java.lang.Object) throws java.io.IOException;
+    public HttpMessageParser(org.apache.http.impl.nio.reactor.SessionInputBuffer, org.apache.http.params.HttpParams);
+    public void configure();
 
-Class changed: org.apache.http.nio.reactor.IOSession
+Class changed: org.apache.http.impl.nio.codecs.HttpRequestParser
   Methods removed:
-    public abstract boolean hasBufferedInput();
-    public abstract boolean hasBufferedOutput();
+    public HttpRequestParser(org.apache.http.impl.nio.reactor.SessionInputBuffer, org.apache.http.HttpRequestFactory);
 
   Methods added:
-    public abstract org.apache.http.nio.reactor.SessionBufferStatus getBufferStatus();
+    public HttpRequestParser(org.apache.http.impl.nio.reactor.SessionInputBuffer, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.nio.reactor.ListeningIOReactor
+Class changed: org.apache.http.impl.nio.codecs.HttpResponseParser
   Methods removed:
-    public abstract java.net.SocketAddress listen(java.net.SocketAddress) throws java.io.IOException;
+    public HttpResponseParser(org.apache.http.impl.nio.reactor.SessionInputBuffer, org.apache.http.HttpResponseFactory);
 
   Methods added:
-    public abstract void listen(java.net.SocketAddress) throws java.io.IOException;
+    public HttpResponseParser(org.apache.http.impl.nio.reactor.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.nio.reactor.SessionRequest
+Class changed: org.apache.http.impl.nio.codecs.IdentityDecoder
   Methods added:
-    public abstract void setCallback(org.apache.http.nio.reactor.SessionRequestCallback);
+    public long read(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
-Class changed: org.apache.http.nio.reactor.SessionRequestCallback
-  Methods removed:
-    public abstract void cancelled(org.apache.http.nio.reactor.SessionRequest);
+  Class descriptor changed:
+  old:
+    public org.apache.http.impl.nio.codecs.IdentityDecoder extends org.apache.http.impl.nio.codecs.AbstractContentDecoder
+  new:
+    public org.apache.http.impl.nio.codecs.IdentityDecoder extends org.apache.http.impl.nio.codecs.AbstractContentDecoder implements org.apache.http.nio.FileContentDecoder
+Class changed: org.apache.http.impl.nio.codecs.IdentityEncoder
+  Methods added:
+    public long write(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
-Class changed: org.apache.http.nio.util.ContentInputBuffer
-  Methods removed:
-    public abstract int consumeContent(org.apache.http.nio.ContentDecoder) throws java.io.IOException;
+  Class descriptor changed:
+  old:
+    public org.apache.http.impl.nio.codecs.IdentityEncoder extends org.apache.http.impl.nio.codecs.AbstractContentEncoder
+  new:
+    public org.apache.http.impl.nio.codecs.IdentityEncoder extends org.apache.http.impl.nio.codecs.AbstractContentEncoder implements org.apache.http.nio.FileContentEncoder
+Class changed: org.apache.http.impl.nio.codecs.LengthDelimitedDecoder
+  Methods added:
+    public long read(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
+  Class descriptor changed:
+  old:
+    public org.apache.http.impl.nio.codecs.LengthDelimitedDecoder extends org.apache.http.impl.nio.codecs.AbstractContentDecoder
+  new:
+    public org.apache.http.impl.nio.codecs.LengthDelimitedDecoder extends org.apache.http.impl.nio.codecs.AbstractContentDecoder implements org.apache.http.nio.FileContentDecoder
+Class changed: org.apache.http.impl.nio.codecs.LengthDelimitedEncoder
+  Methods added:
+    public long write(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
+
+  Class descriptor changed:
+  old:
+    public org.apache.http.impl.nio.codecs.LengthDelimitedEncoder extends org.apache.http.impl.nio.codecs.AbstractContentEncoder
+  new:
+    public org.apache.http.impl.nio.codecs.LengthDelimitedEncoder extends org.apache.http.impl.nio.codecs.AbstractContentEncoder implements org.apache.http.nio.FileContentEncoder
+Class changed: org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor
+  Methods added:
+    protected long getSelectTimeout();
+
+Class changed: org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor
+  Fields removed:
+    public static int TIMEOUT_CHECK_INTERVAL;
+
+Class changed: org.apache.http.impl.nio.reactor.DefaultListeningIOReactor
+  Fields removed:
+    public static int TIMEOUT_CHECK_INTERVAL;
+
+Class changed: org.apache.http.impl.nio.reactor.IOSessionImpl
   Methods added:
-    public ContentInputBuffer(int, org.apache.http.nio.ContentIOControl);
-    public void consumeContent(org.apache.http.nio.ContentDecoder) throws java.io.IOException;
-    protected boolean isEndOfStream();
-    protected boolean isShutdown();
-    public int read(byte[]) throws java.io.IOException;
     public void shutdown();
-    public void shutdown(java.io.IOException);
-    protected void waitForData() throws java.io.IOException;
 
   Class descriptor changed:
   old:
-    public abstract org.apache.http.nio.util.ContentInputBuffer extends java.lang.Object
+    package org.apache.http.impl.nio.reactor.IOSessionImpl extends java.lang.Object implements org.apache.http.nio.reactor.IOSession
   new:
-    public org.apache.http.nio.util.ContentInputBuffer extends org.apache.http.nio.util.ExpandableBuffer
+    public org.apache.http.impl.nio.reactor.IOSessionImpl extends java.lang.Object implements org.apache.http.nio.reactor.IOSession
+Class changed: org.apache.http.impl.nio.reactor.SessionInputBuffer
+  Methods added:
+    public SessionInputBuffer(int, int, org.apache.http.nio.util.ByteBufferAllocator);
+
   Method changed:
   old:
-    public abstract int read() throws java.io.IOException;
+    public boolean readLine(org.apache.http.util.CharArrayBuffer, boolean);
 
   new:
-    public int read() throws java.io.IOException;
+    public boolean readLine(org.apache.http.util.CharArrayBuffer, boolean) throws java.nio.charset.CharacterCodingException;
 
   Method changed:
   old:
-    public abstract int read(byte[], int, int) throws java.io.IOException;
+    public java.lang.String readLine(boolean);
 
   new:
-    public int read(byte[], int, int) throws java.io.IOException;
+    public java.lang.String readLine(boolean) throws java.nio.charset.CharacterCodingException;
+
+Class changed: org.apache.http.impl.nio.reactor.SessionOutputBuffer
+  Methods added:
+    public SessionOutputBuffer(int, int, org.apache.http.nio.util.ByteBufferAllocator);
 
   Method changed:
   old:
-    public abstract void reset();
+    public void writeLine(org.apache.http.util.CharArrayBuffer);
+
+  new:
+    public void writeLine(org.apache.http.util.CharArrayBuffer) throws java.nio.charset.CharacterCodingException;
 
+Class changed: org.apache.http.impl.nio.reactor.SessionRequestImpl
+  Class descriptor changed:
+  old:
+    package org.apache.http.impl.nio.reactor.SessionRequestImpl extends java.lang.Object implements org.apache.http.nio.reactor.SessionRequest
   new:
-    public void reset();
+    public org.apache.http.impl.nio.reactor.SessionRequestImpl extends java.lang.Object implements org.apache.http.nio.reactor.SessionRequest
+Class changed: org.apache.http.nio.IOControl
+  Methods added:
+    public abstract void shutdown() throws java.io.IOException;
 
-Class changed: org.apache.http.nio.util.ContentOutputBuffer
+Class changed: org.apache.http.nio.NHttpClientConnection
   Methods removed:
-    public abstract int produceContent(org.apache.http.nio.ContentEncoder) throws java.io.IOException;
-    public abstract void writeCompleted() throws java.io.IOException;
+    public abstract void cancelRequest();
 
   Methods added:
-    public ContentOutputBuffer(int, org.apache.http.nio.ContentIOControl);
-    public void close() throws java.io.IOException;
-    protected void flushBuffer() throws java.io.IOException;
-    public void produceContent(org.apache.http.nio.ContentEncoder) throws java.io.IOException;
-    public void shutdown();
-    public void shutdown(java.io.IOException);
-    public void write(byte[]) throws java.io.IOException;
+    public abstract void resetInput();
+    public abstract void resetOutput();
 
-  Class descriptor changed:
-  old:
-    public abstract org.apache.http.nio.util.ContentOutputBuffer extends java.lang.Object
-  new:
-    public org.apache.http.nio.util.ContentOutputBuffer extends org.apache.http.nio.util.ExpandableBuffer
   Method changed:
   old:
-    public abstract void flush() throws java.io.IOException;
+    public abstract void submitRequest(org.apache.http.HttpRequest) throws org.apache.http.HttpException;
 
   new:
-    public void flush() throws java.io.IOException;
+    public abstract void submitRequest(org.apache.http.HttpRequest) throws java.io.IOException, org.apache.http.HttpException;
+
+Class changed: org.apache.http.nio.NHttpServerConnection
+  Methods removed:
+    public abstract void cancelRequest();
+
+  Methods added:
+    public abstract void resetInput();
+    public abstract void resetOutput();
 
   Method changed:
   old:
-    public abstract void reset();
+    public abstract void submitResponse(org.apache.http.HttpResponse) throws org.apache.http.HttpException;
 
   new:
-    public void reset();
+    public abstract void submitResponse(org.apache.http.HttpResponse) throws java.io.IOException, org.apache.http.HttpException;
 
-  Method changed:
+Class changed: org.apache.http.nio.params.HttpNIOParams
+  Methods added:
+    public static long getSelectInterval(org.apache.http.params.HttpParams);
+    public static void setSelectInterval(org.apache.http.params.HttpParams, long);
+
+  Fields added:
+    public final static java.lang.String SELECT_INTERVAL = http.nio.select-interval;
+
+Class changed: org.apache.http.nio.protocol.BufferingHttpClientHandler
+  Methods removed:
+    public void exception(org.apache.http.nio.NHttpClientConnection, java.io.IOException);
+    public void exception(org.apache.http.nio.NHttpClientConnection, org.apache.http.HttpException);
+    public void setEventListener(org.apache.http.nio.protocol.EventListener);
+
+  Methods added:
+    public BufferingHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.HttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
+
+  Class descriptor changed:
   old:
-    public abstract void write(int) throws java.io.IOException;
+    public org.apache.http.nio.protocol.BufferingHttpClientHandler extends java.lang.Object implements org.apache.http.nio.NHttpClientHandler
+  new:
+    public org.apache.http.nio.protocol.BufferingHttpClientHandler extends org.apache.http.nio.protocol.NHttpClientHandlerBase
+Class changed: org.apache.http.nio.protocol.BufferingHttpServiceHandler
+  Methods removed:
+    public void exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException);
+    public org.apache.http.params.HttpParams getParams();
+    public void setEventListener(org.apache.http.nio.protocol.EventListener);
+    public void setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier);
+    public void setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver);
+    public void timeout(org.apache.http.nio.NHttpServerConnection);
 
+  Methods added:
+    public BufferingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
+
+  Class descriptor changed:
+  old:
+    public org.apache.http.nio.protocol.BufferingHttpServiceHandler extends java.lang.Object implements org.apache.http.nio.NHttpServiceHandler
   new:
-    public void write(int) throws java.io.IOException;
+    public org.apache.http.nio.protocol.BufferingHttpServiceHandler extends org.apache.http.nio.protocol.NHttpServiceHandlerBase implements org.apache.http.nio.NHttpServiceHandler
+Class changed: org.apache.http.nio.protocol.EventListener
+  Methods removed:
+    public abstract void connectionClosed(java.net.InetAddress);
+    public abstract void connectionOpen(java.net.InetAddress);
+    public abstract void connectionTimeout(java.net.InetAddress);
+    public abstract void fatalIOException(java.io.IOException);
+    public abstract void fatalProtocolException(org.apache.http.HttpException);
+
+  Methods added:
+    public abstract void connectionClosed(org.apache.http.nio.NHttpConnection);
+    public abstract void connectionOpen(org.apache.http.nio.NHttpConnection);
+    public abstract void connectionTimeout(org.apache.http.nio.NHttpConnection);
+    public abstract void fatalIOException(java.io.IOException, org.apache.http.nio.NHttpConnection);
+    public abstract void fatalProtocolException(org.apache.http.HttpException, org.apache.http.nio.NHttpConnection);
 
+Class changed: org.apache.http.nio.protocol.HttpRequestExecutionHandler
   Method changed:
   old:
-    public abstract void write(byte[], int, int) throws java.io.IOException;
+    public abstract void handleResponse(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
 
   new:
-    public void write(byte[], int, int) throws java.io.IOException;
+    public abstract void handleResponse(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws java.io.IOException;
+
+Class changed: org.apache.http.nio.protocol.ThrottlingHttpServiceHandler
+  Methods removed:
+    public void exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException);
+    public org.apache.http.params.HttpParams getParams();
+    public void setEventListener(org.apache.http.nio.protocol.EventListener);
+    public void setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier);
+    public void setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver);
+    public void timeout(org.apache.http.nio.NHttpServerConnection);
+
+  Methods added:
+    public ThrottlingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.util.concurrent.Executor, org.apache.http.params.HttpParams);
+    protected void shutdownConnection(org.apache.http.nio.NHttpConnection, java.lang.Throwable);
+
+  Fields added:
+    protected final org.apache.http.util.concurrent.Executor executor;
+
+  Class descriptor changed:
+  old:
+    public org.apache.http.nio.protocol.ThrottlingHttpServiceHandler extends java.lang.Object implements org.apache.http.nio.NHttpServiceHandler
+  new:
+    public org.apache.http.nio.protocol.ThrottlingHttpServiceHandler extends org.apache.http.nio.protocol.NHttpServiceHandlerBase
+Class changed: org.apache.http.nio.reactor.IOReactorException
+  Methods removed:
+    public IOReactorException(java.lang.String, java.io.IOException);
+
+  Methods added:
+    public IOReactorException(java.lang.String, java.lang.Exception);
+
+Class changed: org.apache.http.nio.reactor.IOSession
+  Methods added:
+    public abstract void shutdown();
+
+Class changed: org.apache.http.nio.util.ExpandableBuffer
+  Methods removed:
+    public ExpandableBuffer(int);
+
+  Methods added:
+    public ExpandableBuffer(int, org.apache.http.nio.util.ByteBufferAllocator);
+
+Class changed: org.apache.http.nio.util.SharedInputBuffer
+  Methods removed:
+    public SharedInputBuffer(int, org.apache.http.nio.IOControl);
+
+  Methods added:
+    public SharedInputBuffer(int, org.apache.http.nio.IOControl, org.apache.http.nio.util.ByteBufferAllocator);
+
+Class changed: org.apache.http.nio.util.SharedOutputBuffer
+  Methods removed:
+    public SharedOutputBuffer(int, org.apache.http.nio.IOControl);
+
+  Methods added:
+    public SharedOutputBuffer(int, org.apache.http.nio.IOControl, org.apache.http.nio.util.ByteBufferAllocator);
+
+Class changed: org.apache.http.nio.util.SimpleInputBuffer
+  Methods removed:
+    public SimpleInputBuffer(int);
+
+  Methods added:
+    public SimpleInputBuffer(int, org.apache.http.nio.util.ByteBufferAllocator);
+
+Class changed: org.apache.http.nio.util.SimpleOutputBuffer
+  Methods removed:
+    public SimpleOutputBuffer(int);
+
+  Methods added:
+    public SimpleOutputBuffer(int, org.apache.http.nio.util.ByteBufferAllocator);
+
+API diff generated by JarDiff http://www.osjava.org/jardiff/
+
+HttpCore NIOSSL API changes (generated by JarDiff 0.2)
+--------------------------------------
+
+Class changed: org.apache.http.impl.nio.reactor.SSLClientIOEventDispatch
+  Methods removed:
+    public SSLClientIOEventDispatch(org.apache.http.nio.NHttpClientHandler, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLIOSessionHandler, org.apache.http.params.HttpParams);
+
+  Methods added:
+    public SSLClientIOEventDispatch(org.apache.http.nio.NHttpClientHandler, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLIOSessionHandler, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
+
+Class changed: org.apache.http.impl.nio.reactor.SSLIOSession
+  Methods removed:
+    public synchronized void initialize(org.apache.http.impl.nio.reactor.SSLMode, org.apache.http.params.HttpParams) throws javax.net.ssl.SSLException;
+
+  Methods added:
+    public synchronized void bind(org.apache.http.impl.nio.reactor.SSLMode, org.apache.http.params.HttpParams) throws javax.net.ssl.SSLException;
+
+Class changed: org.apache.http.impl.nio.reactor.SSLServerIOEventDispatch
+  Methods removed:
+    public SSLServerIOEventDispatch(org.apache.http.nio.NHttpServiceHandler, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLIOSessionHandler, org.apache.http.params.HttpParams);
+
+  Methods added:
+    public SSLServerIOEventDispatch(org.apache.http.nio.NHttpServiceHandler, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLIOSessionHandler, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
+
+API diff generated by JarDiff http://www.osjava.org/jardiff/
+
+Release 4.0 Alpha 4
+-------------------
+
+The forth ALPHA version of HttpComponents Core has been released. 
+The ALPHA4 release fixes a number of bugs and adds a number of 
+improvements to HttpCore base and HttpCore NIO extensions. 
+HttpCore NIO can be used to build HTTP services intended to handle 
+thousands of simultaneous connections with a small number of I/O 
+threads. This release also introduces NIOSSL extensions that can be 
+used to extend HttpCore non-blocking transport components with 
+ability to transparently encrypt data in transit using SSL/TLS protocol.
+
+* [HTTPCORE-49]: DefaultConnectingIOReactor can now correctly handle 
+  unresolved socket addresses. It no longer terminates with the 
+  UnresolvedAddressException runtime exception.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-42]: Added server side API for the expectation verification. 
+  Improved support for the 'expect: continue' handshake in HttpCore and 
+  HttpCore NIO.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-26]: Added SSL support for HttpCore NIO.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-40]: API classes no longer reference impl classes in module-main.
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-39]: Refactored HttpStatus, spun off [English]ReasonPhraseFactory.
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-32]: HttpRequestInterceptorList, HttpResponseInterceptorList
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-38]: Packages nio.impl.* are now impl.nio.*, same for examples.
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-27]: I/O reactors can now accept a thread factory as an optional
+  parameter.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-36]: Fixed #setHandlers() method and matching of request URIs 
+  with a query part in HttpRequestHandlerRegistry
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-28]: DefaultConnectingIOReactor now maintains a queue of connect 
+  requests and registers new sessions with the selector on the I/O thread.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-29] DefaultConnectingIOReactor changed to ensure IOExceptions 
+  are correctly propagated to the caller, if an exception is thrown while 
+  initializing a newly connected socket.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-24] Fixed bug in non-blocking connection implementations, which 
+  prevented the session buffer from being correctly flushed when the content 
+  coding process has been completed.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-23] Fixed threading bug in DefaultConnectingIOReactor.
+  Contributed by Asankha C. Perera <asankha at wso2.com>
 
 API diff generated by JarDiff http://www.osjava.org/jardiff/