このプロジェクトのすべての重要な変更は、このファイルに記録されます。
このフォーマットは Keep a Changelog に基づいており、 このプロジェクトは Semantic Versioning に準拠しています。
- Docs: 全コマンドの help 内容を充実 — description の具体化、examples の追加(テーブル形式、プロフィルスコープ、ユースケース別の例)、24 ファイル改善
- Feat: マルチテナント対応 — ログイン時のテナント名指定 (
-s <テナント名>)、tenantId/availableTenantsの config 保存、profile use時のトークン自動リフレッシュ (#90) - Feat:
geonic cli updateコマンドを追加 —npm update -gのエイリアスとして CLI を最新版に更新可能に (#94) - Fix: 複数ターミナルで同一プロファイルを使用時、refresh token rotation によりセッションが無効化される問題を修正 — トークンリフレッシュ前に config を再読み込みし、別プロセスが既にリフレッシュ済みならそのトークンを使用する (#93)
0.9.0 - 2026-03-25
- Feat:
me api-keys refresh/admin api-keys refreshコマンドを追加 —POST /me/api-keys/{keyId}/refresh/POST /admin/api-keys/{keyId}/refreshでキーローテーションに対応 (--saveオプション付き) (GeonicDB #799) (#92) - Feat:
me api-keys create/admin api-keys createで API キー値をボックス囲みで強調表示し、保存を促す警告メッセージを改善 (#92) - Feat:
me api-keys list/admin api-keys listの出力末尾に注釈を追加 — API キー値は作成時またはリフレッシュ時にのみ表示される旨を明示 (#92)
- Fix:
auth login後にNGSILD-Tenantヘッダーが付与されない問題を修正 — ログインレスポンスのtenantIdをserviceとして config に保存するようにした (#89)
0.8.0 - 2026-03-23
- Feat:
me policiesコマンド群を新設 —list,get,create,update,deleteで/me/policiesセルフサービスポリシー管理に対応 (GeonicDB #764) (#83, #86) - Feat:
me api-keys updateコマンドを追加 —PATCH /me/api-keys/{keyId}対応 (--name,--policy-id,--origins,--rate-limit,--dpop-required/--no-dpop-required,--active/--inactive) (#85) - Feat:
me oauth-clients updateコマンドを追加 —PATCH /me/oauth-clients/{clientId}対応 (--name,--description,--policy-id,--active/--inactive) (#85) - Feat:
me oauth-clients regenerate-secretコマンドを追加 —POST /me/oauth-clients/{clientId}/regenerate-secret対応 (#85) - Docs: XACML デフォルトポリシー再設計に合わせて README を更新 —
userデフォルト動作、priority 体系表、me policiesセクション、認可モデル説明を整理 (GeonicDB #762) (#84)
- Breaking: API キー (
admin api-keys,me api-keys) から--scopes,--permissions,--entity-typesオプションを削除し、--policy <policyId>オプションを追加 — 認可は policyId 紐づけ方式に移行 (GeonicDB #757) (#82) - Breaking: OAuth クライアント (
admin oauth-clients,me oauth-clients) から--scopesオプションとallowedScopesフィールドを削除し、--policy <policyId>オプションを追加 (GeonicDB #757) (#82) - Breaking: OAuth クライアントの
clientNameフィールドをnameにリネーム (GeonicDB #757) (#82) - Docs: README を policyId 紐づけ方式に更新 —
--scopes/--permissions/--entity-typesの記述を--policyに置換、認可モデルセクションを整理 (#82)
0.7.0 - 2026-03-20
- Feat:
admin api-keys create/updateおよびme api-keys createに--permissionsオプションを追加 —read,write,create,update,deleteを指定して XACML ポリシーを自動生成 (GeonicDB #753) (#79) - Breaking:
admin tenants updateから--anonymous-access/--no-anonymous-accessフラグを削除 — テナントフィーチャーフラグが廃止され、匿名アクセスは XACML ポリシーで制御 (GeonicDB #752) (#79) - Breaking: スコープヘルプから
write:X implies read:Xの記述を削除 —write:Xはread:Xを暗黙的に含まなくなった (GeonicDB #723) (#79) - Docs:
admin policies createのヘルプにservicePathリソース属性、priority の説明(大きい数値=高優先度)、デフォルトロールポリシーの説明を追加 (GeonicDB #747, #751, #752) (#79) - Docs: README を更新 —
--permissionsオプション、XACML 認可モデル、スコープ包含関係、API キーヘッダ排他仕様を反映 (#79)
- Feat:
admin tenants updateに--anonymous-access/--no-anonymous-accessオプションを追加 — テナントの匿名アクセス設定を CLI から管理可能に (#78) - Docs:
admin policies createのヘルプにtargetフィールド(subjects, resources, actions, environments)のスキーマ例を追加 (#78) - Docs:
admin users createのヘルプを API 仕様に合わせて改善 (#77)
- Fix: API キーコマンド (
me api-keys,admin api-keys) のヘルプで表示されるスコープ一覧を、API キーで実際に使用可能な6スコープに修正 (#74)
0.6.3 - 2026-03-17
- Feat:
--scopesオプションを持つコマンドのヘルプに有効なスコープ一覧を NOTES セクションとして追加 (#73) - Docs: README の Valid Scopes セクションを全18スコープに更新、包含関係と特殊スコープの説明を追加 (#73)
- Fix:
admin api-keys createの例で誤ったスコープ形式 (entities:read) を正しい形式 (read:entities) に修正 (#73) - Fix: E2E テストの config を v2 フォーマットで統一し、CLI プロセスでの auto-migration による認証フレーキーテストを修正 (#73)
0.6.2 - 2026-03-17
- Docs: 全 JSON 入力コマンドのヘルプを改善 — description に JSON payload example を追加、examples にインライン JSON・stdin pipe・interactive mode の具体例を追加 (#72)
- Fix: E2E テストの
performLoginにリトライとトークン検証を追加 — DB クリーンアップ後のレースコンディションによるフレーキーテストを修正 (#72)
0.6.1 - 2026-03-13
- Breaking:
auth loginの email/password フローを対話モード専用に変更 —GDB_EMAIL/GDB_PASSWORD環境変数サポートを廃止(シェルヒストリへのクレデンシャル漏洩を防止) (#70) - Feat:
auth loginにマルチテナント対応を追加 —availableTenantsレスポンスの表示と対話的テナント選択 (#67) - Fix:
auth loginが/auth/loginリクエストにNGSILD-Tenantヘッダーを送信しないよう修正 (#68) - Fix: 401 エラー時のメッセージを
geonic auth loginに修正 (#69) - Docs: README の auth セクションを拡充 — 対話ログイン、マルチテナント、OAuth Client Credentials の説明を追加 (#70)
- Test:
promptTenantSelection/skipTenantHeader/ マルチテナントフローのテストを追加 (#70)
0.6.0 - 2026-03-11
- Feat: API キー管理コマンドに
--dpop-requiredフラグを追加 — DPoP トークンバインド (RFC 9449) の有効化に対応 (#66) - Feat:
admin api-keys updateに--no-dpop-requiredフラグを追加 — DPoP の無効化に対応 (#66) - Test:
dpopRequiredフラグのユニットテストを追加(create / update / 単独フラグ分岐) (#66)
0.5.0 - 2026-03-10
- Feat:
geonic admin api-keysコマンドを追加 — APIキーの CRUD 管理 (#57) - Feat:
geonic me api-keysコマンドを追加 — ユーザー自身の APIキー セルフサービス管理 (#57) - Feat:
X-Api-Keyヘッダによる APIキー認証サポートを追加(--api-key/config set api-key) (#57) - Feat:
--saveオプションで APIキーを config に保存し、自動送信を有効化 (#57) - Fix:
allowedOriginsの空配列バリデーションを CLI 側に追加 (#58) - Feat:
allowedEntityTypesランタイムエンフォースメントの 403 エラーメッセージを改善 (#59) - Feat:
geonic auth nonce/geonic auth token-exchangeコマンドを追加 — APIキー→JWT 交換(PoW対応) (#60) - Fix: Token と API key が両方設定されている場合にヘッダが排他的に送信されるよう修正 (#62)
- Test: API key E2E テストにヘッダ排他アサーションを追加 (#62)
0.4.1 - 2026-03-06
- Feat:
entities listに--count-onlyオプションを追加 (#55) - Fix: GeoProperty をテーブル表示で読みやすい座標形式にフォーマット (#54)
- Fix: publish ワークフローで CI 完了をポーリング待機するよう修正(レースコンディション対策)(#52)
- Docs: CLAUDE.md を現状の実装に合わせて更新 (#53)
0.4.0 - 2026-03-05
- Feat:
geonic me oauth-clientsコマンドを追加 — ユーザー自身が OAuth Client Credentials をセルフサービスで発行・管理 (#51) - Feat:
--saveオプションで credentials を config に保存し、自動再認証を有効化 (#51) - Feat: client_credentials grant による自動トークン再取得フォールバックを追加 (#51)
- CI: npm publish 前に CI ワークフロー(E2E 含む)の成功を必須化 (#50)
0.3.0 - 2026-03-04
- Feat:
--dry-runグローバルオプションを追加 (#42) - CI: E2E テストジョブを CI ワークフローに追加 (#43)
0.2.0 - 2026-03-03
- Feat: npm スタイルの更新通知を追加 (#38)
- Test: ユニットテストカバレッジ 100% を達成 (#36, #37)
- Fix: NGSI-LD API パラメータおよびパス不具合を修正 (#35)
- CI: npm OIDC Trusted Publishing でパッケージ公開 (#39, #40, #41)
0.1.0 - 2026-03-03
- CI: バージョンタグによる npm publish ワークフローを追加 (#32)
- Breaking:
--format keyValuesを--key-valuesフラグに分離 (#31) - Test: E2E feature ファイルをサブコマンド単位に統合 (26 → 21 ファイル) (#29, #30)
- Fix: 設定 URL にプロトコルがない場合の Invalid URL エラーを修正 (#28)
- Feat: JSON5 入力、stdin 自動検出、インタラクティブ入力モードを追加 (#27)
- Refactor: E2E テストを汎用ステップに統一 (#26)
- Feat:
versionコマンドを追加、ヘルプに CLI バージョンを表示 (#25) - Fix: fast-xml-parser の脆弱性を修正 (#24)
- Docs: package.json メタデータ更新、CLI 説明文を動的化 (#23)
- Docs: 全コマンドにヘルプの例と説明を追加 (#22)
- Refactor: geonicdb 依存からピン留めコミットハッシュを削除 (#21)
- Test: E2E テストカバレッジ拡大とディレクトリ再編 (#20)
- Feat: zsh 補完サポートを追加 (#19)
- Docs:
entities listの全オプションに例を追加 (#18) - Feat: ヘルプシステムに EXAMPLES セクションを追加 (#17)
- Feat:
geonic helpサブコマンドの補完サポート (#16) - Feat: bash 補完サポートを追加 (#15)
- Refactor: コマンド説明文を動詞始まりに統一 (#14)
- Refactor: ヘルプ出力の GLOBAL PARAMETERS / OPTIONS をコンパクト化 (#13)
- Fix: サンプルエンドポイントのポートを 1026 → 3000 に変更 (#12)
- Breaking: NGSIv2 サポートを削除、CLI を NGSI-LD 専用に変更 (#11)
- Feat: CLI コマンド階層を API エンドポイントに整合 (#10)
- Feat: wp-cli スタイルのヘルプコマンドを追加 (#8)
- Test: helpers ユニットテスト + コアコマンド E2E テストを追加 (#7)
- Breaking: CLI バイナリ名を
gdb→geonicにリネーム (#6) - Test: E2E テストにモックサーバーの代わりに実 GeonicDB を使用 (#4)
- Feat: 認証システムと Cucumber E2E テストを追加 (#3)
- Feat: プロファイル管理、API キー認証、トークンリフレッシュを追加 (#2)
- Docs: README にインストール手順・使い方・コマンドリファレンスを追加 (#1)