Puma 5.2.0 发布了。Puma 是一个简单、快速、线程化并且关注高并发的 HTTP 1.1 服务器,适用于开发和生产中的 Ruby/Rack 应用。
本次更新内容包括:
特性:
- 通过减少开销,在 ssl 连接上 MRI 的延迟降低了10倍
- 添加选项可以为 libev 指定所需的 IO 选择器后端
- 添加了设置 OpenSSL 验证标志的功能(仅限 MRI)
- 编写消息后使用
flush
,以避免使用sync=true
更改 $stdout 和 $stderr
Bug 修复
- Add
#string
method toPuma::NullIO
([#2520]) - Fix binding via to IPv6 addresses ([#2521])
- 将 dhparam 更新为 2048 位以用于 SSL_CTX_set_tmp_dh
- 更改了关闭监听器后将输出的
Goodbye!
消息 - 修复了 0.0.0.0 和 localhost 的 SSL 绑定日志记录
- 修复编译器警告,但跳过与 ragel 状态机器生成的代码相关的警告
- 修复使用 Puma 控制服务器时与 nio4r gem 有关的分阶段重启错误
- 将
#string
方法添加到Puma::NullIO
- 修复了通过 Rack handler 绑定到 IPv6 地址
重构
- 重构 MRI 上的 MiniSSL::Context,修复 MiniSSL::Socket
- 删除
Server#read_body
- 如果编译扩展失败,引发 GH 操作警告,可通过
MAKE_WARNINGS_INTO_ERRORS
配置