我们很高兴地宣布即将发布的 netty 版本 4.2.0 的第三个版本 canidate 的发布。每个使用 netty 4.1.x 的人都应该能够升级到 4.2.0.RC3,而不会有任何 API 损坏。唯一的新要求是 JDK8 或更高版本。
我们鼓励 netty 4.1.x 的用户试用此 alpha 版本,因此如果发现任何损坏,请提供反馈。这将有助于我们在发布周期的早期了解任何问题。也就是说,请注意,这只是一个版本,因此还不应考虑用于生产用途。
Netty 4.2.0 将带来一些令人兴奋的新功能,您可以在 netty 4.2.0.Alpha1 的公告中了解更多信息。
此版本中最重要的更改是:
- IoUring:在运行系统支持时尝试启用 IORING_SETUP_SUBMIT_ALL (#14677)
- IoUring:创建具有 IORING_SETUP_SINGLE_ISSUER 和 IORING_SETUP_DEFER_TASKRUN 的环以减少开销 (#14699)
- IoUring:仅内联执行与写入相关的完成 (#14704)
- IoUring:修复 SubmissionQueue.addTimeout(…) 和 SubmissionQueue.addLinkTimeout(…)见 (#14712))
- IoHandler:引入 IoExecutor 并将其传递给 IoHandlerFactory.newHandler(…)见 (#14701))
- IoUring:尽可能使用 IORING_REGISTER_RING_FDS (#14709))
- IoUring:记录支持的功能 (#14719)
- IoUring:如果内核不支持 IORING_SETUP_SUBMIT_ALL,则正确处理提交 (#14718)
- IoUring:将 IoUringIoHandlerConfiguration 重命名为 IoUringIoHandlerConfig (#14726)
- 添加属性以控制默认端点验证 (#14731)
- 当线程发生冲突时分配不带杂志锁的 bytebuf (#14729)
- 升级 protobuf 3.16.3 -> 3.25.5 (#14736))
- 使 StreamBufferingEncoder 默认不以优先级发送标头帧 (#14735)
- IOUring:添加对提供的缓冲区的支持 (#14690)
- 通知事件循环终止将来出现意外异常 (#14737)
- IoRegistration:从外部 API 中删除 Future 的使用并允许包装 (#14744))
- 将 IoExecutor 重命名为 ThreadAwareExecutor 并移动到并发包 (#14747)
- 添加了对使用 CertificateBuilder 生成 ML-DSA 证书的支持 (#14741)
- 修复 GlobalEventExecutor 中的 AccessControlException (#14754))
- 修复无法映射流时可能出现的缓冲区泄漏 (#14755)
- 在 netty-all 中保留依赖项的可选性 (#14751)
- IoEventLoop*:将默认方法移至 IoEventLoopGroup (#14764)
- 删除IoUringChannelOption.IOSQE_ASYNC (#14765))
- 删除 IoUringChannelOption.POLL_FIRST (#14763))
- IoUring:将由于缓冲环中没有空间而导致的读取错误处理为无作 (#14767)
- IoUring:即使使用缓冲环,也使用 IORING_RECVSEND_POLL_FIRST。见 (#14766))
- 还原 DefaultPromise 的新构造函数 (#14771)
- IoUring:IoUringBufferRing 组 ID 应允许值为 0 (#14776)
- 减少管道堆栈深度并提高性能 (#14705)
- 引入 ManualIoEventLoop,允许用户保持对 EventLoop 处理的控制 (#14749)
- IoUring:添加对 Incremental provided 缓冲区消耗的支持 (#14783)
- AdaptivePoolingAllocator:将块大小舍入到 MIN_CHUNK_SIZE 个单位并降低块释放频率 (#14781)
- IoUring:使缓冲环选择更灵活 (#14786)
- IoUring:改进我们对 IoUringBufferRing 的实现 (#14788)
- IoUring:延迟填充 IoBufferRing (#14789)
- 将 netty-tcnative 升级到 2.0.70.Final (#14792)
对于所有更改,请查看我们的 issue-tracker。