New Features

  1. gf-orm adds support for the sqlite database type (http://gf.johng.cn/database/orm/database);
  2. Added gkafka module with a client program encapsulation for kafka, supporting group consumption and specified start positions, along with a user-friendly API interface (http://gf.johng.cn/database/gkafka/index);
  3. Added support for the latest Go language version’s go modules feature;
  4. Added gcron scheduling task module (http://gf.johng.cn/os/gcron/index);
  5. WebServer adds features to acquire/print route registration items, providing a comprehensive view of all route and callback registrations;
  6. The template engine adds global variable management and several commonly used built-in functions and variables (http://gf.johng.cn/os/gview/funcs);
  7. gredis improved to singleton operation mode (based on the underlying connection pool feature), eliminating the need for developers to explicitly call the Close method to shut down after each redis server operation (http://gf.johng.cn/database/gredis/index);
  8. gf-orm adds auto Close feature for database operations (based on underlying connection pool feature), so developers no longer need to defer db.Close(), and adds g.DB database object singleton alias (http://gf.johng.cn/database/orm/linkop);
  9. Added gvar universal dynamic variable module (http://gf.johng.cn/container/gvar/index);
  10. Data structure container adds concurrent safety feature enable/disable function, improving performance in non-concurrent safety mode;
  11. New gmlock memory lock module added (http://gf.johng.cn/os/gmlock/index);
  12. Added gaes algorithm module (http://gf.johng.cn/crypto/gaes/index);
  13. The gproc module adds method to execute shell commands (http://gf.johng.cn/os/gproc/index);
  14. New gfcache module added for file content operations with automatic cache updates (documentation pending);

New Features

  1. glog adds chain operation methods, log level management control, category management, and debug management functions;
  2. g.View adds group name setting, supporting multiple named singleton template engine objects through g.* object manager;
  3. glog adds customization for file name format, supporting gtime date format;
  4. gconv adds Ints/Uints/Floats/Interfaces conversion methods;
  5. gjson adds Append method;
  6. gparser adds NewUnsafe/Append method;
  7. gcache adds GetOrSet/GetOrSetFunc/GetOrSetFuncLock method;
  8. gset adds LockFunc/RLockFunc methods;
  9. ghttp.Response methods enhanced with ParseTpl/ParseTplContent/TplContent methods, changing Template to Tpl method;
  10. ghttp.Request adds method to obtain user’s real IP judgment;
  11. Session adds Contains method;
  12. Enhanced ghtml module with several new methods;
  13. gcache adds new Contains/SetIfNotExist methods;
  14. gvalid adds Error object for validation error management;
  15. gvalid module adds support for struct tag validation rules and custom error message binding (http://gf.johng.cn/util/gvalid/index);
  16. ghttp adds input parameter and struct binding mechanism, with support for params tags (http://gf.johng.cn/net/ghttp/service/handler);
  17. ghttp.Request adds server-side BasicAuth functionality (documentation pending);
  18. gvalid adds field validation alias for customizing return result fields and updates modules in WebServer usage;
  19. gf-orm chain operation adds ForPage method and adjusts Chunks method;
  20. ghttp object route registration adds Init&Shut auto-callback methods, along with duplicate route registration detection;
  21. gfsnotify adds default recursive Add/Remove feature;
  22. ghttp.Response adds ServiceFile method;
  23. Various other new features;

Feature Improvements

  1. Improved ghttp.Server configuration management;
  2. Enhanced gcache underlying object inheritance structure, refined some design details to improve performance;
  3. Improved gfpool file pointer pool, fixed some errors, enhanced performance, and added benchmark test code;
  4. Enhanced gmap series of concurrent safe map data structures with several usability methods;
  5. Improved gconv.Struct object conversion functionality (http://gf.johng.cn/util/gconv/index);
  6. Improved grand random number generation rules to ensure extremely high random number generation performance, guaranteeing different random values each time a random method is called (http://gf.johng.cn/util/grand/index);
  7. Improved gfile file content operation methods with several commonly used file content read methods;
  8. Enhanced gtime module and added time zone conversion methods;
  9. Improved COOKIE, removing lock mechanism;
  10. Enhanced SESSION retrieval methods with multiple type retrievals;
  11. Improved g.DB/g.Config singleton cache key names;
  12. Enhanced gtcp/gudp timeout error judgment mechanism;
  13. Improved gtype underlying operations with atomic methods;
  14. Enhanced gvalid default value validation for string attributes in structs;
  15. Improved gvalid non-essential validation under associated rules;
  16. Enhanced gf-orm debug mode with automatic log output functionality;
  17. ghttp.Server/gspath module static file retrieval improved;
  18. Optimized ghttp.ServerConfig configuration, adding struct/method name to uri conversion rules with flexible configuration via SetNameToUri method (http://gf.johng.cn/net/ghttp/service/object);
  19. Improved *any/:name route matching rules to support unnamed */: route rules;
  20. Changed default configuration file name from config.yml to config.toml (http://gf.johng.cn/os/gcfg/index);
  21. Adjusted service registration BindControllerMethod and BindObjectMethod logic to bind routes to specified methods;
  22. Improved garray binary search method with secure operations;
  23. Improved gdb.Result/Recorde ToXml method with optional rootTag parameter;
  24. Various other improvements;

Bug Fixes

  1. Fixed ghttp.Server restart failure issue on windows;
  2. Addressed ghttp.Server service registration and callback registration route duplication issue;
  3. Fixed deadlock issue with garray sortable array Add variadic parameter;
  4. Resolved gfsnotify default recursive monitoring of entire directories added by gspath.Add;
  5. Fixed ghttp.BindParams escaping issue for @file upload identifiers;
  6. Resolved log path loss issue in ghttp.Server;
  7. Addressed multi-WebServer status detection issue;
  8. Fixed gvalid module min/max validation issues;
  9. Resolved route binding issue on Binded route for controller and execution object service registration;
  10. Fixed gvalid.CheckStruct custom error notification issue;
  11. Solved ghttp.Server hook and serve method routing impact and added redirection method;
  12. Various other fixes;

Other Changes

  1. Removed gfile.IsExecutable method;
  2. Directory adjustment, moving encryption/decryption related packages from encoding to crypto;
  3. Added debug information to gfsnotify/gfcache;
  4. gf-orm permits database write of null if the writable key value is nil;
  5. Unified use of gview.Params type as template variable type;
  6. Renamed gconv.MapToStruct method to gconv.Struct;
  7. Improved ghttp.Server terminal messages for restart and stop;
  8. Enhanced gring module with addition of Josephus problem code as gring example program;
  9. Various other changes;