我们很高兴地宣布 netty 4.2.1.Final 的发布。这是我们 4.2 版本系列的第一个错误修复版本。
最重要的变化是:
- 添加必要的本机映像配置文件 (#14928)
- 将 QUIC 编解码器从孵化器升级到 Netty Core (#14979)
- IoUring:共享 IovArray 以减少抖动和分配 (#14996)
- 可选地依赖 bctls-jdk15on,取 2 (#14998)
- 修复 HashedWheelTimer 中 pendingTimeouts 可能不正确的问题 (#15000)
- SSL:如果不支持命名组,则清除本机错误 (#15001)
- ManualIoEventLoop:正确计算 delayNanos 和 deadlineNanos (#15002)
- 使公共 API 指定显式 maxAllocation 以防止 OOM (#15005)
- 修复:自定义本机 workdir 失败时提前崩溃 (#15009)
- 在 CertificateBuilder 中添加对 ML-KEM 的支持 (#15012)
- 正确计算次优块停用概率 (#15015)
- 修复:当 jzlib 不可用时,WebSocketClientCompressionHandler 不应声明窗口位支持 (#15018)
- 为 Base64 编码器/解码器添加“unpadded”支持 (#15030)
- 修复方法 AdaptivePoolingAllocator.allocateWithoutLock(…) 中的错误(#15031))
- 修复 TcpDnsQueryDecoder 中的 Bytebuf 泄漏 (#15033)
- 向 ManualIoEventLoop 添加 ticker (#15043)
- IoUring:确保在 channel::read 之前正确设置缓冲区组 (#15054)
- 修复 transport-native-epoll Bundle-SymbolicNames (#15059))
- ManualIoEventLoop.run(-1) 的处理方式应与 runNow() 类似 (#15064))
- 修复 transport-native-kqueue Bundle-SymbolicNames (#15065))
- 修复 transport-native-io_uring Bundle-SymbolicNames (#15066))
- 修复 resolver-dns-native-macos Bundle-SymbolicNames (#15067))
- 修复 PlatformDependent0 字段的初始顺序 (#15077)
- 重命名原生库,以便孵化器版本和新版本可以共存 (#15098)
- 更新到 netty-tcnative 2.0.71.Final (#15103))
- IoUring:暂时禁用对 RECVSEND_BUNDLE 的支持 (#15104)
- DirContextUtils.addNameServer(…) 应该只在内部捕获 Exception (#15105)
- 使用 java.home 中的 keytool (#15121)
有关更多详细信息,请访问我们的 bug 跟踪器