Skip to content

更新日志

本文件记录 @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:重复请求默认不再 reject RequestGuardBlockedError,而是返回永远 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 及更早为早期内部版本,不在此列。

基于 MIT 许可发布