Swow 1.6.0 正式发布!(swoosh)

deer332025-08-10技术文章22

版本亮点

该版本提供了完整的 PHP 8.4 支持、更新更强大的功能、增强的 SSL/TLS 可靠性、关键的内存安全修复以及重大的架构改进。

新增特性

  • PHP 8.4 完整支持
  • 新增管道 API:Swow\pipe(),Swow\fileno(),Swow\pipe_from_fd()
  • 新增Swow\nproc()获取 CPU 核心数
  • 新增stop()方法用于优雅停止服务器
  • 新 INI:swow.hook_pdo_pgsql

增强了什么?

  • 闭包序列化完全重构(破坏性变更)
  • 用 AST 构建闭包代码
  • 性能优化:Apple Clang 兼容性,libcurl 最低版本提升到 7.61.0

修复了什么?

  • 修了 SSL 的一堆问题:enableCrypto()和流 CA 读取
  • 修复 Use-After-Free:协程管理和异常处理中的内存安全问题
  • 修复协程终止和异常抛出时的 UAF
  • 修复 ZTS 构建关闭时的崩溃
  • 修复 PHP 8.4 各种兼容性问题
  • 更新 libpq 查找路径
  • 修复构建问题:字符串终止符、左移溢出、宏展开等
  • 修复 HTTP 响应 Content-Length 未定义错误

移除了什么?

  • 移除Swow\Errno::ESTALE

内部更新

  • 更新 libcat 的 libuv
  • 优化许多兼容性宏或包装
  • 从 PHP 源码树更新 swow_fs 以改进文件系统处理
  • 更新到最新 PHP 8.4 PostgreSQL 源码,增强各种能力
  • 新增各种测试:OpenSSL 钩子、TLS、Property Hooks
  • 增强 CI/CD 配置和开发工具