- core:
- 新增:侦听器新增注销前钩子
doBeforeLogout/doBeforeKickout/doBeforeReplaced。 [重要] - 新增:
StpInterface.isDisabled补充loginType参数。 [不向下兼容] - 新增:新增
allowLoginIdColon配置,默认禁止 loginId 包含冒号。 [不向下兼容] - 修复:Jackson DefaultTyping 多态反序列化 RCE,新增
SaJsonStrategy全局类型白名单。 [重要] [漏洞修复] - 新增:
getSaTokenConfig策略支持自定义配置来源,方便从数据库中读取配置。 - 新增:新增
SaRequest/SaResponse/SaStorage创建策略。 fix: #841 - 新增:Session 新增
getList/getSet/getMap类型安全集合读取。 - 修改:随机字符串/数字改用 CSPRNG(
SecureRandom)生成。 - 修复:
isLastingCookie为 null 时getCookieTimeout不再 NPE。 - 修复:
isUrl支持 IPv6 方括号地址并拒绝裸 IPv6。 - 修复:JSON 反序列化容错优化。 fix: #ICOTM8
- 新增:侦听器新增注销前钩子
- 插件:
- 新增:新增
sa-token-fory-jsonJSON 序列化插件。 [重要] - 新增:新增 HTTP 请求扩展插件
sa-token-rest-client/sa-token-rest-template。 [重要] - 新增:新增
sa-token-alone-redisson独立连接插件及 Spring Boot 3/4 示例。 [重要] fix: #710、#ICE2V0 - 新增:新增
sa-token-alone-redis-by-spring-boot4插件及示例,实现 Spring Boot 4 下权限缓存与业务缓存分离。 [重要] - 新增:
SaTokenDaoForRedisson支持指定 Codec(默认StringCodec),update 方法改用setAndKeepTTL原子保留原过期时间。 [重要] fix: #791 - 修复:
sa-token-redis-template及 jdk-serializer 在 update key 时 TTL 偏移的问题。 [重要] fix: #I80P5O、#ICWJOQ - 修复:redis-template
searchData由 KEYS 改为 SCAN。 [重要] fix: #702 - 新增:RedisTemplate Dao 支持重写
wrapKey自定义键前缀。 fix: #956 - 修复:
sa-token-redis-template-jdk-serializerKEEPTTL 泛型编译错误。 - 修复:Snack3 序列化不再写入类型信息,对齐 fastjson 安全策略。 [漏洞修复]
- 修复:集成 JWT 时
extraData禁止包含保留字段。 [不向下兼容] - 优化:升级 fastjson / fastjson2 至 2.0.64。
- 优化:
sa-token-dependencies不再锁定 Reactor 版本,避免与 Spring Cloud Gateway 冲突。 fix: #622
- 新增:新增
- starter:
- Solon:
- SSO:
- 修复:OAuth2/SSO
redirect参数绕过allow-url校验的安全漏洞。 [重要] [漏洞修复] - 新增:SSO 客户端新增指定账号单点注销 API。
- 补全:补全最新版 SSO NoSdk 模式实现,新增
SsoSignUtil。 - 修复:
buildServerAuthUrl识别 URL 编码后的 back 参数,back 为空时跳过追加,并增强重定向编码/解码健壮性。 fix: #842 - 修复:
getClient统一通过getClients查找以支持子类覆盖。 - 修复:NoSdk demo 签名校验补充时间窗与 nonce 防重放。 [漏洞修复]
- 修复:订正 SSO-Client 接收消息推送地址的路由说明。
- 修复:OAuth2/SSO
- OAuth2:
- 修复:
redirect参数绕过allow-url校验的安全漏洞。 [重要] [漏洞修复] - 修改:
expiresTime为 -1 时按永久有效存储 Token。 - 重构:
doConfirm确认授权流程统一校验。 - 重构:
SaOAuth2Dao改用带 Class 参数的getObject反序列化。 fix: #IK5GYU - 修复:OAuth2 demo 拒绝授权时回传 state。
- 新增:OAuth2 章节补充数据互通后的 token 过期策略说明。
- 修复:
- 文档:
- 修改:全仓库域名 sa-token.cc 统一迁移至 sa-token.com。 [重要]
- 新增:上线独立博客系统,收录原创文章。 [重要]
- 新增:文档站点多语言切换(基于 translate.js)。 [重要]
- 新增:README 多语言版本(英文、日文、韩文、俄文、繁体中文)与切换入口。 [重要]
- 新增:新增
SECURITY.md安全策略及联系邮箱。 [重要] merge: pr 933 fix: #932、#877 - 新增:文档站点暗色主题切换,支持 5 种 IDE 风格。
- 新增:文档版本选择器改为动态加载(
all-version-common.js)。 merge: pr 928 fix: #900 - 新增:新增源码运行指南文档。
- 新增:新增「Sa-Token 集成 Demos 示例大全下载」文档。
- 新增:导航栏增加安全推荐与案例下拉菜单。
- 优化:文档站点整体优化(侧边栏、首页、捐赠页、导航交互、API 手册等)。
- 同步:同步公众号文章列表、博客列表、赞助者名单、企业登记案例。
- 补充:补充 SSE/Flux 流式返回常见问题;补充按配置决定是否启用 Redis 的示例。 fix: #I9I4ZG
- 修复:订正 API 手册、SSO/OAuth2/WebFlux/Dubbo 等文档错漏。
- 其它:
- 新增:新增乐之者java B站视频教程链接。 [重要]
- 优化:统一日志文案用词,「帐号」改为「账号」。
- 优化:统一 token 续期相关注释措辞。
- 修复:修正 ConcurrentHashMap 的错误 import 路径。 merge: pr 359