v1.7.0
(2019-06-10)
- 重构改进
glog
模块:- 去掉日志模块所有的锁机制,改为无锁设计,执行性能更加高效
- 增加日志内容的异步输出特性:https://goframe.org/os/glog/async
- 增加日志输出内容的
Json
格式支持: - 增加
Flags
额外特性支持,包括文件行号打印、自定义时间格式、异步输出等特性控制:https://goframe.org/os/glog/flags - 增加
Writer
接口支持,便于开发者进行自定义的日志功能扩展,或者与第三方服务/模块对接集成: - 修改
SetStdPrint
方法名为SetStdoutPrint
- 修改链式方法
StdPrint
方法名为Stdout
- 标记淘汰
*fln
日志输出方法,*f
方法支持自动的换行输出 - 新增更多的链式方法支持:https://goframe.org/os/glog/chain
- 重构改进
gmap
模块:- 增加更多数据格式支持:
HashMap
/ListMap
/TreeMap
- 简化类型名称,如
gmap.StringInterfaceMap
简化为gmap.StrAnyMap
- 改进
Map/Keys/Values
方法以提高性能 - 修改
BatchSet
/BatchRemove
方法名为Sets
/Removes
- 新增更多功能方法支持:
- 增加更多数据格式支持:
- 改进
gdb
数据库模块:- 增加对继承结构体的数据转换支持:https://goframe.org/database/gdb/senior
- 新增
GetLastSql
方法,用以在调试模式下获取最近一条执行的SQL语句 - 其他的细节处理改进
- 改进
gtcp
通信模块:- 完善处理细节,提高通信性能;
- 增加
TLS
服务端/客户端通信支持: - 增加简单协议支持,便于开发者封包/解包,并解决粘包/半包问题:https://goframe.org/net/gtcp/conn/pkg
- TCP服务端增加
Close
方法 - 更多细节查看开发文档:
- 改进
gconv
类型转换模块- 修改
gconv.TimeDuration
转换方法名称为gconv.Duration
- 新增
gconv.StructDeep
及gconv.MapDeep
方法,支持递归转换 - 详见开发文档:https://goframe.org/util/gconv/struct
- 修改
- 改进
ghttp
模块:- 新增
ghttp.Server.SetKeepAlive
设置方法,用以开启/关闭KeepAlive
特性 - 增加
ghttp.Request.GetUrl
方法,用以获取当前完整的URL请求地址 ghttp.Client
客户端支持开发者自定义Transport
属性,ghttp.Client.Post
方法支持浏览器模式
:
- 新增
- 新增
gtree
树形数据结构容器支持:https://goframe.org/container/gtree/index - 改进
gudp
通信模块,具体请参考开发文档: - 改进
gcfg
配置管理模块,所有Get*
方法增加默认值支持:https://goframe.org/os/gcfg/index gredis
模块新增DoVar
/方法以便于开发者对执行结果进行灵活的数据格式转换:gcache
模块BatchSet
/BatchRemove
方法名修改为Sets
/Removes
- 改进
gjson
/gparser
模块,增加更多方法:https://goframe.org/encoding/gjson/index - 改进
gfile.MainPkgPath
方法,以支持不同平台的开发环境; - 改进
grpool
协程池模块,提高执行性能: - 改进
TryCatch
方法,当开发者不传递Catch
参数时,默认抑制并忽略错误的处理 - 改进
gmlock
模块,增加TryLockFunc
/TryRLockFunc
方法,并且为gmlock.Mutex
高级互斥锁对象增加TryLockFunc
/TryRLockFunc
方法 - 去除
gvar.VarRead
接口类型支持
Bug Fix
- 解决
gdb
模块与其他第三方ORM
模块同时使用的冲突; - 修复
gcron.AddOnce
方法的细节逻辑问题; - 修复内部
empty
模块的IsEmpty
方法对结构体属性的空校验错误; - 修复
gview
模板引擎的并发安全问题;