DEV Community

Cover image for Go-Sail has released version v3.0.6
Keepchen
Keepchen

Posted on

Go-Sail has released version v3.0.6

I've been working on a series of optimizations for go-sail lately. Today, we've officially released version 3.0.6. Everyone is welcome to try it out.

The changes in this version are as follows:

πŸš€ Features

  • utils: Simplified and optimized redis lock code, support custom redis client (0166990)
  • schedule: Support custom redis client (0166990)
  • http: Adjusted timestamp field, fixed paginator JSON tag (0166990)
  • other: Updated README (0166990)
  • schedule: Added crontab expression; utils: HTTP requests no longer check status code (9be8d24)
  • lib: Added NowFunc in db component (d7b1f79)
  • middleware: Added real client IP method (edb4b3a)
  • lib: Added valkey component (c9a53b7)
  • lib: nacos: Added service subscription, replaced old utils calls (8f8e793)
  • lib: nacos: Added NewConfigClient and NewNamingClient methods (30b6307b)
  • sail: Added Config to read configuration (c70b1c7e)
  • sail: jwt: Added Encrypt and Decrypt methods (737b694c)
  • sail: Added RedisLocker method (31c55834)
  • sail: Added setter to manage redis client for redis locker and schedule (b20009a1)

πŸ› Fixes

  • schedule: Fixed Call and MustCall nil pointer issue (ebd4ea9)
  • api: Fixed mergeBody handling for (*T)(nil) (817b93f)
  • api: Fixed SendWithCode nil pointer when calling funcBeforeWrite (f41fa8f)

πŸ”§ Changes / Improvements

  • middleware: Upgraded gopsutil to v4 (6584811)
  • lib: Modified jwt error messages (3b396e4)
  • sail: Adjusted jwt ValidToken return parameters (2ab099e)
  • lib: Upgraded jwt to v5 (5a94765)
  • utils: Redis lock adjusted TryLockWithContext (c578ab4)
  • other: change Framework version to 3.0.6
  • http: Api performance optimize (23934799)
  • other: Add benchmark (23934799)

πŸ“¦ Dependencies

  • github.com/golang-jwt/jwt/v5 β†’ 5.2.2 β†’ 5.3.0
  • github.com/shirou/gopsutil/v4 β†’ 4.25.3 β†’ 4.25.7
  • Other deps: swag, etcd, gorm, mysql, sqlite, postgres, nats, gin, nacos, valkey, kafka, x/net

πŸ“– Docs & πŸ§ͺ Tests

  • Updated README / README_EN.md / examples
  • Added test cases & codecov config
  • Continuous test improvements & CI/CD workflow adjustments

Benchmark

goos: darwin
goarch: amd64
pkg: github.com/keepchen/go-sail/v3
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkGoSailParallel-12    88252    12898 ns/op    8860 B/op    92 allocs/op
BenchmarkGinParallel-12       96548    11722 ns/op    7187 B/op    82 allocs/op
PASS
ok    github.com/keepchen/go-sail/v3  3.663s
Enter fullscreen mode Exit fullscreen mode

go-sail benchmark

Repository

https://github.com/keepchen/go-sail

Documentation

https://go-sail.dev

Everyone is welcome to use it and experience it. If you like it, please like and collect it.

Top comments (0)