最近一段时间,针对go-sail进行了一系列的优化。今天正式发布v3.0.6版本了。欢迎大家使用体验。
简介
go-sai是一个轻量的渐进式Web框架,使用Go语言实现。它并不是重复造轮子的产物,而是站在巨人的肩膀上,整合现有的优秀组件,旨在帮助使用者以最简单的方式构建稳定可靠的服务。 正如它的名字一般,你可以把它视作自己在golang生态的一个开始。go-sail将助力你从轻出发,扬帆起航。
本次版本的变更内容如下:
🚀 新功能
- utils: 简化并优化 redis 锁代码,支持传入自定义 redis 客户端 (
0166990
) - schedule: 支持设定自定义 redis 客户端 (
0166990
) - http: 调整响应器时间戳字段赋值位置,分页器 JSON tag 修正 (
0166990
) - other: 更新 README (
0166990
) - schedule: 新增 crontab 表达式;utils: HTTP 请求不再检测响应状态码 (
9be8d24
) - lib: db 组件新增
NowFunc
配置 (d7b1f79
) - middleware: 新增获取客户端真实 IP 方法 (
edb4b3a
) - lib: 新增 valkey 组件 (
c9a53b7
) - lib: nacos 组件新增服务订阅方法,并替换旧 utils 方法调用 (
8f8e793
) - lib: nacos新增
NewConfigClient
和NewNamingClient
方法 (30b6307b
) - sail: 新增config配置文件读取 (
c70b1c7e
) - sail: jwt新增加解密方法 (
737b694c
) - sail: 新增
RedisLocker
方法调用 (31c55834
) - sail: 新增setter统一管理redis锁和schedule的redis实例 (
b20009a1
)
🐛 修复
- schedule: 修复
Call
和MustCall
空指针问题 (ebd4ea9
) - api: 修复
mergeBody
对(*T)(nil)
的处理问题 (817b93f
) - api: 修复
SendWithCode
中funcBeforeWrite
空指针问题 (f41fa8f
)
🔧 变更 / 优化
- middleware: gopsutil 升级到 v4 (
6584811
) - lib: jwt 修改错误文案 (
3b396e4
) - sail: jwt
ValidToken
返回参数调整 (2ab099e
) - lib: jwt 升级到 v5 (
5a94765
) - utils: redis 锁调整
TryLockWithContext
方法 (c578ab4
) - other: 框架版本号修改为
3.0.6
- http: api响应器性能优化 (
23934799
) - other: 新增benchmark (
23934799
)
📦 依赖升级
- github.com/golang-jwt/jwt/v5 → 5.2.2 → 5.3.0
- github.com/shirou/gopsutil/v4 → 4.25.3 → 4.25.7
- 其他依赖升级:swag, etcd, gorm, mysql, sqlite, postgres, nats, gin, nacos, valkey, kafka, x/net 等
📖 文档 & 🧪 测试
- 更新 README / README_EN.md / examples
- 新增测试用例 & codecov 配置
- 持续完善测试用例 & CI/CD workflow 调整(多个提交)
基准测试结果
仓库地址
https://github.com/keepchen/go-sail
官方文档
欢迎大家使用体验,喜欢的话,欢迎点赞收藏。
觉得博主写的不错?给他一个赞赏:

