Releases: hulklab/yago
v1.6.5
FEATURES
- yago 命令行支持自动生成代码,可一键生成 dao, model, service, http, service-method, http-method, api 等
- 支持 embed 嵌入编译静态文件,如前端代码,要求 go1.16+
- example 模板目录去掉 home 模块,改为 demo 模块,example 增加 gservice, gmodel, ghttp 等基础目录
- 增加 HttpServer 的 ReadTimeout 和 ReadHeaderTimeout 参数,解决 http 慢速攻击问题
- 去掉 taskCloseChan,增加全局的 stopChan,用于在业务中接收应用终止信号
- yago run 热编译支持 .toml 配置文件
- 字符串函数增加 substr,数学函数支持 floor
- 增加 makefile 项目管理文件
- basethird 的 conn_timeout 默认值改为 30s
BUGFIX
- setError 支持 err 为 nil 的情况
- 解决第三方调用返回 response 过大导致 oom 问题
- 修复 http ctx 的 set err 问题
v1.6.4
v1.6.3
v1.6.2
v1.5.6
v1.6.0
BREAKING
- 废弃 http BeforeAction 和 AfterAction,改由 middleware 替代
FEATURES
- 新增 http group route 和 middleware
- 新增 basemodel 通用分页列表方法
- 新增 basemodel options 传参
- 升级 xorm 支持 context
- 新增 excellib 支持 excel 导入和导出
- 新增 treelib 支持列表数据生成树
- 优化 semalib 支持错误提前返回和并发限制
- 新增 example 中的 trace context
v1.5.4
BREAKING
- 废弃 task RunLoopWhile
BUGFIXES
- 修复 libs/date/date.go 中的 UTC 格式的时间 bug
- 修复 Redis 全局锁的一些 bug
- 解决 go test 不需要使用配置文件时的报错问题
FEATURES
- 新增 Orm Upsert 语法
- 新增全局锁组件库 coms/locker
- 新增 ES 组件库调用
- 新增 RunLoopWithLock 通过全局锁解决 Task 任务分布部署时,保证只有一个实例在执行
- basethird 增加 ErrResponse 方法,用来保障返回值 resp 始终不为空
- 多静态文件目录支持
- 新增 third api 模板命令生成工具
v1.5.2
v1.5.0
BREAKING
- 废弃 yago.OK,因为 yago.Err 实现了error 接口,没有错误直接返回 nil 即可
- 废弃 Err.HasErr 方法
- ctx.SetError 不再支持扩展字段,改成由构建 error 时扩展
FEATURES
-
增加 yago.WrapErr 方法,用来在 yago.Err 中包裹 go 标准库类型的 error 错误。eg. yago.WrapErr(yago.System, errors.New("mysql error")) 将返回一个包裹 mysql error 的错误。同时 ctx.SetError 增加 WrapErr error 的解包裹操作,将 yago.Err 返给接口,将完全的错误信息赋值给 ctx,方便在 basehttp.AfterAction 中对 error 做处理
-
yago.NewErr 增加了对 yago.Err 类型错误的重新定义。eg. yago.NewErr(yago.Forbidden, "you are not permitted")将返回一个 yago.Forbidden 的错误,同时 errmsg 可以根据后面的参数自定义
-
增加关于手机号的自定义验证器和翻译,可作为自定义验证器和翻译的使用参考
-
kafka 组件的 consume cb 函数增加 topic 参数
BUGFIXES
-
修复 http 服务在长时间高并发压测时 panic 的问题,建议及时更新到最新版本
-
修复之前 rpc 和 http 两个模块同时注册翻译,导致 rpc 或 http 模块翻译不生效的问题
v1.4.5
FEATURES
-
配置文件支持继承的功能,支持多级继承,详情参考 https://hulklab.github.io/yago/config/detail.html#%E9%85%8D%E7%BD%AE%E5%B5%8C%E5%A5%97
-
配置文件修改,支持运行时重新加载,命令 kill -USR2 $pid,需要说明的是,重新加载并不会加载 http, rpc, task 相关的参数
-
http third 基类支持用户自定义中间件,并增加默认日志中间件的开关
-
redis 组件增加支持监听多 topic
-
locker 组件支持永久锁和带有效期锁两种使用模式,详见文档 https://hulklab.github.io/yago/component/locker.html#%E4%BD%BF%E7%94%A8_Locker_%E7%BB%84%E4%BB%B
BUGFIXES
- 修复 http third 日志的部分问题,增加了 method,response_header, http status 错误时的 response_body