docs/histories/2026-08/2026-08-23-release-beta-promotion.md
Links: scripts/release/
发布新的 beta 版本时,保留当前版本的 beta/prerelease 状态,同时将上一 beta 的 Sparkle 条目和 GitHub Release 自动提升为 stable。
publish 阶段识别并持久化上一 beta,兼容已经生成的 Draft 和候选 appcast。sparkle:channel,继续拒绝其他旧 feed 条目变化。将 promotion 推迟到 publish,使现有 2.22.0 Draft 无需重新构建。上一 beta 在公开状态变化前
写入发布状态,因此失败后的 resume 不会重新选择版本;严格校验只放行目标 channel 删除,保留
原有旧条目保护边界。
python3 scripts/release/tests/test_release_appcast.py:通过,3 个测试成功。python3 -m py_compile scripts/release/release-appcast.py scripts/release/tests/test_release_appcast.py:通过。bash -n scripts/release/*.sh:通过。jq -e . scripts/release/asc-workflow.json:通过。asc workflow validate --file scripts/release/asc-workflow.json --pretty:通过。./scripts/release/release-easydict.sh publish 2.22.0 --dry-run:通过。git diff --check:通过。scripts/release/asc-workflow.jsonscripts/release/release-appcast.pyscripts/release/release-appcast.shscripts/release/release-common.shscripts/release/release-github.shscripts/release/release-preflight.shscripts/release/release-verify.shscripts/release/tests/test_release_appcast.pyscripts/release/README.mddocs/exec-plans/completed/2026-08-23-release-beta-promotion.mdshellcheck 未安装,因此本次未执行该检查。publish。