| 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. |
| |
| All upstream projects are encouraged to upgrade. |
| |
| 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-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. |