版本更新

v2.0.6

修复(Fixed)

  • 修复 ws server收到消息时,默认使用当前fd作为响应消息的客户端 3a8890cf
  • 修复 ws server通过swoole server拿到的全部连接里,fd的类型可能不是整型导致报错。0fa79d7
  • 修复 stdlib SystemHelper 在 windows 10 中会被 Defender 删除 71c2893

更新(Update):

  • 调整 ws server在worker 退出时自动关闭连接,添加开关配置,可以选择是否开启。3a8890c

增强(Enhancement)

  • 新增日志按时间切割 f649df2
  • 新增日志支持传递额外参数 55d5533
  • 调整和新增了一些ws server相关事件,方便用户使用 e1b0583

扩展(Extra):

  • swoftcli 已经支持基本的应用骨架和组件结构创建,以及部分类文件生成功能

v2.0.5-beta(2019-08-06)

修复(Fixed):

  • 修复提前中断请求逻辑可能导致无法正确的格式化对应的Content-Type f031398
  • 修复使用sgo创建子协程,在结束时没有清理与顶级协程的映射关系 de11ae5b
  • 修复 Xml 格式解析方法 24d0038
  • 修复类代理 Unique 字符串问题 444ddeb
  • 修复 context()->get() 存在问题以及废弃 Context::mustGet() 方法 6acc1b5
  • 修复接口注入,类名访问错误 2d9a31f
  • 修复 模型使用 paginate 方法, 结果集没有映射字段3027287
  • 修复 websocket server 里,当有多个worker,主动关闭非当前worker连接时报错 7666969

更新(Update):

  • 默认的 worker num 设置通过 swoole_cpu_num 函数获取 553f6500
  • 验证器调整成,默认非必须,用户自己开启 e5b258d
  • 不再抛出swoft内部的 ContainerException 到用户使用层 1e74893
  • console output 新增 confirm select 等交互方法 0181138a

增强(Enhancement):

  • console 命令选项设置 CommandOption,现在允许选项描述为多行信息 e5914983
  • websocket server 的全部消息发送方法,支持传入 opcode 参数 dc164ffe9
  • websocket 模块允许设置当前模块的默认 opcode,用于自动处理返回数据设置 opcode 9e3e9672
  • 增强 websocket 相关类,现在消息处理方法允许注入更多数据对象类型 Request Response 3d6c60b4
  • 当worker退出时,websocket server 会自动关闭所有连接 5ea10ecc
  • Add Timer 定时器封装 eb92ee6
  • Add Coroutine 方法封装 d8c2b88

扩展(Extra):

  • swoft/crontab 秒级别定时任务
  • swoft/whoopsfilp/whoops 在swoft中使用的简单封装,用于渲染并显示更加利于阅读的错误信息

2.0.5+ 验证器默认关闭,需要开发者开启(validator setting)

v2.0.4-beta(2019-07-21)

升级注意:

  1. 请去掉 bin/swoft 里的 Runtime::enanbleCoroutine() 设置
  2. 请确保 swoole 的 swoole.use_shortname 的值为 On

增强(Enhancement):

  • Swoft\Http\Message\Request 新增 getHeaderLines() (74a2a91)
  • Aop 新增 getArgsMap()getClassName() 方法 (c47e785)
  • 新增 srun() 函数,用于协程调度 (3c4a6a4)
  • 优化 server 事件(onStart / onWorkStart / onWorkStop / onShutdown),事件自带支持协程 (a8d5a8d)
  • 新增投递同步阻塞任务(ec938e5)
  • 新增 Redis call 方法, 用于使用同一连接操作(92456987)
  • 兼容 Swoole 4.4.x

修复(Fixed):

  • 修复 迁移类名太长导致记录类名不全(58314b8)
  • 修复 实体查询之后使用Setter更新字段值之后update更新无效(caadf0e)
  • 修复 stop 后删除pid文件的结果返回错误,导致restart失败 (2be450bf11)
  • 修复 i18n 设置默认语言不生效的问题 (b401a504e)
  • 修复 ws server在有多个worker时,无法主动关闭其他worker的连接(271b6398)
  • 修复 http server接收xml请求时,content type 不能正确匹配(2ff9a4e61)
  • 修复 使用 Database, json 操作无效(92456987)
  • 修复 limiter 限速器 Redis 加前缀无法使用问题(7b54d4c)

更新(Update):

  • 更新 ws server 可以通过配置 disabledModules 来禁用 ws 模块(fa31111d)

扩展(Extra):

  • 在官网增加案例展示,欢迎大家提交案例到官方案例仓库 swoft-cloud/swoft-case
  • 在GitHub上对文档的修改,将会自动更新到官网文档,不再需要手动刷新

新增(New)

v2.0.3-beta(2019-07-08)

不兼容(Incompatible)

  • 移除 request->json() 方法(c9e8f04) 替代方法 getParserdBody()
  • 应用日志和控制台日志 levels 由数组配置改成,字符串配置,详细见文档

新增(Enhancement):

  • 新增接口依赖注入(6169f84)
  • 新增 getFile 方法获取文件上传保存之后的信息(fe7e3a6)
  • 新增 restart() 服务新增重启方法(2ffec37)
  • 新增调用 1.x RPC 服务支持(30d73c3)
  • 新增 AOP 类名匹配支持正则表达式(bc5e479)
  • 新增 RPC Server /Http Server 中间件命名空间 use 错误提示(b1cec04)
  • 新增 验证器排除属性字段 unfields(b1bf44f)
  • 新增 自动写入时间戳(dc58011)
  • 新增 模型动作事件(dc58011)
  • 新增 数据库迁移(26bb464)
  • 新增 实体自动与 json 和数组互转(dc58011)
  • 新增 模型批量更新方法batchUpdateByIds(dc58011)

修复(Fixed):

  • 修复 cookies 设置时的一些问题,增加一些 withCookie 相关方法(b05afbb01)
  • 修复 在console使用协程方式运行命令时,没有捕获处理错误(8a5418bf)
  • 修复 websocket server 重启命令没有先停止旧server问题(db2d935)
  • 修复任务返回值为 null 问题(a69347c)
  • 修复 RPC Server 只有类中间件无法使用问题()204bc7f
  • 修复 RPC Server 返回值为 null 问题(4d091be)
  • 修复 Logger 和 CLog 日志等级无法覆盖和无效问题(8eb8aba)
  • 修复 模型里面的属性不支持自定义表达式(dc58011)

更新(Update):

  • 验证器优化,支持自定义验证规则(d959a4f)
  • 重命名错误处理管理类 ErrorHanldersErrorManager (f3a8f04b)
  • console组件的异常处理改为由error组件提供的统一处理风格 (4f47204)
  • console组件允许设置禁用命令组(c5a0269)
  • 在默认的错误处理中,允许设置错误捕获级别。默认级别是 E_ALL | E_STRICT (afff9029)
  • 优化 启动ws server时同时启用了http处理功能,信息面板添加提示(83a81170)
  • 优化 启动ws server 并同时添加rpc server启动,信息面板没有显示 rpc server信息(3d1d0d848)

扩展(Extra):

  • 文档添加支持通过google进行搜索
  • 新增 apollo 组件
  • 新增 consul 组件
  • 新增 breaker 组件
  • 新增 limter 组件
  • 新增 tcp-server 组件

v2.0.2-beta(2019-06-21)

新增(Enhancement):

  • 新增 $request->parsedQuery() 方法 (ab45089)
  • 新增 Bean 属性注入基础数据类型(string/int/bool/float/array),自动根据注释类型转换。(e3d4085)
  • 新增 db(), 使 Model/Query/DB 支持切库(f3b12c9)
  • 新增 DbSelectorInterface 用于根据业务自动切库(b36ca03)
  • 新增 Http server 增加Cookies响应支持 (1a024bf)
  • 新增 devtool 组件的实体生成(14b4d39c)
  • 新增 允许注册 swoole 的 pipeMessage, packet 事件[afec0e3f]
  • 新增 添加更多启动时的相关事件[8aaa38c4]
  • 新增 validate() 不依赖注解验证方式(cc35560)
  • 新增 RPC 调用返回错误 RpcResponseException 异常(baa482f)
  • 新增 允许注册 swoole 的 pipeMessage, packet 事件(afec0e3f)
  • 新增 添加更多启动时的相关事件(8aaa38c4)

修复(Fixed):

  • 修复 paginate 无法指定查询字段(308d330)
  • 修复 实体 join 操作,显示不出关联表数据 (446a3a2)
  • 修复 实体属性名attributes等与系统定义属性冲突问题 (1a9d25b)
  • 修复 AOP 切面重复执行问题 (54e00ac)
  • 修复 Http 服务全局异常 contentType 失效问题(e704116)
  • 修复 Http server在启用https 时,type 检查无法通过 (3e9b431)
  • 修复 Http server通过data响应html时可能出现错误(e5513df)
  • 修复 控制器 table 数据显示 (4d27718)
  • 修复 devtool 生成的 phpstorm meta文件key重复(1838552)
  • 修复 ws-server 参数路由匹配失败(4d3392e6)
  • 修复 Http 服务 content-type 多值解析错误问题(1657979)
  • 修复 Co::multi 抛出异常调用错误问题(d0ff0f7)
  • 修复 body 字符串无解析调用错误问题(32abf60)
  • 修复 通过 setter操作实体 toArray失效问题(9c0f9505)
  • 现在停止server(包含Ctrl+C)时总是会删除pid文件,修复没有删除pid文件导致docker重启失败问题(6a96b2c)
  • 修复 通过 @Inject 注入Redis连接池没有释放以及连接池全部空闲判断问题(feac3700)
  • 修复 数据库开启事物多连接池操作错误(3f80474)
  • 修复 init() 方法中使用 config() 函数问题(fe9b92b)
  • 修复 getParsedQuery() 方法初始化问题(8e05836)
  • 修复 一些bean会出现重复初始化(例如 config)问题 (f8ef5a9a)
  • 修复 Autoloader 文件与其它composer包文件冲突问题 (ba19af363)

更新(Update):

  • 修改模型方法insert,insertGetId,updateOrInsert只会插入定义了@Column字段(9c0f9505)
  • 启动swoft时加入冲突扩展相关的运行环境检查(7fa7188f)
  • 调整 count,sum,avg,max,min 返回值类型(c9b5e17a)
  • Http server 路由匹配顺序优化(d8fb588)
  • 完善 RPC Client 调用错误信息提示(a1e56eb)
  • 调整 Redis zAdd 成员和分数的位置⚠️不向下兼容(1a3275b3)
  • 调整 如果没有添加验证注解,会跳过验证解析相关流程(582c806cc)
  • 去除swoole中已经废弃的 buffer full/empty 事件相关代码 (873a97bed)
  • 优化 Http server 验证器流程(0e73a8c)

扩展(Extra):

  • swoft/view 添加通过 @View 渲染视图支持

v2.0.1-beta (2019-05-29)

新增(Enhancement):

  • 新增验证器不存在错误提示(5ba8682)
  • 新增 AOP 代理类名称标识 _PROXY_(5ba8682)
  • 新增实体字段值类型转错误异常提示(ab3cfea)
  • 新增 BeanFactory::getBeans() 根据类名查询使用实例(999c10f)
  • 新增 Model getAttributeValue 获取字段值方法(642d791e)
  • 新增 Get 方式参数验证(6452a37)
  • 新增 Redis 通过 Inject 方式注入使用(fc0a88e)
  • 新增 RRC 服务全局异常处理(1653b24)

修复(Fixed):

  • 修复 CLog 日志调用栈错误(868102f)
  • 修复 Co::multi 调用失败错误数据格式(5ba8682)
  • 修复 Function.php 重复加载(b063dd1)
  • 修复 Logger 日志调用栈错误(ab3cfea)
  • 修复 worker 进程退出未释放(close)数据库、缓存、RPC 连接池(5b1baa5)
  • 修复 开发者自定义 content-type 失效问题(22cf706)
  • 修复 request/session 级别销毁失效问题(e0d1493)
  • 修复 bean 名称包含 . 点号失效问题(dc37c92)
  • 修复连接池 maxIdleTime 参数无效问题(0e05591)
  • 修复 文件上传 (10bc7fa)
  • 修复 默认输出编码为UTF8 (755c8cf)
  • 优化 Redis 配置类型转换(533b592)
  • 打包为phar运行时路径错误(533b592)

Swoft-cli

  • 修复一些问题 swoft-cli
  • 发布新版本时自动通过travis部署phar到GitHub release (d1503b2)

Devtool

  • 新 bean 方法代码智能提示(bean()/BeanFactory::getBean()/Swoft::getBean())(b63fe07)

v2.0.0-beta (2019-05-21)

Swoft 2 重构归来,基于 Swoole hook 方式,底层完全重构,相比之前更佳简单、稳定、易上手。

功能特性:

  • 内置高性能网络服务器(Http/Websocket)
  • 灵活的组件化
  • 灵活的注解功能
  • 多样化命令终端(Console)
  • 强大的切面编程(AOP)
  • 完善的容器管理、依赖注入 (DI)
  • 灵活的事件机制
  • 基于 PSR-7 的 HTTP 消息实现
  • 基于 PSR-14 的事件管理器
  • 基于 PSR-15 的中间件
  • 可扩展的高性能 RPC
  • 国际化(i18n)支持
  • 简单高效的参数验证器
  • 高性能连接池(Mysql/Redis/RPC),自带断线重连
  • 数据库高度兼容 laravel
  • 缓存 Redis 高度兼容 Laravel
  • 高效任务处理
  • 灵活的异常处理
  • 强大的日志系统
/docs/2.x/zh-CN/introduction/update.html
progress-bar