mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-11 22:06:17 -08:00
docs(refactor): [DOC-11] require next major versions for all packages
This commit is contained in:
1 parent
a9197f59b1
commit
9b9739ab61
11 files changed
+111
-14
No files matched your search
@@ -29,6 +29,9 @@ Each review fix remains a separate task and commit. Revalidate changed candidate
|
||||
The user explicitly includes GitHub CI/CD modernization in this refactor.
|
||||
Follow [refactor/github-ci-cd.md](refactor/github-ci-cd.md) for PR checks, regression matrices,
|
||||
artifacts, Pages and npm workflows. Distinguish local configuration from verified remote runs.
|
||||
The user requires every workspace package to move to its own next major version for this
|
||||
refactor (M.m.p -> (M+1).0.0). Follow refactor/version-policy.md; independent versions and
|
||||
old API compatibility remain mandatory. This version policy is not publication authorization.
|
||||
|
||||
## Project Summary
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
| [docs 页面与编辑器测试](docs-browser-testing.md) | 复用已有 HTML、加载版本、隔离状态和补强文档 smoke |
|
||||
| [多轮复盘与 npm 准入](release-reviews.md) | Chrome 验证分工、三轮全局复盘、问题闭环和候选发布门槛 |
|
||||
| [工具链与发布](toolchain-release.md) | TypeScript、Bun、构建、版本管理和发布回退 |
|
||||
| [全包大版本策略](version-policy.md) | 每包分别升级一个 major 的目标清单、兼容要求和版本落地步骤 |
|
||||
| [GitHub CI/CD](github-ci-cd.md) | PR/兼容矩阵、构建报告、Pages、npm 发布及远端准入验证 |
|
||||
| [AI 协作流程](ai-workflow.md) | AI 接续工作、任务边界、验证、记录和交接模板 |
|
||||
| [架构决策](decisions.md) | 已选方向、待验证方案及被拒绝方案 |
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# DOC-11 全包大版本升级策略
|
||||
|
||||
- 日期:2026-09-10;分支:`codex/compatible-modernization`。
|
||||
- 基线提交:`a9197f59`。
|
||||
- 提交主题:`docs(refactor): [DOC-11] require next major versions for all packages`。
|
||||
- 用户要求:所有包分别升级到自身下一大版本,如 5.4.1 → 6.0.0,插件同理。
|
||||
|
||||
## 交付
|
||||
|
||||
核对全部 22 个 workspace manifest,新增 version-policy.md 目标清单,替代旧的“不自动提升全部 major”表述。根指令、发布/CI/CD/复盘和决策同步;REL-01/02、CI-03、REVIEW-03 补充版本验收要求。
|
||||
|
||||
仅记录策略,未改 package.json、锁文件、历史基线或生成产物。各包独立版本与旧 API 兼容要求保留,不把主包版本套到全部插件。文档包也列入目标,npm 发布资格仍逐包核实;私有根工作区不作为 npm 发布包。
|
||||
|
||||
## 验证与后续
|
||||
|
||||
运行目标表与 22 个 manifest 的对应/major+1 断言、计划生成/依赖/覆盖/链接检查及 Git 差异检查。原 208 项任务 ID、范围、状态和依赖保持,新增 DOC-11 已完成;共 209 项任务,11 项规划完成,198 项待办。
|
||||
|
||||
没有运行生产或浏览器测试,没有推送、打 tag 或发布。下一项仍为 BASE-01;实际改版本由 REL-01/02 组织独立任务提交,候选测试之前生效。可独立回退本 DOC-11 文档提交,不影响生产代码。
|
||||
@@ -23,6 +23,7 @@
|
||||
| ADR-017 | 采用方向 | 分离准备工作、自动化验证与真实环境发布门槛 | 文档/本地候选不等待无关硬件;相关能力发布仍须真实证据,全项目任务范围不缩减 |
|
||||
| ADR-018 | 采用方向 | 历史失败台账与逐模块严格门槛 | 初始全包类型/环境不一定全绿;不掩盖既有问题、不允许新增回归,迁移包与发布范围严格验收 |
|
||||
| ADR-019 | 采用方向 | 候选产物内容绑定测试证据 | 来源 SHA、锁文件/工具和 tarball integrity 可追溯,内容变化后重新验证,避免测一份发布另一份 |
|
||||
| ADR-020 | 采用方向 | 全部 workspace 包各自升级到下一个 major,minor/patch 归零 | 2026-09-10 用户明确要求;替代旧“不自动提升全部 major”策略,保留 independent、旧 API 及跨版本插件兼容;目标见 version-policy.md |
|
||||
|
||||
## 开始实现前需补齐的决定
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ required checks、环境审批、Pages source、npm trusted publisher 等是外
|
||||
|
||||
Pages 优先评估官方 artifact 部署流程,替代 CI 内提交/force push gh-pages 的耦合;先核对当前站点来源、域名、静态目录及保留文件,迁移前准备恢复旧部署方式的步骤。具体权限及 artifact 约束依据 [GitHub Pages workflow 文档](https://docs.github.com/en/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages)。尚未迁移远端设置时,旧站点仍须可恢复。
|
||||
|
||||
npm 保持 Lerna independent 的分包版本,不自动统一版本或抬高 major。优先评估 [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/) 的 OIDC 和 provenance;逐包核对支持环境、CLI 版本及信任配置,不能因支持 OIDC 就假定本仓库已配置。发布 CLI 环境要求不自动改变消费者最低 Node 要求。
|
||||
npm 保持 Lerna independent 的分包版本;用户已要求全部包分别升级到自身下一个大版本,按 [版本策略](version-policy.md) 校验版本清单,不把所有包统一为核心版本。优先评估 [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/) 的 OIDC 和 provenance;逐包核对支持环境、CLI 版本及信任配置,不能因支持 OIDC 就假定本仓库已配置。发布 CLI 环境要求不自动改变消费者最低 Node 要求。
|
||||
|
||||
发布只接收明确受信任来源的候选 artifact,并核对源码 SHA、workflow run、包/版本/registry/tag 和 tarball integrity。不能执行任意外部 URL 提供的代码或仅凭 artifact 名称信任内容。避免发布阶段生命周期脚本悄悄重建包;若内容改变,重新验证。dry run 不能证明 npm 权限、OIDC 或真实发布成功。
|
||||
|
||||
|
||||
+8
-6
@@ -2,9 +2,9 @@
|
||||
|
||||
> 由 tasks.json 生成。请修改数据后运行 `node refactor/scripts/plan.mjs --write`,不要手改本表。
|
||||
|
||||
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 208 项,范围 22 个包及工作区/示例。
|
||||
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 209 项,范围 22 个包及工作区/示例。
|
||||
|
||||
状态:todo 198 / doing 0 / blocked 0 / done 10 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
|
||||
状态:todo 198 / doing 0 / blocked 0 / done 11 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
|
||||
|
||||
前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
| DOC-08 | workspace<br>记录 Chrome 验证及多轮 npm 发布复盘 | DOC-07 | 浏览器分工、三轮复盘规范、发布依赖与接续文档 | 计划和发布依赖检查通过;独立提交 DOC-08,连接可用不冒充测试通过 | L | done |
|
||||
| DOC-09 | workspace<br>记录 docs HTML 与在线编辑器测试入口 | DOC-08 | 页面/加载方式、状态隔离、行为断言与既有任务映射 | 源码清点和计划检查通过,独立提交 DOC-09;不把页面存在当作测试通过 | L | done |
|
||||
| DOC-10 | workspace<br>记录 GitHub CI/CD 增强范围与验收 | DOC-09 | CI/CD 规范、四项实施任务与发布依赖 | 现有 workflow 核对、计划检查通过并独立提交;不冒充远端执行完成 | L | done |
|
||||
| DOC-11 | workspace<br>记录全部包各自升级一个大版本 | DOC-10 | 22 包目标版本清单、决策和发布/CI/复盘规则同步 | 版本表与 manifest 对照、计划检查通过并独立提交;不修改旧 API 兼容要求 | L | done |
|
||||
|
||||
## 1 基线
|
||||
|
||||
@@ -86,7 +87,7 @@
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| CI-01 | workspace<br>增强兼容矩阵、并发缓存与 CI 报告 | DOC-10, ENG-08, ENG-09, ENG-10 | OS/Node/TS/浏览器与影响范围矩阵、缓存、超时、汇总检查和 artifact 报告 | 固定安装、失败/取消不误报、核心影响全生态;检查只读,失败证据可追溯 | H | todo |
|
||||
| CI-02 | workspace<br>分离并改进 GitHub Pages 部署 | DOC-10, ENG-02, SITE-03 | Pages artifact 部署配置、旧路径/域名核对、预检和迁移恢复指南 | 部署只取受信任已验证产物;本地实现可验收,远端 source/环境和实际部署状态单独登记 | H | todo |
|
||||
| CI-03 | workspace<br>建立 npm 分包候选与发布工作流 | DOC-10, CI-01, REL-08, REL-04 | 候选准备、精确 artifact 发布配置、OIDC 评估、版本/tag/registry 预检和部分失败恢复 | 不自动发布;明确逐包信任前置和 dry run 限制,不能重建未验证内容或重发冲突版本 | H | todo |
|
||||
| CI-03 | workspace<br>建立 npm 分包候选与发布工作流 | DOC-10, CI-01, REL-08, REL-04 | 候选准备、精确 artifact 发布配置、OIDC 评估、版本/tag/registry 预检和部分失败恢复 | 不自动发布;明确逐包信任前置和 dry run 限制,不能重建未验证内容或重发冲突版本;按版本清单校验各包下一 major 和预发布/正式 tag,保留旧核心支持范围 | H | todo |
|
||||
| CI-04 | workspace<br>验收 GitHub 流水线与远端发布准入 | CI-01, CI-02, CI-03, SITE-06 | 静态/干净环境检查、真实 PR 正反例、候选 dry run、required checks/Pages/npm 必需配置状态及运维指南 | 必要 Actions 证据和远端配置核对齐全;缺失保持未完成,真实 publish/deploy 仍在授权发布步骤执行 | H | todo |
|
||||
|
||||
## 2.1 早期试点
|
||||
@@ -379,8 +380,8 @@
|
||||
| ID | 范围 / 步骤 | 前置依赖 | 交付物 | 验收条件 | 风险 | 状态 |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| REL-08 | workspace<br>提前建立逐包发布准入台账 | BASE-08, ENG-07 | 每批包/版本/源码/锁文件/工具/tarball integrity、必需测试/设备证据、限制和回退映射 | 受影响能力缺证据明确阻止对应批次;无关批次可独立准备,旧证据在候选内容变化后失效 | H | todo |
|
||||
| REL-01 | workspace<br>提前确定分包版本与差异方案 | REL-08, CORE-21, SITE-03, PKG-CHAPTER-04, PKG-AMBILIGHT-04, PKG-AUDIO-04, PKG-AUTO-THUMB-04, PKG-VTT-THUMB-04, PKG-HLS-04, PKG-DASH-04, PKG-MULTI-SUB-04, PKG-JASSUB-04, PKG-MASK-04, PKG-ASR-04, PKG-ADS-04, PKG-VAST-04, PKG-CAST-04, PKG-DPIP-04, PKG-CANVAS-04, PKG-IFRAME-04, PKG-TOOL-THUMB-04, PKG-DANMUKU-06, PKG-MB-08 | 每包版本/变更日志/依赖/类型差异方案和独立准入状态 | 所有包有方案和剩余门槛,未决项明确阻止相应发布;本步骤不声称已经可发布 | H | todo |
|
||||
| REL-02 | workspace<br>生成候选 tarball 并验证新旧组合 | REL-01, CORE-22, ENG-07 | 各候选本地 tarball/integrity 与新旧核心/插件消费者验证报告,外部门槛单独标注 | 隔离安装和可自动化组合通过;设备结论不伪造,最终发布绑定同一候选内容 | H | todo |
|
||||
| REL-01 | workspace<br>提前确定分包版本与差异方案 | REL-08, CORE-21, SITE-03, PKG-CHAPTER-04, PKG-AMBILIGHT-04, PKG-AUDIO-04, PKG-AUTO-THUMB-04, PKG-VTT-THUMB-04, PKG-HLS-04, PKG-DASH-04, PKG-MULTI-SUB-04, PKG-JASSUB-04, PKG-MASK-04, PKG-ASR-04, PKG-ADS-04, PKG-VAST-04, PKG-CAST-04, PKG-DPIP-04, PKG-CANVAS-04, PKG-IFRAME-04, PKG-TOOL-THUMB-04, PKG-DANMUKU-06, PKG-MB-08 | 每包版本/变更日志/依赖/类型差异方案和独立准入状态;按 version-policy.md 冻结各包下一 major(minor/patch 归零)并核实 registry 占用 | 所有包有方案和剩余门槛,未决项明确阻止相应发布;本步骤不声称已经可发布;全部包有 major 目标,版本冲突明确处理,独立准备任务同步 manifest/锁/依赖/日志 | H | todo |
|
||||
| REL-02 | workspace<br>生成候选 tarball 并验证新旧组合 | REL-01, CORE-22, ENG-07 | 各候选本地 tarball/integrity 与新旧核心/插件消费者验证报告,外部门槛单独标注 | 隔离安装和可自动化组合通过;设备结论不伪造,最终发布绑定同一候选内容;在目标 major 版本确定后构建 pack,不在测试后改版本 | H | todo |
|
||||
| REL-03 | workspace<br>完成真机、外部 SDK 与压力验收 | REL-02, EX-03, SITE-06, MOD-05 | Safari/移动/PiP/Cast/IMA/模型/长播放完整报告 | 包集成与全项目真机/SDK/压力结论齐全才完成本汇总;独立批次先建立自己的完整门槛子任务 | H | todo |
|
||||
| REL-04 | workspace<br>提前演练回退与主线修复同步 | REL-08, ENG-07 | 分包旧版本/tag/依赖回退方案与 master 差异 | 隔离包演练可回退,主线修复同步流程可执行;正式每批再核对其实际回退产物 | H | todo |
|
||||
| REL-05 | workspace<br>经授权发布候选并收集反馈 | REL-03, REL-04, REVIEW-03 | 候选 tag、完整产物 integrity、反馈与复现记录 | 实际发布授权/操作/版本可追溯;本计划不自动执行发布 | H | todo |
|
||||
@@ -393,7 +394,7 @@
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| REVIEW-01 | workspace<br>第一轮全项目架构与兼容性复盘 | REL-02, CORE-22, SITE-04, MOD-05, DOC-08 | 22 包结构、类型、旧 API/路径、测试盲区和维护文档的逐包报告 | 本轮阻断项由独立修复任务关闭并复测;环境缺口转交下一轮,不宣称已发布就绪 | H | todo |
|
||||
| REVIEW-02 | workspace<br>第二轮真实浏览器与生态集成复盘 | REVIEW-01, REL-03 | Chrome 交互、自动浏览器、新旧组合、真机/SDK/性能/资源的全范围报告 | 所需环境证据齐全,前轮修复再次核对;本轮阻断项关闭,无关 mock 不替代真实验收 | H | todo |
|
||||
| REVIEW-03 | workspace<br>第三轮 npm 候选内容与发布准备复盘 | REVIEW-02, REL-04, CI-04 | 实际候选 integrity、干净安装构建/消费者、入口/许可/版本/tag/回退及前轮证据汇总 | 最终候选完整检查通过,发布阻断项为零;准备可审阅的批次报告,不自动执行 publish | H | todo |
|
||||
| REVIEW-03 | workspace<br>第三轮 npm 候选内容与发布准备复盘 | REVIEW-02, REL-04, CI-04 | 实际候选 integrity、干净安装构建/消费者、入口/许可/版本/tag/回退及前轮证据汇总 | 最终候选完整检查通过,发布阻断项为零;准备可审阅的批次报告,不自动执行 publish;逐包核对 major 目标,不能用大版本豁免旧 API 兼容 | H | todo |
|
||||
|
||||
## 完成证据与阻塞
|
||||
|
||||
@@ -407,3 +408,4 @@
|
||||
- DOC-08: [记录](changes/2026-09-10-DOC-08-browser-and-release-reviews.md)
|
||||
- DOC-09: [记录](changes/2026-09-10-DOC-09-docs-test-surfaces.md)
|
||||
- DOC-10: [记录](changes/2026-09-10-DOC-10-github-ci-cd.md)
|
||||
- DOC-11: [记录](changes/2026-09-10-DOC-11-major-version-policy.md)
|
||||
@@ -1,6 +1,12 @@
|
||||
# 进度与证据
|
||||
|
||||
## 当前阶段:DOC-10 GitHub CI/CD 规划
|
||||
## 当前阶段:DOC-11 全包大版本策略
|
||||
|
||||
2026-09-10,用户要求所有包各自升级到下一 major。已核对 22 个 manifest 并记录 [目标清单](version-policy.md),同步发布/CI/复盘及根指令,详见 [DOC-11 记录](changes/2026-09-10-DOC-11-major-version-policy.md)。现有 209 项任务:11 项规划完成、198 项待办。
|
||||
|
||||
版本目标对应与计划/链接/依赖、Git 差异检查通过。仅修改文档,未改 manifest/锁文件或运行生产测试;旧 API 兼容要求不变。DOC-10 提交为 `a9197f59`,本轮独立提交 DOC-11。下一项仍为 BASE-01。
|
||||
|
||||
## 2026-09-10:DOC-10 GitHub CI/CD 规划
|
||||
|
||||
2026-09-10,用户明确纳入 GitHub CI/CD 优化。已核对现有 workflow 源码,新增 CI-01 至 CI-04 并接入第三轮发布复盘,文档见 [CI/CD 规范](github-ci-cd.md) 和 [DOC-10 记录](changes/2026-09-10-DOC-10-github-ci-cd.md)。现有 208 项任务:10 项规划完成、198 项待办;生产重构和 CI 改造均未开始。
|
||||
|
||||
|
||||
@@ -44,6 +44,8 @@
|
||||
|
||||
## 发布关系
|
||||
|
||||
REVIEW-03 必须逐包核对 [全包大版本目标](version-policy.md)、依赖范围、变更日志和候选标识;升级 major 不代表允许破坏旧调用或强制用户同时升级核心和插件。
|
||||
|
||||
REVIEW-03 还依赖 CI-04,核对 [GitHub CI/CD](github-ci-cd.md) 的真实检查结果、候选来源和必要远端配置。只有 YAML 或本地 dry run 通过,不能声称 npm 发布权限及正式工作流已验证。
|
||||
|
||||
REVIEW-01 -> REVIEW-02 -> REVIEW-03 -> REL-05(经授权候选发布)-> REL-06(经授权正式发布)。REL-03 的真机验收与 REL-04 的回退演练继续保留;复盘不替代它们。代码迁移完成后仍需完成这些门槛。
|
||||
|
||||
+23
-5
@@ -183,6 +183,24 @@
|
||||
"changes/2026-09-10-DOC-10-github-ci-cd.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "DOC-11",
|
||||
"phase": "0 规划",
|
||||
"title": "记录全部包各自升级一个大版本",
|
||||
"scope": [
|
||||
"workspace"
|
||||
],
|
||||
"dependsOn": [
|
||||
"DOC-10"
|
||||
],
|
||||
"status": "done",
|
||||
"risk": "L",
|
||||
"deliverable": "22 包目标版本清单、决策和发布/CI/复盘规则同步",
|
||||
"acceptance": "版本表与 manifest 对照、计划检查通过并独立提交;不修改旧 API 兼容要求",
|
||||
"evidence": [
|
||||
"changes/2026-09-10-DOC-11-major-version-policy.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "BASE-01",
|
||||
"phase": "1 基线",
|
||||
@@ -540,7 +558,7 @@
|
||||
"status": "todo",
|
||||
"risk": "H",
|
||||
"deliverable": "候选准备、精确 artifact 发布配置、OIDC 评估、版本/tag/registry 预检和部分失败恢复",
|
||||
"acceptance": "不自动发布;明确逐包信任前置和 dry run 限制,不能重建未验证内容或重发冲突版本",
|
||||
"acceptance": "不自动发布;明确逐包信任前置和 dry run 限制,不能重建未验证内容或重发冲突版本;按版本清单校验各包下一 major 和预发布/正式 tag,保留旧核心支持范围",
|
||||
"evidence": []
|
||||
},
|
||||
{
|
||||
@@ -3526,8 +3544,8 @@
|
||||
],
|
||||
"status": "todo",
|
||||
"risk": "H",
|
||||
"deliverable": "每包版本/变更日志/依赖/类型差异方案和独立准入状态",
|
||||
"acceptance": "所有包有方案和剩余门槛,未决项明确阻止相应发布;本步骤不声称已经可发布",
|
||||
"deliverable": "每包版本/变更日志/依赖/类型差异方案和独立准入状态;按 version-policy.md 冻结各包下一 major(minor/patch 归零)并核实 registry 占用",
|
||||
"acceptance": "所有包有方案和剩余门槛,未决项明确阻止相应发布;本步骤不声称已经可发布;全部包有 major 目标,版本冲突明确处理,独立准备任务同步 manifest/锁/依赖/日志",
|
||||
"evidence": []
|
||||
},
|
||||
{
|
||||
@@ -3545,7 +3563,7 @@
|
||||
"status": "todo",
|
||||
"risk": "H",
|
||||
"deliverable": "各候选本地 tarball/integrity 与新旧核心/插件消费者验证报告,外部门槛单独标注",
|
||||
"acceptance": "隔离安装和可自动化组合通过;设备结论不伪造,最终发布绑定同一候选内容",
|
||||
"acceptance": "隔离安装和可自动化组合通过;设备结论不伪造,最终发布绑定同一候选内容;在目标 major 版本确定后构建 pack,不在测试后改版本",
|
||||
"evidence": []
|
||||
},
|
||||
{
|
||||
@@ -3636,7 +3654,7 @@
|
||||
"status": "todo",
|
||||
"risk": "H",
|
||||
"deliverable": "实际候选 integrity、干净安装构建/消费者、入口/许可/版本/tag/回退及前轮证据汇总",
|
||||
"acceptance": "最终候选完整检查通过,发布阻断项为零;准备可审阅的批次报告,不自动执行 publish",
|
||||
"acceptance": "最终候选完整检查通过,发布阻断项为零;准备可审阅的批次报告,不自动执行 publish;逐包核对 major 目标,不能用大版本豁免旧 API 兼容",
|
||||
"evidence": []
|
||||
},
|
||||
{
|
||||
|
||||
@@ -60,7 +60,7 @@ GitHub CI/CD 的优化属于本次重构范围,按 [CI/CD 规范](github-ci-cd
|
||||
|
||||
1. BASE-01 确定旧核心和插件的支持矩阵,登记 npm tarball integrity。起点 SHA 不能代替消费者产物基线。
|
||||
2. REL 阶段为每个发生变化的包生成候选 tarball,用隔离消费者验证,无需先公开发布。
|
||||
3. 决定独立版本号、变更日志和包依赖;纯内部兼容重构不自动提升全部包 major,也不自动把所有包改成同一版本。
|
||||
3. 按用户要求,全部 workspace 包各自升级一个大版本:M.m.p → (M+1).0.0,具体目标见 [版本策略](version-policy.md)。保留独立版本、同步变更日志和依赖范围;大版本升级不放宽旧 API 兼容要求。
|
||||
4. 预发布 tag、npm 发布、站点部署及推送属于后续实际发布步骤;当前仅创建本地分支与文档,不执行这些动作。
|
||||
5. 经授权后按风险批次发布候选版本。优先简单包,再核心兼容候选,最后高风险生态包;不要求用户同时升级整个生态。
|
||||
6. 收集有复现步骤的反馈,与旧版本 A/B 对照。达到记录好的验收条件后才能更新正式 tag;不设无依据的自动等待天数。
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
# 全包大版本升级策略
|
||||
|
||||
2026-09-10 用户明确要求:本次重构所有 workspace 包分别升级到自身下一个大版本,M.m.p → (M+1).0.0。无论内部整理是否造成 breaking change,本次都按此策略发布;旧 API、类型、事件、DOM/CSS 和分发入口的兼容要求仍然成立。
|
||||
|
||||
## 目标清单
|
||||
|
||||
以下来自源码提交 a9197f59 的 22 个 package.json,是本次规划快照,并非已核实的 npm 最新版本;package-inventory.json 历史基线保持不变。本任务不修改 manifest。
|
||||
|
||||
| 包 | 当前源码版本 | 重构正式目标 |
|
||||
| --- | --- | --- |
|
||||
| artplayer | 5.4.1 | 6.0.0 |
|
||||
| artplayer-plugin-ads | 2.1.0 | 3.0.0 |
|
||||
| artplayer-plugin-ambilight | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-asr | 2.1.0 | 3.0.0 |
|
||||
| artplayer-plugin-audio-track | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-auto-thumbnail | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-chapter | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-chromecast | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-danmuku | 5.3.0 | 6.0.0 |
|
||||
| artplayer-plugin-danmuku-mask | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-dash-control | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-document-pip | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-hls-control | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-jassub | 1.1.0 | 2.0.0 |
|
||||
| artplayer-plugin-multiple-subtitles | 1.2.0 | 2.0.0 |
|
||||
| artplayer-plugin-vast | 1.2.0 | 2.0.0 |
|
||||
| artplayer-plugin-vtt-thumbnail | 1.1.0 | 2.0.0 |
|
||||
| artplayer-proxy-canvas | 1.1.0 | 2.0.0 |
|
||||
| artplayer-proxy-mediabunny | 1.2.0 | 2.0.0 |
|
||||
| artplayer-tool-iframe | 1.1.0 | 2.0.0 |
|
||||
| artplayer-tool-thumbnail | 4.4.0 | 5.0.0 |
|
||||
| artplayer-vitepress | 1.1.0 | 2.0.0 |
|
||||
|
||||
根 package.json 是 private 的 monorepo 管理包,当前 6.1.0,不作为 npm 发布包或核心版本依据。artplayer-vitepress 也按用户“所有包”要求列入版本升级;是否实际发布 npm 需按原分发范围和发布台账核实,不能因列入表中自动扩大公开发布范围。
|
||||
|
||||
## 规则与实施
|
||||
|
||||
1. 保持 Lerna independent:核心 6.0.0 不意味着全部插件也是 6.0.0。每个包 minor/patch 归零;本次只有一个 major 升级,不按任务或复盘轮次反复加 major。
|
||||
2. 允许在目标版本下准备预发布版本,例如 6.0.0-rc.1;具体标识由 REL-01 固定,正式目标保持 6.0.0。预发布、正式 tag 和实际 publish 仍遵循发布流程。
|
||||
3. REL-01 核实已发布历史及版本占用,再冻结分包目标、变更日志和依赖范围。若执行期间主线已经发布了目标 major 或存在目标版本,明确记录冲突并重新确定方案;不能覆盖已发布内容、悄悄改成 patch 或凭旧清单直接发布。
|
||||
4. REL-01/02 实施时先拆出可验收的版本准备任务,再同步 manifest、适用锁文件、内部 dependencies/peerDependencies、示例和变更日志,独立提交后构建候选。更新 peer 范围需保留已验证的旧核心支持,不因 major 变化强制全生态同步升级。
|
||||
5. 全包都纳入大版本目标,不以某包改动较少为由继续发原 minor/patch。允许按实际验证范围分批发布,未交付包保持待办,不伪造完成。
|
||||
6. 候选版本必须在最终构建/pack/验证前确定,CI-03 校验逐包版本、包内容和发布 tag;不能测试旧版本包后临发布再改版本。版本或依赖变化使相关候选证据失效,必须重跑验证。
|
||||
7. REVIEW-03 逐包核对目标、声明、入口、版本组合、旧调用及回退产物;release notes 说明本次工程重构采用新 major,但不能笼统声明所有旧 API 已兼容而缺少证据。
|
||||
|
||||
本次决定替代 toolchain-release.md 和 github-ci-cd.md 原先“不自动提升全部 major”的规则。兼容契约与三轮复盘门槛不变;这是版本策略记录,尚未实施升级或发布。
|
||||
Reference in new issue
Block a user