新功能/改进
gcron
定时任务模块增加运行日志记录功能: https://goframe.org/os/gcron/indexgredis
增加全局分组配置功能,并增加更多的配置选项maxIdle/maxActive/idleTimeout/maxConnLifetime
: https://goframe.org/database/gredis/indexgcfg
模块增加更多的默认配置文件检索路径,并且增加全局分组配置特性,增加Instance
单例方法: https://goframe.org/os/gcfg/indexgview
模块增加更多的默认配置文件检索路径,并且增加Instance
单例方法: https://goframe.org/os/gview/indexghttp
模块新功能及改进:- 新增
CORS
HTTP(S)跨域请求特性: https://goframe.org/net/ghttp/cors - 增加
TLSConfig
配置功能; - 去掉路由注册方法的
error
返回值,当产生注册错误时直接终端打印错误/输出到日志文件; - 增加在
HTTP Code 302
跳转时的Set-Cookie
支持; - 增加对
SESSION ID
的安全性检查; - 增加对基于
HTTPS
的WebSocket
支持(WSS
): https://goframe.org/net/ghttp/websocket/index Request
对象增加Error
方法,用于输出自定义错误信息到WebServer
错误日志中;- 其他一些改进;
- 新增
gdb
模块新功能及改进:- 新增
Instance
单例管理方法; - 新增
Structs/Scan
链式操作方法,gdb.DB/TX
新增GetStructs/GetScan
方法,用于结果集struct
/slice
映射转换: https://goframe.org/database/gdb/chaining - 新增
Safe
链式操作方法(默认非并发安全),用于链式安全控制: https://goframe.org/database/gdb/chaining 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})
;
- 方法支持任意的
- 新增
gconv
及gvalid
模块改进并去掉对私有struct
方法属性的转换/校验;gconv.Map
转换方法新增对json tag
:-
,omitempty
的支持: https://goframe.org/util/gconv/mapgstr
模块新增ReplaceI/ReplaceIByArray/ReplaceIByMap
大小写非敏感替换方法;gutil
模块增加IsEmpty
方法,用于判断给定变量是否为空(整型0, 布尔false, slice/map长度为0, 其他为nil的情况,判断为空),并增加快捷方法g.IsEmpty
;gutil
模块增加Export
方法,用于导出返回格式化打印的变量内容字符串,并增加快捷方法g.Export
;gspath
增加缓存及非缓存检索检索方法Search
/SearchWithCache
;gjson
模块增加默认的UseNumber
功能支持;gmap
增加SetIfNotExistFunc/SetIfNotExistFuncLock
方法;- 迁移
greuseport
模块到新的仓库: https://github.com/gogf/greuseport - 大量的单元测试完善;
Bug Fix
- 修复
gqueue
模块的资源竞争问题; - 修复
gconv.GTime
转换失败问题; - 修复
gconv.String
在转换int
参数时字节溢出问题; - 修复
ghttp.Request
的HTTP Basic Auth
校验问题; - 修复
gxml
针对于非UTF-8
编码内容转换的并发安全问题; - 修复
gtime
部分Format
(G
&j
)格式失效问题; - 修复
gudp.Conn
对象的RemoteAddr
获取客户端连接地址方法问题; - 修复
gmap/gcache
模块的GetOrSetFuncLock
方法,增加对回调方法返回值的nil
判断,只有非nil返回值才会被保存;