The Apache MINA project is pleased to announce MINA 2.0.8 ! This version is a bug fix release. Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily by providing an abstract, event-driven, asynchronous API over various transports such as TCP/IP and UDP/IP vis Java NIO. We have closed around 90 JIRAs (fixed, postponed or simply discarded). There is one change that might break the build for those switching from MINA 2.0.7 to MINA 2.0.8 : the */IoHandler/* interface now has a method called /inputClosed()/, so either you have to implement this method if you are directly implementing the */IoHandler/* interface, or better, you can extends */IoHandlerAdapter/*, which implements a placeholder for this method. Download : ========= * http://mina.apache.org/downloads-mina.html Quick links : ========== * Homepage http://mina.apache.org/mina-project/ * FAQ http://mina.apache.org/mina-project/faq.html * Documentation http://mina.apache.org/mina-project/documentation.html We recommend all users to upgrade to this release. We consider this a stable and production ready release. Release note<https://issues.apache.org/jira/issues/?jql=project%20%3D%20DIRMINA%20AND%20fixVersion%20%3D%202.0.8%20AND%20status%20%3D%20Resolved%20ORDER%20BY%20priority%20DESC> <https://issues.apache.org/jira/issues/?jql=project%20%3D%20DIRMINA%20AND%20fixVersion%20%3D%202.0.8%20AND%20status%20%3D%20Resolved%20ORDER%20BY%20priority%20DESC> Bug * DIRMINA-539 <https://issues.apache.org/jira/browse/DIRMINA-539> <https://issues.apache.org/jira/browse/DIRMINA-539> - NioDatagramConnector doesn't takes the TrafficClass value set to his DatagramSessionConfig * DIRMINA-574 <https://issues.apache.org/jira/browse/DIRMINA-574> <https://issues.apache.org/jira/browse/DIRMINA-574> - ClassCastException when a message is written on a closed session. * DIRMINA-604 <https://issues.apache.org/jira/browse/DIRMINA-604> <https://issues.apache.org/jira/browse/DIRMINA-604> - Deadlock occurs when implementing two mina StateMachine * DIRMINA-639 <https://issues.apache.org/jira/browse/DIRMINA-639> <https://issues.apache.org/jira/browse/DIRMINA-639> - WriteFuture are updated long after a session.write() is done * DIRMINA-738 <https://issues.apache.org/jira/browse/DIRMINA-738> <https://issues.apache.org/jira/browse/DIRMINA-738> - Using IoEventQueueThrottler with a WriteRequestFilter can lead to hangs * DIRMINA-760 <https://issues.apache.org/jira/browse/DIRMINA-760> <https://issues.apache.org/jira/browse/DIRMINA-760> - Client fails to detect disconnection * DIRMINA-764 <https://issues.apache.org/jira/browse/DIRMINA-764> <https://issues.apache.org/jira/browse/DIRMINA-764> - DDOS possible in only a few seconds... * DIRMINA-777 <https://issues.apache.org/jira/browse/DIRMINA-777> <https://issues.apache.org/jira/browse/DIRMINA-777> - IoSessionConfig.setUseReadOperation(true) doesn't seem to work * DIRMINA-779 <https://issues.apache.org/jira/browse/DIRMINA-779> <https://issues.apache.org/jira/browse/DIRMINA-779> - SSLHandler can re-order data that it reads * DIRMINA-782 <https://issues.apache.org/jira/browse/DIRMINA-782> <https://issues.apache.org/jira/browse/DIRMINA-782> - Combination of SslFilter & FileRegionWriteFilter causes messageSent events to be lost * DIRMINA-785 <https://issues.apache.org/jira/browse/DIRMINA-785> <https://issues.apache.org/jira/browse/DIRMINA-785> - Half-duplex close of TCP channel * DIRMINA-789 <https://issues.apache.org/jira/browse/DIRMINA-789> <https://issues.apache.org/jira/browse/DIRMINA-789> - Possible Deadlock/Out of memory when sending large amounts of data using Nio * DIRMINA-792 <https://issues.apache.org/jira/browse/DIRMINA-792> <https://issues.apache.org/jira/browse/DIRMINA-792> - await() forever * DIRMINA-804 <https://issues.apache.org/jira/browse/DIRMINA-804> <https://issues.apache.org/jira/browse/DIRMINA-804> - NioDatagramAcceptor.unbind does not unbind cleanly * DIRMINA-805 <https://issues.apache.org/jira/browse/DIRMINA-805> <https://issues.apache.org/jira/browse/DIRMINA-805> - No cipher suites and protocols in SslFilter * DIRMINA-813 <https://issues.apache.org/jira/browse/DIRMINA-813> <https://issues.apache.org/jira/browse/DIRMINA-813> - Starvation occures sometimes in SerialSession#close() * DIRMINA-818 <https://issues.apache.org/jira/browse/DIRMINA-818> <https://issues.apache.org/jira/browse/DIRMINA-818> - Loosing connects on NioSocketConnector * DIRMINA-833 <https://issues.apache.org/jira/browse/DIRMINA-833> <https://issues.apache.org/jira/browse/DIRMINA-833> - LoggingFilter does not log SENT bytes when used with a ProtocolCodecFilter * DIRMINA-843 <https://issues.apache.org/jira/browse/DIRMINA-843> <https://issues.apache.org/jira/browse/DIRMINA-843> - NioSocketAcceptor doesnot provide an interface to input connectiontimeout parameter. * DIRMINA-844 <https://issues.apache.org/jira/browse/DIRMINA-844> <https://issues.apache.org/jira/browse/DIRMINA-844> - Http Proxy Authentication failed to complete (see description for exact point of failure) * DIRMINA-845 <https://issues.apache.org/jira/browse/DIRMINA-845> <https://issues.apache.org/jira/browse/DIRMINA-845> - ProtocolEncoderOutputImpl isn't thread-safe * DIRMINA-891 <https://issues.apache.org/jira/browse/DIRMINA-891> <https://issues.apache.org/jira/browse/DIRMINA-891> - SSLHandler throws SSLException during handshake that sequence number triggers * DIRMINA-899 <https://issues.apache.org/jira/browse/DIRMINA-899> <https://issues.apache.org/jira/browse/DIRMINA-899> - IoSession.getAttribute() doesn't store default value * DIRMINA-902 <https://issues.apache.org/jira/browse/DIRMINA-902> <https://issues.apache.org/jira/browse/DIRMINA-902> - Buffer read incorrectly when reading after a NEED_DATA trigger. * DIRMINA-905 <https://issues.apache.org/jira/browse/DIRMINA-905> <https://issues.apache.org/jira/browse/DIRMINA-905> - mina serial close * DIRMINA-911 <https://issues.apache.org/jira/browse/DIRMINA-911> <https://issues.apache.org/jira/browse/DIRMINA-911> - Surprising behaviour with ConnectFuture * DIRMINA-912 <https://issues.apache.org/jira/browse/DIRMINA-912> <https://issues.apache.org/jira/browse/DIRMINA-912> - Different instances of OrderedThreadPoolExecutor may use same task queue * DIRMINA-920 <https://issues.apache.org/jira/browse/DIRMINA-920> <https://issues.apache.org/jira/browse/DIRMINA-920> - HTTP server decoding is broken * DIRMINA-926 <https://issues.apache.org/jira/browse/DIRMINA-926> <https://issues.apache.org/jira/browse/DIRMINA-926> - IoSession IP Error when Socket Server Communicate With Microcomputer In LAN and Internet. * DIRMINA-928 <https://issues.apache.org/jira/browse/DIRMINA-928> <https://issues.apache.org/jira/browse/DIRMINA-928> - when client want to connect to server by binding wrong ip address,there is a bug. * DIRMINA-931 <https://issues.apache.org/jira/browse/DIRMINA-931> <https://issues.apache.org/jira/browse/DIRMINA-931> - HTTP header decoding is broken * DIRMINA-932 <https://issues.apache.org/jira/browse/DIRMINA-932> <https://issues.apache.org/jira/browse/DIRMINA-932> - HTTP Request decoding is broken if request headers are received in several messages * DIRMINA-933 <https://issues.apache.org/jira/browse/DIRMINA-933> <https://issues.apache.org/jira/browse/DIRMINA-933> - subtle HttpServerDecoder problems * DIRMINA-937 <https://issues.apache.org/jira/browse/DIRMINA-937> <https://issues.apache.org/jira/browse/DIRMINA-937> - sslfilter hangs with openjdk works with oracle? * DIRMINA-940 <https://issues.apache.org/jira/browse/DIRMINA-940> <https://issues.apache.org/jira/browse/DIRMINA-940> - HTTP Client decoder does not support responses without Content-Length header * DIRMINA-942 <https://issues.apache.org/jira/browse/DIRMINA-942> <https://issues.apache.org/jira/browse/DIRMINA-942> - Infinite loop flushing to broken pipe * DIRMINA-948 <https://issues.apache.org/jira/browse/DIRMINA-948> <https://issues.apache.org/jira/browse/DIRMINA-948> - Performance recession when invoke session.write concurrent * DIRMINA-956 <https://issues.apache.org/jira/browse/DIRMINA-956> <https://issues.apache.org/jira/browse/DIRMINA-956> - Status code match bug in AbstractHttpLogicHandler * DIRMINA-957 <https://issues.apache.org/jira/browse/DIRMINA-957> <https://issues.apache.org/jira/browse/DIRMINA-957> - MINA build in BlacklistFilter does not support IPV6 address * DIRMINA-962 <https://issues.apache.org/jira/browse/DIRMINA-962> <https://issues.apache.org/jira/browse/DIRMINA-962> - Immediate session close with a SSL filter * DIRMINA-963 <https://issues.apache.org/jira/browse/DIRMINA-963> <https://issues.apache.org/jira/browse/DIRMINA-963> - Socks5 and ProxyConnector don't work with InetSocketAddress.createUnresolved * DIRMINA-965 <https://issues.apache.org/jira/browse/DIRMINA-965> <https://issues.apache.org/jira/browse/DIRMINA-965> - HttpServerDecoder is broken in certain condition * DIRMINA-966 <https://issues.apache.org/jira/browse/DIRMINA-966> <https://issues.apache.org/jira/browse/DIRMINA-966> - NIO Datagram messages can get duplicated when unable to be sent by the underlying DatagramChannel * DIRMINA-967 <https://issues.apache.org/jira/browse/DIRMINA-967> <https://issues.apache.org/jira/browse/DIRMINA-967> - IoSession updateThroughput not automatically called * DIRMINA-968 <https://issues.apache.org/jira/browse/DIRMINA-968> <https://issues.apache.org/jira/browse/DIRMINA-968> - Memory leak in SSL Handshake errors * DIRMINA-970 <https://issues.apache.org/jira/browse/DIRMINA-970> <https://issues.apache.org/jira/browse/DIRMINA-970> - ProtocolEncoderOutputImpl.flush() occur a IllegalArgumentException * DIRMINA-972 <https://issues.apache.org/jira/browse/DIRMINA-972> <https://issues.apache.org/jira/browse/DIRMINA-972> - NPE during handshake on Android using SSLFilter * DIRMINA-973 <https://issues.apache.org/jira/browse/DIRMINA-973> <https://issues.apache.org/jira/browse/DIRMINA-973> - IllegalArgumentException thrown on ProtocolCodecFilter.flush * DIRMINA-976 <https://issues.apache.org/jira/browse/DIRMINA-976> <https://issues.apache.org/jira/browse/DIRMINA-976> - ScheduledWriteBytes Increases after Exception on Writing * DIRMINA-977 <https://issues.apache.org/jira/browse/DIRMINA-977> <https://issues.apache.org/jira/browse/DIRMINA-977> - DefaultIoFilterChain.replace does not call register/deregister * DIRMINA-978 <https://issues.apache.org/jira/browse/DIRMINA-978> <https://issues.apache.org/jira/browse/DIRMINA-978> - ClosedSelectorException handling in AbstractPollingIoProcessor * DIRMINA-980 <https://issues.apache.org/jira/browse/DIRMINA-980> <https://issues.apache.org/jira/browse/DIRMINA-980> - Missing implementation of write() method in SerialSessionImpl.SerialIoProcessor * DIRMINA-981 <https://issues.apache.org/jira/browse/DIRMINA-981> <https://issues.apache.org/jira/browse/DIRMINA-981> - IoBuffer GetSlice throw an IllegalArgumentException * DIRMINA-982 <https://issues.apache.org/jira/browse/DIRMINA-982> <https://issues.apache.org/jira/browse/DIRMINA-982> - ProtocolEncoderOutputImpl.flush() throws an IllegalArgumentException if buffers queue is empty * DIRMINA-983 <https://issues.apache.org/jira/browse/DIRMINA-983> <https://issues.apache.org/jira/browse/DIRMINA-983> - Problems with TextLineDecoder and special characters Improvement * DIRMINA-210 <https://issues.apache.org/jira/browse/DIRMINA-210> <https://issues.apache.org/jira/browse/DIRMINA-210> - Investigate removal of static methods in ByteBuffer * DIRMINA-237 <https://issues.apache.org/jira/browse/DIRMINA-237> <https://issues.apache.org/jira/browse/DIRMINA-237> - Improve Spring integration * DIRMINA-572 <https://issues.apache.org/jira/browse/DIRMINA-572> <https://issues.apache.org/jira/browse/DIRMINA-572> - Add Spring support for Mina statemachine * DIRMINA-586 <https://issues.apache.org/jira/browse/DIRMINA-586> <https://issues.apache.org/jira/browse/DIRMINA-586> - Dynamic delimiter support for TextLineCodecFactory * DIRMINA-593 <https://issues.apache.org/jira/browse/DIRMINA-593> <https://issues.apache.org/jira/browse/DIRMINA-593> - Javadoc & documentation for org/apache/mina/filter/reqres * DIRMINA-629 <https://issues.apache.org/jira/browse/DIRMINA-629> <https://issues.apache.org/jira/browse/DIRMINA-629> - The IoServiceStatistics methods are called for every new session creation * DIRMINA-631 <https://issues.apache.org/jira/browse/DIRMINA-631> <https://issues.apache.org/jira/browse/DIRMINA-631> - AbstractIoFilter: increment writen- and receivedMessages statistics on application end of filter chain * DIRMINA-668 <https://issues.apache.org/jira/browse/DIRMINA-668> <https://issues.apache.org/jira/browse/DIRMINA-668> - Modify the way we use IoProcessors * DIRMINA-682 <https://issues.apache.org/jira/browse/DIRMINA-682> <https://issues.apache.org/jira/browse/DIRMINA-682> - We need a better documentation for the ExecutorFilter [was :Writing more than one message will block until the MessageReceived as been fully proceced] * DIRMINA-723 <https://issues.apache.org/jira/browse/DIRMINA-723> <https://issues.apache.org/jira/browse/DIRMINA-723> - OrderedThreadPoolExecutor behavior: configurable queue size, corePoolSize, maximumPoolSize * DIRMINA-752 <https://issues.apache.org/jira/browse/DIRMINA-752> <https://issues.apache.org/jira/browse/DIRMINA-752> - maybe move SerialAddressEditor.class to the mina beans project * DIRMINA-761 <https://issues.apache.org/jira/browse/DIRMINA-761> <https://issues.apache.org/jira/browse/DIRMINA-761> - how to shutdown a mina application * DIRMINA-766 <https://issues.apache.org/jira/browse/DIRMINA-766> <https://issues.apache.org/jira/browse/DIRMINA-766> - Read does not exploit buffer optimally * DIRMINA-767 <https://issues.apache.org/jira/browse/DIRMINA-767> <https://issues.apache.org/jira/browse/DIRMINA-767> - Move encoder/decoder out of the session Attributes * DIRMINA-773 <https://issues.apache.org/jira/browse/DIRMINA-773> <https://issues.apache.org/jira/browse/DIRMINA-773> - org.apache.mina.filter.firewall.Subnet should consider 0.0.0.0/0 as a subnet that contains 'all the ipv4 addresses' * DIRMINA-780 <https://issues.apache.org/jira/browse/DIRMINA-780> <https://issues.apache.org/jira/browse/DIRMINA-780> - Writing null objects to the Session should raise an Exception * DIRMINA-825 <https://issues.apache.org/jira/browse/DIRMINA-825> <https://issues.apache.org/jira/browse/DIRMINA-825> - Add host and port info to BindException thrown by NioSocketAcceptor#open * DIRMINA-838 <https://issues.apache.org/jira/browse/DIRMINA-838> <https://issues.apache.org/jira/browse/DIRMINA-838> - Redundant AttributeKey allocation resulting in high garbage collector activity * DIRMINA-913 <https://issues.apache.org/jira/browse/DIRMINA-913> <https://issues.apache.org/jira/browse/DIRMINA-913> - Add a method IoSession.isSecured() to tell the user if the SSL filter has been started or not * DIRMINA-921 <https://issues.apache.org/jira/browse/DIRMINA-921> <https://issues.apache.org/jira/browse/DIRMINA-921> - Maven build fails if test phase is given * DIRMINA-929 <https://issues.apache.org/jira/browse/DIRMINA-929> <https://issues.apache.org/jira/browse/DIRMINA-929> - AbstractPollingIoProcessor patch to mark buffer as free * DIRMINA-934 <https://issues.apache.org/jira/browse/DIRMINA-934> <https://issues.apache.org/jira/browse/DIRMINA-934> - Replace synchronized with a Semaphore for better performance * DIRMINA-941 <https://issues.apache.org/jira/browse/DIRMINA-941> <https://issues.apache.org/jira/browse/DIRMINA-941> - DefaultIoFilterChain (or any other class) should not catch Throwable without re-throwing * DIRMINA-945 <https://issues.apache.org/jira/browse/DIRMINA-945> <https://issues.apache.org/jira/browse/DIRMINA-945> - DefaultVmPipeSessionConfig is empty New Feature * DIRMINA-23 <https://issues.apache.org/jira/browse/DIRMINA-23> <https://issues.apache.org/jira/browse/DIRMINA-23> - New transport type: non-NIO sockets * DIRMINA-68 <https://issues.apache.org/jira/browse/DIRMINA-68> <https://issues.apache.org/jira/browse/DIRMINA-68> - Automatic reconnect configuration for client channels. * DIRMINA-389 <https://issues.apache.org/jira/browse/DIRMINA-389> <https://issues.apache.org/jira/browse/DIRMINA-389> - Create a Connection Throttle Filter * DIRMINA-453 <https://issues.apache.org/jira/browse/DIRMINA-453> <https://issues.apache.org/jira/browse/DIRMINA-453> - Multiple IoServices for one java.nio.Selector * DIRMINA-485 <https://issues.apache.org/jira/browse/DIRMINA-485> <https://issues.apache.org/jira/browse/DIRMINA-485> - SCTP Transport based on APR (Apache Portable Runtime) * DIRMINA-489 <https://issues.apache.org/jira/browse/DIRMINA-489> <https://issues.apache.org/jira/browse/DIRMINA-489> - Composite IoBuffer * DIRMINA-507 <https://issues.apache.org/jira/browse/DIRMINA-507> <https://issues.apache.org/jira/browse/DIRMINA-507> - IoBuffer: Support prepending data * DIRMINA-554 <https://issues.apache.org/jira/browse/DIRMINA-554> <https://issues.apache.org/jira/browse/DIRMINA-554> - A hook between bind() and accept() * DIRMINA-655 <https://issues.apache.org/jira/browse/DIRMINA-655> <https://issues.apache.org/jira/browse/DIRMINA-655> - Add a more general purpose text based decoder * DIRMINA-816 <https://issues.apache.org/jira/browse/DIRMINA-816> <https://issues.apache.org/jira/browse/DIRMINA-816> - NioSocketConnector missing defaultLocalAddress * DIRMINA-964 <https://issues.apache.org/jira/browse/DIRMINA-964> <https://issues.apache.org/jira/browse/DIRMINA-964> - Custom NIO SelectorProvider for NioSocketAcceptor Task * DIRMINA-56 <https://issues.apache.org/jira/browse/DIRMINA-56> <https://issues.apache.org/jira/browse/DIRMINA-56> - Create a Benchmark Suite That Generates HTML Reports. * DIRMINA-188 <https://issues.apache.org/jira/browse/DIRMINA-188> <https://issues.apache.org/jira/browse/DIRMINA-188> - All-in-one JAR * DIRMINA-477 <https://issues.apache.org/jira/browse/DIRMINA-477> <https://issues.apache.org/jira/browse/DIRMINA-477> - Update page about differences between 1.x and 2.x * DIRMINA-721 <https://issues.apache.org/jira/browse/DIRMINA-721> <https://issues.apache.org/jira/browse/DIRMINA-721> - Get rid of multiton iohandler and netty2 codec as proposed on ML Test * DIRMINA-922 <https://issues.apache.org/jira/browse/DIRMINA-922> <https://issues.apache.org/jira/browse/DIRMINA-922> - Add a benchmark project to compare with other IO frameworks Wish * DIRMINA-250 <https://issues.apache.org/jira/browse/DIRMINA-250> <https://issues.apache.org/jira/browse/DIRMINA-250> - Provide a test suite for a transport implementor. * DIRMINA-916 <https://issues.apache.org/jira/browse/DIRMINA-916> <https://issues.apache.org/jira/browse/DIRMINA-916> - Adding Http Status code 101 "101 Switching Protocols" in org.apache.mina.http.api.HttpStatus The Apache MINA PMC -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com