Skip to content

Releases

v0.3.0 — DSH 0.2.x 双线兼容 + 本机状态路由

Choose a tag to compare

@EternalNight996 EternalNight996 released this 30 Sep 08:30

一、DSH 0.2.x 兼容适配(同时支持 0.1.7 与 0.2.0)

DSH 0.2.0 的设置系统是双端破坏性替换(官方 commit \601d6761e4\),本版逐项修复:

断点 修复
host \ctx.settings.register()\ 被删(0.2 改为 SettingsForms + 活引用) 新增 \lib/settings-host.js\,运行时形状嗅探把两代收敛成 {get,watch,update}\,含 revision 冲突自动重试
0.2 设置页只投影 \meta.volatile\ 字段,一个都没打就整页不显示 遍历 \schema.dict\ 逐字段打标(不能链式 .volatile()\——3.18.1 没这方法,会在 import 期炸)
client \settingsScope\ 服务被删(0.2 改为 \ctx.configForms\) 新增 \src/client/settings-adapter.js\ 双形状归一,永不返回 null(空快照用单例引用,避免 useSyncExternalStore 死循环)
硬声明 \settingsScope\ 会让插件在 0.2.0 下永不激活且静默不报错 从客户端硬依赖移除
^0.1.0-rc.7\ 经真实 semver 7.8.5 实测挡得住 0.2.0-rc.2 → 被兼容预检拒载 peer 放宽为 >=0.1.0-rc.7 <0.3.0\,补 \engines.dsh\ 与 \dsh.compatibility\ 台账

二、本机状态路由(新能力)

新增 \GET /beast-tamer/api/state\(无需认证、只读)——官方 /api/*\ 一律要凭据(实测 401),故由插件自建路由。三条接缝约束全部遵守:避开 /api\ 前缀、\webServer.register()\ 必须包 \ctx.effect\、用 \ctx.inject\ 等 webServer 就绪。

三、配套

验证

  • 三体:42 用例全绿(state-route 12 / metadata-compat 7 / settings-host 17 / client adapter 6)
  • 诚实边界:本机运行时为 0.1.7-rc.2,0.2 路径无真机端到端验证,只有源码级证据与假 ctx 单测