版本:2.7.x(Latest)新特性
gf-orm
增加 sqlite
数据库类型支持( http://gf.johng.cn/database/orm/database);
- 增加
gkafka
模块,对kafka的客户端程序封装,支持分组消费及指定起始位置等特性,并提供简便易用的API接口( http://gf.johng.cn/database/gkafka/index);
- 增加go语言最新版本的
go modules
特性支持;
- 增加
gcron
定时任务模块( http://gf.johng.cn/os/gcron/index);
WebServer
增加路由注册项获取/打印特性,所有的路由注册/回调注册一览无余;
- 模板引擎增加全局变量管理,并增加多个常用的内置函数及内置变量( http://gf.johng.cn/os/gview/funcs);
gredis
改进为单例操作方式(基于基层连接池特性),每次操作 redis
服务器时开发者无需显示调用 Close
方法执行关闭( http://gf.johng.cn/database/gredis/index);
gf-orm
增加数据库操作自动 Close
特性(基于底层链接池特性),开发者无需再 defer db.Close()
,并增加 g.DB
数据库对象单例别名( http://gf.johng.cn/database/orm/linkop);
- 增加
gvar
通用动态变量模块( http://gf.johng.cn/container/gvar/index);
- 数据结构容器增加
并发安全特性开启/关闭功能
,当关闭后和普通的数据结构无异,且在非并发安全模式下性能会得到提高;
- 新增
gmlock
内存锁模块( http://gf.johng.cn/os/gmlock/index);
- 增加
gaes
算法模块( http://gf.johng.cn/crypto/gaes/index);
gproc
模块增加执行 shell
命令方法( http://gf.johng.cn/os/gproc/index);
- 新增
gfcache
模块,用于带自动缓存更新的文件内容操作(文档待完善);
新功能
glog
增加链式操作方法,增加日志级别管理控制、分类管理、调试管理功能;
g.View
增加分组名称设置,支持通过 g.*
对象管理器获取多个命名的单例模板引擎对象;
glog
增加对文件名称格式的自定义设置,支持 gtime日期格式
;
gconv
增加 Ints/Uints/Floats/Interfaces
转换方法;
gjson
增加 Append
方法;
gparser
增加 NewUnsafe/Append
方法;
gcache
增加 GetOrSet/GetOrSetFunc/GetOrSetFuncLock
方法;
gset
增加 LockFunc/RLockFunc
方法;
ghttp.Response
方法完善,增加 ParseTpl/ParseTplContent/TplContent
方法, Template
修改为 Tpl
方法;
ghttp.Request
增加获取用户真实IP判断;
Session
增加 Contains
方法;
- 完善
ghtml
模块,增加多个方法;
gcache
新增 Contains/SetIfNotExist
方法;
gvalid
增加 Error
对象,用以管理校验错误信息;
gvalid
模块增加 struct tag
的校验规则、自定义错误提示信息绑定的支持特性( http://gf.johng.cn/util/gvalid/index);
ghttp
增加输入参数与 struct
的 绑定机制
,并增加对应 params
标签支持( http://gf.johng.cn/net/ghttp/service/handler);
ghttp.Request
增加服务端 BasicAuth
功能(文档待完善);
gvalid
增加字段校验别名,用于自定义返回结果字段,并更新WebServer中相关使用的模块;
gf-orm
链式操作增加 ForPage
方法,调整 Chunks
方法;
ghttp
对象路由注册增加 Init&Shut
自动回调方法,增加重复路由注册检测功能;
gfsnotify
增加默认递归 Add/Remove
特性;
ghttp.Response
增加 ServiceFile
方法;
- 其他一些新功能;
功能改进
- 改进
ghttp.Server
配置管理;
- 改进
gcache
底层对象继承关系,改进部分设计细节,提高性能;
- 改进
gfpool
文件指针池,修复部分错误,提升性能,并增加基准测试代码;
- 改进
gmap
系列并发安全map数据结构,增加多个易用性的方法;
- 改进
gconv.Struct
对象转换功能( http://gf.johng.cn/util/gconv/index);
- 改进
grand
随机数生成规则,提供了极高的随机数生成性能,并保证每一次调用随机方法时生成的都是不同的随机数值( http://gf.johng.cn/util/grand/index);
- 改进
gfile
文件内容操作方法,增加若干常用的文件内容读取方法;
- 改进
gtime
模块,并增加时区转换方法;
- 改进
COOKIE
,去掉锁机制;
- 改进
SESSION
获取方法,新增多个类型获取方法;
- 改进
g.DB/g.Config
单例缓存键名;
- 改进
gtcp/gudp
超时错误判断机制;
- 改进
gtype
底层统一修改为原子操作;
- 改进
gvalid
对 struct
的 string
属性的默认值非必需校验;
- 改进
gvalid
在关联规则下的非必需校验;
- 改进
gf-orm
在调试模式下日志自动输出功能;
ghttp.Server/gspath
模块静态文件检索改进;
- 优化
ghttp.ServerConfig
配置,增加 struct/method
名称到uri
的转换规则,通过 SetNameToUri
方法进行灵活配置( http://gf.johng.cn/net/ghttp/service/object);
- 改进
*any/:name
路由匹配规则,支持不带名字的 */:
路由规则;
- 修改默认配置文件名称
config.yml
-> config.toml
( http://gf.johng.cn/os/gcfg/index);
- 调整服务注册的
BindControllerMethod
及 BindObjectMethod
逻辑为绑定路由到指定的方法执行;
- 改进
garray
二分查找方法,增加安全操作处理;
- 改进
gdb.Result/Recorde
ToXml
方法,增加可选的 rootTag
参数;
- 其他一些改进;
问题修复
- 修复
ghttp.Server
在 windows
下的重启失效问题;
- 修复
ghttp.Server
服务注册与回调注册路由重复判断问题;
- 修复
garray
排序数组 Add
变参时的死锁问题;
- 修复
gfsnotify
默认递归监控整个 gspath.Add
添加的目录的问题;
- 修复
ghttp.BindParams
对 @file
文件上传标识符的转义问题;
- 修复
ghttp.Server
日志路径丢失问题;
- 修复
多WebServer
下的状态检测问题;
- 修复
gvalid
模块 min/max
校验问题;
- 修复控制器和执行对象服务注册时绑定’/‘路由的问题;
- 修复
gvalid.CheckStruct
自定义错误提示失效问题;
ghttp.Server
修复 hook
与 serve
方法的路由影响,并新增跳转方法;
- 其他一些修复;
其他改动
- 去掉
gfile.IsExecutable
方法;
- 目录调整,将
加密/解密
相关的包从 encoding
目录迁移到 crypto
目录下;
- 增加
gfsnotify/gfcache
调试信息;
gf-orm
允许写入的键值为 nil
时往数据库中写入 null
;
- 统一使用
gview.Params
类型作为模板变量类型;
gconv.MapToStruct
方法名称修改为 gconv.Struct
;
ghttp.Server
完善重启及停止的终端提示信息;
- 完善
gring
模块,增加 约瑟夫问题
代码作为 gring
示例程序;
- 其他一些改动;