mirror of
https://gitee.com/johng/gf
synced 2026-06-07 02:12:11 +08:00
4.6 KiB
4.6 KiB
v1.9.0
该版本实际为v2.0.0的大版本发布,为避免go module机制严格要求v2版本以上需要修改import并加上v2后缀,因此使用了v1.9.0进行发布。
新特性
- 新增
gf命令行开发辅助工具:https://goframe.org/toolchain/cli - 新增
gres资源管理器模块:https://goframe.org/os/gres/index - 重构
Session功能,新增gsession模块,WebServer默认使用文件存储Session:https://goframe.org/net/ghttp/session WebServer新增中间件特性,并保留原有的HOOK设计,两者都可实现请求拦截、预处理等等特性:https://goframe.org/net/ghttp/router/middleware- 新增
gi18n国际化管理模块:https://goframe.org/i18n/gi18n/index - 新增
gini模块:https://goframe.org/encoding/gini/index WebServer新增更便捷的层级路由注册方式:https://goframe.org/net/ghttp/group/levelgcmd命令行参数解析模块重构,增加Parser解析对象:https://goframe.org/os/gcmd/index- 新增
gdebug模块,用于堆栈信息获取/打印:https://goframe.org/debug/gdebug/index
重大调整
- 去掉
1.x版本中已经被标记为deprecated的方法; - 调整
container分类的容器模块,将默认并发安全参数调整为默认非并发安全; - 目录调整:
- 去掉
third目录,统一使用go module管理包依赖; - 将原有
g目录中的模块移出到框架主目录,原有的g模块移动到frame/g目录; - 将原有
geg示例代码目录名称修改为.example;
- 去掉
功能改进
ghttp- 改进
Request参数解析方式:https://goframe.org/net/ghttp/request Cookie及Session的TTL配置数据类型修改为time.Duration;- 新增允许同时通过
Header/Cookie传递SessionId; - 新增
ConfigFromMap/SetConfigWithMap方法,支持通过map参数设置WebServer; - 改进默认的
CORS配置,增加对常见Header参数的默认支持; - 新增
IsExitError方法,用于开发者自定义处理recover错误处理时,过滤框架本身自定义的非异常错误; - 新增
SetSessionStorage配置方法,用于开发者自定义Session存储; ghttp.Request新增更多的参数获取方法;
- 改进
gdb- 增加对SQL中部分字段的自动转义(
Quote)功能; - 增加对方法操作以及链式操作中的
slice参数的支持; - 增加
SetLogger方法用于开发者自定义数据库的日志打印; - 增加
Master/Slave方法,开发者可自主选择数据库操作执行的主从节点; - 增加对
mssql/pgsql/oracle的单元测试; - 在
debug模式支持完整带参数整合的SQL语句调试打印; - 增加了更多的功能方法;
- 增加对SQL中部分字段的自动转义(
glog- 新增
Default方法用于获取默认的Logger对象; - 新增
StackWithFilter方法用于自定义堆栈打印过滤; - 增加了更多的功能方法;
- 新增
gfile- 部分方法名称调整:
Get/PutBinContents修改为Get/PutBytes; - 增加
ScanDirFile方法,用于仅检索文件目录,支持递归检索; - 增加了更多的功能方法;
- 部分方法名称调整:
gview- 新增
SetI18n方法用于设置视图对象自定义的gi18n国际化对象; - 新增对
gres资源管理器的内置支持;
- 新增
gcompress- 增加
zip算法的文件/目录的压缩/解压方法; - 文件/目录压缩参数支持多路径;
- 增加
gconv- 改进对
[]byte数据类型参数的支持; - 新增
Unsafe转换方法,开发者可在特定场景下使用,提高转换效率; - 新增
MapDeep/StructDeep/StructsDeep方法,支持递归struct转换;
- 改进对
gjson/gparser- 改进类型自动识别功能;
- 新增
LoadJson/LoadXml/LoadToml/LoadYaml/LoadIni方法用于自定义的数据类型内容加载; - 增加了更多的功能方法;
gerror- 改进错误堆栈获取逻辑;
- 增加了更多的功能方法;
gmap/garray/gset/glist/gvar- 改进并发安全基准测试脚本;
- 修改
garray.StringArray为garray.StrArray; - 增加了更多的功能方法;
gdes- 规范化修改方法名称;
gstr- 增加
Camel/Snake相关命名转换方法; - 增加了更多的功能方法;
- 增加
genv- 增加了更多的功能方法;
Bug Fix
- 修复
gvalid校验struct时的tag自定义错误失效的问题; - 修复
gcfg配置管理模块在特定情况下的内容类型自动识别失败问题; - 修复
gqueue在用户主动关闭队列时的并发安全问题; - 修复
session在开发者设置的TTL过大时的整型变量溢出问题;