Repository navigation
Releases: shangdi178/dsh-versions
Releases · shangdi178/dsh-versions
Release list
v0.5.1
插件兼容性检查:安装前预警不兼容的第三方插件。
- 版本面板点「安装」进入确认态时,自动检查目标版本 dsh-settings 是否缺少
已装插件依赖的导出(如 0.1.2 移除的 settingsNamespace / installSettingsSection) - 不兼容插件列表醒目展示(名称/版本/缺失符号),检查失败不影响安装
- 新增 GET /dsh-versions/compat?target=<版本> 接口
安装:dsh plugin --profile web add dsh-versions
v0.5.0
生态兼容垫片:让按旧 API 构建的第三方插件在新版 dsh 上继续加载。
- 新增「兼容性垫片」面板(设置 → dsh 版本管理 → 兼容性垫片)
- 内置两个垫片:
- legacy-settings-api:在 0.1.2.x 上恢复 dsh-settings 的 settingsNamespace / installSettingsSection 导出(实现移植自 0.1.1-rc.2)
- restore-host-apiproxy:从本地版本备份恢复被 0.1.2 移除的 dsh-host-apiproxy 包
- 升级流程自动应用:升级脚本在重启服务前调用垫片 reconcile;boot 时也会对已启用垫片自动重应用/自动卸载(回滚到 0.1.1 系列后防重复导出)
- 安全模式:应用前备份、写后语法校验(失败自动还原)、幂等、可随时停用还原
实测记录:0.1.2-rc.1 上垫片可成功恢复 settings API,但 rc.1 另有 client boot manifest 格式变更(超出垫片范围),当前仍推荐 0.1.1-rc.2。
v0.4.1
跨次版本安装兼容性警告 + 终态横幅 30 分钟过期。
- POST /upgrade 响应新增 compatWarning;目标与当前版本 major.minor 不同时,客户端二次确认处显示醒目警告(第三方插件可能无法加载)
- 升级/回滚终态横幅 30 分钟后自动消失,不再与实际运行版本矛盾
- 背景:0.1.2-rc.1 移除了 dsh-settings 的 settingsNamespace / installSettingsSection 导出并删除 dsh-host-apiproxy,旧版第三方插件生态全部无法加载——本版本警告正是针对此类跨次版本升级
安装:dsh plugin --profile web add dsh-versions(或下载附件 tgz 解压后 add 解压目录)
dsh-versions v0.4.0
0.4.0
快照秒级回滚(全新)——每次升级前自动为当前版本做本地快照(~/.dsh/dsh-versions/snapshots/<版本>/\),可对任意历史版本秒级回滚(免 npm、免网络)。
- 快照带 \meta.json\ 校验,残缺/损坏快照绝不覆盖可用安装;创建走「临时目录 + rename」防崩溃残留
- 回滚先「改名旧目录让开」再复制,失败自动还原原目录
- 自动修剪保留 5 个,损坏快照优先清除
- 新接口:\GET /snapshots\、\POST /restore\;升级进行中禁止恢复(409)
- UI 新增「快照与回滚」卡片(列表 + 二次确认回滚)
- 借鉴说明:机制思路参考 SuCriss/dsh-version-update(Apache-2.0),代码为本项目原创 MIT 实现,见 STUDY.md
- 测试:新增快照 7 用例,共 19 用例全绿
dsh-versions v0.3.0
0.3.0
- 架构调整:独立设置分区:UI 从「插件」设置分区内的子标签提升为与 General / Plugins / Models 同级的独立设置分区(导航名「版本管理」)。dsh 主程序版本管理不再嵌套在插件页里,职责更清晰。
- 去重:移除其它插件的 npm 更新检查:删除 /updates 端点及「其他插件版本速览 / 检查插件更新」界面块——它只读提示可更新却无法操作其它插件,与版本管理定位重叠。其它插件仍由 dsh plugin 管理。
- /state 精简为框架版本 + 平台/引擎支持状态;移除已装插件清单相关死代码。
dsh-versions v0.2.1
0.2.1
- 平台防护:升级/重启引擎仅 Windows 可用(依赖 robocopy / schtasks / Windows PowerShell 5.1);非 Windows 时 /state 返回 �ngineSupported: false,UI 禁用升级/重装/恢复/重启按钮并提示,服务端 /upgrade、/relaunch 拒绝并返回 501;版本查看与更新检查在所有平台可用。
- 修复:插件启动时清除上次运行残留的 terminal ailed 状态(此前 ailed 被标记为终态永不过期,UI 会一直显示旧「拉起失败」提示)。
- 文档:README 安装节改为三种真实可用的方式(npm 发布 / git clone / 离线 tarball),标注平台限制。
v0.1.0
首个发布。
- 设置 → 插件 →「版本」子标签:dsh 主程序 + 全部已安装插件的版本总览
- 一键检查 npm latest 更新(10 分钟缓存,官方框架组件标「随框架升级」,本地包标「npm 上不存在」)
- 纯只读,环回 + Host 校验;零依赖、零构建
安装:
dsh plugin --profile web add dsh-versions或下载附件 tgz 解压后 dsh plugin --profile web add <解压目录>。