RELEASE updates

This commit is contained in:
John
2019-07-11 21:28:06 +08:00
parent a926d3dadd
commit 9495b858fd

View File

@ -1,3 +1,65 @@
# `v1.8.0`
## 新功能改进
1. 框架目前 69 个开发模块(不包括内部模块),原生代码 65302 行不包含第三包依赖包单元测试覆盖率达到77%
1. 改进`gcharset`字符编码转换模块支持更多的字符集https://goframe.org/encoding/gcharset/index
1. 新增`glog.Expose`方法暴露内部默认Logger对象
1. 改进`gproc`模块的通信数据结构,并使用`gtcp`的轻量级包协议重构消息发送逻辑;
1. 改进`gqueue`模块增加数据同步缓冲机制,解决大数据量下的内存占用及延迟问题;
1. 新增`gmutex`模块,基于`channel`实现的高级互斥锁模块,支持更丰富的互斥锁特性;
1. 改进`gmlock`模块,使用`gmutex`模块替换内部的互斥锁,增加更多的方法;
1. 改进`gaes`加密模块,增加`CBC`模式的加密/解密方法:
1. 改进`ghttp`模块的分组路由功能;
1. 改进`garray.Range/SubSlice`方法,改进设计,提高性能;
1. 新增`gerror`错误处理模块https://goframe.org/errors/gerror/index
1. 改进`gjson`/`gparser`模块实现`MarshalJSON`接口以实现自定义的`JSON`数据格式转换;
1. 改进`crypto`分类下模块的方法返回值,增加`error`错误变量返回,以保证更严谨的接口设计风格;
1. 改进`gflock`修改方法名`UnLock`为`Unlock`,新增`IsRLocked`方法;
1. 改进`ghttp.CORSDefault`的跨域设置参数,`AllowOrigin`参数调整为`*`
1. 改进`glog`新增xxxx特性修改名称
1. 改进堆栈打印特性,统一堆栈打印风格;
1. 新增`internal/structs`包,强大且便捷的结构体解析,并改进框架中所有涉及到结构体反射处理的模块;
1. 改进`gdb`数据库ORM模块
- 改进错误处理,当数据库操作没有查询到数据时,返回`sql.ErrNoRows`https://goframe.org/database/gdb/error
- `Update`/`Delete`方法支持`Order BY`及`LIMIT`特性;
- 数据库链式操作及方法操作可直接给定`slice`参数;
- 修改`Priority`权重配置名称为`Weight`
- 新增`Debug`配置,可配置开启/关闭调试特性;
- 新增`Offset`方法,该方法为可选链式操作方法,可直接通过`Limit`方法实现部分数据库的`Offset`特性;
- 改进数据库动态切换特性;
- 改进简化配置文件结构https://goframe.org/database/gdb/config
1. 改进`ghttp`模块:
- 改进`ghttp.Request.Get*ToStruct`方法,支持`params/param/p`标签,支持结构体递归转换;
1. 改进`gvalid`数据校验模块:
- 增加对校验标签`gvalid/valid/v`的支持;
- 改进`CheckStruct`支持对结构体对象的递归校验https://goframe.org/util/gvalid/checkstruct
1. 改进`gconv`数据转换模块:
- 对结构体对象转换时支持更多的标签:`gconv/c/json`
- 支持`*struct/[]struct/[]*struct`自动初始化创建对象/数组https://goframe.org/util/gconv/struct
- 新增`Strusts/StrctsDeep`方法,用于结构体数组的转换即递归转换;
- 新增`StructDeep`方法,用于对结构体对象的递归转换;
- 新增`MapDeep`方法,用于对结构体属性的递归转换;
1. `gfile`增加`CopyFile`及`CopyDir`方法,用于文件及目录的复制;
1. 改进`gjson/gparser/gvar/gcfg`模块增加更多的类型转换方法;
1. 改进`gcache`模块,过期时间参数支持`time.Duration`类型;
1. 改进`gtcp`TCP通信模块
- 改进通信包协议设计更加轻量级高效https://goframe.org/net/gtcp/conn/pkg
1. 改进`gbinary`增加封装方法对`BigEndian`的支持;
## Bug Fix
1. 修复`garray.Search`返回值问题;
1. 修复`garray.Contains`, `garray.New*ArrayFromCopy`方法逻辑问题;
1. 修复`gjson.Remove`删除`slice`参数问题;
1. 修复`gtree.AVLTree.Remove`方法返回值问题;
1. 修复`gqueue.Size`不准确的大小问题;
1. 修复`queue.Close`问题;
1. 修复`gcache.GetOrSetLockFunc`当回调函数返回`nil`结果时的死锁问题;
1. 修复`gfsnotify.Add`方法默认递归监控添加失效问题;
1. 修复`gdb.Model.Scan`在某些参数类型下的失效问题;
# `v1.7.0` (2019-06-10)
## 新功能/改进
1. 重构改进`glog`模块: