New Features

  1. Added a concurrency-safe high-performance task timer module gtimer, similar to Java’s Timer, but more powerful. It is implemented with a flexible and efficient hierarchical timing wheel design and can manage millions of scheduled tasks. gtimer is one of the core modules of the GoFrame framework, with unit test coverage of 93.6%: https://goframe.org/os/gtimer/index
  2. Refactored the gcron scheduled task module using the task timer gtimer, removing reliance on the third-party package github.com/robfig/cron. gcron now supports singleton pattern scheduled tasks: https://goframe.org/os/gcron/index#;
  3. The gconv type conversion module now supports conversion of pointer properties within struct structures: https://goframe.org/util/gconv/struct;
  4. gform has added a feature to automatically recognize database types, which is very useful when the query results need to be returned in json format: https://goframe.org/database/orm/index
  5. Travis CI has added support for automated testing on the 386 architecture (currently supports both 386 and amd64);

New Functions

  1. The ghttp module adds Exit, ExitAll, and ExitHook methods for HTTP request flow control: https://goframe.org/net/ghttp/service/object;
  2. The grand module adds Meet/MeetProb methods for random probability-based judgments and adds alias methods N/Str/Digits/Letters;
  3. The gvalid data/form validation module adds support for validating 16X and 19X phone numbers;

Function Improvements

  1. gform sets the default database connection pool CONN_MAX_LIFE parameter value to 30 seconds;
  2. Improved the glist module, boosting performance by about 20% and adding several linked list operation methods;
  3. Enhanced the gqueue module, increasing performance by about 50% and adding support for select syntax with the use of Queue.C: https://goframe.org/container/gqueue/index;
  4. Improved the gmlock memory lock module and completed unit test cases: https://goframe.org/os/gmlock/index;
  5. Improved all concurrency-safe container modules, changing the non-required parameter safe...bool to unsafe...bool for concurrency safety control;
  6. Enhanced the gpool object reuse module to support concurrency safety;
  7. Updated third-party dependencies for the gkafka module;
  8. Completed unit test cases for the ghttp module;

Bug Fix

  1. Fixed the issue where the file pointer was not closed when operating on files in the gmd5 module;
  2. Fixed the issue where expired cache items were not deleted in the gcache module;
  3. Other fixes;