Netty 4.1.29.Final released
Today we announce the release of netty 4.1.29.Final. This release contains bugfixes and some improvements.
The most important changes are:
- Correctly handle DNS redirects for NS servers that have no ADDITIONAL records (#8177)
- Ensure multiple shaded version of the same netty artifact can be loaded as long as the shaded prefix is different (#8207)
- Set initial SNI hostname when creating an OpenSSL engine in client mode (#8178)
- DnsNameResolver hangs if search domain results in invalid hostname (#8180)
- Workaround JDK bug that will cause an AssertionError when calling ServerSocketChannel.config().getOptions() (#8183)
- Ensure NIO transport can be used on Java6 again (#8168)
- Lazily initialize NativeDatagramPacketArray and IovArray in EpollEventLoop (#8160)
For the details and all changes, please browse our issue tracker for 4.1.29.Final.
Important notes
DnsNameResolver API breakage
We had to slightly break the DnsNameResolver API to fix (#8177). Lucky enough changes are very slim you are affect but please read on if you use the resolver.
DnsNameResolver.authoritativeDnsServerCache()
will now return an instance of AuthoritativeDnsServerCache
and the previous used DnsNameResolver.uncachedRedirectDnsServerStream(...)
was replaced by newRedirectDnsServerStream(...)
(which is protected).
Memory usage of the native epoll transport
We reduced again the memory usage of the native epoll transport by change some code to init memory lazily. For more details check (#8160).
Shading of native transports and netty-tcnative
It should now be possible to shade multiple versions of the native transports of netty and netty-tcnative and use them in the same JVM without any problems. As netty is used in a lot of different projects / libraries this may be useful for you. For any example how you would do shading / use shading check out testsuite-shading which uses maven but the same steps should apply for other build tools as well. For more details see (#7272), which has all the related PRs linked.
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.