New Features

  1. Added the gdes package for handling DES encryption/decryption algorithms;
  2. Added the gkafka package, a Golang client for Kafka;
  3. Added the gpool object reuse pool, which is more flexible and powerful than the standard library’s sync.Pool, allowing customization of object caching time, creation methods, and destruction methods (http://gf.johng.cn/686654));
  4. Completed the refactoring of gtcp/gudp network communication packages with substantial improvements and added detailed documentation and example code (http://gf.johng.cn/494382));
  5. Added the gring concurrency-safe ring, a concurrency-safe version of the standard library container/ring package, with ease-of-use encapsulation (http://gf.johng.cn/686655));
  6. The gtime package now supports custom date formatting, with formatting syntax similar to PHP’s date syntax (http://gf.johng.cn/494387));
  7. Added a debug mode feature to gdb, implemented via the SetDebug method, which allows detailed SQL execution records in debug mode, with detailed documentation and example code (http://gf.johng.cn/702801));
  8. Added a query caching feature to gdb, implemented via the Cache method, with detailed documentation and example code (http://gf.johng.cn/702801));
  9. The ghttp.Server routing feature now includes field matching rules, supporting dynamic routing rules like /order/list/{page}.html (http://gf.johng.cn/702766));
  10. Added pagination URL rule generation templates to the gpage pagination package, allowing the use of the {.page} variable to specify the page number position (http://gf.johng.cn/716438));
  11. Added the gmap.Map object, an alias for gmap.InterfaceInterfaceMap;

New Features

  1. gdb added MaxIdleConnCount/MaxOpenConnCount/MaxConnLifetime settings and the SetMaxConnLifetime method;
  2. ghttp.Client added HTTP account password setting function (SetBasicAuth);
  3. glog added adaptive adjustment for system newline characters (\n|\r\n);
  4. Added glog console debug mode printing switch (SetDebug);
  5. gcfg added the SetFileName method to set the default configuration file name;
  6. gcfg/gjson/gparser packages added Int8/16/32/64, Uint8/16/32/64 methods;
  7. Added encapsulation for gzip methods (Zip/Unzip);
  8. gview added template variable delimiter setting method SetDelimiters;
  9. ghttp.Response added Writef, Writefln methods;

Improvements

  1. Improved gfilepool file pointer pool design; improved gfile text content writing, with added pointer pool usage;
  2. gdb package added debug mode feature, supporting executed SQL list results retrieval in debug mode;
  3. Improved gproc inter-process communication mechanism, added process message grouping feature and limited queue size;
  4. gdb result method processing added ToXml/ToJson methods;
  5. Changed gregx package name to gregex;
  6. Improved gtime.StrToTime method, added automatic conversion for common standard date-time formats, and automatic timezone recognition, with adjustments to gconv, gvalid referencing this package;
  7. Added character set conversion encapsulation, with gxml package using the newly added character set conversion package for handling;
  8. ghttp.Server.EnableAdmin page Restart interface supports GET parameter newExeFilePath;
  9. ghttp.Server graceful restart mechanism added customizable restart executable file path, especially useful for Windows systems (as Windows does not support executable file overlay updates);
  10. Improved ghttp.Server static file retrieval design, with a lookup mechanism in the main package source directory during development environments; improved gcfg/gview lookup mechanism in the main package source directory;
  11. Optimized gcache design, with the LRU feature not enabled by default; optimized gtype/gcache benchmark scripts; added gregx benchmark scripts, improved design for enhanced performance;
  12. gfile package added GoRootOfBuild method to retrieve the GOROOT value at compile time; improved backtrace GOROOT path filtering in the glog package;
  13. Improved grpool code quality, and improved pool goroutine quantity limit design;
  14. Improved gdb.Map/List and g.Map/List type definitions, using alias features to support native type inputs (map/slice), and fixed gdb.Model.Update method parameter handling issue;
  15. Adjusted ghttp package example code directory structure, added ghttp.Client custom Header methods, ghttp.Cookie added Map method for retrieving all cookie values submitted by the client, returned as a map;
  16. Removed getcharset method from gcharset;
  17. Removed common basic data type conversion retrieval methods from gmap;
  18. Improved gconv.String method, using json.Marshal for conversion if basic type string conversion is not possible;
  19. gvalid.CheckObject method name changed to gvalid.CheckStruct;

Bug Fixes

  1. Fixed gstr.IsNumeric error;
  2. Fixed error when XML encoding charset is non-UTF-8;
  3. Fixed gconv package float32 to float64 precision issue;
  4. Fixed gpage package pagination count issue;
  5. Fixed gdb batch data Save error;
  6. Removed usage of math.MAXINT64 constant in gpool to fix int64 to int type conversion error, compatible with 32-bit systems;
  7. Fixed ghttp package initializing related asynchronous goroutines without using Server issue.