Skip to content

Releases: zhamao-robot/zhamao-framework

2.8.1 (build 475)

03 Jul 06:13
Compare
Choose a tag to compare
  • 修复 WebSocket 连接时报错的 Bug
  • 修复 match_args 全局方法对于 0 字符串处理的 Bug(#136

What's Changed

Full Changelog: 2.8.0...2.8.1

2.8.0 (build 473)

07 May 09:55
Compare
Choose a tag to compare
  • 新增 AllBotsProxy、AllGroupsProxy 代理类,支持批量发送机器人动作
  • 新增全局函数 implode_when_necessary(),用于将可能为数组的参数转换为字符串
  • 新增依赖注入、容器支持,目前对 Swoole 事件、机器人事件均支持使用依赖注入
  • 新增全局容器方法 container()resolve()app(),用于获取容器参数等
  • 新增相关容器测试
  • 新增链式调用全局方法 chain()
  • 新增函数执行时间工具全局函数 stopwatch()
  • 新增 @CommandArgument 注解,可直接通过注解添加聊天机器人命令参数
  • (内部)新增 EventManager::$event_map,用于补充对事件对象遍历的方式
  • 新增 EventMapIterator 类,用于遍历注解事件对象
  • 新增 MessageUtil::checkArguments() 方法,用于检查 @CommandArgument 注解
  • 新增启动命令参数 --audit-mode,用于单次审计模式
  • 新增部分不可执行脚本的防呆退出功能
  • 重构全局方法 match_pattern(),优化性能以及解决部分字符串不能匹配的 Bug
  • 优化容器支持无名顺序参数的调用
  • 优化静态路由,支持 64 以上长度的路由
  • 优化 @RequestMapping 注解事件的方法返回值处理,支持数组和字符串(数组自动转为 JSON 格式)
  • 优化单元测试流程
  • 优化上下文对象,在非协程环境下不再会抛出异常或返回 null
  • 修改默认 Hello 模块下随机数功能为采用 @CommandArgument 注解模式
  • 重构帮助生成器,将帮助生成器重构为 CommandInfoUtil
  • 修复 CQ::encode() 无法传入 int 的强类型解析问题(#113
  • (内部)重构 CQ 类
  • 修复 EventMapIterator 对 PHP 8.1 的兼容性问题
  • 修复 #95 中提到的无输入流时报错的问题
  • 修复 ZMServer 中的 typo
  • 修复 Container 环境继承全局变量的问题
  • 修复 server:stop 命令下部分情况报错的问题

Full Changelog: 2.7.6...2.8.0

2.7.6 (build 460)

03 Apr 13:48
4702aa1
Compare
Choose a tag to compare
  • 重构 phpunit-swoole,使其可以正常使用
  • 新增 --private-mode 参数,用于隐藏启动前的 MOTD 及敏感信息
  • 修复 Composer extra 配置项 zm.exclude-annotation-path 不能正常工作的 Bug
  • 优化注解事件加载器,防止 Master 进程中添加的事件在 Worker 中被覆盖的问题
  • 修复 DataProvider::isRelativePath() 方法判断有误的 Bug
  • 新增退出框架时支持以非 0 exit code 退出的功能
  • 优化 ZMUtil::getClassesPsr4() 方法,排除不含类的文件
  • 优化 module:xxx 类命令的有关实现代码
  • 优化代码到 phpstan-level-4

What's Changed

Full Changelog: 2.7.5...2.7.6

2.7.5 (build 455)

27 Mar 13:57
c1ae1de
Compare
Choose a tag to compare
  • 修复前几个小版本无法收发消息的 Bug
  • 新增 API Document 自动生成脚本

What's Changed

Full Changelog: 2.7.4...2.7.5

2.7.4 (build 454)

26 Mar 17:28
Compare
Choose a tag to compare
  • 修复部分命令下无法杀掉进程的 Bug
  • 新增 @Cron 注解
  • 修复全局函数 match_pattern 无法正常工作的 Bug

相关拉取请求

Full Changelog: 2.7.3...2.7.4

2.7.3 (build 453)

25 Mar 11:23
b6e135a
Compare
Choose a tag to compare

在 PHP 7.4 中,可能会出现 PHP Warning: mb_strpos(): Empty delimiter 错误,导致无法正常处理消息。您可以暂时回退至 2.7.2 版本或更新到 2.7.4 及以后的版本,或者手动修复。
手动修复方法如下:
vendor/zhamao/framework/src/ZM/global_functions.php 文件中的
mb_strpos($pattern, '') === 0 替换成 empty($pattern)
mb_strpos($subject, '') === 0 替换成 empty($subject)
回退版本方法如下:
composer update zhamao/framework 2.7.2
更新方法如下:
composer update

  • 更新文档框架为 VuePress
  • 一键部署静态 PHP 脚本新增自定义 PHP 版本功能 ZM_DOWN_PHP_VERSION
  • 新增 MessageUtil::generateCommandHelp() 自动根据注解生成帮助列表功能
  • 修复 OnTick、SwooleHandler、OnSetup 不能使用 Attribute 模式的 Bug
  • MiddlewareInterface 新增 property $middleware,用于 IDE 识别中间件内查询参数
  • 优化 global_functions 部分不符合规定的命名
  • 废弃 getAllFdByConnectTypegetClassPathexplodeMsgconnectIsQQconnectIsDefaultconnectIsgetAnnotationsmatchArgsmatchPatternonebot_target_id_namezm_gozm_data_hash 全局函数

相关拉取请求

  • 增加命令帮助生成器 by @sunxyw in #65
  • 重构全局函数,统一函数命名,并补全注释 by @sunxyw in #67
  • 将文档重新部署和重构为 VuePress by @crazywhalecc in #68
  • 修复命令生成器无法正确解析命令别名的问题 by @sunxyw in #69
  • 修饰部分文档 by @sunxyw in #70
  • 修改集成测试配置以忽略文档变更 by @sunxyw in #73
  • 增加命令帮助生成器文档 by @sunxyw in #71
  • Fix OnSetup Attribute execution bug (release 2.7.3) by @crazywhalecc in #74

Full Changelog: 2.7.2...2.7.3

2.7.2 (build 449)

20 Mar 17:26
Compare
Choose a tag to compare
  • 新增 Composer 模块加载和分发模式

Full Changelog: 2.7.1...2.7.2

2.7.1 (build 448)

20 Mar 15:30
Compare
Choose a tag to compare
  • 加快 build 命令的执行速度,取消进度条和提升性能

Full Changelog: 2.7.0...2.7.1

2.7.0 (build 447)

20 Mar 14:18
Compare
Choose a tag to compare
  • 优化分离 WorkerManager 与 ProcessManager 的职责
  • 新增 Ctrl+C 一次无法停止框架时多次 Ctrl+C 后可强行杀掉所有进程的功能
  • ./zhamao server:stop 新增参数 --force,使用 SIGKILL 强行杀掉所有进程
  • 新增 AnnotationParser 对 autoload-dev 项中的 psr-4 默认检索条件
  • 新增框架启动状态检测功能,如果已经启动了同样目录的框架,则会报错
  • 新增“强制启用轮询模式启动热更新”功能(参数 --polling-watch
  • 修复与 PHP 8.1 的兼容性
  • 对 DaemonCommand 进行优化,与 ServerCommand 效果相同
  • 修复 autoload.psr-4 不存在时报错的 Bug
  • 新增框架停止时 Worker 退出回显状态码
  • 新增 inotify 判断模式,如果使用 --watch 检测到没有安装 inotify,则自动使用轮询模式
  • 新增 PHPStan 和 PHP CS Fixer 并优化全局代码
  • 修复 ctx() 可能会返回 null 的 Bug
  • 修复 Response 类在 PHP 8.1 环境下的报错
  • 新增 PHP 8 Attribute 与注解同时支持的特性
  • 新增方法宏(Macroable)
  • 修复打包模块时命名空间与实际不一致的 Bug
  • 修复打包模块后 files 的 autoload 项不能被解压和引入的 Bug
  • 修复注释空格的样式
  • 更改 extra.exclude_annotatezm.exclude-annotation-path
  • 新增配置项 runtime.annotation_reader_ignore:支持注解解析器忽略注解的自定义
  • 新增 ./zhamao server 下的 --no-state-check 参数,关闭“启动框架前的运行状态检查”功能

Full Changelog: 2.6.6...2.7.0

2.7.0-beta4 (build 444)

20 Mar 10:01
61c7972
Compare
Choose a tag to compare
Pre-release

What's Changed

  • docs: add missing module version example by @sunxyw in #62
  • docs: add qingyunke chatbot integration example by @sunxyw in #63
  • docs: add weather bot example by @sunxyw in #64

Full Changelog: 2.7.0-beta2...2.7.0-beta4