hc-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ol...@apache.org
Subject svn commit: r612059 - /httpcomponents/httpcore/trunk/RELEASE_NOTES.txt
Date Tue, 15 Jan 2008 09:37:28 GMT
Author: olegk
Date: Tue Jan 15 01:37:28 2008
New Revision: 612059

URL: http://svn.apache.org/viewvc?rev=612059&view=rev
Log:
Updated release notes for HttpCore 4.0-beta1 release

Modified:
    httpcomponents/httpcore/trunk/RELEASE_NOTES.txt

Modified: httpcomponents/httpcore/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt?rev=612059&r1=612058&r2=612059&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/RELEASE_NOTES.txt (original)
+++ httpcomponents/httpcore/trunk/RELEASE_NOTES.txt Tue Jan 15 01:37:28 2008
@@ -1,4 +1,21 @@
-Changes since 4.0 Alpha 6
+Release 4.0 Beta 1
+-------------------
+
+The first BETA version of HttpComponents Core has been released. This release 
+can be considered a major milestone, as it marks the end of API instability 
+in HttpCore. As of this release the API compatibility between minor releases
+in 4.x codeline will be maintained.
+
+This release includes several major improvements such as enhanced HTTP message 
+parsing API and optimized parser implementations, Java 5.0 compatibility
+for HttpCore NIO extensions. Upstream projects are strongly encouraged to
+upgrade to the latest release.
+
+The focus of the development efforts will be gradually shifting towards
+providing better test coverage, documentation and performance optimizations. 
+
+Changelog:
+----------
 
 * [HTTPCORE-137] DefaultHttpRequestFactory extended to support all methods 
   specified in RFC 2616 (except CONNECT).
@@ -54,927 +71,586 @@
   connection has been closed by the peer.
   Contributed by Risto Reinpõld <risto.reinpold at gmail.com>
 
-Release 4.0 Alpha 6
--------------------
-
-The sixth ALPHA version of HttpComponents Core has been released. This release
-sports an improved message parsing and formatting API in the base module and
-lots of incremental improvements and bug fixes in the NIO and NIOSSL modules.
-Based on the improved API, it is now possible to send and receive SIP messages
-with HttpComponents Core.
-
-HttpCore is now feature complete and we are planning to freeze the public APIs
-as of next release (BETA1). 
-
-* [HTTPCORE-120] new interface HeaderIterator, available from HttpMessage
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-118] Purge closed sessions prior to opening new ones. This should
-  reduce chances of running out of memory when opening and closing lots of
-  NIO connections in a tight loop. 
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-117] Fixed bug preventing protocol handlers from closing timed out
-  NIO connection when pending output (output session buffer is not empty). 
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-86] Allow for optional handling of runtime exceptions
-  thrown by protocol handlers to ensure the I/O dispatch thread
-  remains running.
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-116] moved parameter names to interfaces
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-109] Improved shutdown process of the I/O reactors in NIO modules.
-  I/O reactors now attempt to terminate connections gracefully before shutting
-  down the underlying socket channels.
-  Contributed by Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-107] allow sending and receiving of SIP messages
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-114]: Fixed incorrect handling of the end-of-stream condition
-  in SSLIOSession. 
-  Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-110] refactored message parsing and formatting logic
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-113] Removed unnecessary target hostname resolution from
-  non-blocking client protocol handlers.
-  Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-108] Close all channels registered with the I/O reactor during 
-  shutdown. Fixed the problem with DefaultListeningIOReactor not releasing
-  socket ports until JVM is restarted.
-  Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-106] Pluggable HTTP message parsers and message writers
-  Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-105] Consistent class names in base and NIO modules
-  Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-100] revised HttpContext hierarchy
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-103] NIO connections now attempt to consume all available session 
-  data while parsing HTTP messages. This can  potentially improve performance 
-  of non-blocking SSL connections.
-  Contributed by Steffen Pingel <spingel at limewire.com>
-
-* [HTTPCORE-102] Exceeding of maximum line length limit detected late
-  Contributed by Steffen Pingel <spingel at limewire.com>
-
-* [HTTPCORE-21] Transport and connection metrics
-  Contributed by Andrea Selva <selva.andre at gmail.com> and 
-  Oleg Kalnichevski <olegk at apache.org>
-
-* [HTTPCORE-91] new interceptor RequestDate, renamed constants in protocol.HTTP
-  Contributed by Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-90] Version detection based on build-time properties
-  Contributed by Oleg Kalnichevski <olegk at apache.org> and 
-  Roland Weber <rolandw at apache.org>
-
-* [HTTPCORE-88] Added convenience methods to HttpRequestInterceptorList, 
-  HttpResponseInterceptorList interfaces
-  Contributed by Andrea Selva <selva.andre at gmail.com>
-
-* [HTTPCORE-89]: Fixed bug in DefaultConnectingIOReactor causing incorrect 
-  handling of local (immediate) connections on some platforms (affects Sun 
-  Solaris 2.9 / Sparc and likely other Solaris 2.x platforms)
-  Contributed by Sam Berlin <sberlin at gmail.com>
-
 HttpCore API changes (generated by JarDiff 0.2)
 --------------------------------------
 
 Class removed: 
-  public abstract org.apache.http.impl.io.AbstractHttpDataReceiver extends java.lang.Object implements org.apache.http.io.HttpDataReceiver
-Class removed: 
-  public abstract org.apache.http.impl.io.AbstractHttpDataTransmitter extends java.lang.Object implements org.apache.http.io.HttpDataTransmitter
-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.SocketHttpDataReceiver extends org.apache.http.impl.io.AbstractHttpDataReceiver
-Class removed: 
-  public org.apache.http.impl.io.SocketHttpDataTransmitter extends org.apache.http.impl.io.AbstractHttpDataTransmitter
-Class removed: 
-  public abstract org.apache.http.io.HttpDataReceiver extends java.lang.Object
+  public abstract org.apache.http.params.HttpLinkedParams extends java.lang.Object implements org.apache.http.params.HttpParams
 Class removed: 
-  public abstract org.apache.http.io.HttpDataTransmitter extends java.lang.Object
+  public org.apache.http.params.HttpParamsLinker extends java.lang.Object
 Class removed: 
-  public org.apache.http.message.BasicHttpVersionFormat extends java.lang.Object
+  public org.apache.http.util.HeaderGroup extends java.lang.Object
 Class removed: 
-  public org.apache.http.protocol.HttpExecutionContext extends java.lang.Object implements org.apache.http.protocol.HttpContext
+  public org.apache.http.util.ListHeaderIterator extends java.lang.Object implements org.apache.http.HeaderIterator
 Class removed: 
-  public org.apache.http.protocol.SyncHttpExecutionContext extends org.apache.http.protocol.HttpExecutionContext
+  public abstract org.apache.http.util.concurrent.Executor extends java.lang.Object
 Class removed: 
-  public final org.apache.http.util.HeaderUtils extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.FormattedHeader extends java.lang.Object implements org.apache.http.Header
-Class added: 
-  public abstract org.apache.http.HeaderIterator extends java.lang.Object implements java.util.Iterator
-Class added: 
-  public org.apache.http.ParseException extends java.lang.RuntimeException
-Class added: 
-  public org.apache.http.ProtocolVersion extends java.lang.Object implements java.io.Serializable
-Class added: 
-  public abstract org.apache.http.impl.io.AbstractMessageParser extends java.lang.Object implements org.apache.http.io.HttpMessageParser
-Class added: 
-  public abstract org.apache.http.impl.io.AbstractMessageWriter extends java.lang.Object implements org.apache.http.io.HttpMessageWriter
-Class added: 
-  public abstract org.apache.http.impl.io.AbstractSessionInputBuffer extends java.lang.Object implements org.apache.http.io.SessionInputBuffer
-Class added: 
-  public abstract org.apache.http.impl.io.AbstractSessionOutputBuffer extends java.lang.Object implements org.apache.http.io.SessionOutputBuffer
-Class added: 
-  public org.apache.http.impl.io.HttpRequestParser extends org.apache.http.impl.io.AbstractMessageParser
-Class added: 
-  public org.apache.http.impl.io.HttpRequestWriter extends org.apache.http.impl.io.AbstractMessageWriter
-Class added: 
-  public org.apache.http.impl.io.HttpResponseParser extends org.apache.http.impl.io.AbstractMessageParser
-Class added: 
-  public org.apache.http.impl.io.HttpResponseWriter extends org.apache.http.impl.io.AbstractMessageWriter
-Class added: 
-  public org.apache.http.impl.io.IdentityInputStream extends java.io.InputStream
+  public abstract org.apache.http.util.concurrent.ThreadFactory extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.io.SocketInputBuffer extends org.apache.http.impl.io.AbstractSessionInputBuffer
+  public abstract org.apache.http.HeaderElementIterator extends java.lang.Object implements java.util.Iterator
 Class added: 
-  public org.apache.http.impl.io.SocketOutputBuffer extends org.apache.http.impl.io.AbstractSessionOutputBuffer
+  public abstract org.apache.http.TokenIterator extends java.lang.Object implements java.util.Iterator
 Class added: 
-  public abstract org.apache.http.io.HttpMessageParser extends java.lang.Object
+  public org.apache.http.message.BasicHeaderElementIterator extends java.lang.Object implements org.apache.http.HeaderElementIterator
 Class added: 
-  public abstract org.apache.http.io.HttpMessageWriter extends java.lang.Object
+  public org.apache.http.message.BasicListHeaderIterator extends java.lang.Object implements org.apache.http.HeaderIterator
 Class added: 
-  public abstract org.apache.http.io.SessionInputBuffer extends java.lang.Object
+  public org.apache.http.message.BasicTokenIterator extends java.lang.Object implements org.apache.http.TokenIterator
 Class added: 
-  public abstract org.apache.http.io.SessionOutputBuffer extends java.lang.Object
+  public org.apache.http.message.HeaderGroup extends java.lang.Object implements java.lang.Cloneable
 Class added: 
-  public org.apache.http.message.BasicHeaderIterator extends java.lang.Object implements org.apache.http.HeaderIterator
+  public org.apache.http.message.ParserCursor extends java.lang.Object
 Class added: 
-  public org.apache.http.message.BasicHeaderValueFormatter extends java.lang.Object implements org.apache.http.message.HeaderValueFormatter
+  public final org.apache.http.params.DefaultedHttpParams extends org.apache.http.params.AbstractHttpParams
 Class added: 
-  public org.apache.http.message.BasicHeaderValueParser extends java.lang.Object implements org.apache.http.message.HeaderValueParser
+  public abstract org.apache.http.params.HttpAbstractParamBean extends java.lang.Object
 Class added: 
-  public org.apache.http.message.BasicLineFormatter extends java.lang.Object implements org.apache.http.message.LineFormatter
+  public org.apache.http.params.HttpConnectionParamBean extends org.apache.http.params.HttpAbstractParamBean
 Class added: 
-  public org.apache.http.message.BasicLineParser extends java.lang.Object implements org.apache.http.message.LineParser
-Class added: 
-  public abstract org.apache.http.message.HeaderValueFormatter extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.message.HeaderValueParser extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.message.LineFormatter extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.message.LineParser extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.params.CoreConnectionPNames extends java.lang.Object
-Class added: 
-  public abstract org.apache.http.params.CoreProtocolPNames extends java.lang.Object
-Class added: 
-  public org.apache.http.protocol.BasicHttpContext extends java.lang.Object implements org.apache.http.protocol.HttpContext
-Class added: 
-  public abstract org.apache.http.protocol.ExecutionContext extends java.lang.Object
-Class added: 
-  public org.apache.http.protocol.RequestDate extends java.lang.Object implements org.apache.http.HttpRequestInterceptor
-Class added: 
-  public org.apache.http.protocol.SyncBasicHttpContext extends org.apache.http.protocol.BasicHttpContext
-Class added: 
-  public org.apache.http.util.ListHeaderIterator extends java.lang.Object implements org.apache.http.HeaderIterator
-Class added: 
-  public org.apache.http.util.VersionInfo extends java.lang.Object
-Class changed: org.apache.http.Header
-  Method changed:
-  old:
-    public abstract org.apache.http.HeaderElement[] getElements();
-
-  new:
-    public abstract org.apache.http.HeaderElement[] getElements() throws org.apache.http.ParseException;
-
-Class changed: org.apache.http.HeaderElement
-  Methods added:
-    public abstract org.apache.http.NameValuePair getParameter(int);
-    public abstract int getParameterCount();
-
+  public org.apache.http.params.HttpProtocolParamBean extends org.apache.http.params.HttpAbstractParamBean
 Class changed: org.apache.http.HttpHost
-  Fields added:
-    protected final java.lang.String hostname;
-    protected final java.lang.String lcHostname;
-    protected final int port;
-    protected final java.lang.String schemeName;
-
-Class changed: org.apache.http.HttpMessage
-  Methods removed:
-    public abstract org.apache.http.HttpVersion getHttpVersion();
-    public abstract java.util.Iterator headerIterator();
-
   Methods added:
-    public abstract org.apache.http.ProtocolVersion getProtocolVersion();
-    public abstract org.apache.http.HeaderIterator headerIterator();
-    public abstract org.apache.http.HeaderIterator headerIterator(java.lang.String);
-
-Class changed: org.apache.http.HttpResponse
-  Methods removed:
-    public abstract void setStatusLine(org.apache.http.HttpVersion, int);
-    public abstract void setStatusLine(org.apache.http.HttpVersion, int, java.lang.String);
-
-  Methods added:
-    public abstract void setStatusLine(org.apache.http.ProtocolVersion, int);
-    public abstract void setStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String);
-
-Class changed: org.apache.http.HttpResponseFactory
-  Methods removed:
-    public abstract org.apache.http.HttpResponse newHttpResponse(org.apache.http.HttpVersion, int, org.apache.http.protocol.HttpContext);
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
+  Class descriptor changed:
+  old:
+    public org.apache.http.HttpHost extends java.lang.Object
+  new:
+    public final org.apache.http.HttpHost extends java.lang.Object implements java.lang.Cloneable
+Class changed: org.apache.http.ProtocolVersion
   Methods added:
-    public abstract org.apache.http.HttpResponse newHttpResponse(org.apache.http.ProtocolVersion, int, org.apache.http.protocol.HttpContext);
-
-Class changed: org.apache.http.HttpVersion
-  Methods removed:
-    public int compareTo(java.lang.Object);
-    public int compareTo(org.apache.http.HttpVersion);
-    public boolean equals(java.lang.Object);
-    public boolean equals(org.apache.http.HttpVersion);
-    public int getMajor();
-    public int getMinor();
-    public boolean greaterEquals(org.apache.http.HttpVersion);
-    public int hashCode();
-    public boolean lessEquals(org.apache.http.HttpVersion);
-    public java.lang.String toString();
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
+  Class descriptor changed:
+  old:
+    public org.apache.http.ProtocolVersion extends java.lang.Object implements java.io.Serializable
+  new:
+    public org.apache.http.ProtocolVersion extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable
+Class changed: org.apache.http.entity.ByteArrayEntity
   Methods added:
-    public org.apache.http.ProtocolVersion forVersion(int, int);
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
   Fields added:
-    public final static java.lang.String HTTP = HTTP;
+    protected final byte[] content;
 
   Class descriptor changed:
   old:
-    public final org.apache.http.HttpVersion extends java.lang.Object implements java.lang.Comparable, java.io.Serializable
+    public org.apache.http.entity.ByteArrayEntity extends org.apache.http.entity.AbstractHttpEntity
   new:
-    public final org.apache.http.HttpVersion extends org.apache.http.ProtocolVersion implements java.io.Serializable
-Class changed: org.apache.http.RequestLine
-  Methods removed:
-    public abstract org.apache.http.HttpVersion getHttpVersion();
-
+    public org.apache.http.entity.ByteArrayEntity extends org.apache.http.entity.AbstractHttpEntity implements java.lang.Cloneable
+Class changed: org.apache.http.entity.FileEntity
   Methods added:
-    public abstract org.apache.http.ProtocolVersion getProtocolVersion();
-
-Class changed: org.apache.http.StatusLine
-  Methods removed:
-    public abstract org.apache.http.HttpVersion getHttpVersion();
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
-  Methods added:
-    public abstract org.apache.http.ProtocolVersion getProtocolVersion();
-
-Class changed: org.apache.http.impl.AbstractHttpClientConnection
-  Methods removed:
-    protected void init(org.apache.http.io.HttpDataReceiver, org.apache.http.io.HttpDataTransmitter, org.apache.http.params.HttpParams);
-    protected void readResponseHeaders(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
-    protected org.apache.http.HttpResponse readResponseStatusLine() throws org.apache.http.HttpException, java.io.IOException;
-    protected void sendRequestHeaders(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
-    protected void sendRequestLine(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
-    protected static boolean startsWithHTTP(org.apache.http.util.CharArrayBuffer);
-
-  Methods added:
-    protected org.apache.http.io.HttpMessageWriter createRequestWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
-    protected org.apache.http.io.HttpMessageParser createResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
-    protected void init(org.apache.http.io.SessionInputBuffer, org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
-
-Class changed: org.apache.http.impl.AbstractHttpServerConnection
-  Methods removed:
-    protected void init(org.apache.http.io.HttpDataReceiver, org.apache.http.io.HttpDataTransmitter, org.apache.http.params.HttpParams);
-    protected void receiveRequestHeaders(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
-    protected org.apache.http.HttpRequest receiveRequestLine() throws org.apache.http.HttpException, java.io.IOException;
-    protected void sendResponseHeaders(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
-    protected void sendResponseStatusLine(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
-
-  Methods added:
-    protected org.apache.http.io.HttpMessageParser createRequestParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
-    protected org.apache.http.io.HttpMessageWriter createResponseWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
-    protected void init(org.apache.http.io.SessionInputBuffer, org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
-
-Class changed: org.apache.http.impl.DefaultHttpResponseFactory
-  Methods removed:
-    public org.apache.http.HttpResponse newHttpResponse(org.apache.http.HttpVersion, int, org.apache.http.protocol.HttpContext);
-
-  Methods added:
-    public org.apache.http.HttpResponse newHttpResponse(org.apache.http.ProtocolVersion, int, org.apache.http.protocol.HttpContext);
-
-Class changed: org.apache.http.impl.SocketHttpClientConnection
-  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.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;
-
-Class changed: org.apache.http.impl.SocketHttpServerConnection
-  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.SessionInputBuffer createHttpDataReceiver(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
-    protected org.apache.http.io.SessionOutputBuffer createHttpDataTransmitter(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
-
-Class changed: org.apache.http.impl.entity.EntityDeserializer
-  Methods removed:
-    public org.apache.http.HttpEntity deserialize(org.apache.http.io.HttpDataReceiver, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
-    protected org.apache.http.entity.BasicHttpEntity doDeserialize(org.apache.http.io.HttpDataReceiver, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
-
-  Methods added:
-    public org.apache.http.HttpEntity deserialize(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
-    protected org.apache.http.entity.BasicHttpEntity doDeserialize(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
-
-Class changed: org.apache.http.impl.entity.EntitySerializer
-  Methods removed:
-    protected java.io.OutputStream doSerialize(org.apache.http.io.HttpDataTransmitter, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
-    public void serialize(org.apache.http.io.HttpDataTransmitter, org.apache.http.HttpMessage, org.apache.http.HttpEntity) throws org.apache.http.HttpException, java.io.IOException;
-
-  Methods added:
-    protected java.io.OutputStream doSerialize(org.apache.http.io.SessionOutputBuffer, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
-    public void serialize(org.apache.http.io.SessionOutputBuffer, org.apache.http.HttpMessage, org.apache.http.HttpEntity) throws org.apache.http.HttpException, java.io.IOException;
-
-Class changed: org.apache.http.impl.io.ChunkedInputStream
-  Methods removed:
-    public ChunkedInputStream(org.apache.http.io.HttpDataReceiver);
-
-  Methods added:
-    public ChunkedInputStream(org.apache.http.io.SessionInputBuffer);
-
-Class changed: org.apache.http.impl.io.ChunkedOutputStream
-  Methods removed:
-    public ChunkedOutputStream(org.apache.http.io.HttpDataTransmitter) throws java.io.IOException;
-    public ChunkedOutputStream(org.apache.http.io.HttpDataTransmitter, int) throws java.io.IOException;
-
-  Methods added:
-    public ChunkedOutputStream(org.apache.http.io.SessionOutputBuffer) throws java.io.IOException;
-    public ChunkedOutputStream(org.apache.http.io.SessionOutputBuffer, int) throws java.io.IOException;
-
-Class changed: org.apache.http.impl.io.ContentLengthInputStream
-  Methods removed:
-    public ContentLengthInputStream(org.apache.http.io.HttpDataReceiver, long);
-
-  Methods added:
-    public ContentLengthInputStream(org.apache.http.io.SessionInputBuffer, long);
-
-Class changed: org.apache.http.impl.io.ContentLengthOutputStream
-  Methods removed:
-    public ContentLengthOutputStream(org.apache.http.io.HttpDataTransmitter, long);
+  Fields added:
+    protected final java.io.File file;
 
+  Class descriptor changed:
+  old:
+    public org.apache.http.entity.FileEntity extends org.apache.http.entity.AbstractHttpEntity
+  new:
+    public org.apache.http.entity.FileEntity extends org.apache.http.entity.AbstractHttpEntity implements java.lang.Cloneable
+Class changed: org.apache.http.entity.StringEntity
   Methods added:
-    public ContentLengthOutputStream(org.apache.http.io.SessionOutputBuffer, long);
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
-Class changed: org.apache.http.impl.io.IdentityOutputStream
-  Methods removed:
-    public IdentityOutputStream(org.apache.http.io.HttpDataTransmitter);
+  Fields added:
+    protected final byte[] content;
 
+  Class descriptor changed:
+  old:
+    public org.apache.http.entity.StringEntity extends org.apache.http.entity.AbstractHttpEntity
+  new:
+    public org.apache.http.entity.StringEntity extends org.apache.http.entity.AbstractHttpEntity implements java.lang.Cloneable
+Class changed: org.apache.http.impl.DefaultConnectionReuseStrategy
   Methods added:
-    public IdentityOutputStream(org.apache.http.io.SessionOutputBuffer);
+    protected org.apache.http.TokenIterator createTokenIterator(org.apache.http.HeaderIterator);
 
 Class changed: org.apache.http.message.AbstractHttpMessage
-  Methods removed:
-    public java.util.Iterator headerIterator();
-
   Methods added:
-    public org.apache.http.HeaderIterator headerIterator();
-    public org.apache.http.HeaderIterator headerIterator(java.lang.String);
+    protected AbstractHttpMessage(org.apache.http.params.HttpParams);
 
 Class changed: org.apache.http.message.BasicHeader
-  Methods removed:
-    public static java.lang.String format(org.apache.http.Header);
-    public static void format(org.apache.http.util.CharArrayBuffer, org.apache.http.Header);
+  Methods added:
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
-  Method changed:
+  Class descriptor changed:
   old:
-    public org.apache.http.HeaderElement[] getElements();
-
+    public org.apache.http.message.BasicHeader extends java.lang.Object implements org.apache.http.Header
   new:
-    public org.apache.http.HeaderElement[] getElements() throws org.apache.http.ParseException;
-
+    public org.apache.http.message.BasicHeader extends java.lang.Object implements org.apache.http.Header, java.lang.Cloneable
 Class changed: org.apache.http.message.BasicHeaderElement
   Methods removed:
-    public static java.lang.String format(org.apache.http.HeaderElement);
-    public static void format(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement);
-    public static void formatAll(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[]);
-    public static java.lang.String formatAll(org.apache.http.HeaderElement[]);
-    public final static org.apache.http.HeaderElement parse(java.lang.String);
-    public static org.apache.http.HeaderElement parse(org.apache.http.util.CharArrayBuffer, int, int);
-    public final static org.apache.http.HeaderElement[] parseAll(java.lang.String);
-    public final static org.apache.http.HeaderElement[] parseAll(org.apache.http.util.CharArrayBuffer, int, int);
-
-  Methods added:
     public BasicHeaderElement(org.apache.http.NameValuePair[]);
-    public org.apache.http.NameValuePair getParameter(int);
-    public int getParameterCount();
-
-Class changed: org.apache.http.message.BasicHttpRequest
-  Methods removed:
-    public BasicHttpRequest(java.lang.String, java.lang.String, org.apache.http.HttpVersion);
-    public org.apache.http.HttpVersion getHttpVersion();
 
   Methods added:
-    public BasicHttpRequest(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion);
-    public org.apache.http.ProtocolVersion getProtocolVersion();
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
-Class changed: org.apache.http.message.BasicHttpResponse
+  Class descriptor changed:
+  old:
+    public org.apache.http.message.BasicHeaderElement extends java.lang.Object implements org.apache.http.HeaderElement
+  new:
+    public org.apache.http.message.BasicHeaderElement extends java.lang.Object implements org.apache.http.HeaderElement, java.lang.Cloneable
+Class changed: org.apache.http.message.BasicHeaderValueParser
   Methods removed:
-    public BasicHttpResponse(org.apache.http.HttpVersion, int, java.lang.String);
-    public org.apache.http.HttpVersion getHttpVersion();
-    public void setStatusLine(org.apache.http.HttpVersion, int);
-    public void setStatusLine(org.apache.http.HttpVersion, int, java.lang.String);
+    protected org.apache.http.HeaderElement createHeaderElement(org.apache.http.NameValuePair[]);
+    public org.apache.http.HeaderElement[] parseElements(org.apache.http.util.CharArrayBuffer, int, int);
+    public org.apache.http.HeaderElement parseHeaderElement(org.apache.http.util.CharArrayBuffer, int, int);
+    public org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, int, int);
+    public org.apache.http.NameValuePair[] parseParameters(org.apache.http.util.CharArrayBuffer, int, int);
 
   Methods added:
-    public BasicHttpResponse(org.apache.http.ProtocolVersion, int, java.lang.String);
-    public org.apache.http.ProtocolVersion getProtocolVersion();
-    public void setStatusLine(org.apache.http.ProtocolVersion, int);
-    public void setStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String);
-
-Class changed: org.apache.http.message.BasicNameValuePair
-  Methods removed:
-    public static java.lang.String format(org.apache.http.NameValuePair, boolean);
-    public static void format(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean);
-    public static void formatAll(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean);
-    public static java.lang.String formatAll(org.apache.http.NameValuePair[], boolean);
-    public final static org.apache.http.NameValuePair parse(java.lang.String);
-    public static org.apache.http.NameValuePair parse(org.apache.http.util.CharArrayBuffer, int, int);
-    public final static org.apache.http.NameValuePair[] parseAll(java.lang.String);
-    public final static org.apache.http.NameValuePair[] parseAll(org.apache.http.util.CharArrayBuffer, int, int);
+    protected org.apache.http.HeaderElement createHeaderElement(java.lang.String, java.lang.String, org.apache.http.NameValuePair[]);
+    public org.apache.http.HeaderElement[] parseElements(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    public org.apache.http.HeaderElement parseHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    public org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    public org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor, char[]);
+    public org.apache.http.NameValuePair[] parseParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
 
-Class changed: org.apache.http.message.BasicRequestLine
+Class changed: org.apache.http.message.BasicHttpEntityEnclosingRequest
   Methods removed:
-    public BasicRequestLine(java.lang.String, java.lang.String, org.apache.http.HttpVersion);
-    public static java.lang.String format(org.apache.http.RequestLine);
-    public static void format(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine);
-    public org.apache.http.HttpVersion getHttpVersion();
-    public final static org.apache.http.RequestLine parse(java.lang.String) throws org.apache.http.ProtocolException;
-    public static org.apache.http.RequestLine parse(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ProtocolException;
+    public BasicHttpEntityEnclosingRequest(java.lang.String, java.lang.String, org.apache.http.HttpVersion);
 
   Methods added:
-    public BasicRequestLine(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion);
-    public org.apache.http.ProtocolVersion getProtocolVersion();
+    public BasicHttpEntityEnclosingRequest(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion);
 
-Class changed: org.apache.http.message.BasicStatusLine
+Class changed: org.apache.http.message.BasicLineParser
   Methods removed:
-    public BasicStatusLine(org.apache.http.HttpVersion, int, java.lang.String);
-    public static java.lang.String format(org.apache.http.StatusLine);
-    public static void format(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine);
-    public org.apache.http.HttpVersion getHttpVersion();
-    public final static org.apache.http.StatusLine parse(java.lang.String) throws org.apache.http.ProtocolException;
-    public static org.apache.http.StatusLine parse(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ProtocolException;
+    protected org.apache.http.message.HeaderValueParser getHeaderValueParser();
+    public boolean hasProtocolVersion(org.apache.http.util.CharArrayBuffer, int);
+    public org.apache.http.ProtocolVersion parseProtocolVersion(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
+    public org.apache.http.RequestLine parseRequestLine(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
+    public org.apache.http.StatusLine parseStatusLine(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
+    protected int skipWhitespace(org.apache.http.util.CharArrayBuffer, int);
 
   Methods added:
-    public BasicStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String);
-    public org.apache.http.ProtocolVersion getProtocolVersion();
+    public boolean hasProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    public org.apache.http.ProtocolVersion parseProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    public org.apache.http.RequestLine parseRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    public org.apache.http.StatusLine parseStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    protected void skipWhitespace(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
 
-Class changed: org.apache.http.message.BufferedHeader
+Class changed: org.apache.http.message.BasicNameValuePair
   Methods added:
-    public BufferedHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
-    public org.apache.http.message.HeaderValueParser getParser();
-    public void setParser(org.apache.http.message.HeaderValueParser);
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
   Class descriptor changed:
   old:
-    public org.apache.http.message.BufferedHeader extends java.lang.Object implements org.apache.http.Header
-  new:
-    public org.apache.http.message.BufferedHeader extends java.lang.Object implements org.apache.http.FormattedHeader
-  Method changed:
-  old:
-    public BufferedHeader(org.apache.http.util.CharArrayBuffer);
-
+    public org.apache.http.message.BasicNameValuePair extends java.lang.Object implements org.apache.http.NameValuePair
   new:
-    public BufferedHeader(org.apache.http.util.CharArrayBuffer) throws org.apache.http.ParseException;
+    public org.apache.http.message.BasicNameValuePair extends java.lang.Object implements org.apache.http.NameValuePair, java.lang.Cloneable
+Class changed: org.apache.http.message.BasicRequestLine
+  Methods added:
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
-  Method changed:
+  Class descriptor changed:
   old:
-    public org.apache.http.HeaderElement[] getElements();
-
+    public org.apache.http.message.BasicRequestLine extends java.lang.Object implements org.apache.http.RequestLine
   new:
-    public org.apache.http.HeaderElement[] getElements() throws org.apache.http.ParseException;
-
-Class changed: org.apache.http.params.HttpConnectionParams
-  Fields removed:
-    public final static java.lang.String CONNECTION_TIMEOUT = http.connection.timeout;
-    public final static java.lang.String MAX_HEADER_COUNT = http.connection.max-header-count;
-    public final static java.lang.String MAX_LINE_LENGTH = http.connection.max-line-length;
-    public final static java.lang.String MAX_STATUS_LINE_GARBAGE = http.connection.max-status-line-garbage;
-    public final static java.lang.String SOCKET_BUFFER_SIZE = http.socket.buffer-size;
-    public final static java.lang.String SO_LINGER = http.socket.linger;
-    public final static java.lang.String SO_TIMEOUT = http.socket.timeout;
-    public final static java.lang.String STALE_CONNECTION_CHECK = http.connection.stalecheck;
-    public final static java.lang.String TCP_NODELAY = http.tcp.nodelay;
+    public org.apache.http.message.BasicRequestLine extends java.lang.Object implements org.apache.http.RequestLine, java.lang.Cloneable
+Class changed: org.apache.http.message.BasicStatusLine
+  Methods added:
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
   Class descriptor changed:
   old:
-    public final org.apache.http.params.HttpConnectionParams extends java.lang.Object
+    public org.apache.http.message.BasicStatusLine extends java.lang.Object implements org.apache.http.StatusLine
   new:
-    public final org.apache.http.params.HttpConnectionParams extends java.lang.Object implements org.apache.http.params.CoreConnectionPNames
-Class changed: org.apache.http.params.HttpProtocolParams
+    public org.apache.http.message.BasicStatusLine extends java.lang.Object implements org.apache.http.StatusLine, java.lang.Cloneable
+Class changed: org.apache.http.message.BufferedHeader
   Methods removed:
-    public static org.apache.http.HttpVersion getVersion(org.apache.http.params.HttpParams);
-    public static void setVersion(org.apache.http.params.HttpParams, org.apache.http.HttpVersion);
+    public BufferedHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
+    public org.apache.http.message.HeaderValueParser getParser();
+    public void setParser(org.apache.http.message.HeaderValueParser);
 
   Methods added:
-    public static org.apache.http.ProtocolVersion getVersion(org.apache.http.params.HttpParams);
-    public static void setVersion(org.apache.http.params.HttpParams, org.apache.http.ProtocolVersion);
-
-  Fields removed:
-    public final static java.lang.String HTTP_CONTENT_CHARSET = http.protocol.content-charset;
-    public final static java.lang.String HTTP_ELEMENT_CHARSET = http.protocol.element-charset;
-    public final static java.lang.String ORIGIN_SERVER = http.origin-server;
-    public final static java.lang.String PROTOCOL_VERSION = http.protocol.version;
-    public final static java.lang.String STRICT_TRANSFER_ENCODING = http.protocol.strict-transfer-encoding;
-    public final static java.lang.String USER_AGENT = http.useragent;
-    public final static java.lang.String USE_EXPECT_CONTINUE = http.protocol.expect-continue;
-    public final static java.lang.String WAIT_FOR_CONTINUE = http.protocol.wait-for-continue;
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
 
   Class descriptor changed:
   old:
-    public final org.apache.http.params.HttpProtocolParams extends java.lang.Object
+    public org.apache.http.message.BufferedHeader extends java.lang.Object implements org.apache.http.FormattedHeader
   new:
-    public final org.apache.http.params.HttpProtocolParams extends java.lang.Object implements org.apache.http.params.CoreProtocolPNames
-Class changed: org.apache.http.protocol.BasicHttpProcessor
-  Methods added:
-    public final void addInterceptor(org.apache.http.HttpRequestInterceptor, int);
-    public final void addInterceptor(org.apache.http.HttpResponseInterceptor, int);
-    public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
-    public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
-    public void removeRequestInterceptorByClass(java.lang.Class);
-    public void removeResponseInterceptorByClass(java.lang.Class);
+    public org.apache.http.message.BufferedHeader extends java.lang.Object implements org.apache.http.FormattedHeader, java.lang.Cloneable
+Class changed: org.apache.http.message.HeaderValueParser
+  Methods removed:
+    public abstract org.apache.http.HeaderElement[] parseElements(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
+    public abstract org.apache.http.HeaderElement parseHeaderElement(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
+    public abstract org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
+    public abstract org.apache.http.NameValuePair[] parseParameters(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
 
-  Fields added:
-    protected java.util.List requestInterceptors;
-    protected java.util.List responseInterceptors;
+  Methods added:
+    public abstract org.apache.http.HeaderElement[] parseElements(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    public abstract org.apache.http.HeaderElement parseHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    public abstract org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    public abstract org.apache.http.NameValuePair[] parseParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
 
-Class changed: org.apache.http.protocol.HTTP
-  Fields removed:
-    public final static java.lang.String DATE_DIRECTIVE = Date;
-    public final static java.lang.String SERVER_DIRECTIVE = Server;
+Class changed: org.apache.http.message.LineParser
+  Methods removed:
+    public abstract boolean hasProtocolVersion(org.apache.http.util.CharArrayBuffer, int);
+    public abstract org.apache.http.ProtocolVersion parseProtocolVersion(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
+    public abstract org.apache.http.RequestLine parseRequestLine(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
+    public abstract org.apache.http.StatusLine parseStatusLine(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.ParseException;
 
-  Fields added:
-    public final static java.lang.String DATE_HEADER = Date;
-    public final static java.lang.String SERVER_HEADER = Server;
+  Methods added:
+    public abstract boolean hasProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    public abstract org.apache.http.ProtocolVersion parseProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    public abstract org.apache.http.RequestLine parseRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    public abstract org.apache.http.StatusLine parseStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
 
-Class changed: org.apache.http.protocol.HttpContext
-  Fields removed:
-    public final static java.lang.String HTTP_CONNECTION = http.connection;
-    public final static java.lang.String HTTP_REQUEST = http.request;
-    public final static java.lang.String HTTP_RESPONSE = http.response;
+Class changed: org.apache.http.params.BasicHttpParams
+  Methods removed:
+    public BasicHttpParams(org.apache.http.params.HttpParams);
+    public org.apache.http.params.HttpParams getDefaults();
+    public void setDefaults(org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.protocol.HttpRequestInterceptorList
   Methods added:
-    public abstract void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
-    public abstract void removeRequestInterceptorByClass(java.lang.Class);
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+    public boolean removeParameter(java.lang.String);
 
-Class changed: org.apache.http.protocol.HttpResponseInterceptorList
-  Methods added:
-    public abstract void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
-    public abstract void removeResponseInterceptorByClass(java.lang.Class);
+  Fields removed:
+    protected org.apache.http.params.HttpParams defaults;
 
-Class changed: org.apache.http.util.EntityUtils
-  Method changed:
+  Class descriptor changed:
   old:
-    public static java.lang.String getContentCharSet(org.apache.http.HttpEntity);
-
+    public org.apache.http.params.BasicHttpParams extends org.apache.http.params.AbstractHttpParams implements org.apache.http.params.HttpLinkedParams, java.io.Serializable
   new:
-    public static java.lang.String getContentCharSet(org.apache.http.HttpEntity) throws org.apache.http.ParseException;
+    public final org.apache.http.params.BasicHttpParams extends org.apache.http.params.AbstractHttpParams implements java.io.Serializable, java.lang.Cloneable
+Class changed: org.apache.http.params.HttpParams
+  Methods removed:
+    public abstract boolean isParameterSet(java.lang.String);
 
-  Method changed:
-  old:
-    public static java.lang.String toString(org.apache.http.HttpEntity) throws java.io.IOException;
+  Methods added:
+    public abstract boolean removeParameter(java.lang.String);
 
-  new:
-    public static java.lang.String toString(org.apache.http.HttpEntity) throws java.io.IOException, org.apache.http.ParseException;
+Class changed: org.apache.http.protocol.BasicHttpProcessor
+  Methods added:
+    public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+    protected void copyInterceptors(org.apache.http.protocol.BasicHttpProcessor);
 
-  Method changed:
+  Class descriptor changed:
   old:
-    public static java.lang.String toString(org.apache.http.HttpEntity, java.lang.String) throws java.io.IOException;
-
+    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
   new:
-    public static java.lang.String toString(org.apache.http.HttpEntity, java.lang.String) throws java.io.IOException, org.apache.http.ParseException;
-
-Class changed: org.apache.http.util.HeaderGroup
-  Methods removed:
-    public java.util.Iterator iterator();
+    public final 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, java.lang.Cloneable
+API diff generated by JarDiff http://www.osjava.org/jardiff/
 
-  Methods added:
-    public org.apache.http.HeaderIterator iterator();
-    public org.apache.http.HeaderIterator iterator(java.lang.String);
 
-API diff generated by JarDiff http://www.osjava.org/jardiff/
-  
 HttpCore NIO API changes (generated by JarDiff 0.2)
 --------------------------------------
 
 Class removed: 
-  public abstract org.apache.http.impl.nio.codecs.HttpMessageParser extends java.lang.Object
+  public org.apache.http.impl.nio.reactor.ChannelQueue extends java.lang.Object
 Class removed: 
-  public org.apache.http.impl.nio.reactor.SessionInputBuffer extends org.apache.http.nio.util.ExpandableBuffer
+  public org.apache.http.impl.nio.reactor.SessionQueue extends java.lang.Object
 Class removed: 
-  public org.apache.http.impl.nio.reactor.SessionOutputBuffer extends org.apache.http.nio.util.ExpandableBuffer
+  public org.apache.http.impl.nio.reactor.SessionRequestQueue extends java.lang.Object
 Class removed: 
-  public final org.apache.http.nio.params.HttpNIOParams extends java.lang.Object
+  public org.apache.http.impl.nio.reactor.SessionSet extends java.lang.Object
 Class added: 
-  public abstract org.apache.http.impl.nio.codecs.AbstractMessageParser extends java.lang.Object implements org.apache.http.nio.NHttpMessageParser
+  public org.apache.http.impl.nio.SSLClientIOEventDispatch extends java.lang.Object implements org.apache.http.nio.reactor.IOEventDispatch
 Class added: 
-  public abstract org.apache.http.impl.nio.codecs.AbstractMessageWriter extends java.lang.Object implements org.apache.http.nio.NHttpMessageWriter
+  public org.apache.http.impl.nio.SSLServerIOEventDispatch extends java.lang.Object implements org.apache.http.nio.reactor.IOEventDispatch
 Class added: 
-  public org.apache.http.impl.nio.codecs.HttpRequestWriter extends org.apache.http.impl.nio.codecs.AbstractMessageWriter
+  public org.apache.http.impl.nio.reactor.ListenerEndpointImpl extends java.lang.Object implements org.apache.http.nio.reactor.ListenerEndpoint
 Class added: 
-  public org.apache.http.impl.nio.codecs.HttpResponseWriter extends org.apache.http.impl.nio.codecs.AbstractMessageWriter
+  public org.apache.http.impl.nio.reactor.SSLIOSession extends java.lang.Object implements org.apache.http.nio.reactor.IOSession, org.apache.http.nio.reactor.SessionBufferStatus
 Class added: 
-  public org.apache.http.impl.nio.reactor.SessionInputBufferImpl extends org.apache.http.nio.util.ExpandableBuffer implements org.apache.http.nio.reactor.SessionInputBuffer
+  public abstract org.apache.http.impl.nio.reactor.SSLIOSessionHandler extends java.lang.Object
 Class added: 
-  public org.apache.http.impl.nio.reactor.SessionOutputBufferImpl extends org.apache.http.nio.util.ExpandableBuffer implements org.apache.http.nio.reactor.SessionOutputBuffer
+  public final org.apache.http.impl.nio.reactor.SSLMode extends java.lang.Enum
 Class added: 
-  public abstract org.apache.http.nio.NHttpMessageParser extends java.lang.Object
+  public abstract org.apache.http.nio.NHttpClientIOTarget extends java.lang.Object implements org.apache.http.nio.NHttpClientConnection
 Class added: 
-  public abstract org.apache.http.nio.NHttpMessageWriter extends java.lang.Object
+  public abstract org.apache.http.nio.NHttpServerIOTarget extends java.lang.Object implements org.apache.http.nio.NHttpServerConnection
 Class added: 
-  public abstract org.apache.http.nio.params.NIOReactorPNames extends java.lang.Object
+  public org.apache.http.nio.entity.ByteArrayNIOEntity extends org.apache.http.entity.ByteArrayEntity implements org.apache.http.nio.entity.HttpNIOEntity
 Class added: 
-  public final org.apache.http.nio.params.NIOReactorParams extends java.lang.Object implements org.apache.http.nio.params.NIOReactorPNames
+  public org.apache.http.nio.entity.FileNIOEntity extends org.apache.http.entity.FileEntity implements org.apache.http.nio.entity.HttpNIOEntity
 Class added: 
-  public abstract org.apache.http.nio.reactor.SessionInputBuffer extends java.lang.Object
+  public abstract org.apache.http.nio.entity.HttpNIOEntity extends java.lang.Object implements org.apache.http.HttpEntity
 Class added: 
-  public abstract org.apache.http.nio.reactor.SessionOutputBuffer extends java.lang.Object
-Class changed: org.apache.http.impl.nio.DefaultNHttpClientConnection
-  Methods added:
-    protected org.apache.http.nio.NHttpMessageWriter createRequestWriter(org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.params.HttpParams);
-    protected org.apache.http.nio.NHttpMessageParser createResponseParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
-
-Class changed: org.apache.http.impl.nio.DefaultNHttpServerConnection
-  Methods added:
-    protected org.apache.http.nio.NHttpMessageParser createRequestParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
-    protected org.apache.http.nio.NHttpMessageWriter createResponseWriter(org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.params.HttpParams);
+  public org.apache.http.nio.entity.StringNIOEntity extends org.apache.http.entity.StringEntity implements org.apache.http.nio.entity.HttpNIOEntity
+Class added: 
+  public org.apache.http.nio.params.NIOReactorParamBean extends org.apache.http.params.HttpAbstractParamBean
+Class added: 
+  public final org.apache.http.nio.reactor.IOReactorStatus extends java.lang.Enum
+Class added: 
+  public abstract org.apache.http.nio.reactor.ListenerEndpoint extends java.lang.Object
+Class changed: org.apache.http.impl.nio.DefaultClientIOEventDispatch
+  Methods removed:
+    public DefaultClientIOEventDispatch(org.apache.http.nio.NHttpClientHandler, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.impl.nio.NHttpConnectionBase
   Methods added:
-    public int getStatus();
-
-  Fields removed:
-    protected volatile boolean closed;
-    protected final org.apache.http.util.CharArrayBuffer lineBuffer;
-    protected final org.apache.http.impl.HttpConnectionMetricsImpl metrics;
+    protected org.apache.http.nio.util.ByteBufferAllocator createByteBufferAllocator();
+    protected org.apache.http.nio.NHttpClientIOTarget createConnection(org.apache.http.nio.reactor.IOSession);
+    protected org.apache.http.HttpResponseFactory createHttpResponseFactory();
 
   Fields added:
-    protected final org.apache.http.impl.HttpConnectionMetricsImpl connMetrics;
-    protected final org.apache.http.impl.io.HttpTransportMetricsImpl inTransportMetrics;
-    protected final org.apache.http.impl.io.HttpTransportMetricsImpl outTransportMetrics;
-    protected volatile int status;
+    protected final org.apache.http.nio.util.ByteBufferAllocator allocator;
+    protected final org.apache.http.nio.NHttpClientHandler handler;
+    protected final org.apache.http.params.HttpParams params;
 
-Class changed: org.apache.http.impl.nio.codecs.AbstractContentDecoder
+Class changed: org.apache.http.impl.nio.DefaultNHttpClientConnection
+  Class descriptor changed:
+  old:
+    public org.apache.http.impl.nio.DefaultNHttpClientConnection extends org.apache.http.impl.nio.NHttpConnectionBase implements org.apache.http.nio.NHttpClientConnection
+  new:
+    public org.apache.http.impl.nio.DefaultNHttpClientConnection extends org.apache.http.impl.nio.NHttpConnectionBase implements org.apache.http.nio.NHttpClientIOTarget
+Class changed: org.apache.http.impl.nio.DefaultNHttpServerConnection
+  Class descriptor changed:
+  old:
+    public org.apache.http.impl.nio.DefaultNHttpServerConnection extends org.apache.http.impl.nio.NHttpConnectionBase implements org.apache.http.nio.NHttpServerConnection
+  new:
+    public org.apache.http.impl.nio.DefaultNHttpServerConnection extends org.apache.http.impl.nio.NHttpConnectionBase implements org.apache.http.nio.NHttpServerIOTarget
+Class changed: org.apache.http.impl.nio.DefaultServerIOEventDispatch
   Methods removed:
-    public AbstractContentDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.impl.nio.reactor.SessionInputBuffer);
+    public DefaultServerIOEventDispatch(org.apache.http.nio.NHttpServiceHandler, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams);
 
   Methods added:
-    public AbstractContentDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl);
+    protected org.apache.http.nio.util.ByteBufferAllocator createByteBufferAllocator();
+    protected org.apache.http.nio.NHttpServerIOTarget createConnection(org.apache.http.nio.reactor.IOSession);
+    protected org.apache.http.HttpRequestFactory createHttpRequestFactory();
 
   Fields added:
-    protected final org.apache.http.impl.io.HttpTransportMetricsImpl metrics;
+    protected final org.apache.http.nio.util.ByteBufferAllocator allocator;
+    protected final org.apache.http.nio.NHttpServiceHandler handler;
+    protected final org.apache.http.params.HttpParams params;
 
-Class changed: org.apache.http.impl.nio.codecs.AbstractContentEncoder
+Class changed: org.apache.http.impl.nio.codecs.IdentityDecoder
   Methods removed:
-    public AbstractContentEncoder();
+    public long read(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
   Methods added:
-    public AbstractContentEncoder(java.nio.channels.WritableByteChannel, org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl);
+    public long transfer(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
-  Fields added:
-    protected final org.apache.http.nio.reactor.SessionOutputBuffer buffer;
-    protected final java.nio.channels.WritableByteChannel channel;
-    protected final org.apache.http.impl.io.HttpTransportMetricsImpl metrics;
-
-Class changed: org.apache.http.impl.nio.codecs.ChunkDecoder
+Class changed: org.apache.http.impl.nio.codecs.IdentityEncoder
   Methods removed:
-    public ChunkDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.impl.nio.reactor.SessionInputBuffer);
+    public long write(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
   Methods added:
-    public ChunkDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl);
+    public long transfer(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
-Class changed: org.apache.http.impl.nio.codecs.ChunkEncoder
+Class changed: org.apache.http.impl.nio.codecs.LengthDelimitedDecoder
   Methods removed:
-    public ChunkEncoder(org.apache.http.impl.nio.reactor.SessionOutputBuffer);
+    public long read(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
   Methods added:
-    public ChunkEncoder(java.nio.channels.WritableByteChannel, org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl);
+    public long transfer(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
-Class changed: org.apache.http.impl.nio.codecs.HttpRequestParser
+Class changed: org.apache.http.impl.nio.codecs.LengthDelimitedEncoder
   Methods removed:
-    public HttpRequestParser(org.apache.http.impl.nio.reactor.SessionInputBuffer, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
+    public long write(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
   Methods added:
-    public HttpRequestParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
+    public long transfer(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
-  Class descriptor changed:
-  old:
-    public org.apache.http.impl.nio.codecs.HttpRequestParser extends org.apache.http.impl.nio.codecs.HttpMessageParser
-  new:
-    public org.apache.http.impl.nio.codecs.HttpRequestParser extends org.apache.http.impl.nio.codecs.AbstractMessageParser
-  Method changed:
-  old:
-    protected org.apache.http.HttpMessage createMessage(org.apache.http.util.CharArrayBuffer) throws org.apache.http.HttpException;
+Class changed: org.apache.http.impl.nio.reactor.AbstractIOReactor
+  Methods removed:
+    public int getStatus();
 
-  new:
-    protected org.apache.http.HttpMessage createMessage(org.apache.http.util.CharArrayBuffer) throws org.apache.http.HttpException, org.apache.http.ParseException;
+  Methods added:
+    public org.apache.http.nio.reactor.IOReactorStatus getStatus();
 
-Class changed: org.apache.http.impl.nio.codecs.HttpResponseParser
+Class changed: org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor
   Methods removed:
-    public HttpResponseParser(org.apache.http.impl.nio.reactor.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
+    public AbstractMultiworkerIOReactor(int, org.apache.http.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams) throws org.apache.http.nio.reactor.IOReactorException;
+    public int getStatus();
 
   Methods added:
-    public HttpResponseParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
+    public AbstractMultiworkerIOReactor(int, java.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams) throws org.apache.http.nio.reactor.IOReactorException;
+    public org.apache.http.nio.reactor.IOReactorStatus getStatus();
 
-  Class descriptor changed:
-  old:
-    public org.apache.http.impl.nio.codecs.HttpResponseParser extends org.apache.http.impl.nio.codecs.HttpMessageParser
-  new:
-    public org.apache.http.impl.nio.codecs.HttpResponseParser extends org.apache.http.impl.nio.codecs.AbstractMessageParser
-  Method changed:
-  old:
-    protected org.apache.http.HttpMessage createMessage(org.apache.http.util.CharArrayBuffer) throws org.apache.http.HttpException;
+Class changed: org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor
+  Methods removed:
+    public DefaultConnectingIOReactor(int, org.apache.http.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams) throws org.apache.http.nio.reactor.IOReactorException;
 
-  new:
-    protected org.apache.http.HttpMessage createMessage(org.apache.http.util.CharArrayBuffer) throws org.apache.http.HttpException, org.apache.http.ParseException;
+  Methods added:
+    public DefaultConnectingIOReactor(int, java.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams) throws org.apache.http.nio.reactor.IOReactorException;
 
-Class changed: org.apache.http.impl.nio.codecs.IdentityDecoder
+Class changed: org.apache.http.impl.nio.reactor.DefaultListeningIOReactor
   Methods removed:
-    public IdentityDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.impl.nio.reactor.SessionInputBuffer);
+    public DefaultListeningIOReactor(int, org.apache.http.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams) throws org.apache.http.nio.reactor.IOReactorException;
+    public java.net.SocketAddress listen(java.net.SocketAddress) throws java.io.IOException;
 
   Methods added:
-    public IdentityDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl);
+    public DefaultListeningIOReactor(int, java.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams) throws org.apache.http.nio.reactor.IOReactorException;
+    public org.apache.http.nio.reactor.ListenerEndpoint[] getEndpoints();
+    public org.apache.http.nio.reactor.ListenerEndpoint listen(java.net.SocketAddress);
+    public void pause() throws java.io.IOException;
+    public void resume() throws java.io.IOException;
 
-Class changed: org.apache.http.impl.nio.codecs.IdentityEncoder
-  Methods removed:
-    public IdentityEncoder(java.nio.channels.WritableByteChannel);
+Class changed: org.apache.http.impl.nio.reactor.SessionInputBufferImpl
+  Methods added:
+    public int read(java.nio.channels.WritableByteChannel) throws java.io.IOException;
+    public int read(java.nio.channels.WritableByteChannel, int) throws java.io.IOException;
 
+Class changed: org.apache.http.impl.nio.reactor.SessionOutputBufferImpl
   Methods added:
-    public IdentityEncoder(java.nio.channels.WritableByteChannel, org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl);
+    public void write(java.nio.channels.ReadableByteChannel) throws java.io.IOException;
 
-Class changed: org.apache.http.impl.nio.codecs.LengthDelimitedDecoder
+Class changed: org.apache.http.nio.FileContentDecoder
   Methods removed:
-    public LengthDelimitedDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.impl.nio.reactor.SessionInputBuffer, long);
+    public abstract long read(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
   Methods added:
-    public LengthDelimitedDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl, long);
+    public abstract long transfer(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
-Class changed: org.apache.http.impl.nio.codecs.LengthDelimitedEncoder
+Class changed: org.apache.http.nio.FileContentEncoder
   Methods removed:
-    public LengthDelimitedEncoder(java.nio.channels.WritableByteChannel, long);
+    public abstract long write(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
 
   Methods added:
-    public LengthDelimitedEncoder(java.nio.channels.WritableByteChannel, org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl, long);
+    public abstract long transfer(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
+
+Class changed: org.apache.http.nio.protocol.ThrottlingHttpClientHandler
+  Methods removed:
+    public ThrottlingHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.HttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.util.concurrent.Executor, org.apache.http.params.HttpParams);
+    public ThrottlingHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.HttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, org.apache.http.util.concurrent.Executor, org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.impl.nio.reactor.AbstractIOReactor
   Methods added:
-    public void awaitShutdown(long) throws java.lang.InterruptedException;
-    protected void closeChannels() throws org.apache.http.nio.reactor.IOReactorException;
-    protected void closeSessions();
-    public int getStatus();
-    public void gracefulShutdown();
-    public void hardShutdown() throws org.apache.http.nio.reactor.IOReactorException;
-    protected void processEvent(java.nio.channels.SelectionKey);
-    public void shutdown(long) throws org.apache.http.nio.reactor.IOReactorException;
+    public ThrottlingHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.HttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, java.util.concurrent.Executor, org.apache.http.params.HttpParams);
+    public ThrottlingHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.HttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, java.util.concurrent.Executor, org.apache.http.params.HttpParams);
 
-Class changed: org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor
+Class changed: org.apache.http.nio.protocol.ThrottlingHttpServiceHandler
   Methods removed:
-    public AbstractMultiworkerIOReactor(long, int, org.apache.http.util.concurrent.ThreadFactory) throws org.apache.http.nio.reactor.IOReactorException;
-    protected long getSelectTimeout();
-    protected void startWorkers(org.apache.http.nio.reactor.IOEventDispatch);
-    protected void stopWorkers(int) throws java.io.InterruptedIOException, org.apache.http.nio.reactor.IOReactorException;
-    protected void verifyWorkers() throws java.io.InterruptedIOException, org.apache.http.nio.reactor.IOReactorException;
+    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);
+    public ThrottlingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.util.concurrent.Executor, org.apache.http.params.HttpParams);
 
   Methods added:
-    public AbstractMultiworkerIOReactor(int, org.apache.http.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams) throws org.apache.http.nio.reactor.IOReactorException;
-    public void execute(org.apache.http.nio.reactor.IOEventDispatch) throws java.io.InterruptedIOException, org.apache.http.nio.reactor.IOReactorException;
-    public int getStatus();
-    protected void prepareSocket(java.net.Socket) throws java.io.IOException;
-    protected abstract void processEvents(int) throws org.apache.http.nio.reactor.IOReactorException;
-    protected java.nio.channels.SelectionKey registerChannel(java.nio.channels.SelectableChannel, int) throws java.nio.channels.ClosedChannelException;
-    public void setExceptionHandler(org.apache.http.nio.reactor.IOReactorExceptionHandler);
-    public void shutdown() throws java.io.IOException;
-    public void shutdown(long) throws java.io.IOException;
+    public ThrottlingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, java.util.concurrent.Executor, org.apache.http.params.HttpParams);
+    public ThrottlingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, java.util.concurrent.Executor, org.apache.http.params.HttpParams);
 
-  Fields added:
-    protected org.apache.http.nio.reactor.IOReactorExceptionHandler exceptionHandler;
-    protected final org.apache.http.params.HttpParams params;
-    protected final long selectTimeout;
-    protected final java.nio.channels.Selector selector;
-    protected volatile int status;
+Class changed: org.apache.http.nio.reactor.IOReactor
+  Methods removed:
+    public abstract int getStatus();
 
-Class changed: org.apache.http.impl.nio.reactor.BaseIOReactor
   Methods added:
-    protected void processEvent(java.nio.channels.SelectionKey);
-    public void setExceptionHandler(org.apache.http.nio.reactor.IOReactorExceptionHandler);
+    public abstract org.apache.http.nio.reactor.IOReactorStatus getStatus();
 
-Class changed: org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor
+  Fields removed:
+    public final static int ACTIVE = 1;
+    public final static int INACTIVE = 0;
+    public final static int SHUTTING_DOWN = 2;
+    public final static int SHUT_DOWN = 3;
+
+Class changed: org.apache.http.nio.reactor.ListeningIOReactor
   Methods removed:
-    public void execute(org.apache.http.nio.reactor.IOEventDispatch) throws java.io.InterruptedIOException, org.apache.http.nio.reactor.IOReactorException;
-    protected void prepareSocket(java.net.Socket) throws java.io.IOException;
-    public void shutdown() throws java.io.IOException;
+    public abstract java.net.SocketAddress listen(java.net.SocketAddress) throws java.io.IOException;
 
   Methods added:
-    protected void processEvents(int) throws org.apache.http.nio.reactor.IOReactorException;
+    public abstract org.apache.http.nio.reactor.ListenerEndpoint[] getEndpoints();
+    public abstract org.apache.http.nio.reactor.ListenerEndpoint listen(java.net.SocketAddress);
+    public abstract void pause() throws java.io.IOException;
+    public abstract void resume() throws java.io.IOException;
 
-Class changed: org.apache.http.impl.nio.reactor.DefaultListeningIOReactor
-  Methods removed:
-    public void execute(org.apache.http.nio.reactor.IOEventDispatch) throws java.io.InterruptedIOException, org.apache.http.nio.reactor.IOReactorException;
-    protected void prepareSocket(java.net.Socket) throws java.io.IOException;
-    public void setExceptionHandler(org.apache.http.nio.reactor.IOReactorExceptionHandler);
-    public void shutdown() throws java.io.IOException;
+Class changed: org.apache.http.nio.reactor.SessionInputBuffer
+  Methods added:
+    public abstract int read(java.nio.channels.WritableByteChannel) throws java.io.IOException;
+    public abstract int read(java.nio.channels.WritableByteChannel, int) throws java.io.IOException;
 
+Class changed: org.apache.http.nio.reactor.SessionOutputBuffer
   Methods added:
-    protected void processEvents(int) throws org.apache.http.nio.reactor.IOReactorException;
+    public abstract void write(java.nio.channels.ReadableByteChannel) throws java.io.IOException;
 
-Class changed: org.apache.http.impl.nio.reactor.IOSessionImpl
+Class changed: org.apache.http.nio.util.ExpandableBuffer
   Methods added:
-    public int getStatus();
+    public java.lang.String toString();
 
-Class changed: org.apache.http.impl.nio.reactor.SessionSet
-  Method changed:
-  old:
-    public void add(org.apache.http.nio.reactor.IOSession);
+API diff generated by JarDiff http://www.osjava.org/jardiff/
 
-  new:
-    public synchronized void add(org.apache.http.nio.reactor.IOSession);
 
-  Method changed:
-  old:
-    public void clear();
+Release 4.0 Alpha 6
+-------------------
 
-  new:
-    public synchronized void clear();
+The sixth ALPHA version of HttpComponents Core has been released. This release
+sports an improved message parsing and formatting API in the base module and
+lots of incremental improvements and bug fixes in the NIO and NIOSSL modules.
+Based on the improved API, it is now possible to send and receive SIP messages
+with HttpComponents Core.
 
-  Method changed:
-  old:
-    public boolean isEmpty();
+HttpCore is now feature complete and we are planning to freeze the public APIs
+as of next release (BETA1). 
 
-  new:
-    public synchronized boolean isEmpty();
+* [HTTPCORE-120] new interface HeaderIterator, available from HttpMessage
+  Contributed by Roland Weber <rolandw at apache.org>
 
-  Method changed:
-  old:
-    public boolean remove(org.apache.http.nio.reactor.IOSession);
+* [HTTPCORE-118] Purge closed sessions prior to opening new ones. This should
+  reduce chances of running out of memory when opening and closing lots of
+  NIO connections in a tight loop. 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-  new:
-    public synchronized boolean remove(org.apache.http.nio.reactor.IOSession);
+* [HTTPCORE-117] Fixed bug preventing protocol handlers from closing timed out
+  NIO connection when pending output (output session buffer is not empty). 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-Class changed: org.apache.http.nio.NHttpConnection
-  Methods added:
-    public abstract int getStatus();
+* [HTTPCORE-86] Allow for optional handling of runtime exceptions
+  thrown by protocol handlers to ensure the I/O dispatch thread
+  remains running.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-  Fields added:
-    public final static int ACTIVE = 0;
-    public final static int CLOSED = 2;
-    public final static int CLOSING = 1;
+* [HTTPCORE-116] moved parameter names to interfaces
+  Contributed by Roland Weber <rolandw at apache.org>
 
-Class changed: org.apache.http.nio.protocol.HttpRequestExecutionHandler
-  Methods added:
-    public abstract void finalizeContext(org.apache.http.protocol.HttpContext);
+* [HTTPCORE-109] Improved shutdown process of the I/O reactors in NIO modules.
+  I/O reactors now attempt to terminate connections gracefully before shutting
+  down the underlying socket channels.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-Class changed: org.apache.http.nio.protocol.NHttpHandlerBase
-  Methods added:
-    protected void handleTimeout(org.apache.http.nio.NHttpConnection);
+* [HTTPCORE-107] allow sending and receiving of SIP messages
+  Contributed by Roland Weber <rolandw at apache.org>
 
-Class changed: org.apache.http.nio.reactor.IOReactor
-  Methods added:
-    public abstract int getStatus();
-    public abstract void shutdown(long) throws java.io.IOException;
+* [HTTPCORE-114]: Fixed incorrect handling of the end-of-stream condition
+  in SSLIOSession. 
+  Oleg Kalnichevski <olegk at apache.org>
 
-  Fields added:
-    public final static int ACTIVE = 1;
-    public final static int INACTIVE = 0;
-    public final static int SHUTTING_DOWN = 2;
-    public final static int SHUT_DOWN = 3;
+* [HTTPCORE-110] refactored message parsing and formatting logic
+  Contributed by Roland Weber <rolandw at apache.org>
 
-Class changed: org.apache.http.nio.reactor.IOReactorExceptionHandler
-  Methods added:
-    public abstract boolean handle(java.lang.RuntimeException);
+* [HTTPCORE-113] Removed unnecessary target hostname resolution from
+  non-blocking client protocol handlers.
+  Oleg Kalnichevski <olegk at apache.org>
 
-Class changed: org.apache.http.nio.reactor.IOSession
-  Methods added:
-    public abstract int getStatus();
+* [HTTPCORE-108] Close all channels registered with the I/O reactor during 
+  shutdown. Fixed the problem with DefaultListeningIOReactor not releasing
+  socket ports until JVM is restarted.
+  Oleg Kalnichevski <olegk at apache.org>
 
-  Fields added:
-    public final static int ACTIVE = 0;
-    public final static int CLOSED = 2147483647;
-    public final static int CLOSING = 1;
+* [HTTPCORE-106] Pluggable HTTP message parsers and message writers
+  Oleg Kalnichevski <olegk at apache.org>
 
-API diff generated by JarDiff http://www.osjava.org/jardiff/
-  
-HttpCore NIOSSL API changes (generated by JarDiff 0.2)
---------------------------------------
+* [HTTPCORE-105] Consistent class names in base and NIO modules
+  Oleg Kalnichevski <olegk at apache.org>
 
-Class changed: org.apache.http.impl.nio.reactor.SSLIOSession
-  Methods added:
-    public int getStatus();
+* [HTTPCORE-100] revised HttpContext hierarchy
+  Contributed by Roland Weber <rolandw at apache.org>
 
-API diff generated by JarDiff http://www.osjava.org/jardiff/
+* [HTTPCORE-103] NIO connections now attempt to consume all available session 
+  data while parsing HTTP messages. This can  potentially improve performance 
+  of non-blocking SSL connections.
+  Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-102] Exceeding of maximum line length limit detected late
+  Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-21] Transport and connection metrics
+  Contributed by Andrea Selva <selva.andre at gmail.com> and 
+  Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-91] new interceptor RequestDate, renamed constants in protocol.HTTP
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-90] Version detection based on build-time properties
+  Contributed by Oleg Kalnichevski <olegk at apache.org> and 
+  Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-88] Added convenience methods to HttpRequestInterceptorList, 
+  HttpResponseInterceptorList interfaces
+  Contributed by Andrea Selva <selva.andre at gmail.com>
+
+* [HTTPCORE-89]: Fixed bug in DefaultConnectingIOReactor causing incorrect 
+  handling of local (immediate) connections on some platforms (affects Sun 
+  Solaris 2.9 / Sparc and likely other Solaris 2.x platforms)
+  Contributed by Sam Berlin <sberlin at gmail.com>
 
 Release 4.0 Alpha 5
 -------------------



Mime
View raw message