New Features

  1. ORM adds support for SQLServer and Oracle (https://goframe.org/database/orm/database);
  2. Completes the sequential feature of validation results in the gvalid module (https://goframe.org/util/gvalid/checkmap);
  3. Improves ghttp.Request.Exit to enable immediate business execution exit when called, sparing developers from using return after the Exit method call (https://goframe.org/net/ghttp/service/object);
  4. Adds several built-in functions to the template engine: text/html/htmldecode/url/urldecode/date/compare/substr/strlimit/hidestr/highlight/toupper/tolower/nl2br (https://goframe.org/os/gview/funcs);
  5. Adds built-in variable Config to the template engine (https://goframe.org/os/gview/vars);
  6. Improves the default conversion rules of gconv.Struct, supporting case-insensitive matching of key names and attribute names;
  7. gform configuration files support linkinfo custom database connection fields (https://goframe.org/database/orm/config);
  8. The gfsnotify module adds the ability to unregister specific callbacks (https://goframe.org/os/gfsnotify/index);

New Functionalities

  1. Improves ghttp.Request by adding methods SetParam/GetParam for setting/getting custom variables in the request process, allowing variable sharing in the callback functions during the request process (https://goframe.org/net/ghttp/request);
  2. Improves ghttp.Response by adding the ServeFileDownload method for guiding web server to client-side file downloads (https://goframe.org/net/ghttp/response);
  3. The gvar module introduces the gvar.VarRead read-only interface to control the exposure of data read functionality;
  4. Adds g.Throw for exception throwing and g.TryCatch for exception catching methods;
  5. Improves the gcron module with the addition of a custom Cron management object and adds New/Start/Stop methods;

Functional Improvements

  1. WebServer adds the RouterCacheExpire configuration parameter for setting the expiration time of route search cache;
  2. WebServer allows the same HOOK event to be registered multiple times, with higher priority given to callbacks registered earlier (https://goframe.org/net/ghttp/service/hook);
  3. When the current working directory is a system temporary directory, it does not add the directory to the search path by default in gcfg/gview/ghttp modules;
  4. Improves the default support for cross-origin requests in WebSocket (https://goframe.org/net/ghttp/websocket);
  5. Enhances gtime.Format to support Chinese;
  6. Enhances gfsnotify to handle hot update issues when editors perform non-standard edits (RENAME+CHMOD) to files;
  7. Improves the gtype.Set method by adding an atomic operation to return the old variable value;
  8. gfile.ScanDir adds support for pattern multiple file mode matching, using , to separate multiple match modes;
  9. The gcfg module adds the capability to get configuration variables as *gvar.Var;
  10. The gstr module adds a method for Chinese string truncation;
  11. Improves gtime.StrToTime to match common time format patterns and adds the gtime.ParseTimeFromContent method;
  12. Changes the environment variable names for configuration management, template engine, and debug modes to uppercase underscore standard format;
  13. Improves the random number generation design in the grand module, implementing high-speed generation using crypto/rand + buffer (https://goframe.org/util/grand/index);

Bug Fixes

  1. Fixes the search failure issue in the gspath module on Windows;
  2. Fixes the retrieval issue with indexFiles during Search in the gspath module;
  3. Bug fix INZS1 (https://github.com/gogf/gf/issues/INZS1);
  4. Fixes the execution issue of gproc.ShellRun on Windows.