更新日志
wicket 遵循语义化版本。0.x 阶段的次版本号变更可能包含不兼容改动,升级前请阅读对应条目。完整记录见仓库根目录的 CHANGELOG.md。
v0.1.4 · 2026-08-21
- 工具链:开发工具链锁定到 Go
1.27.0正式版(此前为 1.27 预发布版本)。go.mod的go 1.27声明不变,对下游模块无影响。 - 无生产代码改动。
v0.1.3 · 2026-08-08
- 修复:
ClaimsIdentity现在可以完整地经过 JSON 往返。此前它的内部字段在序列化时被静默丢弃,导致任何持久化适配器在第一次读写后丢失授权码、刷新令牌、设备码和后端通道请求中的主体声明——表现为 UserInfo 端点拿到的访问令牌缺少sub。使用持久化存储的宿主应尽快升级。 - 文档:仓库内文档整体刷新,新增根目录 README。
v0.1.2 · 2026-08-07
- CI 调整与文档对齐,无 API 变化。
v0.1.1 · 2026-08-07
- 新增:组合根上的泛型访问器
Get[T any]() (T, bool)与GetRequired[T any]() T。 - 依赖注入容器使用锁定版本的生成器重新生成。
v0.1.0 · 2026-08-07
首个可通过 go get github.com/gonewx/wicket 引入的版本。
- 定型公开的存储端口:首参
context.Context、记录不存在时返回哨兵错误、基于句柄的访问、带版本号的刷新令牌更新(乐观并发)、过期判定统一在核心侧完成。注意:截至 v0.1.4,刷新令牌的过期与轮换策略尚未实现,见 刷新令牌。 - 面向适配器作者的契约测试套件:
storage/storagetest、session/sessiontest、keymgmt/keymgmttest,各自导出SuiteVersion,适配器以ConformsTo()声明所遵循的版本。 - 宿主侧存储注入缝:显式声明才允许内存回退,装配期校验;统一的根生命周期负责资源释放。
- 无状态外部凭据验证包:Apple / Google(本地验签)、微信与手机号(服务端交换)。