メインコンテンツにスキップ

Capgo Semver テスター

Capacitor アプリのアップデートのシーケンスバージョン互換性を確認する

Capgo にインストールされたアプリが報告するローカル バージョン、設定またはネイティブ アプリ メタデータから

2 つの意味的なバージョンを入力して比較を表示

「ローカルバージョン」は何を意味するか

ローカルバージョンは、デバイスがバンドルを要求するときにすでにインストールされているバージョンです。Capacitor アプリでは、その値は CapacitorUpdater.version で取得できます。 capacitor.config.*その設定が 存在しない場合、プラグインはiOSまたはAndroidのネイティブアプリのバージョンにフォールバックします。ネイティブアプリのバージョンをあなたの package.json バージョンと勘違いしないでください。__CAPGO_KEEP_0__ の設定が存在しない場合、ネイティブアプリのバージョンをコピーして設定またはネイティブメタデータに追加する必要があります。

Capacitor 設定

設定 CapacitorUpdater.version アプリが明示的に指定したバージョンを送信したい場合。

Pro: iOSとAndroidのビルドを同じに保つことが簡単です。

Con: 古い設定を忘れてアップデートしないままネイティブリリースを実行すると、間違ったバージョンを報告する可能性があります。

ネイティブアプリバージョン

プラットフォームのバージョンを使用します。例えば、iOS CFBundleShortVersionString またはAndroid versionName.

Pro: TestFlight、App Store、Play Store、または内部テストからインストールされたユーザーが実行しているバイナリのバージョンと一致します。

Con: リリース設定が異なる場合、プラットフォームによって異なる場合があり、変更するにはネイティブビルドが必要です。

ターゲットバンドル

__CAPGO_KEEP_0__のリモートバンドルバージョンと比較するには、チャンネルsemverルール、またはアップロード制約などを指定してください。 --native-version.

Pro: prevents sending JavaScript that needs newer native code to old app binaries.

Con: ルールが過度に厳密な場合、有効なアップデートがブロックされるまで、チャンネルまたはバンドルメタデータを調整する必要があります。

このテスターで使用するバージョンは、デバイスがローカルに報告するバージョンです。次に、Capgoが送信したいリモートバンドルバージョンと比較してください。

Capgoがセマンティックバージョニングを使用する理由

セマンティックバージョニング is the most widely adopted versioning standard in software development. By using semver, Capgo ensures compatibility and safety when delivering live updates to your Capacitor apps.

Capgoが配信するアップデートに含まれる変更を正確に理解できるようにするために、セマンティックバージョニング標準を使用しています。

  • パッチアップデート (1.0.0 → 1.0.1): バグ修正、自動適用が安全
  • マイナーアップデート (1.0.0 → 1.1.0): 新機能、バックワード互換性
  • メジャーアップデート (1.0.0 → 2.0.0): 破壊的な変更、ネイティブアプリストアリリースが必要

これにより、Capgo はあなたのネイティブ code に不互換なアップデートを送ることがなくなるため、クラッシュを防ぎ、安定したアプリを保証する。

セマンティックバージョニングの柔軟な戦略: 基本的なバージョニングを超えて

セマンティックバージョニングは、コアフォーマットについて厳格ですが、チームのニーズに応じて拡張することができます。 プレリリース識別子ビルドメタデータ:

🏷️ ビルドメタデータ (+) - "外観」レイヤー

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
ベータテストチャネル
1.3.0-hotfix.payment
緊急修正ブランチ
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 - 生産用 Readiness

0.x.x を使用して 1.0 未満の開発、デザイン追跡用のメタデータ

🏢 Enterprise / 調整済み

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 → アセットの更新

コンテンツのトラッキング用のクリエイティブ メタデータ

⚡ Hotfix ストラテジー

1.2.0 → 現在の生産
1.2.1-hotfix.payment → 重大なバグ修正
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 は厳密なセマンティックバージョニングを使用する

Unlike npm's semver implementation, Capgo follows the official SemVer specification strictly. npm's node-semver has known deviations from the spec, which can cause unexpected behavior.

For example, 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 ✓ 完全なバージョン

__CAPGO_KEEP_0__ アップデートの動作

v1.0.0 ✗ 'v' で始まるバージョンは許可されません
1.0 ✗ パッチバージョンが欠落しています
1.0.0.0 ✗ バージョン部分が多すぎます
1.0.0- ✗ プレリリースが空です
1.0.0+ ✗ ビルドメタデータが空です

Capgo Update Behavior

パッチアップデートは自動で適用されます (1.0.0 → 1.0.1)
マイナーアップデートにはチャネル設定が必要です (1.0.0 → 1.1.0)
メジャーアップデートにはネイティブアプリストアのリリースが必要です (1.0.0 → 2.0.0)
プレリリースバージョンには明示的な設定が必要です

このツールは公式のものに従っています セマンティック バージョニング仕様 npmの実装とは異なります。