导读 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考试心得: