Skip navigation

Netty 4.0.34.Final released

I'm happy to announce the release of Netty 4.0.34.Final.

This release contains 110+ changes, including bug-fixes, performance improvements and new features.

The most important changes are:

  • SslHandler does not send SSL close notify after receiving an invalid client certificate (#3900)
  • High CPU usage with SO_LINGER and sudden connection close (4.0.26.Final+) (#4449)
  • DefaultPromise LateListener notification order (#4492)
  • Respect ClientAuth set via OpenSslEngine constructor (#4576)
  • Throw ReadOnlyBufferException if unsafe buffer is used and dst is direct (#4577)
  • Prevent adding newline if Base64 buffer encoded ends directly on MAX_LINE_LENGTH (#4595
  • isKeepAlive is not supported by Epoll (#4604)
  • Customizable estimation for messages written outside the EventLoop (#4620)
  • Ensure closing a Socket / FileDescriptor multiple times will not throw exception (#4623)
  • Set DSCP bits for IPv6 when setting traffic class. (#4650)
  • Stop decoding if decoder was removed (#4651)
  • Ensure we only add OpenSslEngine to the OpenSslEngineMap when handshake is started (#4653)
  • Unpooled and Wrapped Buffer Leak (#4667)
  • Decryption failed or bad mac record in Android 5.0 (#4678)
  • IndexOutOfBoundsException for CompositeByteBuf (#4681)
  • Let CombinedChannelDuplexHandler correctly handle exceptionCaught. (#4702)
  • Correctly handle non handshake commands when using SniHandler (#4703)
  • Implement proper resource leak detection for CompositeByteBuf (#4713)
  • OpenSslEngine.setEnabledProtocols fails to enable protocols that are currently disabled (#4736)
  • Ensure ChannelHandler.handlerAdded(...) is always called as first method of the handler (#4776)
  • SslHandler should call beginHandshake once for the initial handshake (#4764)
  • Ensure the whole certificate chain is used when creating SslContext for client mode and SslProvider.OPENSSL is used (#4767)
  • Correctly handle wildcard address when bind to socket and using native transport (#4770)

For the details and all changes, 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.