v1.4.6 (2019-01-24)

新特性

  1. 新增并发安全的高性能任务定时器模块gtimer, 类似于Java的Timer,但是比较于Java的Timer更加强大,内部实现采用灵活高效的分层时间轮设计,被设计为可管理维护百万级别以上数量的定时任务。gtimerGF框架的核心模块之一,单元测试覆盖率达到93.6%https://goframe.org/os/gtimer/index
  2. 采用任务定时器gtimer重构gcron定时任务模块,去掉第三方github.com/robfig/cron包的使用。gcron增加单例模式的定时任务:https://goframe.org/os/gcron/index#
  3. gconv类型转换模块支持对struct结构体中的指针属性转换:https://goframe.org/util/gconv/struct
  4. gform增加对数据库类型的自动识别特性,这一特性在需要将查询结果json编码返回时非常有用: https://goframe.org/database/orm/index
  5. Travis CI增加对386架构的自动化测试支持(目前已支持386amd64);

新功能

  1. ghttp模块新增ExitExitAllExitHook方法,用于HTTP请求处理流程控制: https://goframe.org/net/ghttp/service/object
  2. grand模块增加Meet/MeetProb方法,用于给定概率的随机满足判断,增加别名方法N/Str/Digits/Letters
  3. gvalid数据/表单校验模块增加16X19X手机号的校验支持;

功能改进

  1. gform设置默认的数据库连接池CONN_MAX_LIFE参数值为30秒;
  2. 改进glist模块,提高约20%左右性能,并增加若干链表操作方法;
  3. 改进gqueue模块,提高约50左右性能,并增加模块对select语法的支持(使用Queue.C): https://goframe.org/container/gqueue/index
  4. 改进gmlock内存锁模块,并完善单元测试用例:https://goframe.org/os/gmlock/index
  5. 改进并发安全容器所有的模块,调整并发安全控制非必需参数safe...boolunsafe...bool
  6. 改进gpool对象复用模块,支持并发安全;
  7. 更新gkafka模块的第三方依赖包;
  8. 完善ghttp模块的单元测试用例;

Bug Fix

  1. 修复gmd5模块操作文件时的文件指针未关闭问题;
  2. 修复gcache缓存项过期删除失效问题;
  3. 其他修复;