Netty 4.1.31.Final 发布了 ,该版本包含错误修复,以及一些重要的改进和性能提升。除此之外,还提供了对 TLSv1.3 的支持(通过 Java 11 或 netty-tcnative / netty-tcnative-boringssl-static 实现 )。
重要的变更内容:
Fix leak and corruption bugs in CompositeByteBuf ( #8438 )
Optimize AbstractByteBuf.getCharSequence() in US_ASCII case ( #8392 )
(fix) incorrect reachability assumption in ResourceLeakDetector ( #8410 )
Correctly detect if KeyManagerFactory is supported by OpenSSL even when sun.security.x509.* can not be accessed and bouncycastle is not on the classpath. ( #8415 )
Reduce overhead by ByteBufUtil.decodeString(...) which is used by AbstractByteBuf.toString(...)
and AbstractByteBuf.getCharSequence(...)
( #8388
)
CompositeByteBuf.decompose(...) does not correctly slice content ( #8403 )
Allow to use TLSv1.3 with netty-tcnative withe java versions prior to 11 ( #8394 )
Add support for TLSv1.3 #8293 )
Add support for boringssl and TLSv1.3 ( #8412 )
Ensure OpenSslEngine will not try to call SSL_free multiple times even when constructor throws #8399 )
Add full JdkSslContext public constructor #8389 )
Prevent NPE when attempting to set client key material with no alias #8378 )
epoll_wait produces an EINVAL error since 4.1.30 #8350 )
Correctly parse /etc/resolv.conf when contain multiple entries for searchdomain #8351 )
Correctly decrement pending bytes when submitting AbstractWriteTask fails #8349 )
Fix SelectableChannel support in NioEventLoop #8344 )
Added option to do busy-wait on epoll #8267 )
Ensure X509KeyManager methods are called on the correct time when using server-side and support more methods of ExtendedSSLSession #8283 )
Do the same extended checks as the JDK when a X509TrustManager is used with the OpenSSL provider #8307 )
查看 4.1.31.Final 的 issue 追踪 了解更多细节。
在这个版本中,开发团队以各种方式添加了对它的支持,当一下任何一个条件满足时:
使用 Java11 或更高版本
使用 netty-tcnative(针对 OpenSSL 1.1.1+ 构建)和 Java8 +
使用 netty-tcnative-boringssl-static 和 Java8 +
即可启用 TLSv1.3。也就是说默认情况下没有启用 TLSv1.3 ,所以如果你想使用它,你需要在配置 SslContextBuilder 时显式启用它以使用 TLSv1.3。
下载地址 http://netty.io/downloads.html
Netty 是一个 Java 开源框架。Netty 提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。