Repository navigation
v0.8.7:dsh 升级管理 + Node 24 动态解析 / dsh Upgrade Management + Node 24 Dynamic Resolution
中文
新功能
- 🟢 dsh 升级管理——稳定版优先 + 候选链降级:默认版本策略改为优先最大稳定版(无稳定版才取最新 rc,alpha/beta 一律不选)。首选版本 npm install 失败或装后版本不符时,自动沿候选链退到次新版本,最多尝试 3 个——避免「最新发布但装不上」直接卡死引导。损坏/版本不符时先清空安装树再重装,绝不删 base 根目录。
- 🟢 引导默认 Node 改为解析 Node 24 最新稳定版:在线引导不再 pin
v24.21.0,改为在引导期经发行站index.json解析 Node 24 系最新稳定版(排除预发布),复用面板版本探测的镜像竞速与缓存。解析失败或严格离线回退兜底地板,不中断引导。显式--node-version优先。
修复
- 修复 dsh 版本探测:dsh 是
base/node_modules下的单一安装点,旧脚本 glob 的versions/dsh-<ver>/旧布局恒不命中。改为标记DSHBIN=后跑dsh --version,doctor 能区分「未安装」与「存在但不可运行」。
文档
- 记录特性分支不 push 到远程的规则:特性分支是临时工作区,只在本地流转,远程只保留 develop/master/tag,避免分支堆积与幽灵分支。
English
Features
- 🟢 dsh upgrade management — stable-first + candidate chain fallback: The default version strategy now prefers the largest stable version (falls back to latest rc only if no stable exists; alpha/beta are never selected). When the preferred version fails to install or the installed version doesn't match, the installer automatically walks down the candidate chain to the next-newest version, trying up to 3 — preventing the bootstrap from getting stuck when "the latest published version won't install." On corruption/version mismatch, the install tree is cleared before reinstalling, never deleting the base root directory.
- 🟢 Default Node now resolves the latest Node 24 stable release: Online bootstrapping no longer pins
v24.21.0; instead it resolves the latest Node 24 stable version (excluding pre-releases) via the distribution site'sindex.jsonduring the bootstrap, reusing the version-probe mirror racing and caching. Falls back to a floor version on resolution failure or strict-offline mode without breaking the bootstrap. Explicit--node-versionstill takes precedence.
Fixes
- Fix dsh version detection: dsh is a single install point under
base/node_modules; the old script's glob ofversions/dsh-<ver>/(legacy layout) never matched. Now marksDSHBIN=and runsdsh --version, lettingdoctordistinguish "not installed" from "installed but not runnable."
Documentation
- Document the feature-branch-no-push rule: feature branches are temporary workspaces that live locally only; remotes keep only develop/master/tags, avoiding branch proliferation and ghost branches.
Full Changelog: v0.8.6...v0.8.7