v1.2.11 (2018-11-26)

新特性

  1. ORM新增对SQLServerOracle的支持(https://goframe.org/database/orm/database);
  2. 完成gvalid模块校验结果的顺序特性(https://goframe.org/util/gvalid/checkmap);
  3. 改进ghttp.Request.Exit,使得调用该方法时立即退出业务执行,开发者无需调用Exit方法时再使用return返回(https://goframe.org/net/ghttp/service/object);
  4. 模板引擎新增若干内置函数:text/html/htmldecode/url/urldecode/date/compare/substr/strlimit/hidestr/highlight/toupper/tolower/nl2br (https://goframe.org/os/gview/funcs);
  5. 模板引擎新增内置变量Config (https://goframe.org/os/gview/vars);
  6. 改进gconv.Struct转换默认规则,支持不区分大小写的键名与属性名称匹配;
  7. gform配置文件支持linkinfo自定义数据库连接字段(https://goframe.org/database/orm/config);
  8. gfsnotify模块增加对特定回调的取消注册功能(https://goframe.org/os/gfsnotify/index);

新功能

  1. 改进ghttp.Request,增加SetParam/GetParam请求流程自定义变量设置/获取方法,用于在请求流程中的回调函数共享变量(https://goframe.org/net/ghttp/request);
  2. 改进ghttp.Response,增加ServeFileDownload方法,用于WebServer引导客户端下载文件(https://goframe.org/net/ghttp/response);
  3. gvar模块新增gvar.VarRead只读接口,用于控制对外只暴露数据读取功能;
  4. 增加g.Throw抛异常方法,g.TryCatch异常捕获方法封装;
  5. 改进gcron模块,增加自定义的Cron管理对象,增加New/Start/Stop方法;

功能改进

  1. WebServer添加RouterCacheExpire配置参数,用于设置路由检索缓存过期时间;
  2. WebServer允许同一HOOK事件被多次绑定注册,先注册的回调函数优先级更高(https://goframe.org/net/ghttp/service/hook);
  3. 当前工作目录为系统临时目录时,gcfg/gview/ghttp模块默认不添加工作目录到搜索路径;
  4. 改进WebSocket默认支持跨域请求(https://goframe.org/net/ghttp/websocket);
  5. 改进gtime.Format支持中文;
  6. 改进gfsnotify,支持编辑器对文件非执行标准编辑时(RENAME+CHMOD)的热更新问题;
  7. 改进gtype.Set方法,增加Set原子操作返回旧的变量值;
  8. gfile.ScanDir增加支持pattern多个文件模式匹配,使用’,‘符号分隔多个匹配模式;
  9. gcfg模块增加获取配置变量为*gvar.Var;
  10. gstr模块增加对中文截取方法;
  11. 改进gtime.StrToTime对常用时间格式匹配模式,新增gtime.ParseTimeFromContent方法;
  12. 修改配置管理、模板引擎、调试模式的环境变量名称为大写下划线标准格式;
  13. 改进grand模块随机数生成设计,底层使用crypto/rand+缓冲区实现高速的随机数生成(https://goframe.org/util/grand/index);

问题修复

  1. 修复gspath模块在windows下搜索失效问题;
  2. 修复gspath模块Search时带有indexFiles的检索问题;
  3. bug fix INZS1(https://github.com/gogf/gf/issues/INZS1);
  4. 修复gproc.ShellRun在windows下的执行问题;