Skip to content

v0.12.2 — 适配 DSH 0.2.0-rc.1

Choose a tag to compare

@Max-Null Max-Null released this 28 Sep 19:51
· 20 commits to main since this release

适配 DSH 0.2.0-rc.1:内核 peer 放宽为覆盖两代。

改了什么

  • 6 个 @deepseek-ai/dsh-* peer 从 ^0.1.1-rc.1 改为 >=0.1.1-rc.1 <0.3.0。

为什么

caret 的上界是「下一个 minor」——^0.1.1-rc.1 展开为 >=0.1.1-rc.1 <0.2.0-0,对 0.2.0-rc.1 判定 false。而 peer 不满足时插件不会被加载,也不出现在 did not activate 列表里:它在进入 fiber 图之前就被跳过,界面不报错,只表现为少一批功能。内核一跨 minor,所有写成 ^0.1.x 的插件会一起静默失效。

判据用 typecheck,不用推理

把 devDependencies 的 6 个内核包升到 0.2.0-rc.1,用新内核的类型定义跑 tsc --noEmit:零错误——说明本插件没有使用新内核的 API,属「宽范围两边都能跑」那一类。故下限保持原值(作者实际验证过的最早版本),只放开上界。devDeps 不进发布包。

验证

  • typecheck 零错误(用的就是 0.2.0 的类型定义),测试 166 例全绿。
  • 隔离实例(home-100 / ssid-dev)实机加载:三个失败信号 did not activate / pending (waiting for service / incompatible 全为 0,@max-null/dsh-memory 在 client combo URL 内。
  • 关键:该实例的 compatibility.json 豁免只写了 @max-null/dsh-memory@0.12.1,本次挂 0.12.2 匹配不上仍加载成功——证明确实是 peer 本身满足了,而不是靠豁免续命。

兼容性

  • 验证过的内核:0.1.1-rc.2、0.2.0-rc.1。
  • 0.1 线与 0.2 线都可装载;比 0.1.1-rc.1 更早的内核未验证,不声称支持。