跳转到正文

版本管理

Capgo 使用 语义化版本控制 (semver) 插件、CLI 和我们发布的产品都采用同一套做法——这也是我们建议你为自己的应用 bundle 采用的实践。

本页说明这些版本之间如何关联、跨大版本哪些保持兼容,以及如何用 LTS 标签锁定较旧的 Capacitor 大版本。

产品大版本管理兼容性说明
Capgo 插件按照匹配的 Capacitor 主版本插件主版本 8 适配 Capacitor 8, 7 适配 Capacitor 7,以此类推
Capgo CLI独立版本请勿将 CLI 主版本与插件或 Capacitor 同步。请始终使用最新的 CLI
Capgo 控制台独立版本拥有独立的发布节奏;兼容受支持的 updater 插件版本

Plugins 跟随 Capacitor 主版本

标题为“插件遵循 Capacitor 主版本号”

每个 Capgo 插件主版本号都对应其构建时所用的 Capacitor 主版本号:

  • @capgo/capacitor-updater@8 → Capacitor 8
  • @capgo/capacitor-updater@7 → Capacitor 7
  • 其他 Capgo 插件也遵循相同的模式

当 Capacitor 发布新的主版本时,Capgo 也会发布匹配的插件主版本。届时我们可能会进行变更 默认选项 如果新的默认值对该 Capacitor 版本更具长期优势。

除非设计上必须进行破坏性变更(例如 Capacitor 平台要求强制所有用户进行变更),否则 Plugin APIs 在大版本之间保持稳定。通常情况下,在升级 Capacitor 时,你无需重写集成代码即可在 Capgo 插件的大版本之间迁移。

在新版本中,默认配置仍可能发生变化。升级时请查看发行说明和迁移指南(参见 updater 升级 以及 updater 侧边栏中 Migrations 下的指南)

Capgo CLI 和 Capgo Console 确实如此 不会 与插件或 Capacitor 使用相同的主版本。

  • 需要 不会 需要 CLI 主版本 8 因为您使用的是 Capacitor 8 或 updater 8.
  • 请始终安装或调用 最新 CLI。
  • 最新版 CLI 和 Console 仍兼容任何受支持的 @capgo/capacitor-updater (及相关 updater)主版本。

不建议锁定旧版 CLI。推荐使用:

终端窗口
npx @capgo/cli@latest bundle upload --channel=production

旧插件大版本的 LTS 标签

“旧版插件主版本的 LTS 标签”章节

如果您继续使用较旧的 Capacitor 主版本,请用 LTS dist-tag 安装匹配的 Capgo 插件主版本,而不是一直照搬过时的 lockfile。

终端窗口
# Latest Capgo updater for Capacitor 7
npm i @capgo/capacitor-updater@lts-v7
# Same pattern for other majors
npm i @capgo/capacitor-updater@lts-v6
npm i @capgo/capacitor-updater@lts-v5
npm i @capgo/capacitor-updater@lts-v4

在 Updater 之外,旧版插件主版本的 LTS 版本会 按需发布.

Updater 的 backport 与其他插件的区别

“Updater backport 与其他插件的对比”章节
包旧主版本 backport
@capgo/capacitor-updater每月镜像回移至 v7 / v6 / v5 (lts-v7, lts-v6, lts-v5). lts-v4 Capacitor 4 仍可使用,但不按该每月节奏更新
其他 Capgo 插件按需使用

功能一致,版本号同步

标题为“功能相同,版本号镜像”

当存在回移时,LTS 版本线会镜像当前最新版本线的小版本和补丁版本。

如果最新版本是 8.3.4,则 Capacitor 7 LTS 版本线将发布为 7.3.4 配合 相同的功能集和 Bug 修复,并适配该 Capacitor 主版本。

如果你想安装“适用于当前 Capacitor 大版本的最新版”,请使用 tag 安装:

终端窗口
npm i @capgo/capacitor-updater@lts-v7 # resolves to the current 7.x LTS, e.g. 7.3.4

当一个新的插件大版本发布后, lts-v7 (或 lts-v6,...)版本是 最新版本的 backport 因此相同的代码可以在之前的 Capacitor 大版本上运行。

由于 LTS 分支会追踪最新版本,其公开的 API 可能会发生变化 即使主版本号保持不变,当最新的更改出现时 7请将 LTS 视为“在旧版 Capacitor 上运行的当前 Capgo 行为”,而不是永远冻结的遗留 API。

  1. 当您升级 Capacitor 主版本时,请同步升级 Capgo 插件。
  2. 始终运行 @capgo/cli@latest — CLI 与 Capacitor/plugins 的主版本同步并非必要。
  3. 仍在使用 Capacitor 7 (或更早版本)?请使用 @lts-v7 (或匹配的 tag),而不是随机选择几个月前的 7.x 版本。
  4. Version your own live-update bundles with semver 与 Capgo 对其 package 进行版本管理的方式相同。请参阅 bundle 版本管理与 channels 以及 版本定向.