7.3 更新・バージョン管理

Updates & Version Management

バージョン番号

Semantic Versioning (SemVer)を推奨。

// manifest.json
{
  "version": "1.2.3"
  // MAJOR.MINOR.PATCH
}
番号変更内容
MAJOR互換性のない変更
MINOR後方互換性のある機能追加
PATCHバグ修正

更新の流れ

  1. manifest.jsonのversionを更新
  2. 新しいZIPファイルを作成
  3. Developer Dashboardでアップロード
  4. 審査を経て公開
自動更新Chromeは数時間ごとに更新をチェックし、自動でインストール。

データ移行

chrome.runtime.onInstalled.addListener((details) => {
  if (details.reason === 'update') {
    const previousVersion = details.previousVersion;
    
    // バージョンごとの移行処理
    if (previousVersion < '2.0.0') {
      migrateToV2();
    }
  }
});

async function migrateToV2() {
  const old = await chrome.storage.local.get('oldKey');
  if (old.oldKey) {
    await chrome.storage.local.set({ newKey: old.oldKey });
    await chrome.storage.local.remove('oldKey');
  }
}

変更履歴の管理

  • CHANGELOG.mdをリポジトリに含める
  • ストア説明文に主要な変更を記載
  • 重大な変更はユーザーに通知
# CHANGELOG

## [2.1.0] - 2025-01-15
### Added
- Side Panel機能を追加

### Fixed
- 特定サイトでの動作不具合を修正

## [2.0.0] - 2025-01-01
### Changed
- データ保存形式を変更(移行処理あり)

ロールバック

Chromeストアにはロールバック機能がない。問題発生時は修正版を新バージョンとして公開する。

  • Gitでタグ管理を徹底
  • リリース前に十分なテスト
  • 段階的ロールアウトを活用
参考文献
[1] Chrome Extensions - Update your extension