新特性

  1. gf-orm 增加 sqlite 数据库类型支持( http://gf.johng.cn/database/orm/database);
  2. 增加 gkafka 模块,对kafka的客户端程序封装,支持分组消费及指定起始位置等特性,并提供简便易用的API接口( http://gf.johng.cn/database/gkafka/index);
  3. 增加go语言最新版本的 go modules 特性支持;
  4. 增加 gcron 定时任务模块( http://gf.johng.cn/os/gcron/index);
  5. WebServer 增加路由注册项获取/打印特性,所有的路由注册/回调注册一览无余;
  6. 模板引擎增加全局变量管理,并增加多个常用的内置函数及内置变量( http://gf.johng.cn/os/gview/funcs);
  7. gredis 改进为单例操作方式(基于基层连接池特性),每次操作 redis 服务器时开发者无需显示调用 Close 方法执行关闭( http://gf.johng.cn/database/gredis/index);
  8. gf-orm 增加数据库操作自动 Close 特性(基于底层链接池特性),开发者无需再 defer db.Close(),并增加 g.DB 数据库对象单例别名( http://gf.johng.cn/database/orm/linkop);
  9. 增加 gvar 通用动态变量模块( http://gf.johng.cn/container/gvar/index);
  10. 数据结构容器增加 并发安全特性开启/关闭功能,当关闭后和普通的数据结构无异,且在非并发安全模式下性能会得到提高;
  11. 新增 gmlock 内存锁模块( http://gf.johng.cn/os/gmlock/index);
  12. 增加 gaes 算法模块( http://gf.johng.cn/crypto/gaes/index);
  13. gproc 模块增加执行 shell 命令方法( http://gf.johng.cn/os/gproc/index);
  14. 新增 gfcache 模块,用于带自动缓存更新的文件内容操作(文档待完善);

新功能

  1. glog 增加链式操作方法,增加日志级别管理控制、分类管理、调试管理功能;
  2. g.View 增加分组名称设置,支持通过 g.* 对象管理器获取多个命名的单例模板引擎对象;
  3. glog 增加对文件名称格式的自定义设置,支持 gtime日期格式
  4. gconv 增加 Ints/Uints/Floats/Interfaces 转换方法;
  5. gjson 增加 Append 方法;
  6. gparser 增加 NewUnsafe/Append 方法;
  7. gcache 增加 GetOrSet/GetOrSetFunc/GetOrSetFuncLock 方法;
  8. gset 增加 LockFunc/RLockFunc 方法;
  9. ghttp.Response 方法完善,增加 ParseTpl/ParseTplContent/TplContent 方法, Template 修改为 Tpl 方法;
  10. ghttp.Request 增加获取用户真实IP判断;
  11. Session 增加 Contains 方法;
  12. 完善 ghtml 模块,增加多个方法;
  13. gcache 新增 Contains/SetIfNotExist 方法;
  14. gvalid 增加 Error 对象,用以管理校验错误信息;
  15. gvalid 模块增加 struct tag 的校验规则、自定义错误提示信息绑定的支持特性( http://gf.johng.cn/util/gvalid/index);
  16. ghttp 增加输入参数与 struct绑定机制,并增加对应 params 标签支持( http://gf.johng.cn/net/ghttp/service/handler);
  17. ghttp.Request 增加服务端 BasicAuth 功能(文档待完善);
  18. gvalid 增加字段校验别名,用于自定义返回结果字段,并更新WebServer中相关使用的模块;
  19. gf-orm 链式操作增加 ForPage 方法,调整 Chunks 方法;
  20. ghttp 对象路由注册增加 Init&Shut 自动回调方法,增加重复路由注册检测功能;
  21. gfsnotify 增加默认递归 Add/Remove 特性;
  22. ghttp.Response 增加 ServiceFile 方法;
  23. 其他一些新功能;

功能改进

  1. 改进 ghttp.Server 配置管理;
  2. 改进 gcache 底层对象继承关系,改进部分设计细节,提高性能;
  3. 改进 gfpool 文件指针池,修复部分错误,提升性能,并增加基准测试代码;
  4. 改进 gmap 系列并发安全map数据结构,增加多个易用性的方法;
  5. 改进 gconv.Struct 对象转换功能( http://gf.johng.cn/util/gconv/index);
  6. 改进 grand 随机数生成规则,提供了极高的随机数生成性能,并保证每一次调用随机方法时生成的都是不同的随机数值( http://gf.johng.cn/util/grand/index);
  7. 改进 gfile 文件内容操作方法,增加若干常用的文件内容读取方法;
  8. 改进 gtime 模块,并增加时区转换方法;
  9. 改进 COOKIE,去掉锁机制;
  10. 改进 SESSION 获取方法,新增多个类型获取方法;
  11. 改进 g.DB/g.Config 单例缓存键名;
  12. 改进 gtcp/gudp 超时错误判断机制;
  13. 改进 gtype 底层统一修改为原子操作;
  14. 改进 gvalidstructstring 属性的默认值非必需校验;
  15. 改进 gvalid 在关联规则下的非必需校验;
  16. 改进 gf-orm 在调试模式下日志自动输出功能;
  17. ghttp.Server/gspath 模块静态文件检索改进;
  18. 优化 ghttp.ServerConfig 配置,增加 struct/method 名称到uri 的转换规则,通过 SetNameToUri 方法进行灵活配置( http://gf.johng.cn/net/ghttp/service/object);
  19. 改进 *any/:name 路由匹配规则,支持不带名字的 */: 路由规则;
  20. 修改默认配置文件名称 config.yml -> config.tomlhttp://gf.johng.cn/os/gcfg/index);
  21. 调整服务注册的 BindControllerMethodBindObjectMethod 逻辑为绑定路由到指定的方法执行;
  22. 改进 garray 二分查找方法,增加安全操作处理;
  23. 改进 gdb.Result/Recorde ToXml 方法,增加可选的 rootTag 参数;
  24. 其他一些改进;

问题修复

  1. 修复 ghttp.Serverwindows 下的重启失效问题;
  2. 修复 ghttp.Server 服务注册与回调注册路由重复判断问题;
  3. 修复 garray 排序数组 Add 变参时的死锁问题;
  4. 修复 gfsnotify 默认递归监控整个 gspath.Add 添加的目录的问题;
  5. 修复 ghttp.BindParams@file 文件上传标识符的转义问题;
  6. 修复 ghttp.Server 日志路径丢失问题;
  7. 修复 多WebServer 下的状态检测问题;
  8. 修复 gvalid 模块 min/max 校验问题;
  9. 修复控制器和执行对象服务注册时绑定’/‘路由的问题;
  10. 修复 gvalid.CheckStruct 自定义错误提示失效问题;
  11. ghttp.Server 修复 hookserve 方法的路由影响,并新增跳转方法;
  12. 其他一些修复;

其他改动

  1. 去掉 gfile.IsExecutable 方法;
  2. 目录调整,将 加密/解密 相关的包从 encoding 目录迁移到 crypto 目录下;
  3. 增加 gfsnotify/gfcache 调试信息;
  4. gf-orm 允许写入的键值为 nil 时往数据库中写入 null;
  5. 统一使用 gview.Params 类型作为模板变量类型;
  6. gconv.MapToStruct 方法名称修改为 gconv.Struct
  7. ghttp.Server 完善重启及停止的终端提示信息;
  8. 完善 gring 模块,增加 约瑟夫问题 代码作为 gring 示例程序;
  9. 其他一些改动;