Kanzi 3.9.16 マイグレーションガイド

このマイグレーションガイドを使用して、Kanzi アプリケーションを Kanzi 3.9.15 から Kanzi 3.9.16 に更新してください。

アプリケーション入力イベントの変更

  • アプリケーションのステートとの一貫性を保つため、アプリケーション入力イベント sleep と wakeup の名前が paused と resumed に変更されました。コード内のイベントタイプと関数呼び出しを、新しい名前を使用するように変更してください。

    Kanzi 3.9.15

    Kanzi 3.9.16

    InputEvent::Type::ApplicationSleep

    InputEvent::Type::ApplicationPaused

    InputEvent::Type::ApplicationWakeup

    InputEvent::Type::ApplicationResumed

    addApplicationSleepEvent()

    addApplicationPausedEvent

    addApplicationWakeupEvent()

    addApplicationResumedEvent

    これまで使用されていなかった InputEvent::Type::ApplicationPaused イベントは、アプリケーションが一時停止され、MainLoopState::Paused に遷移したことを通知するようになりました。このイベントは、以前 ApplicationSleep が担っていた役割を果たします。

Kanzi Documentation MCP サーバーの変更

新しい統合 Kanzi Documentation MCP サーバーが https://docs.mcp.kanzi.com/mcp で利用可能になり、Claude Desktop 用の新しい mcpb バンドルが https://docs.kanzi.com/mcp/kanzi-docs-mcp.zip で提供されています。新しいエンドポイントは、ロードされているすべての Kanzi バージョンをサポートします。

既存のバージョン固有の URL (kanzi-docs-mcp-v3-9.* および kanzi-docs-mcp-v4-0.*) も引き続きサポートされます。新しい統合を使用するには、統合 URL に移行してください。Kanzi ドキュメント MCP サーバー を参照してください。

以前に MCP クライアントの設定にバージョン固有のエントリ (kanzi-docs-v3-9 や kanzi-docs-v4-0 など) を追加していた場合は、統合 kanzi-docs エントリを追加した後にそれらを削除してください。重複したエントリを残しておくと、クライアントの起動がハングすることがあります。

QNX のタッチ入力の変更

Kanzi 3.9.16 では、QNX Screen プラットフォームがタッチ入力を通知する方法が再設計されました。この変更は QNX プラットフォームのバックエンド内部のものであり、Kanzi API やビルド設定を変更する必要はありません。アプリケーションが QNX Screen 上で実行され、受け取るタッチイベントの詳細に依存している場合は、以下の動作の変更を確認してください。

  • タッチポイント ID は、QNX ネイティブのコンタクト ID をそのまま渡すのではなく、Kanzi によって割り当てられるようになりました。TouchEvent::TouchPoint の id は、単一のコンタクトが存続する間のみ安定している不透明なハンドルとして扱ってください。以前 QNX で発行されていた数値のタッチ ID を、アプリケーションで保存したり比較したりしていた場合は、そのロジックを更新してください。

  • 同時タッチポイント数の上限 (以前は 10) が撤廃されました。ハードウェアが報告する場合、アプリケーションは 10 を超える同時タッチポイントを受け取ることができるようになりました。コンタクト数が最大 10 であることを前提としたロジックを確認してください。

  • 静止しているコンタクトは移動イベントを生成しなくなりました。押したまま動かない指は、その位置が実際に変化したときにのみ通知されます。静止しているコンタクトについて連続した移動イベントを受け取ることにアプリケーションが依存していた場合は、イベントの頻度ではなく、現在のタッチポイントのステートと位置を使用してください。

Activity Host がアニメーションなしでアクティビティをアクティブ化または非アクティブ化したときにアクティビティのトリガーが実行されるように

アクティビティノードは、ステータスが変化するすべての場合にそのステータスを通知するようになりました。以前は、Activity Host がアニメーションなしでアクティビティノードをアクティブ化または非アクティブ化すると、アクティビティノードは ActivityConcept::ActivityActivatedMessage、ActivityConcept::ActivityDeactivatedMessage、ActivityConcept::StatusChangedMessage のいずれも送信せずに Activity Status プロパティを変更していました。

API の変更はありませんが、これまで知らないうちに一度も実行されていなかったロジックが実行されるようになります。これは、Activated および Deactivated アクティビティトリガー、上記のメッセージのメッセージハンドラー、ActivityCodeBehind のステータスコールバック onActive と onInactive に影響し、対象は以下のとおりです。

  • Parallel Activity Host 内のアクティビティ。

  • 非アクティブ化するアクティビティの子アクティビティ。Active -> Deactivating および Deactivating -> Inactive のトランジションは引き続きスキップされますが、子アクティビティの Deactivated トリガーが実行されるようになりました。

  • Activity Template の変更時や Kanzi Studio の Preview でのライブ編集中など、アクティブな状態でプレハブパスが変更されたすべての Activity。

  • Inactive ではない状態でノードツリーから外れたすべての Activity ノード(アプリケーションのシャットダウンを含む)。

Activity の Activated および Deactivated トリガーのロジックと Code Behind のステータスコールバックを見直し、これらのケースに到達しないことを前提としたアクションがないか確認してください。接続のオープンとクローズなど、リソースを取得して解放するアクションは、動作が変わる可能性が最も高くなります。

MCP サーバーでの Kanzi バージョン選択の変更

両方の Kanzi MCP サーバーは、呼び出し間で Kanzi バージョンを記憶しなくなりました。set_kanzi_version と set_version は、以降の呼び出しで使用されるバージョンを切り替えなくなり、代わりにバージョンが利用可能であることを確認してその内容を報告します。クエリツールは代わりにオプションの version アーギュメント(version="3.9.16" など)を受け取ります。呼び出しで version を省略すると、サーバーは利用可能な最新バージョンについて回答します。これは、プロトコルレベルのセッションを廃止した Model Context Protocol の 2026-07-28 リビジョンによるものです。

どちらのサーバーも共有サービスであるため、この変更は 3.9.16 だけでなく、サーバーが提供するすべての Kanzi バージョンに適用されます。

どちらのサーバーもセットアップ方法に変更はなく、クライアント設定を更新する必要もありません。クエリの前に set_kanzi_version または set_version を呼び出すよう AI アシスタントに指示していた場合は、すべての呼び出しで version を渡すよう指示する内容に置き換えてください。このような指示は CLAUDE.md や .github/copilot-instructions.md に記述している場合があります。置き換えないと、アシスタントは何も通知されないまま、お使いのバージョンではなく最新の Kanzi バージョンについての回答を受け取ります。アシスタントに与える指示の例については、AI アシスタントの設定 セクションを参照してください。ドキュメントサーバーにも同じ方法が適用されます。

Kanzi ドキュメント MCP サーバー と Kanzi API MCP サーバー を参照してください。

関連項目

Kanzi 3.9.16 リリースノート

既知の問題