我们很高兴地宣布即将发布的 netty 版本 4.2.0 的第一个版本 canidate 发布。每个使用 netty 4.1.x 的人都应该能够升级到 4.2.0.Alpha4,而不会有任何 API 损坏。唯一的新要求是 JDK8 或更高版本。
我们鼓励 netty 4.1.x 的用户试用此 alpha 版本,因此如果发现任何损坏,请提供反馈。这将有助于我们在发布周期的早期了解任何问题。也就是说,请注意,这只是一个版本,因此还不应考虑用于生产用途。
Netty 4.2.0 将带来一些令人兴奋的新功能,您可以在 netty 4.2.0.Alpha1 的公告中了解更多信息。
此版本中最重要的更改是:
- 添加用于生成 X.509 证书以进行测试的模块 (#14263)
- 包括有关为什么无法在 SSLException 中配置接受的颁发者的详细信息 (#14438)
- 在将默认命名组与本机 SSL 实现一起使用之前,请对其进行验证 (#14441)
- 正确检测 OpenSSL 版本是否不支持 KeyManager (#14442)
- 允许为每个 OpenSslContext 设置使用的命名组 (#14443)
- 在对话期间保留默认命名组的顺序 (#14449)
- 根据杂志的所有者专门化 Adaptive 的分配器 Recycler (#14454)
- PcapWriteHandler 不再忽略 writePcapGlobalHeader (#14484)
- IoUring:添加 FileRegion 支持 (#14487)
- 如果返回 false,AdaptiveByteBufAllocator 将不使用 threadlocal 杂志 (#14490
FastThreadLocalThread.willCleanupFastThreadLocals()
) - 添加 AdaptivePoolingAllocator.CENTRAL_QUEUE_CAPACITY 和 MAGAZINE_BUFFER_QUEUE_CAPACITY 的范围检查 (#14497))
- 修复 HTTP 标头验证错误 (#14500)
- 确保 sentinel Magazine.MAGAZINE_FREED 未被替换 (#14503))
- 缩小 (#14504
AdaptivePoolingAllocator.magazineExpandLock
) - IoUring:修复关闭 IoUringServerChannel 两次时的 AssertionError (#14506)
- IoUring:正确处理双重关闭,并始终在取消注册时取消提交的 IO 操作 (#14510)
- 修复:不让 MqttPublishMessage 确保有效负载可访问性 (#14512)
- 当块被释放或移动到中央队列时,减少杂志的 usedMemory (#14515)
- AdaptiveByteBufAllocator:在所有情况下正确管理已用内存策略 (#14516)
- 在 (#14517
HttpContentCompressor
) - 如果我们可以加载本机库,请仅尝试使用 Zstd 和 Brotli。(#14520))
- IoUring:重构 IoUringIoOps 以更好地匹配底层io_uring_sqe (#14521))
- IoUring:确保缓冲区在提交失败时不会泄漏 (#14525)
- IoUring:更正已取消操作的更新内部状态 (#14529)
- IoUring:正确处理 close 和 connect 的取消 (#14531)
- IoUring:始终在取消注册/关闭时取消所有操作 (#14537)
- 废弃 ChannelPipeline.add*(EventExecutorGroup….) 方法 (#14538)
- IoUring:IoUringHandler 不得在拆解时手动取消 IoUringHandle (#14539))
- 为 UnorderedThreadPoolEventExecutor 实现 ‘inEventLoop’ 并弃用它 (#14544)
- IoUring:正确处理接受提交失败 (#14547)
- IoUring:将 IoUringIoOps 包的静态方法设为 private (#14551)
对于所有更改,请查看我们的 issue-tracker。