v1.6.0 (2019-04-09)

    1. gcron定时任务模块增加运行日志记录功能:https://goframe.org/os/gcron/index
    2. gredis增加全局分组配置功能,并增加更多的配置选项maxIdle/maxActive/idleTimeout/maxConnLifetime
    3. gcfg模块增加更多的默认配置文件检索路径,并且增加全局分组配置特性,增加Instance单例方法:https://goframe.org/os/gcfg/index
    4. gview模块增加更多的默认配置文件检索路径,并且增加Instance单例方法:
    5. ghttp模块新功能及改进:
      • 新增CORSHTTP(S)跨域请求特性: https://goframe.org/net/ghttp/cors
      • 增加TLSConfig配置功能;
      • 去掉路由注册方法的error返回值,当产生注册错误时直接终端打印错误/输出到日志文件;
      • 增加在HTTP Code 302跳转时的Set-Cookie支持;
      • 增加对SESSION ID的安全性检查;
      • 增加对基于HTTPSWebSocket支持(WSS):
      • 其他一些改进;
    6. gdb模块新功能及改进:
      • 新增Instance单例管理方法;
      • 新增Structs/Scan链式操作方法,gdb.DB/TX新增方法,用于结果集struct/slice映射转换:https://goframe.org/database/gdb/chaining
      • 新增Safe链式操作方法(默认非并发安全),用于链式安全控制:
      • Where链式操作方法改进:
        • 方法支持任意的string/map/slice/struct/*struct类型;
        • 逻辑调整,当链式操作中存在多个Where方法调用时,自动转换为And条件;
        • 支持slice条件参数,常用在SELECT IN查询中,例如:Where("uid IN(?)", g.Slice{1,2,3})
        • 支持在map类型条件参数的key中传递条件,例如:Where(g.Map{"uid>?", uid})
    7. gconvgvalid模块改进并去掉对私有struct方法属性的转换/校验;
    8. gconv.Map转换方法新增对json tag: -, omitempty的支持: https://goframe.org/util/gconv/map
    9. gstr模块新增 ReplaceI/ReplaceIByArray/ReplaceIByMap大小写非敏感替换方法;
    10. 模块增加Export方法,用于导出返回格式化打印的变量内容字符串,并增加快捷方法g.Export
    11. gspath增加缓存及非缓存检索检索方法Search/SearchWithCache
    12. gjson模块增加默认的UseNumber功能支持;
    13. gmap增加SetIfNotExistFunc/SetIfNotExistFuncLock方法;
    14. 迁移greuseport模块到新的仓库:
    15. 大量的单元测试完善;

    Bug Fix

    1. 修复gqueue模块的资源竞争问题;
    2. 修复gconv.GTime转换失败问题;
    3. 修复gconv.String在转换int参数时字节溢出问题;
    4. 修复ghttp.RequestHTTP Basic Auth校验问题;
    5. 修复gxml针对于非UTF-8编码内容转换的并发安全问题;
    6. 修复gtime部分FormatG&j)格式失效问题;
    7. 修复gudp.Conn对象的RemoteAddr获取客户端连接地址方法问题;