v1.0.898 stable(2018-10-24)- 新特性
- 新功能
- 功能改进
- 问题修复
- 其他改动
v1.0.898 stable (2018-10-24)
新特性
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); Web Server增加路由注册项获取/打印特性,所有的路由注册/回调注册一览无余;- 模板引擎增加全局变量管理,并增加多个常用的内置函数及内置变量(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/RecordeToXml方法,增加可选的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示例程序; - 其他一些改动;
