跳过主要内容

Capgo Semver 测试器

Capacitor 应用程序更新的语义版本兼容性检查

输入两个语义版本以查看比较

为什么Capgo使用语义版本

语义版本 Capgo使用语义版本是软件开发中最广泛采用的版本控制标准。 通过使用semver,Capgo确保了在向您的Capacitor应用程序推送实时更新时的兼容性和安全性。

语义版本标准允许Capgo了解每个更新中包含的具体变化:

  • 补丁更新(1.0.0 → 1.0.1): 修复bug,安全自动应用
  • 次要更新(1.0.0 → 1.1.0): 新功能,向后兼容
  • 主要更新(1.0.0 → 2.0.0): Breaking changes, require native app store release

这防止Capgo向您的本机code发送不兼容的更新,从而保护您的用户免受崩溃的影响,并确保您的应用程序保持稳定。

灵活的 Semver 策略:超越基本版本控制

虽然 Semver 对其核心格式非常严格,但您可以使用 预发布标识符构建元数据:

🏷️ 构建元数据 (+) - 外观层

1.2.0+20240315.142530
部署跟踪的时间戳
1.2.0+ui.refresh.dark-mode
UI 更新描述
1.2.0+build.4729.commit.a1b2c3d
CI/CD构建号和git提交

重要提示: 在版本优先级中忽略的构建元数据 - 1.2.0+anything 等于 1.2.0 用于Capgo的更新逻辑。

🔧预发布标识符(-)- 开发频道

1.3.0-beta.1
测试Beta频道
1.3.0-hotfix.payment
紧急修复Branch
1.3.0-feature.newapi
功能分支测试

注意: 预发布版本的优先级较低 - 1.3.0-beta.1 < 1.3.0

🎯 混合方法 - 最佳两者兼而有之

1.3.0-rc.1+ui.redesign.20240315
带有 UI 元数据和时间戳的发布候选版本

现实世界的 Semver 使用案例 & 团队策略

🚀 启动 / 快速开发

0.1.0 - MVP 首发
0.2.0-beta.1 - 新功能测试
0.2.0+ui.v2 - UI 重设计元数据
1.0.0 - 生产就绪

使用 0.x.x 进行预 1.0 开发,设计跟踪元数据

🏢 企业 / 受管控

2.1.0 → 季度发布
2.1.1+sec.patch.cve2024 → 有追踪的安全补丁
2.2.0-rc.1+audit.ready → 审计前发布候选版本

严格的 Semver 与合规元数据

🎮 游戏 / 创意应用

1.0.0+season.winter.2024 → 季节性内容
1.1.0+event.halloween → 事件驱动功能
1.2.0+assets.hd.remaster → 资产更新

内容跟踪的创意元数据

⚡ 热修复策略

1.2.0 → 当前生产
1.2.1-hotfix.payment → bug 修复
1.2.1+urgent.20240315.1430 → 使用时间戳发布

预发布测试,用于部署跟踪元数据

🌍 多平台战略

1.3.0+ios.optimized → iOS 专属优化
1.3.0+android.material3 → Android 设计更新
1.3.0+web.pwa.ready → PWA 能力

相同版本,平台特定元数据

🔄 CI/CD 集成

1.4.0-alpha.1+build.123 → 自动预发布
1.4.0+deploy.staging.456 → 阶段性部署
1.4.0+prod.final.789 → 生产部署

自动化版本控制与部署元数据

喜渪回答算语算法
  • 使用构建元数据 (+) 追踪、时间戳或不影响兼容性的外观信息
  • 使用预发布标识符 (-) 为需要不同更新顺序的开发通道
  • 结合两者以获得最大灵活性: 1.2.0-beta.1+ui.dark.theme.20240315
  • 注意: Capgo 遵循语义版本规则,因此请根据您的渠道策略规划

重要: Capgo 使用严格的语义版本

与 npm 的语义版本实现不同,Capgo 严格遵循 SemVer 规范。 npm 的 node-semver 有已知的规范差异,这可能导致意外行为

例如,npm 将版本 1.0.0-alpha.1 与规范所需的方式 不同。请参阅我们的 已报告的问题 修复尝试 从未合并的修复。

有效语义版本

1.0.0 ✓ 标准发布
2.1.3-alpha ✓ 预发布
1.0.0-beta.1 ✓ 带有数字的预发布
1.0.0+build.1 ✓ 构建元数据
1.0.0-rc.1+build.1 ✓ 完整版本

无效语义版本

v1.0.0 ✗ 不允许以 'v' 开头
1.0 ✗ 缺少补丁版本
1.0.0.0 ✗ 版本部分过多
1.0.0- ✗ 空白预发布
1.0.0+ ✗ 空白构建元数据

Capgo 更新行为

补丁更新将自动应用 (1.0.0 → 1.0.1)
次要更新需要配置频道 (1.0.0 → 1.1.0)
重大更新需要原生应用商店发布 (1.0.0 → 2.0.0)
预发布版本需要明确配置

该工具遵循官方 语义版本规范 与 npm 的实现不同。