Skip to content

chore(release): v0.12.0#225

Merged
akiojin merged 3 commits into
mainfrom
develop
Jun 23, 2026
Merged

chore(release): v0.12.0#225
akiojin merged 3 commits into
mainfrom
develop

Conversation

@akiojin

@akiojin akiojin commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Summary

v0.12.0 リリース。feat: complete gwt spec implementation (PR #224) により、一連の gwt SPEC 実装を完了しました。Unity Bridge の Editor handler 単体テスト拡充、capture path 解決の共通化、release tooling 整備、ドキュメント刷新を含みます。develop は PR #224 マージ時に CI 検証済みで、本 PR はそこへのバージョン更新(Cargo.toml / package.json / UPM package.json / Cargo.lock)と CHANGELOG 更新のみを追加します。

Changes

  • Unity Bridge: CapturePathResolver / McpServerWindow / MenuItems を追加し、InputSystemHandler を拡張。Editor handler の単体テストを大幅追加(Component / Console & ProjectSettings / EditorControl / GameObject / Package & Addressables / PlayMode / Profiler / CapturePathResolver)。
  • Rust CLI: src/core/instances.rs / src/app/runner.rs / src/tooling/{local_tools,tool_catalog}.rs を更新。
  • Release tooling: scripts/publish.sh / scripts/release/collect-closing-issues.sh / scripts/release/update-versions.mjs を整備し、対応する script テスト(publish-script / update-versions / upm-sign / release-closing-issues / workflow-skill-lint)を追加。
  • Docs: docs/configuration.md を新規追加、docs/{development,skills,tools}.md を更新。
  • Release: バージョンを v0.12.0 に更新し、CHANGELOG を更新。

Version

v0.12.0

Closing Issues

Closes #146
Closes #147
Closes #148
Closes #149
Closes #150
Closes #151
Closes #152
Closes #153
Closes #154
Closes #155
Closes #156
Closes #157
Closes #160
Closes #204

Related Issues / Links

Summary by CodeRabbit

リリースノート

  • 新機能

    • Unity CLI Bridgeの起動・停止APIを追加しました。
    • エディタウィンドウとメニュー項目からブリッジ操作が可能になりました。
    • シンボルインデックス状態の確認機能を追加しました。
  • 改善

    • パッケージ・プロジェクト設定の確認フローを改善しました。
    • キャプチャファイルパス生成ロジックを統一しました。
    • インスタンス接続確認の精度を向上させました。
  • テスト

    • 各ハンドラの機能検証テストを追加しました。

@akiojin akiojin added the release Release PR label Jun 23, 2026
@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 384e3d9d-a238-4bfe-b646-73c5914eb7d3

📥 Commits

Reviewing files that changed from the base of the PR and between be602fa and f2730d2.

⛔ Files ignored due to path filters (4)
  • Cargo.lock is excluded by !**/*.lock
  • UnityCliBridge/Assets/AddressableAssetsData/AddressableAssetSettings.asset is excluded by !**/*.asset
  • UnityCliBridge/ProjectSettings/EditorBuildSettings.asset is excluded by !**/*.asset
  • UnityCliBridge/ProjectSettings/ProjectSettings.asset is excluded by !**/*.asset
📒 Files selected for processing (60)
  • .agents/skills/gh-pr/SKILL.md
  • .agents/skills/gh-pr/references/pr-body-template.md
  • .claude/commands/release.md
  • .github/workflows/release.yml
  • .gwt/work/events.jsonl
  • .gwt/work/memory.md
  • CHANGELOG.md
  • Cargo.toml
  • RELEASE.md
  • UnityCliBridge/Assets/Scripts/UnityCliUiTest/UnityCliImguiTestPanel.cs
  • UnityCliBridge/Assets/Scripts/UnityCliUiTest/UnityCliInputSimulationTestBootstrap.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/Core/UnityCliBridgeHost.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/Handlers/InputSystemHandler.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/Handlers/PackageSettingsHandler.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/Handlers/ProfilerHandler.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/Handlers/ProjectSettingsHandler.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/Handlers/ScreenshotHandler.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/Handlers/VideoCaptureHandler.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/Helpers/CapturePathResolver.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/Helpers/CapturePathResolver.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/McpServerWindow.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/McpServerWindow.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/MenuItems.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/MenuItems.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Editor/SampleWorkflows.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/ComponentHandlerTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/ConsoleAndProjectSettingsHandlerTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/ConsoleAndProjectSettingsHandlerTests.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/EditorControlHandlerTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/EditorControlHandlerTests.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/GameObjectHandlerTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/GameObjectHandlerTests.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/PackageAndAddressablesHandlerTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/PackageAndAddressablesHandlerTests.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/PlayModeHandlerTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/PlayModeHandlerTests.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/ProfilerHandlerTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/ProfilerHandlerTests.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Helpers/CapturePathResolverTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Helpers/CapturePathResolverTests.cs.meta
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/PlayMode/InputSimulationAutomationPlayModeTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/Tests/PlayMode/UIAllSystemsAutomationPlayModeTests.cs
  • UnityCliBridge/Packages/unity-cli-bridge/package.json
  • docs/configuration.md
  • docs/development.md
  • docs/skills.md
  • docs/tools.md
  • package.json
  • scripts/publish.sh
  • scripts/release/collect-closing-issues.sh
  • scripts/release/update-versions.mjs
  • src/app/runner.rs
  • src/core/instances.rs
  • src/tooling/local_tools.rs
  • src/tooling/tool_catalog.rs
  • tests/scripts/publish-script-test.mjs
  • tests/scripts/release-closing-issues-test.sh
  • tests/scripts/update-versions-test.mjs
  • tests/scripts/upm-sign-test.mjs
  • tests/scripts/workflow-skill-lint-test.mjs

Walkthrough

v0.12.0 リリース。Unity Bridge 側では InputSystemHandler の状態適用を ApplyStateChange/ApplyStateEvent に統一・タッチ telemetry 拡張・CapturePathResolver 新設による保存先統一・Editor UI 追加・confirmChanges バグ修正・EditMode テスト大幅追加を実施。Rust CLI 側では instances のヘルスチェックを framed ping プロトコルに強化・get_index_status ツール追加・重複ポート警告を追加。リリース整備として update-versions.mjs に Cargo.toml 同期追加・gwt-spec クローズポリシー変更・CI Skill Lint ゲート追加を実施。

Changes

Unity Bridge C# 機能追加・修正・テスト

Layer / File(s) Summary
CapturePathResolver 新設とハンドラへの適用
UnityCliBridge/.../Helpers/CapturePathResolver.cs, UnityCliBridge/.../Helpers/CapturePathResolver.cs.meta, UnityCliBridge/.../Handlers/ScreenshotHandler.cs, UnityCliBridge/.../Handlers/VideoCaptureHandler.cs, UnityCliBridge/.../Handlers/ProfilerHandler.cs, UnityCliBridge/.../Tests/Editor/Helpers/CapturePathResolverTests.cs, UnityCliBridge/.../Tests/Editor/Helpers/CapturePathResolverTests.cs.meta
CapturePathResolver を新規追加しプロジェクトルート解決・ファイルパス構築を統一。Screenshot / Video / Profiler の 3 ハンドラが .unity/captures から .unity/capture へ統一される。テストで / 正規化と保存先統一を検証。
InputSystemHandler: ApplyStateChange 統一・スケジュールリリース改善・タッチ telemetry
UnityCliBridge/.../Handlers/InputSystemHandler.cs
キーボード・マウス・ゲームパッド・タッチの全操作で InputSystem.Update() 直呼びを廃止し ApplyStateChange/ApplyStateEvent に統一。ScheduledRelease にフレーム条件を追加。タッチの押下/解放カウント・最大同時数・最終タッチ情報を GetTouchscreenState 応答に追加。
UnityCliInputSimulationTestBootstrap: 仮想キーボード優先選択・ApplyHandlerSnapshot
UnityCliBridge/.../UnityCliInputSimulationTestBootstrap.cs
Update() で毎フレーム CaptureInputState() を呼ぶよう変更し InputSystem.onAfterUpdate 購読を廃止。仮想キーボードをアクティビティスコアで優先選択。ApplyHandlerSnapshot() でリフレクション経由にハンドラスナップショットをプロパティへ反映。
McpServerWindow・MenuItems 新設と UnityCliBridgeHost Start/Stop 追加
UnityCliBridge/.../Editor/McpServerWindow.cs, UnityCliBridge/.../Editor/McpServerWindow.cs.meta, UnityCliBridge/.../Editor/MenuItems.cs, UnityCliBridge/.../Editor/MenuItems.cs.meta, UnityCliBridge/.../Editor/SampleWorkflows.cs, UnityCliBridge/.../Editor/Core/UnityCliBridgeHost.cs
UnityCliBridgeServerWindow EditorWindow 新設。MenuItemsTools/Unity CLI 配下メニューと PlayMode 中の validation を実装。SampleWorkflowsUnityCliBridge.EditorIntegration 名前空間へ移動。Start()/Stop() を public static API として追加。
confirmChanges ガード修正
UnityCliBridge/.../Handlers/PackageSettingsHandler.cs, UnityCliBridge/.../Handlers/ProjectSettingsHandler.cs
confirmChanges が未指定(null)の場合も CONFIRMATION_REQUIRED を返すよう条件式を (confirmChanges ?? false) 形式に修正。
UnityCliImguiTestPanel リファクタリング
UnityCliBridge/.../UnityCliImguiTestPanel.cs
GUI 描画と自動化登録を分離。GetControlRect(row) で Rect 生成を共通化し TextField 登録を追加。
Unity EditMode テスト群追加
UnityCliBridge/.../Tests/Editor/Handlers/*Tests.cs, UnityCliBridge/.../Tests/PlayMode/*PlayModeTests.cs, 対応 .meta ファイル
ComponentHandler / ConsoleAndProjectSettings / EditorControl / GameObject / PackageAndAddressables / PlayMode / Profiler の各 EditMode テストを新規追加。PlayMode テストのタイムアウトメッセージにステータス情報を追加。

Rust CLI: インスタンスヘルスチェック強化・get_index_status ツール追加

Layer / File(s) Summary
instances: Bridge ping プロトコルによるヘルスチェック強化と重複ポート警告
src/core/instances.rs, src/app/runner.rs
can_connect を framed JSON 送受信の bridge_ping に変更し非 Unity ソケットを down 判定。parse_ports_with_diagnostics で重複ポートを duplicate_ports に分離し stderr 警告を出力。テスト用 spawn_mock_bridge を完全な mock に更新。
get_index_status ローカルツール追加
src/tooling/local_tools.rs, src/tooling/tool_catalog.rs
local_get_index_status() を新設しインデックスの準備状態・ファイル数・シンボル数を返す。ツールカタログに登録しツール数を 130 に更新。既存テストに get_index_status 呼び出しを追加。

リリース整備・gwt-spec クローズポリシー変更・CI Skill Lint ゲート

Layer / File(s) Summary
update-versions.mjs への Cargo.toml 同期追加と publish.sh ヘルパー委譲
scripts/release/update-versions.mjs, scripts/publish.sh, tests/scripts/update-versions-test.mjs, tests/scripts/publish-script-test.mjs, tests/scripts/upm-sign-test.mjs
update-versions.mjsupdateCargoToml() を追加。publish.sh が共通ヘルパーに委譲するよう変更し git addCargo.toml を追加。Node テストで version 同期・publish.sh 委譲・UPM signing の動作を検証。
gwt-spec クローズポリシー変更と collect-closing-issues.sh 更新
.agents/skills/gh-pr/SKILL.md, .agents/skills/gh-pr/references/pr-body-template.md, .claude/commands/release.md, .gwt/work/memory.md, scripts/release/collect-closing-issues.sh, tests/scripts/release-closing-issues-test.sh
SKILL.md / テンプレート / release コマンドの Closing Issues ルールを gwt-spec 昇格ポリシーへ変更。collect-closing-issues.shextract_keyword_issue_numbersextract_issue_numbers + filter_spec_issue_numbers に置き換え。テストでモック Issue 777 (gwt-spec ラベル) を追加し Closes に含まれることを検証。
CI Skill Lint ゲート追加・バージョン更新・ドキュメント整備
.github/workflows/release.yml, tests/scripts/workflow-skill-lint-test.mjs, Cargo.toml, package.json, UnityCliBridge/Packages/unity-cli-bridge/package.json, CHANGELOG.md, RELEASE.md, .gwt/work/events.jsonl, docs/configuration.md, docs/development.md, docs/skills.md, docs/tools.md
release.ymlcreate-tag ジョブに skills lint --severity error を事前ゲートとして追加。Cargo/npm/UPM パッケージを 0.12.0 に更新。docs/configuration.md を新設(Docker/WSL2 接続ガイド)。開発・スキル・ツールドキュメントのテーブル整形と内容更新。

Sequence Diagram

sequenceDiagram
  rect rgba(70, 130, 180, 0.5)
    Note over Developer,InputSystemHandler: Input シミュレーション (PlayMode)
  end
  participant Developer
  participant UnityCliInputSimulationTestBootstrap
  participant InputSystemHandler
  participant VirtualKeyboard

  Developer->>UnityCliInputSimulationTestBootstrap: Update() (毎フレーム)
  UnityCliInputSimulationTestBootstrap->>UnityCliInputSimulationTestBootstrap: CaptureInputState()
  UnityCliInputSimulationTestBootstrap->>InputSystemHandler: GetCurrentInputState() (reflection)
  InputSystemHandler-->>UnityCliInputSimulationTestBootstrap: JObject スナップショット
  UnityCliInputSimulationTestBootstrap->>UnityCliInputSimulationTestBootstrap: ApplyHandlerSnapshot()

  rect rgba(60, 179, 113, 0.5)
    Note over CLIClient,UnityBridgeSocket: instances list ヘルスチェック
  end
  participant CLIClient
  participant bridge_ping
  participant UnityBridgeSocket

  CLIClient->>bridge_ping: (host, port) 接続試行
  bridge_ping->>UnityBridgeSocket: TCP 接続 + framed JSON ping
  UnityBridgeSocket-->>bridge_ping: framed JSON response
  bridge_ping->>bridge_ping: is_successful_bridge_response 判定
  bridge_ping-->>CLIClient: up / down
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Poem

🐰 ウサギ、コードを運ぶ春の朝
仮想キーボード、フレームを跳ねて
ApplyStateChange で世界が変わり
.unity/capture/ に夢を刻む
ping 一つで本物を見抜き
v0.12.0 の旗を高く掲げる 🚀

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@akiojin
akiojin merged commit 8daf7fa into main Jun 23, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment