Netty 5.0.0.Alpha5 & 4.1.84.Final 发布


Netty 5.0.0.Alpha5 已发布,此版本删除了大量重复代码,并对 API 进行了清理。除此之外还增加了在使用 JDK NIO 实现时,对 Unix Domain Socket 的支持。

主要变化

  • AbstractChannel进行简化和流线化 (stream-lined),增加各种传输之间的共享代码主体,并且更容易实现新的传输。
  • 引入复制自 ServiceTalk 的新 HTTP header API,它取代了以前DefaultHeaders的 API 系列
  • 使用新的 HTTP header API,现在还可以更严格地验证 HTTP/1 和 HTTP/2 header
  • 改进Buffer泄漏检测,并修复了许多泄漏问题
  • AsciiString移除 Mutation 方法
  • native-image使用的条件元数据现在支持自动生成

公告写道,为了让开发者能够在使用 4.1 的同时尝试体验 Netty 5,开发团队选择将两个版本放到不同的包,以便它们共存。因为这是一个新的主要版本,所以会包含许多破坏性的变化,这些变化主要受 Netty 4.1.x 生命周期汲取的经验影响。

接下来,开发团队会将 Netty 的默认分支更改为 main,因此对 4.1 版本所能接受的变化会更加严格,此举主要是为了保证 4.1 版本回滚的可能性下降到最低。当然,重要的错误修复也会被移植到 4.1。综上所述,开发团队目前没有计划停止对 4.1.x 的支持,而是同时支持 Netty 5 和 4.1.x。

Netty 5 迁移指南:https://github.com/netty/netty/wiki/Netty-5-Migration-Guide


Netty 4.1.84.Final 主要是修复错误:

  • 带有无效字符的 HTTP/2 header 值现在在 header 验证中会被拒绝 (#12760)
  • 自动生成用于 native-image 的条件元数据,使 GraalVM 支持更可靠 (#12794)
  • 修复由instanceofcheck-cast检查引起的可伸缩性问题,该问题导致 JVM 中Klass::secondary_super_cache字段的错误共享(参见JDK-8180450)(#12806)
  • 通过使用完美哈希函数 (Perfect hash function)使 HTTP/2 HPACK 静态表实现更快 (#12713)
  • 修复当 PEM 文件有多个对象并且 BouncyCastle 在类路径上时,PEMParser出现的错误 (#12864)

发布公告提到,Netty 4.1.83.Final 版本在发布过程中遭遇了 macOS KQueue 原生二进制文件的错误编译。除了 macOS 特有的原生代码集成外,团队发布到 Maven Central 的 4.1.83.Final 和 4.1.84.Final 版本之间没有任何区别。

详情查看发布公告。

下载地址


相關推薦

2022-10-27

Eclipse Vert.x 3.9.14 已发布,可从 Maven Central 获取新版本。 公告写道,3.9 系列将在 2022 年底正式 EOL,因此建议开发者升级到 Vert.x 4。点此查看升级指南。 主要变化 vertx-health-check 修复处理安装在根路径 (/) 的子路由的

2022-07-26

Netty 5.0.0.Alpha4 已发布,此版本删除了大量重复代码,并对 API 进行了清理。除此之外还增加了在使用 JDK NIO 实现时,对 Unix Domain Socket 的支持。 主要变化 支持创建包含 ProtocolFamily 的所有 SocketChannel 和 DatagramChannel

2022-07-13

Netty 是一个异步事件驱动的网络应用框架,主要用于可维护的高性能协议服务器和客户端的快速开发。 Netty 4.1.79.Final 是一个错误修复版本,具体更新内容如下: PEM 证书解析器不再容易受到 PemReader 中的指数回溯的影响 HTTP

2024-07-23

能协议服务器和客户端的快速开发。Netty 4.1.112.Final 现已发布,这是一个错误修复版本。 具体更新内容包括: 避免在 Netty 初始化时进行不必要的 reflective probes(#14107) 允许 fragments 之间的控制帧(#14122) 仅删除 NioServerDo

2022-11-11

Netty 4.1.85 已正式发布,此版本主要是修复错误,包含如下变化: 修复FlowControlHandler中破坏自动读取 (auto-read) 的错误 (#12467) HTTP/2 HPACK 编码器现在支持更快地对具有许多值的 header 进行编码 (#12665) 修复池分配器中的

2023-04-10

Netty 4.1.91.Final 现已发布。Netty 是一个异步事件驱动的网络应用框架,主要用于可维护的高性能协议服务器和客户端的快速开发。 这是一个错误修复版本,包含了对本地 SSL 实现的一个重要修复,以及修复了一个可能导致状态机

2023-07-22

Netty 4.1.95 稳定版已发布。Netty 是一个异步事件驱动的网络应用框架,主要用于可维护的高性能协议服务器和客户端的快速开发。 此版本主要是修复错误,同时添加了一些新特性: 添加资源泄漏侦听器 (resource leak listener)

2023-11-12

Netty 4.1.101.Final 稳定版已发布,更新内容主要是修复错误,以及修复使用 DatagramChannel 时出现的性能问题。建议使用 DatagramChannel 的开发者尽快考虑升级。 Netty 是一个异步事件驱动的网络应用框架,主要用于可维护的高性能协

2022-06-20

Netty 是一个异步事件驱动的网络应用框架,主要用于可维护的高性能协议服务器和客户端的快速开发。 Netty 4.1.78.Final 是一个错误修复版本,具体更新内容如下: 修正了一个错误,即在已经有 OPT 记录的 DNS 查询中加入了 OPT

2022-12-18

Netty 4.1.86 已正式发布,此版本修复了两个 CVE 安全问题,其中一个被标记为高严重性,并且可以远程触发。此外还修复了其他错误。 HAProxyMessageDecoder 堆栈耗尽 DoS (CVE-2022-41881) HTTP 响应从分配 header 值迭代器中分离出来 (CVE-20

2023-02-15

Netty 4.1.88 已正式发布。此版本修复了多项错误、改进功能和优化性能: 4.1.88 版本包含两个回归错误,官方建议直接升级到 4.1.89.Final。 提升 HTTP 1.1 header 和行的解析速度 为 ClosedChannelException 添加 StacklessSSLHandshakeExce

2023-04-27

Netty 4.1.92 稳定版已发布。Netty 是一个异步事件驱动的网络应用框架,主要用于可维护的高性能协议服务器和客户端的快速开发。 此版本主要是修复错误,同时包括一些性能改进。主要变化如下: 提升 Recycler 在 OpenJ9 上

2023-03-16

Netty 4.1.90.Final 现已发布。Netty 是一个异步事件驱动的网络应用框架,主要用于可维护的高性能协议服务器和客户端的快速开发。 这是一个错误修复版本,但也包括一些性能改进。具体更新内容包括: 添加未通过验证的 h

2022-09-01

Netty 4.1.80 已正式发布,此版本主要是修复错误,不过也包含了一项重要变化:在使用多核时显著提升了 HTTP/1.x 的性能。如果对 JVM 和性能感兴趣,查看 #12709 中记录的所有详细信息。 Netty 是一个异步事件驱动的网络应用