• v1.7.0 (2019-06-10)
    • 新功能/改进
    • Bug Fix

    v1.7.0 (2019-06-10)

    新功能/改进

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

    Bug Fix

    1. 解决gdb模块与其他第三方ORM模块同时使用的冲突;
    2. 修复gcron.AddOnce方法的细节逻辑问题;
    3. 修复内部empty模块的IsEmpty方法对结构体属性的空校验错误;
    4. 修复gview模板引擎的并发安全问题;
    5. 修复ghttp.Server的SESSION初始化过期时间问题;