Skip to content

Releases: hulklab/yago

v1.6.5

04 Mar 10:48
750289a
Compare
Choose a tag to compare

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

25 Dec 14:49
a87ad7a
Compare
Choose a tag to compare

FEATURES

  • redis-locker 中使用 pub/sub 实时获取锁,替代轮询获取锁
  • yago.Ctx 增加 AbortWithE 用于在中间件中中断请求
  • 增加 HTTPCodeError,用于根据 third 返回的 http 错误码做不同处理
  • 添加 Makefile
  • http server shutdown 时检查错误,根据不同错误输出不同内容

BUGFIX

  • 当创建 Orm 实例失败时打印错误信息
  • 修复 setError 的 bug

v1.6.3

23 Sep 08:56
1a6b8f3
Compare
Choose a tag to compare

FEATURES

  • ctx 返回报错时,屏蔽 data 信息
  • 优化了 http middleware 的使用方式
  • validator 支持切片

BUGFIXES

  • http third 传参支持 bool 类型的值
  • libs/semalib/semaphore_test.go 单词拼写修复
  • redis 分布式锁 bug 修复

v1.6.2

21 Jul 04:02
Compare
Choose a tag to compare

BREAKING

  • 更改 elastic 包名为 es

v1.5.6

21 Jul 04:02
Compare
Choose a tag to compare

BREAKING

  • 更改 elastic 包名为 es

v1.6.0

29 Jun 11:37
Compare
Choose a tag to compare

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

18 Jun 06:59
Compare
Choose a tag to compare

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

22 Apr 03:25
Compare
Choose a tag to compare

BUGFIXES

  • 修复 http third 日志插件加载多次的问题

FEATURES

  • basetask 增加 runLoopWhile(hander func()bool, interval ...time.Duration) 方法用来控制需要退出循环的场景

v1.5.0

20 Apr 09:22
Compare
Choose a tag to compare

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

20 Apr 09:29
Compare
Choose a tag to compare

FEATURES

BUGFIXES

  • 修复 http third 日志的部分问题,增加了 method,response_header, http status 错误时的 response_body