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 2017/04/27 19:44:38 UTC

svn commit: r19302 - /dev/httpcomponents/httpcore-5.0-alpha3-RC1/

Author: olegk
Date: Thu Apr 27 19:44:38 2017
New Revision: 19302

Log:
HttpCore 5.0-alpha3 RC1 dist

Added:
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/RELEASE_NOTES-5.0.x.txt   (with props)
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz   (with props)
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz.asc
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz.md5
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip   (with props)
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip.asc
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip.md5
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz   (with props)
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz.asc
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz.md5
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip   (with props)
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip.asc
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip.md5
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz   (with props)
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz.asc
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz.md5
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip   (with props)
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip.asc
    dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip.md5

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/RELEASE_NOTES-5.0.x.txt
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/RELEASE_NOTES-5.0.x.txt (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/RELEASE_NOTES-5.0.x.txt Thu Apr 27 19:44:38 2017
@@ -0,0 +1,1673 @@
+Release 5.0-ALPHA3
+-------------------
+
+This is a major release that renders HttpCore API incompatible with the stable 4.x branch
+and upgrades HTTP/1.1 and HTTP/2 protocol conformance to the requirements and recommendations
+of the latest protocol specification.
+
+Notable changes and features included in the 5.0 series are:
+
+* Partial support for HTTP/2 protocol and conformance to requirements and
+  recommendations of the latest HTTP/2 protocol specification (RFC 7540, RFC 7541)
+
+  Supported features:
+
+    ** HPACK header compression
+    ** stream multiplexing (client and server)
+    ** flow control
+    ** response push (client and server)
+    ** message trailers
+    ** expect-continue handshake
+    ** connection validation (ping)
+    ** application-layer protocol negotiation (ALPN) on Java 1.9+
+    ** TLS 1.2 security features
+
+   Unsupported features:
+
+    ** padding of outgoing frames
+    ** stream priority
+    ** plain connection HTTP/1.1 upgrade
+    ** CONNECT method
+
+* Improved conformance to requirements and recommendations of the latest HTTP/1.1 protocol
+  specification (RFC 7230, RFC 7231)
+
+* New asynchronous HTTP transport APIs consistent for both HTTP/1.1 and HTTP/2 transport.
+
+* Improved HTTP/1.1 and HTTP/2 requester and server implementations.
+
+* Redesigned connection pool implementation with reduced pool lock contention.
+
+* Plug-in mechanism for HTTP/1.1 protocol switch / upgrade.
+
+* Package name space changed to 'org.apache.hc.core5'
+
+* Maven group id changed to 'org.apache.httpcomponents.core5'
+
+HttpCore 5.0 releases can be co-located with earlier versions.
+
+Please note that as of 5.0 HttpCore requires Java 1.7 or newer.
+
+Please note that at this point 5.0 APIs are considered API experimental and unstable and are
+expected to change in the coming releases without providing a migration path.
+
+
+Changelog
+-------------------
+
+* Support for HTTP protocol version negotiation.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Support TLS ALPN and disable TLS renegotiation via reflection on Java 1.9+.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-452: Add a UriRegexMatcher.
+  Contributed by Gary Gregory <ggregory at apache.org>
+
+* HTTPCORE-453: ServerBootstrap should traverse handler map in insertion order.
+  Contributed by Gary Gregory <ggregory at apache.org>
+
+* HTTPCORE-451: Add a TimeValue class to wrap a long and a TimeUnit.
+  Contributed by Gary Gregory <ggregory at apache.org>
+
+* Fixed HTTP/2 server side response message delineation when replying to HEAD requests.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Rewrite of non-blocking HTTP/1.1 connection persistence and re-use code.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* API for graceful shutdown of processes or endpoints
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-450: Add a Provider parameter in SSLContextBuilder.
+  Contributed by lujianbo <387852424 at qq dot com>, Gary Gregory <ggregory at apache.org>
+
+* Improved handling of premature HTTP/1.1 stream termination by non-blocking
+  protocol handlers.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Non-blocking connection initializer to support multi-homed remote endpoints.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-458: Validate port values
+  Contributed by Gary Gregory <ggregory at apache.org>
+  
+
+Release 5.0-ALPHA2
+-------------------
+
+This is a major release that renders HttpCore API incompatible with the stable 4.x branch
+and upgrades HTTP/1.1 and HTTP/2 protocol conformance to the requirements and recommendations
+of the latest protocol specification.
+
+Changelog
+-------------------
+
+* HTTPCORE-424: added ConnPool policy parameter to control connection re-use policy.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-413: Minimal chunk side can now be specified as H1Config#chunkSizeHint.
+  The value is treated as a hint. Both classic and NIO attempt to apply it when sending / receiving
+  messages without providing a strict guarantee.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-429: NIO connection pool incorrectly reports the number of pending connections
+  per individual route.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-432: HTTP/2 support.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-418: Add a HttpHost constructor for hostname and scheme.
+  Based on contribution by Joshua Hendrickson <joshua dot hendrickson at live dot com>
+  
+* HTTPCORE-436: Port tests from Apache Commons Logging to Apache Log4j 2.
+  Contributed by Gary Gregory <ggregory at apache.org>
+
+* HTTPCORE-434: Corrected handling of HEAD responses without payload headers.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-427: SSL i/o sessions to use a finite timeout for SSL shutdown handshake when closing.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-422: HttpAsyncResponseConsumer#onEntityEnclosed is triggered for HEAD responses.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-420: Blocking HttpServer does not close out persistent connection when shut down.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-417: SSLIOSession#writePlain incorrectly handles closed channel condition leading
+  to an infinite loop.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-416: DefaultConnectingIOReactor to treat failure to open a channel for a new outgoing
+  connection as a recoverable request failure.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 5.0-ALPHA1
+-------------------
+
+This is a major release that renders HttpCore API incompatible with the stable 4.x branch
+and upgrades HTTP/1.1 protocol conformance to the requirements and recommendations of the latest
+protocol specification. This release lays the foundation for transition to HTTP/2 as the primary
+transport protocol in the future releases.
+
+Notable changes and features included in the 5.0 series are:
+
+* Improved conformance to requirements and recommendations of the latest HTTP/1.1 protocol 
+  specification (RFC 7230, RFC 7231)
+
+* Blocking I/O and NIO HTTP transport implementation has been folded into one module
+
+* Package name space changed to 'org.apache.hc.core5' 
+
+* Maven group id changed to 'org.apache.httpcomponents.core5' 
+
+HttpCore 5.0 releases can be co-located with earlier versions.
+
+Please note that as of 5.0 HttpCore requires Java 1.7 or newer.
+
+Please note that at this point 5.0 APIs are considered API experimental and unstable and are
+expected to change in the coming releases without providing a migration path.
+
+
+Changelog
+-------------------
+
+* PATCH method support
+  Contributed by Ömer Özkan <omer at ozkan.info>
+
+* HTTPCORE-412: Support for trailing headers in outgoing HTTP messages
+  Based on contribution by Daneel Yaitskov <rtfm.rtfm.rtfm at gmail.com>
+
+* HTTPCORE-411, RFC 7320, RFC 7321: Made Expect-Continue handshake compliant with the spec
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Fixed handling of pipelined HEAD requests
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-409: NIO HttpServer does not shutdown listener ExecutorService
+  Contributed by Hiranya Jayathilaka <hiranya at apache.org>
+
+* HTTPCORE-406: PAX-EXAM tests with an embedded HTTP server
+  Contributed by Benson Margulies <benson at basistech.com>
+
+* RFC 7230: increased the default max number of concurrent connection for the same route from 2 to 5
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* RFC 7230: improved compliance of the default connection re-use strategy
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* RFC 7230: reject HTTP/1.1 requests with absent Host header or multiple Host headers
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* RFC 7230: permit some empty lines before message head
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* RFC 7230: disallow multiple Content-Length headers / header elements
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* RFC 7230: reject headers containing whitespaces between the header field name and colon in strict mode
+  (when parsing request messages on the server side)
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* RFC 7230: reject messages with incompatible major protocol version
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTP/2: added immutable MessageHead interface common for both HTTP/1.1 and HTTP/2 messages
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HTTPCORE-396: PrivateKeyStrategy does not work with NIO SSL
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* RFC 7230: it is legal for any request method to enclose an entity; revised message delineation logic;
+  removed HttpEntityEnclosingRequest interface; fixes HTTPCORE-318, HTTPCORE-380
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Use CharSequence instead of CharArrayBuffer for header element parsing
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* TokenParser to use CharSequence instead of CharArrayBuffer
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+
+
+Release 4.4.4
+-------------------
+
+This is a maintenance release that fixes a number of issues discovered since 4.4.3.
+
+Please note that as of 4.4 HttpCore requires Java 1.6 or newer.
+
+
+Changelog
+-------------------
+
+* [HTTPCORE-410] PoolStats made Serializable
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* BufferedHttpEntity to use HttpEntity#writeTo when buffering non-repeatable entities
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Fixed race condition in request initialization code in async client protocol handlers
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Fixed handling of pipelined HEAD requests
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-409] NIO HttpServer does not shutdown listener ExecutorService 
+  Contributed by Hiranya Jayathilaka <hiranya at apache.org>
+
+
+Release 4.4.3
+-------------------
+
+This is a maintenance release that fixes a regression introduced by release 4.4.2.
+
+Please note that as of 4.4 HttpCore requires Java 1.6 or newer.
+
+
+Changelog
+-------------------
+
+* Fixed regression introduced by HTTPCORE-399. 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.4.2
+-------------------
+
+This maintenance release fixes a bug in HTTP request pipelining code discovered 
+after 4.4.1 release.
+
+Please note that as of 4.4 HttpCore requires Java 1.6 or newer.
+
+
+Changelog
+-------------------
+
+* Throw ConnectionClosedException instead of IllegalStateException if an attempt is made to 
+  use a closed (not bound to a socket) blocking connection.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-399] Non-blocking client connections incorrectly suspend output causing 
+  sequential execution of requests. 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.4.1
+-------------------
+
+This maintenance release fixes a number of minor bugs found since 4.4.
+
+Please note that as of 4.4 HttpCore requires Java 1.6 or newer.
+
+
+Changelog
+-------------------
+
+* [HTTPCORE-396]: PrivateKeyStrategy does not work with NIO SSL.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-395]: VersionInfo#getUserAgent reports incorrect Java version.
+  Contributed by Michael Osipov <michaelo at apache.org>
+
+* Non-blocking connection should not trigger end-of-stream callback as long as there is still
+  data in the session input buffer. This can cause a series of short pipelined requests to
+  fail prematurely in case of an unexpected connection termination by the opposite endpoint. 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.4
+-----------------
+
+This is the first stable (GA) release of HttpCore 4.4. Notable features included in 
+the 4.4 series are:
+
+* Support for pipelined request processing on the server side
+
+* Support for pipelined request execution on the client side
+
+* Simplified bootstrapping of blocking and non-blocking (NIO) HTTP server implementations   
+
+* Inclusion of SSL context initialization utilities from HttpClient
+
+Please note that as of 4.4 HttpCore requires Java 1.6 or newer.
+
+
+Changelog
+-------------------
+
+* Performance optimizations
+  Contributed by Dmitry Potapov <dpotapov at yandex-team.ru>
+
+* Update Apache Commons Logging version from 1.1.3 to 1.2. 
+  Contributed by Gary Gregory <ggregory at apache.org>
+
+
+Release 4.4-BETA1
+-------------------
+
+This is the first BETA release from 4.4 release series. Notable features included in 
+the 4.4 series are:
+
+* Support for pipelined request processing on the server side
+
+* Support for pipelined request execution on the client side
+
+* Simplified bootstrapping of blocking and non-blocking (NIO) HTTP server implementations   
+
+* Inclusion of SSL context initialization utilities from HttpClient
+
+* New HTTP element tokenizer implementation 
+
+
+Please note that as of 4.4 HttpCore requires Java 1.6 or newer.
+
+
+
+
+Release 4.4-ALPHA1
+-------------------
+
+This is the first release from the 4.4.x development branch. The most notable features included in 
+this release are:
+
+* Support for pipelined request processing on the server side
+
+* Support for pipelined request execution on the client side
+
+* Simplified bootstrapping of blocking and non-blocking (NIO) HTTP server implementations   
+
+This release also includes all fixes from the stable 4.2.x release branch.
+
+
+Changelog
+-------------------
+
+* [HTTPASYNC-77] system resources are not correctly deallocated if I/O reactor is shut down
+  while still inactive (not started)
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-377] Allow zero SO_LINGER (immediate abortive close).
+  Contributed by Dmitry Potapov <potapov.d at gmail.com>
+
+* [HTTPCORE-376] AbstractNIOConnPool#requestCancelled() should not process pending requests
+  wnen being shut down.
+  Contributed by Dmitry Potapov <potapov.d at gmail.com>
+
+* [HTTPASYNC-69]: async request handler is closed by HttpAsyncRequestExecutor#closed 
+  if the underlying connection is found to be in an inconsistent state.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-372] Blocking and non-blocking chunk decoders to throw an I/O exception if data stream
+  is terminated without a closing chunk.
+  Contributed by Dmitry Potapov <potapov.d at gmail.com>
+
+* [HTTPCORE-368] Customizable buffer management strategies for SSLIOSession.
+  Contributed by offbynull <offbynull at gmail.com>
+
+* [HTTPCORE-358] Added I/O reactor listener backlog parameter.
+  Contributed by Dmitry Potapov <potapov.d at gmail.com>
+
+* [HTTPCORE-357] Avoid DNS lookups in SSLIOSession.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Update JUnit to version 4.11 from 4.9  
+  Contributed by Gary Gregory <ggregory at apache.org>
+
+
+
+Release 4.3.2
+-------------------
+
+This maintenance release fixes a number of bugs and regressions found since 4.3.1, mostly in the 
+NIO transport components. All users of HttpCore 4.3 are advised to upgrade.
+
+Changelog
+-------------------
+
+* [HTTPCORE-371] Support for SSL re-negotiation with NIO.
+  Contributed by Asankha Perera <asankha at apache.org>
+
+* [HTTPCORE-373] Out of sequence HTTP response causes NPE in HttpAsyncRequestExecutor.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-370] Race condition if connection request succeeds and times out at the same time.  
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* (Regression) Fixed synchronization issue in blocking and non-blocking connection pool 
+  implementations caused by HTTPCORE-362
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.3.1
+-------------------
+
+This maintenance release fixes a number of bugs and regressions found since 4.3, mostly in the 
+NIO transport components. All users of HttpCore 4.3 are advised to upgrade.
+
+Changelog
+-------------------
+
+* [HTTPCORE-367] (Regression) Non-blocking connections can enter a tight loop while waiting 
+  for a chunk header split across multiple TCP frames.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-366] Non-blocking SSLIOSession can enter an infinite loop if the underlying
+  channel receives incoming data simultaneously with inactivity timeout.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-364] IOSessionImpl.getLocalAddress() (etc.) creates unnecessary copy of channel
+
+* DefaultConnectingIOReactor / DefaultListeningIOReactor do not correctly apply some initial 
+  socket settings.
+  Contributed by Andreas Veithen <veithen at apache.org>
+
+* [HTTPCORE-357] Avoid DNS lookups in SSLIOSessions in server mode.
+  Contributed by Isaac Cruz Ballesteros <icruzbal at gmail.com>
+
+* [HTTPCORE-362] Purge pool per route map after closing out expired or idle connections with 
+  #closeExpired and #closeIdle methods. 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-361] Reduced intermediate garbage in HeaderGroup#getFirstHeader()
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-355] HttpAsyncRequestExecutor fails when its handler is not ready to generate
+  a request.
+  Contributed by jd <j1234d2003 at yahoo.com>
+
+* [HTTPCORE-354] BasicConnFactory don't use SocketConfig#isSoKeepAlive.
+  Contributed by David Ignjic <ignjic at gmail.com>
+
+* [HTTPCORE-347] (Regression) HttpResponse#setStatusCode() does not update reason phrase.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+
+Release 4.3
+-------------------
+
+This is the first stable (GA) release of HttpCore 4.3. The most notable features in the 4.3
+branch are:
+
+* Deprecation of preference and configuration API based on HttpParams interface in favor of
+  constructor injection and plain configuration objects.
+
+* Reliance on object immutability instead of access synchronization for thread safety.
+  Several old classes whose instances can be shared by multiple request exchanges have
+  been replaced by immutable equivalents.
+
+The 4.3 branch also contains performance optimizations such as reduced TCP packet fragmentation
+and more efficient lease / release operations for pools of persistent connections on the client
+side.
+
+This release also includes all fixes from the 4.2.x release branch.
+
+Users of HttpCore 4.2 are encouraged to upgrade.
+
+
+Changelog
+-------------------
+
+* [HTTPCORE-343] AbstractNIOConnPool to fire request callbacks outside the pool lock.
+  This makes it possible to re-enter pool methods from a callback event.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-340] AbstractNIOConnPool to support lease timeout distinct from connect timeout.
+  Contributed by Ignat Alexeyenko <ignatalexeyenko at gmail.com>
+
+* Blocking connections do not clean session input buffer when closed (input data from a read
+  operation may still remain in the buffer if the connection is re-opened).
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+
+Release 4.2.5
+-------------------
+
+This maintenance release fixes a number of bugs found in NIO components since 4.2.4. We advise
+users of HttpCore NIO of all versions to upgrade.
+
+This is likely to be the last release in the 4.2.x branch.
+
+
+Changelog
+-------------------
+
+* [HTTPCORE-345] EntityAsyncContentProducer fails to release resources allocated by the underlying
+  entity when #produceContent is never invoked.
+  Contributed by Tad Whitenight <tadwhitenight at gmail.com>
+
+* Non-blocking connection pool to avoid scanning the entire queue of pending connection requests
+  on each connection lease / release operation (under heavy load the request queue can contain
+  a significant number of pending requests, a full linear scan of which can cause massive
+  performance degradation).
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Use bulk ByteBuffer#put method instead of single byte ByteBuffer#put
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-336]  Unhandled CancelledKeyException leads to a shutdown of the underlying IOReactor.
+  Contributed by Thomas Dudek <mail.dudek at gmail.com>
+
+
+
+Release 4.3-BETA2
+-------------------
+
+This is the second BETA release from the 4.3.x release branch. This release addresses performance
+issues in the non-blocking connection pool implementation and also includes a number of performance
+improvements in the low level NIO based transport components.
+
+Changelog
+-------------------
+
+* [HTTPCORE-300] ContentType to provide support for custom parameters.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Non-blocking connection pool to avoid scanning the entire queue of pending connection requests
+  on each connection lease / release operation (under heavy load the request queue can contain
+  a significant number of pending requests, a full linear scan of which can cause massive
+  performance degradation).
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Basic connection pool implementations to perform default port resolution for HTTP and HTTPS
+  schemes.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Use bulk ByteBuffer#put method instead of single byte ByteBuffer#put
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-336]  Unhandled CancelledKeyException leads to a shutdown of the underlying IOReactor.
+  Contributed by Thomas Dudek <mail.dudek at gmail.com>
+
+
+Release 4.3-BETA1
+-------------------
+
+This is the first BETA release from the 4.3.x release branch. The main theme of the 4.3 release
+series is streamlining of component configuration and deprecation of the old configuration
+API based on HttpParams in favor of constructor-based dependency injection and plain objects
+for configuration parameters.
+
+This release also includes performance optimizations intended to reduce TCP packet fragmentation
+when writing out HTTP messages both in blocking and non-blocking I/O modes, which should result
+in up to 20% higher throughput for short entity enclosing messages.
+
+This release also includes all fixes from the stable 4.2.x release branch.
+
+
+Changelog
+-------------------
+
+* Reduced TCP packet fragmentation when writing out message content with blocking and
+  non-blocking connections.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-330] Clarify InputStreamEntity length constructor argument.
+  Contributed by John McCarthy <jmsignup at gmail.com>
+
+* [HTTPCORE-323] Undocumented UnsupportedCharsetException in ContentType#getOrDefault.
+  Contributed by Gary D. Gregory <ggregory at apache.org>
+
+
+
+Release 4.2.4
+-------------------
+
+This maintenance release fixes a number of bugs found in NIO components since 4.2.3. We advise
+users of HttpCore NIO of all versions to upgrade.
+
+Changelog
+-------------------
+
+* [HTTPCORE-334] https request to a non-responsive but alive port over a non-blocking connection
+  results in a busy loop in one of I/O dispatch threads.
+  Contributed by Scott Stanton <snstanton at gmail.com>
+
+* [HTTPCORE-331] BasicFuture no longer executes notification callbacks inside a synchronized block.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-319] Non-blocking SSLIOSession can fail to shut down correctly when the underlying
+  connection gets terminated abnormally by the opposite endpoint in case there is a truncated or
+  corrupted encrypted content in the input buffer and there is still data in the output buffer
+  that needs to be flushed out (most likely to occur with POST or PUT requests).
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+
+Release 4.3-ALPHA1
+-------------------
+
+This is the first release from the 4.3.x release branch. The main focus of the 4.3 release
+series is streamlining of component configuration and deprecation of the old configuration
+API based on HttpParams in favor of constructor based dependency injection and plain objects
+for configuration parameters.
+
+We are kindly asking all upstream projects to review API changes and help us improve
+the APIs by providing feedback and sharing ideas on dev@hc.apache.org.
+
+This release also includes all fixes from the stable 4.2.x release branch.
+
+
+
+Release 4.2.3
+-------------------
+
+This maintenance release fixes a number of bugs and found since 4.2.2 including
+a major bug in the NIO module that can cause an infinite loop in SSL sessions under special
+circumstances when the remote peer terminates the session in the middle of SSL handshake.
+Please note this issue does not affect blocking I/O components used by HttpClient.
+
+We advise users of HttpCore NIO of all versions to upgrade.
+
+Changelog
+-------------------
+
+* [HTTPCORE-319, HTTPCORE-322] Non-blocking SSLIOSession can enter an infinite loop under
+  special circumstances when the remote peer terminates the session in the middle of SSL handshake.
+  Contributed by Paul Donohue <apache-jira at PaulSD.com> and
+  Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-316] HeaderGroup#clone removes headers from the original object.
+  Contributed by Markus Thies <markus at dr-thies.com>
+
+* [HTTPCORE-315] AbstractNIOConnPool fails to correctly deallocate connection if it is immediately
+  released from the session request callback causing a resource leak.
+  Contributed by Scott Stanton <snstanton at gmail.com>
+
+* [HTTPCORE-313] ContentType#parse now ignores empty and blank charset attributes.
+  HttpEntityUtils#toString now throws checked I/O exception if it  encounters an unsupported
+  charset.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.2.2
+-------------------
+
+This is a maintenance release that fixes a number of bugs and regressions found since 4.2.1
+including a major bug in the NIO module causing incorrect handling of outgoing Content-Length
+delimited messages larger than 2GB.
+
+Users of HttpCore 4.2 are advised to upgrade.
+
+Changelog
+-------------------
+
+* [HTTPCORE-312] NIO length delimited content encoder incorrectly handles messages larger than 2GB.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-310] Fixed regression in DefaultConnectionReuseStrategy causing it to incorrectly
+  flag connections as non-reusable after a 204, 205 or 304 response.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-309] Fixed regression in HttpAsyncRequestExecutor causing it to handle 204, 205
+  and 304 responses incorrectly by returning a message with an enclosed content body.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-306] I/O reactor TCP_NODELAY parameter now defaults to true.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPASYNC-21] request execution handler does not get closed in case of a premature HTTP
+  exchange termination.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-303] ContentType made Serializable.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+
+Release 4.2.1
+-------------------
+
+This is a maintenance release that fixes a non-critical number of bugs found since 4.2.
+Users of HttpCore 4.2 are encouraged to upgrade.
+
+Changelog
+-------------------
+
+* [HTTPCORE-299] ContentType should rely on Charset#name() instead of Charset#toString()
+  for building header value.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-263] Under rare circumstances incorrectly delineated or garbled HTTP message
+  can cause an IndexOutOfBoundsException in AbstractSessionInputBuffer#readLine()
+  Contributed by Michael Pujos <bubbleguuum at free.fr>
+
+* Made connection pools use FIFO algorithm instead of LIFO when leasing / releasing persistent
+  connections.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-298] Fixed non-blocking SSLIOSession state can getting out of sync with the underlying
+  IOSession in case the I/O session is terminated by the I/O reactor rather than by the protocol
+  handler.
+  Contributed by Sandeep Tamhankar <sandman at electric-cloud.com>
+
+* Fixed NPE in StringEntity constructor thrown if ContentType#getCharset is null.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.2
+-------------------
+
+This is the first stable (GA) release of HttpCore 4.2. The most notable features included in this
+release are connection pool components for blocking and non-blocking HTTP connections and new
+asynchronous client and server side protocol handlers.
+
+New protocol handling API used in conjunction with connection pooling components is expected to
+make development of asynchronous HTTP client agents and HTTP proxies easier and less error prone.
+
+Connection pool components are based on mature code migrated from HttpClient and HttpAsyncClient
+modules but have a slightly different API that makes a better use of Java standard concurrent
+primitives.
+
+Changelog
+-------------------
+
+* Fixed HttpAsyncRequestExecutor incorrect execution of message exchanges that span across multiple
+  hosts (for instance, in case of a request redirect).
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* AbstractHttpClientConnection#isResponseAvailable method now catches SocketTimeoutException
+  and returns false.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-296] Server side connections (both blocking and non-blocking) can now handle entity
+  enclosing requests without Content-Length and Transfer-Encoding headers.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-295] [HTTPCORE-288] Provided direct access to the underlying socket of non-blocking
+  HTTP connection to allow modification of socket level settings such as TCP_NODELAY, SO_KEEPALIVE,
+  TrafficClass, etc.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-289] HttpAsyncService fails to invoke Cancellable#cancel() when the ongoing HTTP
+  exchange is aborted by the client.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Incompatible changes
+--------------------
+[Compared to release version 4.1.4]
+
+The following methods have been deprecated for some time now and have been deleted:
+
+org.apache.http.impl.SocketHttpServerConnection#createHttpDataReceiver(Socket, int, HttpParams)
+org.apache.http.impl.SocketHttpServerConnection#createHttpDataTransmitter(Socket, int, HttpParams)
+org.apache.http.protocol.HttpRequestHandlerRegistry#matchUriRequestPattern(String, String)
+
+The following classes have been deprecated for some while now and have been deleted:
+
+org.apache.http.nio.entity.ByteArrayNIOEntity
+org.apache.http.nio.entity.FileNIOEntity
+org.apache.http.nio.entity.HttpNIOEntity
+org.apache.http.nio.entity.StringNIOEntity
+org.apache.http.nio.protocol.NHttpClientHandlerBase
+org.apache.http.nio.protocol.NHttpServiceHandlerBase
+
+Release 4.2-BETA1
+-------------------
+
+This is the first BETA release of HttpCore 4.2. This release comes with completely redesigned
+and rewritten asynchronous protocol handlers. New protocol handling API used in conjunction with
+connection pooling components is expected to make development of asynchronous HTTP client agents
+and HTTP proxies easier and less error prone.
+
+Sample application shipped with the release include an example of an HTTP file server capable of
+direct channel (zero copy) data transfer and an example of a non-blocking, fully streaming reverse
+proxy.
+
+This release also incorporates bug fixes from the stable 4.1.x branch and includes an updated
+HttpCore tutorial.
+
+
+
+Release 4.1.4
+-------------------
+
+This is a maintenance release that fixes a number of bugs found since 4.1.3. It is also likely
+to be the last release in the 4.1.x branch.
+
+Changelog
+-------------------
+
+* [HTTPCORE-286] Canceled I/O session can cause an IllegalStateException in BaseIOReactor#validate
+  leading to an abnormal termination of the I/O reactor.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-257] Fixed incorrect results produced by DefaultConnectionReuseStrategy when handling
+  response messages whose content entity has been decoded or modified by a protocol interceptor.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-283] Workaround for a bug causing termination of the I/O reactor in case of exception
+  thrown by NHttpServiceHandler#requestReceived or NHttpClientHandler#responseReceived
+  methods. A more comprehensive fix for the bug applied to the 4.2 branch.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-281] ResponseConnControl protocol interceptor does not correctly populate connection
+  persistence control headers when sending a HTTP/1.1 response message in response to a HTTP/1.0
+  request message.
+  Contributed by William R. Speirs <bill.speirs at gmail.com>
+
+* [HTTPCORE-282] The default value of the internal event mask of newly created non-blocking I/O
+  is not correctly initialized, which causes the READ interest bit to get cleared in the interest
+  op queuing mode unless the event mask is explicitly reset.
+  Contributed by Sadeep Jayasumana <sadeep at wso2.com> and Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-268] Handle runtime exceptions thrown by SSLEngine.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+
+Release 4.2-ALPHA2
+-------------------
+
+This is the second ALPHA release of HttpCore 4.2. This release comes with completely redesigned
+and rewritten asynchronous protocol handlers. New protocol handling API used in conjunction with
+connection pooling components introduced in the previous ALPHA release is expected to make
+development of asynchronous HTTP client agents and HTTP proxies easier and less error prone.
+
+Sample application shipped with the release include an example of an HTTP file server capable of
+direct channel (zero copy) data transfer and an example of a non-blocking, fully streaming reverse
+proxy.
+
+We are kindly asking existing and prospective users of HttpCore to review and try out the
+new protocol handlers and give us feedback while the 4.2 API is still not final. If no major flaws
+are discovered the 4.2 API is expected to be frozen with the next BETA release.
+
+Please note that new features included in this release are still considered experimental and
+their API may change in the future ALPHA releases. This release also marks the end of support for
+Java 1.3. As of this release HttpCore requires Java 1.5 for all its components. Several classes and
+methods deprecated between versions 4.0-beta1 and 4.0 GA (more than two years ago) have been
+removed in this release.
+
+Changelog
+-------------------
+
+* [HTTPCORE-270] Fixed IllegalStateException in AbstractSessionOutputBuffer and
+  AbstractSessionInputBuffer.
+  Contributed by William R. Speirs <bill.speirs at gmail.com>
+
+* [HTTPCORE-269] Connection pools incorrectly handle lease requests when the max limit for the given
+  route has been exceeded and all connections in the route pool are stateful.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.2-ALPHA1
+-------------------
+
+This is the first ALPHA release of 4.2. The most notable feature included in this release is
+support for connection pools of blocking and non-blocking HTTP connections. Connection pool
+components are based on mature code migrated from HttpClient and HttpAsyncClient modules but have
+a slightly different API that makes a better use of Java standard concurrent primitives.
+
+Support for connection pools in HttpCore is expected to make development of client and proxy HTTP
+services easier and less error prone.
+
+Please note that new features included in this release are still considered experimental and
+their API may change in the future ALPHA releases. This release also marks the end of support for
+Java 1.3. As of this release HttpCore requires Java 1.5 for all its components. Several classes and
+methods deprecated between versions 4.0-beta1 and 4.0 GA (more than two years ago) have been
+removed in this release.
+
+Changelog
+-------------------
+
+* [HTTPCORE-268] Handle runtime exceptions thrown by SSLEngine.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.1.3
+-------------------
+
+This is an emergency release that fixes a severe regression in the non-blocking SSL I/O code
+introduced in release 4.1.2.
+
+* [HTTPCORE-266] SSLIOSession does not correctly terminate if the opposite end shuts down connection
+  without sending a 'close notify' message causing an infinite loop in the I/O dispatch thread.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.1.2
+-------------------
+
+This is a patch release that fixes a number of bugs found in the previous version.
+
+Please note that several classes and methods deprecated between versions 4.0-beta1 and 4.0 GA
+(more than two years ago) will also be removed in the 4.2 branch.
+
+Users of 4.0.x versions are advised to upgrade and replace deprecated API calls following
+recommendations in javadocs.
+
+* [HTTPCORE-261] IOSession#setSocketTimeout() method does not reset the timeout count.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-260] Non-blocking SSL I/O session can terminate prematurely causing message body
+  truncation when message content is chunk coded and the connection is closed on the opposite end.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-257] Fixed incorrect results produced by DefaultConnectionReuseStrategy when handling
+  response messages whose content entity has been decoded or modified by a protocol interceptor.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.1.1
+-------------------
+
+This is a patch release that fixes a number of non-critical issues found since release 4.1.
+
+This release marks the end of support for Java 1.3. As of release 4.2 HttpCore will require
+Java 1.5 for all its components.
+
+Please note that several classes and methods deprecated between versions 4.0-beta1 and 4.0 GA
+(more than two years ago) will also be removed in the 4.2 branch.
+
+Users of 4.0.x versions are advised to upgrade and replace deprecated API calls following
+recommendations in javadocs.
+
+* In case of an unexpected end of stream condition (the peer closed connection prematurely)
+  truncated Content-Length delimited message bodies will cause an I/O exception. Application
+  can still choose to catch and ignore ConnectionClosedException in order to accept partial
+  message content.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-255]: Fixed resource management in InputStreamEntity#writeTo()
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-254]: Erratic results from metrics (sebb)
+
+* [HTTPCORE-242]: Fixed NPE in AsyncNHttpClientHandler caused by an early response to an
+  entity enclosing request.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.1
+-------------------
+
+This is the first stable (GA) release of HttpCore 4.1. This release provides a compatibility mode
+with JREs that have a naive (broken) implementation of SelectionKey API and also improves
+compatibility with the Google Android platform. There has also been a number of performance
+related improvements and bug fixes in both blocking and non-blocking components.
+
+Changelog
+-------------------
+
+* [HTTPCORE-240]: DefaultConnectingIOReactor leaks a socket descriptor if the session request fails.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-239]: The ChunkEncoder could request for a negative buffer limit causing an
+  IllegalArgumentException.
+  Contributed by Asankha Perera <asankha at apache.org>
+
+* [HTTPCORE-236]: SSLIOSession#isAppInputReady() does not check the status of the session input
+  buffer.
+  Contributed by Dmitry Lukyanov <dlukyanov at ukr.net>
+
+* [HTTPCORE-233]: EntityUtils#toString() and EntityUtils#toByteArray() to return null if
+  HttpEntity#getContent() is null
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-231] Fixed incorrect handling of HTTP entities by non-blocking LengthDelimitedDecoder
+  when the Content-Length value is larger than Integer.MAX_VALUE.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.1-BETA2
+-------------------
+
+This is the second BETA release of HttpCore 4.1. This is mainly a bug fix release that addresses
+a number of non-critical bugs.
+
+The most significant change in this release is deprecation of the HttpEntity#consumeContent()
+method and streamlining of connection management and resource deallocation by HTTP entities.
+Please refer to the javadocs for details.
+
+* [HTTPCORE-229] AbstractSessionInputBuffer#readLine(CharArrayBuffer) returns incorrect
+  number of characters read by the method when using non-standard HTTP element charset.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Non-blocking connections can trigger #responseReady / #requestReady events by mistake
+  when the underlying session is already closed.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-228] Fixed NPE in AsyncNHttpServiceHandler caused by entity enclosing requests
+  if no matching request handler can be found.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-227] Fixed incorrect request / response count by non-blocking connections.
+  Contributed by Harold Lee <harold at hotelling.net>
+
+* [HTTPCORE-226] Improved compatibility of NIO components with Google Android.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* ByteArrayBuffer, CharArrayBuffer, BasicHeader, BufferedHeader, HeaderGroup, BasicRequestLine,
+  BasicStatusLine made Serializable.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.1-BETA1
+-------------------
+
+This is the first BETA release of HttpCore 4.1. This release finalizes the API introduced in the
+4.1 development branch. It also fixes a number of bugs discovered since the previous release and
+delivers a number of performance optimizations in the blocking HTTP transport components.
+The blocking HTTP transport is expected to be 5% to 10% faster compared to previous releases.
+
+* [HTTPCORE-222] Fixed Import-Package in the OSGi META-INF
+  Contributed by Willem Jiang <willem.jiang at gmail.com>
+
+* [HTTPCORE-177] Reduce intermediate data buffering by reading large chunks of data directly from
+  the underlying socket stream. This results in improved performance of blocking read operations.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-220] IdentityDecoder fails to detect end of stream when using file channels.
+  Contributed by Asankha C. Perera <asankha at apache.org>
+
+* [HTTPCORE-218] ChunkEncoder#write method no longer returns incorrect value if
+  the data to write is greater than the size of the internal buffer used by the encoder.
+  Contributed by Richie Jefts <rjefts at gmail.com>
+
+* [HTTPCORE-209] Added parameter to set SO_REUSEADDR on sockets bound to a local address.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-207] SocketHttp*Connection classes can leak sockets if the connection is half-closed
+  Contributed by David Koski <david_koski at mac.com>
+
+Release 4.1-ALPHA1
+-------------------
+
+This is the first public release from the 4.1 branch of HttpCore. This release adds a number of
+new features, most notable being introduction of compatibility mode with IBM JREs and other JREs
+with naive (broken) implementation of SelectionKey API.
+
+Please note new classes and methods added in the 4.1 branch are still considered API unstable.
+
+* Ensure that an attempt is made to close out all active sessions gracefully in case of an abnormal
+  shutdown of the I/O reactor.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-201] OSGi Export-Package to specify release version
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-183] Added Thread-safe implementations of HttpParams and HttpProcessor -
+  SyncBasicHttpParams and ImmutableHttpProcessor classes
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-199] ContentInputStream implements InputStream#available().
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-195] Truncated chunk-coded streams can now be tolerated by catching and discarding
+  TruncatedChunkException.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-155] Compatibility mode with IBM JRE and other JREs with naive (broken) implementation
+  of SelectionKey.
+  Contributed by Marc Beyerle <marc.beyerle at de.ibm.com> and Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-191] Blocking HTTP connections are now capable of correctly preserving their internal
+  state on SocketTimeoutExceptions, which makes it possible to continue reading from the connection
+  after a socket timeout.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-190] ChunkedInputStream is now capable of correctly preserving its internal state on
+  SocketTimeoutExceptions, which makes it possible to continue reading from the stream after a
+  socket timeout.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.0.1
+-------------------
+
+This is a patch release addressing a number of issues discovered since the 4.0 release. Users
+of NIO module are advised to upgrade.
+
+* [HTTPCORE-198] CONNECT request includes Host header for HTTP 1.1 connections.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-196] SSLIOSession now unwraps encrypted data more aggressively eliminating long
+  pauses when receiving data over non-blocking connections.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-197] Fixed bug causing the non-blocking ChunkDecoder to report some data stream as
+  truncated under special conditions.
+  Contributed by Denis Rogov <denrogov at gmail.com> and Oleg Kalnichevski <olegk at apache.org>
+
+* SSLIOSession#isAppOutputReady and SSLIOSession#isAppInputReady no longer ignore the application
+  event mask causing I/O event notifications for unrequested type of events.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-193] Fixed problem with SSLIOSession incorrectly handling of end-of-stream condition.
+  Contributed by Asankha C. Perera <asankha at apache.org> and Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.0
+-------------------
+
+This is the first stable (GA) release of HttpCore 4.0. This release mainly improves the
+documentation and fixes a few minor bugs reported since the previous release. HttpCore
+now comes with a complete tutorial presenting an in-depth coverage of the API.
+
+HttpCore is a set of low level HTTP transport components that can be used to build custom
+client and server side HTTP services with a minimal footprint. HttpCore supports two I/O
+models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O
+model based on Java NIO.  The blocking I/O model may be more appropriate for data intensive,
+low latency scenarios, whereas the non-blocking model may be more appropriate for high latency
+scenarios where raw data throughput is less important than the ability to handle thousands of
+simultaneous HTTP connections in a resource efficient manner.
+
+* [HTTPCORE-180] Fixed NPE in standard I/O event dispatchers when
+  IOEventDispatch#disconnected fires before the session was fully initialized
+  (IOEventDispatch#connected was not called).
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-175] Chunk decoders no longer accept truncated chunks as valid input.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.0 Beta 3
+-------------------
+
+The third BETA version of HttpComponents Core has been released. This is a
+maintenance release, which addresses a number of issues discovered since the
+previous release.
+
+The only significant new feature is an addition of an OSGi compliant bundle
+combining HttpCore and HttpCore NIO jars.
+
+* [HTTPCORE-173] Tolerate missing closing chunk if the chunk coded content
+  is terminated by the end of stream (EOF) condition.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-174] Position is incremented twice in ContentLengthInputStream#skip(long)
+  Contributed by Ildar Safarov <ildar.safarov at gmail.com>
+
+* [HTTPCORE-125] OSGi bundle containing HttpCore & HttpCore NIO jars.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* CancelledKeyException thrown in BaseIOReactor#validate() no longer causes
+  a premature I/O reactor shutdown.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-172] Added #close() method to SharedInputBuffer and
+  SharedOutputBuffer. The purpose of the new method is to close the buffer
+  in case of normal / orderly termination of the underlying HTTP connection.
+  Use #shutdown() method to force-close the buffer in case of abnormal /
+  exceptional termination of the underlying connection.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-170] Fixed race condition in SharedOutputBuffer.
+  Contributed by Jason Walton <Jason.Walton at alcatel-lucent.com>
+
+* [HTTPCORE-169] Fixed bug causing connecting I/O reactors to shut down due to
+  ClosedChannelException if a pending session request is cancelled before the new
+  channel has been registered with the selector.
+  Contributed by Anders Wallgren <anders_wallgren at alum.mit.edu>
+
+* [HTTPCORE-167] Fixed handling the end of stream (EOF) condition in the #isStale()
+  check of blocking HTTP connections.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-166] NIO reactors now maintain an audit log of fatal exceptions,
+  which can be used to examine the cause and problems experienced during
+  the shutdown process.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-165] Improved handling of CancelledKeyException in I/O reactors
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.0 Beta 2
+-------------------
+
+The second BETA version of HttpComponents Core has been released. This release
+adds a number of improvements to the NIO components, most notable being improved
+asynchronous client side and server side protocol handlers.
+
+There has been a number of important bug fixes in HttpCore NIO module, whereas
+HttpCore base module has had very few changes.
+
+All upstream projects dependent on HttpCore NIO are strongly advised to upgrade.
+
+* [HTTPCORE-163] Fixed AbstractMultiworkerIOReactor#execute() to correctly
+  propagate the original I/O exception in case of an abnormal termination.
+  Contributed by Patrick Moore <patmoore at ieee.org>
+
+* Changed behavior of IdentityDecoder & LengthDelimitedDecoder to throw
+  an IOException if data is attempted to be written beyond the length
+  of a FileChannel.  Previously would write nothing.
+  Contributed by Sam Berlin <sberlin at apache.org>
+
+* Fixed bug in LengthDelimitedDecoder & IdentityDecoder that caused transfers
+  to a FileChannel to overwrite arbitrary parts of the file, if data was
+  buffered in SessionInputBuffer.
+  Contributed by Sam Berlin <sberlin at apache.org>
+
+* Fixed concurrency bug in the ThrottlingHttpServerHandler protocol handler.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Fixed bug in SharedInputBuffer that caused input events to be
+  incorrectly suspended.
+  Contributed by Asankha C. Perera <asankha at wso2.com>
+
+* [HTTPCORE-150] Entity implementation that serializes a Java object
+  Contributed by Andrea Selva <selva.andrea at gmail.com>
+
+* [HTTPCORE-157] ChunkedOutputStream#flush() now behaves consistently with the
+  specification of OutputStream#flush().
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-147] Fixed handling of requests with partially consumed content
+  in ThrottlingHttpServiceHandler.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-92] ChunkEncoder splits input data larger than available space
+  in the session output buffer into smaller chunks instead of expanding
+  the buffer.
+  Contributed by Andrea Selva <selva.andrea at gmail.com> and
+  Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-149] I/O reactors now count period of inactivity since the
+  time of the last read or write operation. Previously only read
+  operations resulted in timeout counter reset.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-148] Improved asynchronous server and client HTTP protocol
+  handler implementations.
+  Contributed by Sam Berlin <sberlin at gmail.com>
+
+* [HTTPCORE-143] Ensure the underlying channel is closed if the session
+  request is canceled or times out.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-140] Fixed timeout handling in ThrottlingHttpServiceHandler.
+  Contributed by Lorenzo Moretti <moznerol at hotmail.com> and
+  Oleg Kalnichevski <olegk at apache.org>
+
+
+
+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-141] Session request timeout in DefaultConnectingIOReactor
+  invalidates the request.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-137] DefaultHttpRequestFactory extended to support all methods
+  specified in RFC 2616 (except CONNECT).
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Replaced HTTP parameter linking with a simple child/parent stack.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-134] all serialVersionUID attributes are private
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-133] Clone support for basic HTTP message elements and
+  non-streaming entities.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-127] Improved API for lifecycle management of listening I/O
+  reactors. One can now suspend and resume listener endpoints.
+  Contributed by Asankha C. Perera <asankha at wso2.com>
+
+* [HTTPCORE-112] DefaultConnectionReuseStrategy interprets token sequences
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-122] new interface TokenIterator and basic implementation
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* HttpCore NIOSSL classes moved to HttpCore NIO.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HttpCore NIO ported to Java 1.5.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-130] Fixed over-synchronization bug leading to a thread deadlock
+  condition in SSL IOEventDispatch implementations.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-37] HttpParams beans
+  Contributed by Stojce Dimski <sdmiski at yahoo.it>
+
+* [HTTPCORE-128] Simplified injection of custom NIO connection implementations.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-126] Improved HTTP message parsing API and optimized parser
+  implementations.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Do not include "Connection: close" to 500 responses per default.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-121] new interface HeaderElementIterator
+  Contributed by Andrea Selva <selva.andrea at gmail.com>
+
+* [HTTPCORE-123] Fixed problem with SSLSession losing buffered data, if the
+  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>
+
+Release 4.0 Alpha 5
+-------------------
+
+The fifth ALPHA version of HttpComponents Core has been released. This release
+delivers a number of incremental improvements across the board in all modules
+and adds several performance oriented features such as ability to transfer
+data directly between a file and a socket channels.
+
+HttpCore is almost fully feature complete now and we are likely to freeze
+the public APIs as of next release (BETA1).
+
+* [HTTPCORE-87] RuntimeExcpetions thrown in I/O worker threads are now correctly
+  propagated to the I/O reactor.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-84]: Removed DateUtils/DateParseException from core.
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-63]: Made I/O select interval configurable for all default I/O
+  reactor implementations.
+  Contributed by Oleg Kalnichevski <olegk at apache.org> and
+  Anders Wallgren <anders_wallgren at alum.mit.edu>
+
+* [HTTPCORE-82]: Revised linking of HttpParams to reduce potential for misuse.
+  Method #setDefaults() removed from the HttpParams interface.
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-81]: Maximum line length and maximum header counts parameters are now
+  correctly enforced in both base and NIO modules. Fixed maximum line length check
+  when parsing folded header lines.
+  Contributed by Steffen Pingel <spingel at limewire.com>
+
+* Added HTTP client handler implementation that allocates fixed size content
+  buffers upon initialization and is capable of throttling the rate of I/O events
+  in order to make sure those content buffers do not get overflown.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-76]: Added IOSession#shutdown() method intended to force-close
+  I/O sessions (primarily needed to terminate hung SSL connections).
+  Contributed by Sandeep Tamhankar <sandman at electric-cloud.com>
+
+* [HTTPCORE-78]: Added ByteBufferAllocator interface that can be used to apply
+  different ByteArray allocation strategies to session and content buffers.
+  Use heap bound implementation for short-lived or variable in length (requiring
+  frequent content re-allocation) buffers.
+  Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-77]: The result of CharsetDecoder#decode() and CharsetEncoder#encode()
+  was not checked for errors resulting in an infinite loop in
+  SessionInputBuffer#readLine() and SessionOutputBuffer#writeLine()
+  when malformed characters were processed.
+  Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-71]: HttpParams can be copied.
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-75]: DefaultNHttpServerConnection and DefaultNHttpClientConnection
+  now correctly terminate the underlying I/O session when closed.
+  BufferingHttpServiceHandler now correctly applies connection keep-alive
+  strategy when sending a response with no content body.
+  Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-73]: Fixed bug preventing NHttpServiceHandler#responseReady and
+  NHttpClientHandler#requestReady events from being fired if the HTTP message
+  has no content body.
+  Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-67]: Improved event listener interface
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-43]: Support for FileChannel#transferFrom() and
+  FileChannel#transferTo() methods. Direct coping from and to FileChannel is
+  expected to improve performance of file bound operations
+  Contributed by Andrea Selva <selva.andre at gmail.com>
+
+* [HTTPCORE-66]: Fixed handling of HTTP HEAD methods
+  Contributed by Steffen Pingel <spingel at limewire.com> and
+  Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-58]: NIO HTTP connections changed to throw checked
+  ConnectionClosedException instead of unchecked IllegalStateException when
+  an attempt is made to perform an I/O operation on a closed conection
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-56]: DefaultConnectingIOReactor no longer terminates due to a
+  CancelledKeyException, if a session request gets canceled before selection
+  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>
+
+Release 4.0 Alpha 3
+-------------------
+
+The third ALPHA version of HttpCore has been released. The ALPHA3 release
+includes a number of API optimizations and improvements and introduces a set
+of NIO extensions to the HttpCore API. NIO extensions can be used to build
+HTTP services intended to handle thousands of simultaneous connections with
+a small number of I/O threads.
+
+* [HTTPCORE-15] Provided a interafce to access IP address of the local and
+  remote end points.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [ HTTPCORE-14] Scheme, SocketFactory and SecureSocketFactory moved to
+  HttpClient. Decoupled HttpHost and Scheme.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-13] Refactored HttpProcessor interface and related impl classes
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-11] Client connection interface no longer defines a specific
+  method to open a connection. HTTP connections can now represent any
+  abstract I/O transport such as those based on NIO API.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-10] Non-blocking (async) client side I/O transport based on NIO.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-9] Non-blocking (async) server side I/O transport based on NIO.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-7] ConnectionReuseStrategy interface changed to allow access
+  to the HTTP execution context.
+  Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-6] Header implementation allowing for performance short-cuts
+  when serializing and deserializing HTTP headers.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-5] Header, HeaderElement, NameValuePair, RequestLine, StatusLine,
+  HttpVersion changed to interfaces. API no longer contains any parsing and
+  formatting code and does not imply any specific physical representation of
+  HTTP messages and their elements.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.0 Alpha 2
+-------------------
+This is a maintenance release that mostly fixes minor problems found since the
+previous release. The upstream projects are strongly encouraged use this
+release as a dependency while HttpCore undergoes another round of reviews
+and optimization in the SVN trunk
+
+Changelog:
+---------
+* [HTTPCORE-4] optional header and line length limits to contain OOME risks
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.0 Alpha 1
+-------------------
+This release represents a complete redesign of the Jakarta Commons HttpClient
+3.x API and a significant rewrite of the core HTTP components derived from
+HttpClient 3.0 code base.
+
+These components will form the foundation of the future releases of Jakarta
+HttpClient and can also be used separately to build custom client- and
+server-side HTTP services.

Propchange: dev/httpcomponents/httpcore-5.0-alpha3-RC1/RELEASE_NOTES-5.0.x.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: dev/httpcomponents/httpcore-5.0-alpha3-RC1/RELEASE_NOTES-5.0.x.txt
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: dev/httpcomponents/httpcore-5.0-alpha3-RC1/RELEASE_NOTES-5.0.x.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz
==============================================================================
Binary file - no diff available.

Propchange: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz
------------------------------------------------------------------------------
    svn:mime-type = application/x-gzip

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz.asc
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz.asc (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz.asc Thu Apr 27 19:44:38 2017
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.46
+
+iEYEABECAAYFAlkCSW8ACgkQfCUoDq5j6+V3hgCfQm+dcHLLWJ7XeDM9vDiFBQYe
+wFEAnicCKBTjsALn2Tc2AXfkVK+OX0EB
+=1cL4
+-----END PGP SIGNATURE-----

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz.md5
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz.md5 (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.tar.gz.md5 Thu Apr 27 19:44:38 2017
@@ -0,0 +1 @@
+e5951f4c7d1b4713dc8bf79d918d3709
\ No newline at end of file

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip
==============================================================================
Binary file - no diff available.

Propchange: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip.asc
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip.asc (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip.asc Thu Apr 27 19:44:38 2017
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.46
+
+iEYEABECAAYFAlkCSW8ACgkQfCUoDq5j6+XzzQCggJZsZEU6XDhnmLOKDwOMmkKa
+7WEAnR8eWlxkZkydPzm9rnz1quOE54jQ
+=K6fQ
+-----END PGP SIGNATURE-----

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip.md5
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip.md5 (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-bin.zip.md5 Thu Apr 27 19:44:38 2017
@@ -0,0 +1 @@
+04057db3b19f6352962e219c372f1fff
\ No newline at end of file

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz
==============================================================================
Binary file - no diff available.

Propchange: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz
------------------------------------------------------------------------------
    svn:mime-type = application/x-gzip

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz.asc
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz.asc (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz.asc Thu Apr 27 19:44:38 2017
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.46
+
+iEYEABECAAYFAlkCSW8ACgkQfCUoDq5j6+U2CgCfQtRD3ls4yiypNVCTdNynYoxq
+RwoAmQEPYBiIvYoXj+ZFbxNXmqa6DxJg
+=Sek8
+-----END PGP SIGNATURE-----

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz.md5
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz.md5 (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.tar.gz.md5 Thu Apr 27 19:44:38 2017
@@ -0,0 +1 @@
+7363ec0fc3c9bae888644cf87e40906b
\ No newline at end of file

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip
==============================================================================
Binary file - no diff available.

Propchange: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip.asc
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip.asc (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip.asc Thu Apr 27 19:44:38 2017
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.46
+
+iEYEABECAAYFAlkCSW8ACgkQfCUoDq5j6+V4swCdEHwrwXwpsscyHJnMnskj66/H
+kj4An1JBNenrCx8dCFzDHQKEeb9fnTXR
+=Ragz
+-----END PGP SIGNATURE-----

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip.md5
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip.md5 (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-osgi-bin.zip.md5 Thu Apr 27 19:44:38 2017
@@ -0,0 +1 @@
+7847d26a86562a745c149a1dcad12b4b
\ No newline at end of file

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz
==============================================================================
Binary file - no diff available.

Propchange: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz
------------------------------------------------------------------------------
    svn:mime-type = application/x-gzip

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz.asc
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz.asc (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz.asc Thu Apr 27 19:44:38 2017
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.46
+
+iEYEABECAAYFAlkCSW8ACgkQfCUoDq5j6+W87gCfflO3kG6kJZX5syikOyZLF9aD
+CUAAniYE3N+AyJg7sVxff0CJytBrLndQ
+=iJyd
+-----END PGP SIGNATURE-----

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz.md5
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz.md5 (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.tar.gz.md5 Thu Apr 27 19:44:38 2017
@@ -0,0 +1 @@
+90b99c959ed979aa1f7e4e27f81554e4
\ No newline at end of file

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip
==============================================================================
Binary file - no diff available.

Propchange: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip.asc
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip.asc (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip.asc Thu Apr 27 19:44:38 2017
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.46
+
+iEYEABECAAYFAlkCSW8ACgkQfCUoDq5j6+V5sACeMeMsJmFWEXPr4Y5TqchMJ425
+XkEAmgOQTV8xn4m5d8bdcKXQLMPiceiv
+=XDcR
+-----END PGP SIGNATURE-----

Added: dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip.md5
==============================================================================
--- dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip.md5 (added)
+++ dev/httpcomponents/httpcore-5.0-alpha3-RC1/httpcomponents-core-5.0-alpha3-src.zip.md5 Thu Apr 27 19:44:38 2017
@@ -0,0 +1 @@
+7ea0a940a5d02f207898c23ed558a7d3
\ No newline at end of file