Capgo Semver 测试器
Capacitor 应用程序更新的语义版本兼容性检查
应用上下文
渠道设置
允许 iOS 设备更新
允许安卓设备更新
允许开发构建的更新
允许模拟器设备的更新
在运行原生时防止降级 code
控制哪些版本更新允许
本地应用的最低版本要求
输入两个语义版本以查看比较
为什么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 遵循语义版本规则,因此请根据您的渠道策略规划
有效语义版本
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 的实现不同。