New Features/Improvements

  1. Refactored and improved glog module:
    • Removed all locks in the log module, redesigned as lock-free for improved execution performance
    • Added asynchronous output feature for log content: https://goframe.org/os/glog/async
    • Added support for Json format in log output content: https://goframe.org/os/glog/json
    • Added Flags feature support including file line number printing, custom time format, and asynchronous output control: https://goframe.org/os/glog/flags
    • Added Writer interface support for developers to customize log functionality extensions or integrate with third-party services/modules: https://goframe.org/os/glog/writer
    • Changed method name SetStdPrint to SetStdoutPrint
    • Changed chain method name StdPrint to Stdout
    • Deprecated *fln log output methods, *f methods now support automatic line breaks
    • Added more chain method supports: https://goframe.org/os/glog/chain
  2. Refactored and improved gmap module:
    • Added support for more data formats: HashMap/ListMap/TreeMap
    • Simplified type names, e.g., gmap.StringInterfaceMap simplified to gmap.StrAnyMap
    • Improved Map/Keys/Values methods for better performance
    • Renamed BatchSet/BatchRemove to Sets/Removes
    • Added more functional method supports: https://goframe.org/container/gmap/index
  3. Improved gtime time module:
    • Added and improved more class PHP time format support
    • Added more functional methods, such as FormatTo/LayoutTo, etc.
    • See development documentation: https://goframe.org/os/gtime/index
  4. Improved gdb database module:
    • Added support for data conversion for inherited structures: https://goframe.org/database/gdb/senior
    • Added GetLastSql method to get the most recent executed SQL statement in debug mode
    • Other detailed improvements
  5. Improved gtcp communication module:
  6. Improved gconv type conversion module
    • Renamed gconv.TimeDuration conversion method to gconv.Duration
    • Added gconv.StructDeep and gconv.MapDeep methods, supporting recursive conversion
    • See development documentation: https://goframe.org/util/gconv/struct
  7. Improved ghttp module:
    • Added http/https field to the log output: https://goframe.org/net/ghttp/logs
    • Added ghttp.Server.SetKeepAlive setting method to enable/disable KeepAlive feature
    • Added ghttp.Request.GetUrl method to get the current full URL request address
    • ghttp.Client client supports the developer’s custom Transport attribute, ghttp.Client.Post method supports browser mode: https://goframe.org/net/ghttp/client
  8. Added gtree tree data structure container support: https://goframe.org/container/gtree/index
  9. Improved gudp communication module, please refer to the development documentation for details: https://goframe.org/net/gudp/index
  10. Improved gcfg configuration management module, all Get* methods add default value support: https://goframe.org/os/gcfg/index
  11. gredis module added DoVar/ReceiveVar methods to facilitate developer’s flexible data format conversion of execution results: https://goframe.org/database/gredis/index
  12. gcache module BatchSet/BatchRemove method names changed to Sets/Removes
  13. Improved gjson/gparser modules, adding more methods: https://goframe.org/encoding/gjson/index
  14. Improved gfile.MainPkgPath method to support different platform development environments;
  15. Improved grpool coroutine pool module for enhanced execution performance: https://goframe.org/os/grpool/index
  16. Improved TryCatch method, by default suppressing and ignoring errors when Catch parameter is not provided
  17. Improved gmlock module, added TryLockFunc/TryRLockFunc methods, and added TryLockFunc/TryRLockFunc methods for gmlock.Mutex advanced mutex lock object
  18. Removed gvar.VarRead interface type support

Bug Fixes

  1. Resolved conflicts when using gdb module with other third-party ORM modules concurrently;
  2. Fixed detailed logic issues in the gcron.AddOnce method;
  3. Fixed incorrect empty property validation in the internal empty module IsEmpty method;
  4. Fixed concurrency safety issue in gview template engine;
  5. Fixed SESSION initialization expiration time issue in ghttp.Server;