v1.3.8 (2018-12-26)

新特性

  1. gform完成重构,以提高扩展性,并修复部分细节问题、完善单元测试用例(https://goframe.org/database/orm/index);
  2. WebServer路由注册新增分组路由特性(https://goframe.org/net/ghttp/group);
  3. WebServer新增Rewrite路由重写特性(https://goframe.org/net/ghttp/static);
  4. 增加框架运行时对开发环境的自动识别;
  5. 增加了Travis CI自动化构建/测试;

新功能

  1. 改进WebServer静态文件服务功能,增加SetStaticPath/AddStaticPath方法(https://goframe.org/net/ghttp/static);
  2. gform新增Filter链式操作方法,用于过滤参数中的非表字段键值对(https://goframe.org/database/orm/linkop);
  3. gcache新增Data方法,用以获取所有的缓存数据项;
  4. gredis增加GetConn方法获取原生redis连接对象;

功能改进

  1. 改进gformWhere方法,支持slice类型的参数,并更方便地支持in操作查询(https://goframe.org/database/orm/linkop);
  2. 改进gproc进程间通信数据结构,将pid字段从16bit扩展为24bit
  3. 改进gconv/gmap/garray,增加若干操作方法;
  4. 改进gview模板引擎中的date内置函数,当给定的时间戳为空时打印当前的系统时间;
  5. 改进gview模板引擎中,当打印的变量不存在时,显示为空(标准库默认显示为<no value>);
  6. 改进WebServer,去掉HANGUP的信号监听,避免程序通过nohup运行时产生异常退出问题;
  7. 改进gcache性能,并完善基准测试;

Bug Fix

  1. 修复gcache在非LRU特性开启时的缓存关闭资源竞争问题,并修复doSetWithLockCheck内部方法的返回值问题;
  2. 修复grand.intn内部方法在x86架构下的随机数位溢出问题;
  3. 修复gbinaryInt方法针对[]byte参数长度自动匹配造成的字节长度溢出问题;
  4. 修复gjson由于官方标准库json不支持map[interface{}]*类型造成的Go变量编码问题;
  5. 修复garray中部分方法的数据竞争问题,修复二分查找排序问题;
  6. 修复ghttp.Request.GetVar方法获取参数问题;
  7. 修复gform的数据库连接池不起作用的问题;