更新日志
本文件记录 @hydd/request-guard 的重要变更。版本遵循 语义化版本。
说明:以下条目由提交历史整理而来,措辞以"对使用者有意义"为准,并非逐条提交的原文。
[0.8.0] - 2026-08-21
新增
- axios 接入新增强力守护模式:
axios: { source, forceGuard }配置。forceGuard默认关闭,开启后守护扩展到该 axios 副本内后续创建的实例与可调用直调形态,补齐1.2.0 – 1.4.x版本区间的调用形式缺口;代价是牺牲实例隔离,启用前请评估。source单独传入可让“传实例 + 可调用直调”在新版 axios 上受守护。兼容性版本验证(0.27.2 → 1.19.0)。
修复
- 安装期预判不可解析的 axios 版本形态,自动跳过该层包装并输出一次性诊断——部分降级而非安装失败,命名方法仍受守护。
- 修复未经治理准入的请求可能二次进入治理管道的问题,消除同一请求被重复计数。
其他
- README 重构为用户视角精简版;
- AI 接入 Skill 补齐 axios 覆盖面事实与失败症状触发词,并新增守护生效验证要求。
[0.7.0] - 2026-07-29
新增
- 请求级
requestGuard: true一键开启:启用所有已注册能力,各能力使用defaults合并框架默认值后的配置。
[0.6.0] - 2026-07-02
破坏性变更
- duplicate 默认策略从
block调整为ignore:重复请求默认不再 rejectRequestGuardBlockedError,而是返回永远 pending 的 Promise,不触发调用方.then()/.catch()/.finally()。依赖默认.catch()处理重复提交的项目,请显式配置defaults.duplicate.strategy: 'block'。
新增
- duplicate 新增
ignore策略,适合表单提交、下单、支付等不希望重复调用触发成功/失败副作用的场景。 - duplicate 新增
inFlightTtl配置,默认0表示关闭;显式开启后,可在原请求永不 settle 时由状态维护任务兜底释放 stale in-flight key。
修复
- 修复存在异步前置能力时,duplicate 的 check 与 track 之间可能被并发请求穿透(异步场景竞赛)的问题。
[0.5.4] - 2026-06-30
优化
- 完善 npm 包元信息:补充仓库、Issues 反馈入口与官网(hyddjs.cn)链接
[0.5.3] - 2026-06-30
新增
- 内置 AI 接入 Skill 并随 npm 包分发(
skills/request-guard/),支持 Claude Code / Codex 按项目技术栈自动接入
[0.5.2] - 2026-06-24
文档
- 文档完善与细节调整
[0.5.1] - 2026-06-24
文档
- README 更新
[0.5.0] - 2026-06-22
新增
- 能力拆包,开放
@hydd/request-guard/core按需注册入口;小程序等包体积敏感场景可只打包真正用到的能力
[0.4.6] - 2026-06-17
优化
- 优化构建产物
[0.4.5] - 2026-06-16
修复
- 编译目标降级到 es2017,修复微信小程序构建时可选链语法报错
[0.4.4] - 2026-06-16
优化
- 调整能力默认配置
[0.4.3] - 2026-06-16
修复
- 修复并发场景下的判重原子性问题
[0.4.2] - 2026-06-15
新增
- 熔断能力支持
statusCodes配置
其他
- 包名调整为
@hydd/request-guard
[0.4.1] - 2026-06-14
优化
- 完善代码注释
[0.4.0] - 2026-06-14
修复
- 修复特殊环境下的运行异常
0.3.x 及更早为早期内部版本,不在此列。

