4.4.0

移除

  • 移除PostgreSql模块,在单独的ext-postgresql扩展中维护。废弃原因:postgresql使用了异步回调方式实现协程调度,不符合目前内核协程化的统一规划。另外postgresql目前用户量非常低,并且缺少必要的单元测试,无法保证质量。
  • 移除Serialize模块,在单独的ext-serialize扩展中维护。废弃原因:由于PHP内核频繁变更,导致无法实现稳定可用的模块。与php serialize相比没有太大差异化定位。

废弃

  • 废弃Buffer模块,废弃原因:可替代性强,使用率低,可用PHP字符串、fopen("memory")代替。
  • 废弃Lock模块,废弃原因:在协程模式下加锁可能存在问题,可使用chan实现协程版本的锁

4.55.0版本中彻底移除

重构

  • 重构Co\MySQL模块
  • 重构Co\Http2\Client模块
  • 重构底层命名空间和工程结构

现在底层的协程客户端组件全部基于swoole::coroutine::Socket C++类实现。进行了高度抽象和封装,将IO操作的复杂性隐藏在底层。

增加

  • Co\Redis增加兼容模式,现在Co\Redis返回结果与phpredis可以完全一致
  • Http\Server增加static_handler_locations设置,可以设定静态文件路径
  • Co\Http\Client增加setBasicAuth方法
  • Runtime::enableCoroutine增加对stream_socket_pair的支持