导读 |
Puma 是一个简单、快速、线程化并且关注高并发的 HTTP 1.1 服务器,适用于开发和生产中的 Ruby/Rack 应用。 |
Puma 6.0.0 现已发布,该版本更新内容如下:
Breaking Changes
放弃对 Ruby 2.2 和 2.3 的支持(现在是 2.4+)([ #2919 ])
Remote_addr 功能已更改([ #2652 ],[ #2653 ])
不再支持 Java 1.7 或更低版本(JRuby 9.1 是最后一个支持该版本的版本)([ #2849 ])
移除 nakayoshi GC ([ #2933 ], [ #2925 ])
wait_for_less_busy_worker 现在默认开启 ([ #2940 ])
为所有环境变量添加前缀 PUMA_([ #2924 ], [ #2853 ])
删除了一些常量([ #2957 ]、[ #2958 ]、[ #2959 ]、[ #2960 ])
以下类现在是 Puma 私有 API 的一部分:Client、Cluster::Worker、Cluster::Worker、HandleRequest。([ #2988 ])
移除 DefaultRackup 等配置常量 ([ #2928 ])
从 Events 中提取 LogWriter ( [ #2798 ])
Features
将大型(100kb+)响应体的吞吐量提高 3-10 倍([ #2896 ],[ #2892 ])
增加文件响应的吞吐量([ #2923 ])
在 Rack 中添加对 streaming bodies 的支持。([ #2740 ])
允许通过 'reuse' ssl_bind 方法或绑定字符串查询参数重用 OpenSSL 会话([ #2845 ])
允许 run_hooks 将 hash 传递给 blocks 以供以后使用([ #2917 ],[ #2915 ])
支持更高精度的 request_body_wait metric ([ #2953 ])
允许 header values 是数组(Rack 3)([ #2936 ],[ #2931 ])
在 /stats 中导出 Puma/Ruby 版本 ([ #2875 ])
允许配置请求 uri 最大长度和请求路径最大长度([ #2840 ])
添加几个公共访问器([ #2774 ])
当 worker 启动失败时记录整个回溯 ([ #2891 ])
[jruby] 启用 TLSv1.3 支持 ([ #2886 ])
[jruby] 支持设置 TLS 协议 + 重命名 ssl_cipher_list ([ #2899 ])
[jruby] 支持 truststore 选项([ #2849 ],[ #2904 ],[ #2884 ])
Bug 修复
在将配置传递给 binder 之前加载配置([ #2897 ])
不要在不识别或不支持的 HTTP 方法上引发错误,例如 CONNECT ([ #2932 ], [ #1441 ])
修复了创建新 SSL listener 时的内存泄漏 ([ #2956 ])
Refactor
log_writer.rb - 添加 internal_write 方法([ #2888 ])
将 prune_bundler 代码提取到它自己的类中。([ #2797 ])
重构 Launcher#run 以提高可读性(无逻辑更改)([ #2795 ])
Ruby 3.2 将具有原生 IO#wait_* 方法,不需要 io/wait ([ #2903 ])
各种内部 API 重构([ #2942 ]、[ #2921 ]、[ #2922 ]、[ #2955 ])
更新说明://github.com/puma/puma/releases/tag/v6.0.0
原文来自:
本文地址://lrxjmw.cn/puma-6-0-0-release.html编辑:王婷,审核员:清蒸github
Linux大全:
Linux系统大全:
红帽认证RHCE考试心得: