v1.2.11 (2018-11-26)

    1. ORM新增对SQLServerOracle的支持(https://goframe.org/database/orm/database);
    2. 完成gvalid模块校验结果的顺序特性();
    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 ();
    5. 模板引擎新增内置变量Config (https://goframe.org/os/gview/vars);
    6. 改进gconv.Struct转换默认规则,支持不区分大小写的键名与属性名称匹配;
    7. gfsnotify模块增加对特定回调的取消注册功能();
    1. 改进ghttp.Request,增加请求流程自定义变量设置/获取方法,用于在请求流程中的回调函数共享变量(https://goframe.org/net/ghttp/request);
    2. 改进ghttp.Response,增加ServeFileDownload方法,用于WebServer引导客户端下载文件();
    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默认支持跨域请求();
    5. 改进,支持编辑器对文件非执行标准编辑时(RENAME+CHMOD)的热更新问题;
    6. 改进gtype.Set方法,增加Set原子操作返回旧的变量值;
    7. gfile.ScanDir增加支持pattern多个文件模式匹配,使用’,‘符号分隔多个匹配模式;
    8. gcfg模块增加获取配置变量为*gvar.Var;
    9. gstr模块增加对中文截取方法;
    10. 改进gtime.StrToTime对常用时间格式匹配模式,新增gtime.ParseTimeFromContent方法;
    11. 修改配置管理、模板引擎、调试模式的环境变量名称为大写下划线标准格式;
    12. 改进grand模块随机数生成设计,底层使用crypto/rand+缓冲区实现高速的随机数生成(https://goframe.org/util/grand/index);
    1. 修复gspath模块在windows下搜索失效问题;
    2. 修复gspath模块Search时带有indexFiles的检索问题;
    3. 修复gproc.ShellRun在windows下的执行问题;