It's been a long time since the last bug-fix release of the 4.0 branch, so we are quite happy announcing a new release today!

This release closes 54 tasks/issues reaching from important to trivial fixes. As always this release is a drop-in replacement for previous 4.0.x releases, so grab it while it's hot.

Here is the list of the most important fixes and enhancements:

#3058 #3057 - SslHandler - DirectByteBuffer - OutOfMemory

- DirectByteBuffer - OutOfMemory #3031 - Disable SSLv3.0 to avoid POODLE vulnerability

#2971 #2972 - WebSocketClientProtocolHandshakeHandler leaks

leaks #2965 - Avoid vectored writes for small websocket messages

#2964 - zero-sized DefaultFileRegion leads to system stuck & high sys usage

leads to system stuck & high sys usage #2955 - Improve WebSocket performance

#2940 - Add verification for websocket subprotocol on the client side

#2924 - head is not updated when trim MemoryRegionCache

#2880 - HTTP Content Decoder Cleanup Bug

#2871 #2867 - Workaround performance issue with IPv4-mapped-on-IPv6 addresses

#2860 - Add support for gathering writes with native transport when using EpollDatagramChannel

#2855 - Disable caching of PooledByteBuf for different threads

for different threads #2831 - Modify HttpObjectDecoder to allow parsing the HTTP headers in multiple steps

to allow parsing the HTTP headers in multiple steps #2823 - Writing DefaultFileRegion with EpollSocketChannel may cause hang

with may cause hang #2789 - Allow efficient writing of CompositeByteBuf when using native epoll transport

when using native epoll transport #2586 - AbstractBootstrap.bind(...) should use correct EventLoop to notify on late registration

For the detail, please browse our issue tracker.

As always, please let us know if you find any issues. We love feedback!

Thank You

Every idea and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.