v2026.7.2-beta.3
AIニュース価値スコアβ
通常リリースAI関連度、新規性、日本での有用性など6軸を公開検証中です。現在、掲載順には使用していません。
- AI関連度
- 75
- 情報源の信頼性
- 100
- 新規性
- 25
- 検索具体性
- 25
- 重複の少なさ
- 100
- 日本での有用性
- 25
AI エージェント運用やゲートウェイ機能の更新が含まれるが、これは既存製品の継続的なバージョンアップ(beta.3)であり、新規性スコアは低く設定される。検索機会が高いのは具体的なバージョン番号と製品名が含まれているため。
2026.7.2
ハイライト
必ず JSON 形式で返してください。translation フィールドのみ。他のフィールドは一切追加しないこと — 余計なフィールドを書こうとして本文がトークン上限で打ち切られる事故を防ぐため:
- リモートコーディングセッション: クラウドワーカー上で Control UI セッションを実行し、各ホストのターミナルで Codex や Claude カタログのセッションを開き、OpenCode や Pi のセッションは直接ターミナル内で再開できるようにしました。 (#107670, #107086, #107200)
- ネイティブ自動化とノード: モバイルでも自動化機能の機能を同等に整え、Android でフォアグラウンドでの音声起動(Voice Wake)を追加し、ヘッドレス Linux ノードからカメラ、位置情報、通知機能を利用可能にしました。 (#106355, #107081, #107193)
- より安全なチャネル操作: 再起動後に Telegram の永続的イングレスが失われるのを防ぎ、アクティブなターン中も Signal の停止と承認コントロールを即座に反応させ、チャネルの許可リストから所有者権限が付与されるバグを修正しました。 (#107288, #107422, #107403) @obviyus さん、@arduano さん、@yetval さんに感謝します。
- ガイド付き Control UI セットアップ: 設定画面からモデルプロバイダーを構成し、ガイド付きセットアップページを通じてチャネルを追加し、セッション作成時に画像やモデルを選択できるようになりました。 (#106490, #106469, #107358) @alexandre-leng さん、@fuller-stack-dev さんに感謝します。
- ゲートウェイとセッションの回復: ゲートウェイが再起動時にフリーズするのを防ぎ、最終化処理で停止した返信セッションを復元し、ライフサイクル競合中もワンショット cron ジョブを有効に維持しました。 (#107339, #106792, #107236) @obviyus さん、@joshavant さん、@charliemeyer2000 さん、@SL4N さんに感謝します。
- インストールとパッケージング: ゲートウェイのガイダンス付きで Linux の deb および AppImage バンドルを追加し、安定版メインベースリリースから公開しました。また、Windows インストールでは winget で Node.js を追加した直後に即座に完了できるよう改善しています。 (#106533, #106891, #106862)
変更点
必ず JSON 形式で出力してください。translation フィールドのみを含めてください。他のフィールドは一切追加しないでください。余計なフィールドを追加しようとして本文がトークン上限に達し、出力が途中で打ち切られる事故を防ぐためです。
{"translation": "リライト全文"}
- 外部ゲートウェイの監視機能強化:
OPENCLAW_SUPERVISOR_MODE=externalを設定して、OCM などのライフサイクルオーナーを保護します。ネイティブサービスの権限を公開せず、検証済みの再起動や延期動作を維持しつつ、ネイティブサービスの変更や自己更新をブロックします。また、バージョン管理された原子的な再起動ハンドオフ契約を提供します。@shakkernerd さんありがとうございます。
- ClickClack のガイド付きセットアップ:
openclaw onboardまたはopenclaw channels add clickclackコマンドで URL、トークン、ワークスペースのプロンプトから ClickClack を設定できます。デフォルトアカウントの環境変数フォールバックもサポートし、死活接続検証は致命的エラーにはなりません。OpenClaw が既に実行中の場合はゲートウェイを意識した次のステップが自動的に接続されます。@shakkernerd さんありがとうございます。
- ClickClack のコマンドメニュー: ゲートウェイ起動時に各ボットのネイティブ OpenClaw コマンドを ClickClack コンポーザーの自動補完に公開します。アカウントごとのオプトアウトに対応し、古いトークンやサーバーでも致命的にならない互換性処理を実装しました。@shakkernerd さんと @vincentkoc さんありがとうございます。
- スキルワークショップの承認: デフォルトでは追加の承認プロンプトなしでエージェントが適用、拒否、隔離アクションを実行できるようにしました。ただし
skills.workshop.approvalPolicy: "pending"をオプトインの承認ゲートとして維持します。@shakkernerd さんありがとうございます。
- TUI のファジーセレクター: リストマッチングを pi-tui に委譲し、スラッシュトークンと英数字マッチングを追加しました。ローカル実装のフォークは削除されています。
- macOS ペアードノード端末: 埋め込みノードホストからデュプレックスな Codex と Claude の端末再開コマンドを公開し、ネイティブアプリブリッジを通じて対話型入力とキャンセル操作を転送します。(#107335)
- コントロール UI カタログ端末: 対象となる Codex や Claude Code セッションを、ゲートウェイまたはペアードノードホスト上のネイティブ CLI で開きます。ビューアとターミナルの切り替え設定、検証済みの再開コマンド、対話型 PTY リレーをサポートします。(#107086) @vincentkoc さんありがとうございます。
- スキルワークショップ履歴の確認: 手動で最新順にセッションをスキャンし、古い実用的な作業から保守的なスキルアイデアを段階的に検索します。保存するのは SQLite カーソルのメタデータのみで、自律的な自己学習がオフの場合でも最大 3 つの結果を保留中の提案として残します。(#106182)
- OpenAI GPT-5.6 のデフォルト設定: 新しい API キーセットアップでは
openai/gpt-5.6(Sol エイリアス) を、新しい Codex/OAuth セットアップでは正確にopenai/gpt-5.6-solを使用します。両方のランタイムで Sol の推論レベルをミディアムにデフォルト設定し、既存のプライマリー、フォールバック、エイリアス、および明示的な GPT-5.5 選択は維持されます。(#103234)
- iOS オフラインチャット: 保護されたバウンド型のゲートウェイキャッシュから直近のセッションと正規トランスクリプトを事前描画します。オフライン時は送信機能を無効化し、ペアリングがリセットされるとキャッシュされた会話テキストは削除されます。(#100194)
- Slack の進行状況インジケーター: デフォルトで Slack ネイティブのアシスタントスレッドステータスとローディングメッセージの回転表示を使用します。承認リアクションは静的に保ちます。ライフサイクルに応じたリアクション更新には
messages.statusReactions.enabled: trueを設定する必要があります。
- コントロール UI のトーク制御: 音声、モデル、感度などのリアルタイムデフォルトは「設定 → コミュニケーション → トーク」で管理し、コンポーザーのマイクカーソルを使ってブラウザ上の任意のオーディオ入力を選択できます。(#101046)
- コントロール UI セッションワークスペースショートカット:
⇧⌘Bでアクティブなチャットペインのセッションワークスペースレールを展開・折りたたみできますが、メインアプリサイドバーや個別の詳細パネル、キャンバスプレビューには影響しません。@shakkernerd さんありがとうございます。
- コントロール UI の設定ショートカット:
⇧⌘,で設定画面を開きます。ブラウザが持つ⌘,ショートカットは変更されません。@shakkernerd さんありがとうございます。
- コントロール UI チャットレイアウト: トランスクリプトをコンポーザー軸上に中央配置します。アシスタントとツールの出力は左、ユーザーの発言は右に配置し、同じ可読フレーム内に収めます。カスタムメッセージ幅のオーバーライドも維持されます。(#104474) @shakkernerd さん、@vincentkoc さん、@zw-xysk さんありがとうございます。
- コントロール UI コンポーザーフッター: チャット設定チップとモデル制御をデフォルトのデコレーターに固定するのではなく、区切り線とカードエッジの間に中央配置します。(#105866)
- コントロール UI アシスタントアクション: アシスタント名と時刻は先頭に維持しつつ、ホバー時のアクションは左端ではなくその隣に配置します。@shakkernerd さんありがとうございます。
- コントロール UI メッセージコンテキスト: 個別のトークン、コンテキスト、モデル詳細を「コンテキスト」ボタンで表示するのではなく、タイムスタンプ上でホバーまたはアクティブ化すると表示されます。
- コントロール UI セッションタイトル: 直近のセッション名が切り捨てられている場合でも、モーションセーフなアニメーション付きでホバー時に全称を表示します。
- コントロール UI サイドバーの使用状況: 拡張されたサイドバーからプロバイダー使用量クォータ行を削除しました。ただし使用量の詳細はチャットコンポーザーと「使用状況」ページから引き続き確認できます。@shakkernerd さん、@vincentkoc さんありがとうございます。
- ワークボードのディスパッチ制限: リクエストスコープで
--max-startsのオーバーライドを追加しました。デフォルトの制限値、逐次起動、およびオーナーごとのカード 1 つというガードは維持されます。(#100174) @souvikDevloper さん、@Souvikalp さん、@jwest75674 さんありがとうございます。
- プラグインインストールの信頼性警告: CLI とチャットでのインストールにおいて、任意の実行可能ソースからのプラグインには明示的な
--force確認を要求します。ClawHub、バンドル版、公式カタログ、追跡更新フローは摩擦なく動作し続けます。Crestodian のインストールは信頼できるソースに制限されます。(#102197) @jesse-merhi さんありがとうございます。
- クラウドワーカー: リモートセッション実行のためのセッション配置、ディスパッチ、ワーカーターンルーティングを追加しました。(#106332)
- ペアードノードのコーディングエージェント: OpenCode と Pi セッションを検出し、ストリーミング CLI エージェント実行を通じて Codex や Claude カタログセッションを継続します。(#106941, #106927, #105833)
- カタログセッション: 対象となるカタログセッションをコントロール UI サイドバーから直接作成できます。(#105810) @fuller-stack-dev さんありがとうございます。
- 管理されたワークツリー: 「設定」からカウントと総サイズに基づいたクリーンアップ制限を設定できます。(#106224)
- Cron 履歴: 実行予定タスクの履歴をタスクリッジドから提供します。(#106392)
- コーディングエージェントのメモリ: Codex と Claude Code のメモリをコントロール UI にインポートしました。(#106406)
- MCP アイソレーション: MCP サーバー接続を要求元のセッションにスコープします。(#106359) @obviyus さんありがとうございます。
- Discord 音声: ボイスチャンネルの参加者変更時にエージェントへ通知します。(#107004)
- Codex の使用状況: アプリサーバーの使用量ウィンドウとともに、サインインしたアカウントのメールアドレスを表示します。(#106500)
- スキルワークショップ: 過去のセッション履歴をスキャンし、保守的でレビュー可能なスキルアイデアを探します。(#106766)
- タスクプレビュー: 実行中のタスクステータス行から最新のタスクを表示します。(#107297)
- セッション変更: コントロール UI セッションで、アクティブなブランチとローカルの変更ファイル状態を表示します。(#106835)
- チャネルの進行状況: 長時間実行される作業用に進行状況ドラフトを予約し、ステータス見出しにはモデル自身のプレアンブルを使用します。(#106026)
- Codex CLI: バンドルされたプラグインを Codex CLI 0.144.6 にアップグレードし、GPT-5.6 の Codex コンテキストメタデータを上位版の 272k リミットに合わせました。
修正点
JSON 形式での出力を必ず守ってください。translation フィールドのみを含めてください。他のフィールドは一切追加しないでください。余計なフィールドを追加しようとして本文がトークン上限に達し、出力が途中で打ち切られる事故を防ぐためです。
{"translation": "リライト全文"}
- クラウドワーカー由来のワークスペースキャッシュ: ローカルキャッシュの書き換えが後続のクラウド結果を妨げたり、ワーカーによる回収が阻害されたりしないよう、Python のキャッシュ、依存関係ツリー、macOS のメタデータを、アウトバウンド同期とインバウンド再統合の両方から対称的に除外します。
- Codex モデルステータス診断: ハーネスプラグインが無効化されている、存在しない、または隔離されている場合、設定された Codex ルートを利用不可として報告し、個別の認証結果は保持したまま、
models status --checkコマンドが正常に処理されるのではなく失敗するようにします。ご協力ありがとうございます @shakkernerd。 - ゲートウェイ制御プレーンのレート制限: 30 分間に 30 件の予算を持つメソッドごとのバケットを使用し、対話型管理者の書き込みを応答可能に保ちつつ、ループ異常からの保護機能を維持します。
- シグナルシャットダウン配信: モニター停止前に既に受け入れた入力をすべて処理し、シャットダウン直前に受信したメッセージがドロップされることなく完了するようにします。
- 外部スーパーバイザーの再起動ヘルスチェック: 置換ゲートウェイロックとリスナー PID が一致した場合のみ、デバイスアイデンティティポリシーのクローズを許可し、正常なハンドオフ後に OCM 管理による再起動がタイムアウトするのを防ぎます。ご協力ありがとうございます @shakkernerd。
- ACPX クリーンアッププロセスの検査: ホストのプロセステーブル読み取りに制限を設け、
psコマンドの停止によりゲートウェイ起動やセッションクリーンアップがブロックされることを防ぎつつ、失敗時のクローズドな所有権チェックは維持します。ご協力ありがとうございます @Alix-007。 - クロンライフサイクル競合のリトライ: 実行フェーズでのリトライ判断を、スケジュール済み、手動、起動復旧のすべての実行ケースで保持し、実行後の主張競合により完了したメッセージやツールが再再生されるのを防ぎます。#108428 を修正しました。ご協力ありがとうございます @yetval。
- Discord ゲートウェイメタデータのデッドライン: 既存のルックアップデッドラインを DNS およびプロキシ事前チェック、リクエストヘッダー、レスポンスボディに引き継ぎ、ゲートウェイ起動が停止した場合でもクリーンに中止できるようにします。(#104580) ご協力ありがとうございます @hugenshen。
- 制御 UI クラウドセッションの推論: New Session モデルピッカーで推論レベルを公開し、クラウド送信前に選択されたレベルを永続化します。
- iOS 新規インストールセットアップ: キーチェーンクリーンアップの前に使用済みのセットアップ認証情報を原子的に隠蔽し、遅延された項目削除が正常にペアリングされたデバイスの切断を引き起こさないようにします。#107591 を修正しました。ご協力ありがとうございます @dagmarjeeves-lab および @vincentkoc。
- Tlon SSE 接続クリーンアップ: HTTP レスポンスの失敗やストリームオープンの拒否後、開封デッドラインを解除し、再接続試行が古いタイマーを残さないようにします。(#104585) ご協力ありがとうございます @hugenshen。
- LINE リプライトークンのメディア種別: 受信したリプライで動画および音声メタデータを尊重し、プロアクティブな送信と共通の正規メディアビルダーを共有し、空のメディアのみが配信された記録を防ぐため、明示的にエラーを返します。(#106515) ご協力ありがとうございます @edenfunf。
- Mattermost WebSocket 接続デッドライン: 開封ハンドシェイクに制限を設け、停止した TCP ピアがチャンネル起動を無限にブロックするのを防ぎ、タイムアウト後に再接続制御を再開できるようにします。(#105553) ご協力ありがとうございます @hugenshen。
- キュー待ち TTS リトライ: 音声応答が生産者の一時クリーンアップや再起動復旧で失われないよう、エンキュー前にローカルのアウトバウンドメディアをキュー固有のストレージにコピーします。リトライバックオフ中に参照されたアーティファクトは保持し、1 日後に未参照のスプールファイルを削除します。#108501 および #108502 を修正しました。ご協力ありがとうございます @masatohoshino。
- Feishu アプリ登録デッドライン: 保護されたフェッチ境界を介して OAuth デバイス登録リクエストを 10 秒に制限し、停止したレスポンスヘッダーでセットアップが無限にブロックされるのを防ぎます。(#105549) ご協力ありがとうございます @hugenshen。
- LINE コマンド_mentions: メンション除去前に許可されたスラッシュコマンドを検出し、インライングループおよびダイレクトメッセージの制御が元のインバウンドメタデータを保持できるようにします。(#107230) ご協力ありがとうございます @edenfunf。
- Feishu ドキュメント画像読み取り: 選択したアカウントのタイムアウトでリモートドキュメント画像ヘッダーと停止したボディに制限を設け、プラグインの MDAST パイプラインを通じてドキュメント Markdown を解析し、画像/ブロックのアライメントを保持します。また、空の画像ブロックを作成する前にアップロード入力の失敗を検証して拒否します。ご協力ありがとうございます @Alix-007。
- ClawHub レジストリ読み取り: 一時的なゲートウェイ障害と同様に、制限付きの HTTP 500 レスポンスを再試行し、孤立したレジストリエラーが発生してもマルチパッケージリリーススキャンが継続できるようにします。
- Slack Socket Mode ヘルスチェック:
auth.testの失敗または設定されたボットトークンがユーザーでbot_idを持たない場合、接続済みの Socket Mode 転送を「劣化」として報告し、健全なエンタープライズ組織のインストールは保持します。ご協力ありがとうございます @zw-xysk。 - Synology Chat レスポンス制限: ユーザーリスト応答読み取りに制限を設け、サポートされるエンベロープを超える NAS に対して過大なストリームを即座に停止し、古くなったキャッシュされたアイデンティティは保持します。ご協力ありがとうございます @zw-xysk。
- 使用日付範囲: タイムスタンプのないレガシートランスクリプト行を有限のセッション範囲から除外しつつ、全期間合計には残し、新しいセマンティクスを提供する前に古い使用キャッシュを再構築します。#89709 を修正しました。ご協力ありがとうございます @TurboTheTurtle。
- LINE グループ履歴競合: アクティブなメンションターン中に受信した環境グループメッセージを次のターンで保持しつつ、ターン前のスナップショットは正確に一度だけ消費します。(#107367) ご協力ありがとうございます @edenfunf。
- Mattermost プログレスコマンド詳細: チャンネル設定検証およびバンドルメタデータにおいて、文書化された
streaming.preview.commandTextおよびstreaming.progress.commandTextモードを許可します。ご協力ありがとうございます @shakkernerd。 - 1Password 認証ハンドオフ: ノンバウンドの保留中承認を共有プラグイン状態に永続化し、ブローカーインスタンス間でのフックおよびツール実行が単一使用となり、失敗時にクローズドになるようにします。
- 制御 UI チャットトランスクリプト: セッションやペインの戻りAcrossで読み込まれた履歴を保持し、自動バックスクロール読み取りに制限をかけ、長いトランスクリプトを仮想化し、隠されたネイティブ実行境界を維持します。また、プリペンデンド、ストリーミング、レスポンシブレイアウトが点滅したりジャンプしたりするのを防ぎます。ご協力ありがとうございます @shakkernerd。
- Codex ダイナミックツール結果: 任意のライフサイクルメタデータに共有のツール結果失敗契約を使用し、Skill Workshop の成功結果が失敗した呼び出しとして表示・永続化されるのを防ぎます。#107684 を修正しました。ご協力ありがとうございます @shakkernerd。
- Codex
/statusコンテキスト鮮度:rawResponse/completedを発行する Codex アプリサーバーから正確なレスポンスごとの使用量を消費します。正確な使用量が利用できない、または省略されている場合は、累積 lifetime 合計を再利用せず、コンテキストを不明のままにします。(#107813) ご協力ありがとうございます @wuqxuan。 - ネストされたリソースの無視: スキルおよびリソース発見時に、ネストされた無視ファイル内のスラッシュなしパターンとエスケープされたリテラル感嘆符を尊重します。ご協力ありがとうございます @moguangyu5-design。
- プロキシバイパス優先度: 小文字の空白
no_proxyが大文字のNO_PROXYを上書きする際、Undici と一貫して処理し、Telegram のフォールバック選択に正規のマッチャを再利用します。 - Tokenjuice 実行圧縮: 圧縮されたミドルウェアメタデータ内に生コマンド出力を保持しないよう回避し、大規模な成功した圧縮がミドルウェア詳細サイズガードで失敗するのを防ぎます。
- エージェント Git パッケージID: ホストリポジトリ解析前に参照(refs)を除去し、トラバーサルセグメントを拒否して、GitLab ブランチ参照が正規の管理インストールパスに解決されるようにします。ご協力ありがとうございます @vincentkoc。
- Tlon カスタム S3 アップロード: ストレージエンドポイントを AWS SDK のネイティブパーサー経由で渡すことで、プレサイン前にカスタム S3 互換アップロードが失敗するのを防ぎます。
- シグナルアクティブラン制御: 通常のおよび状態保持ターンを正規のセッション受付に保持しつつ、アクティブなターン中に許可された停止、ステータス、承認、キュー読み取り制御を応答可能に保ち、停止時にすべての保留中のグループ送信レーンをキャンセルします。(#107422) ご協力ありがとうございます @arduano。
- エージェント認証ストレージロック:
proper-lockfileが侵害されたロックを報告した場合の冗長な解放試行を回避しつつ、通常の解放失敗を表面化します。 - ペアリング済みノードセッションカタログ: 制御 UI の読み取りフローから読み取り専用ノードコマンドを呼び出すよう、バンドルされた Anthropic および Codex カタログリクエストに権限を与え、リモート Claude/Codex 行およびターミナル再開の可用性を復元します。#107406 を修正しました。ご協力ありがとうございます @vincentkoc。
- サンドボックス再作成確認: Clack キャンセルを拒否として扱うことで、Ctrl-C がコンテナ削除を続行できないようにします。
- Microsoft Teams HTML テキスト: 引用されたメッセージおよび Graph 取得メッセージで HTML5 エンティティを一貫してデコードしつつ、リテラルのエスケープエンティティテキストは保持します。
- ClawHub プラグイン API レンジ: 各サポートされる比較子を
semverに委譲し、チルダ、部分ワイルドカード、プレリリースキャレットの境界を正しく設定しつつ、OpenClaw のバージョン正規化および既存の制限付き範囲文法は保持します。(#106877) - Web 可読性相対リンク: 解析されたドキュメントにリクエスト URL をシードし、記事リンクが正しく解決されるようにするとともに、プラグインの重複する遅延ローダーファサードを削除します。(#106860)
- ブラウザ自動ルーティング: 暗黙的に選択されたブラウザノードが制御ホストに到達できないと報告した場合、Gateway ホストにフォールバックしつつ、明示的なノードピンおよび曖昧なアクションの失敗は保持します。
- Discord ボイス参加者コンテキスト: ライブ Gateway のボイス状態ロスターを維持し、許可されたボイスエージェントターンに現在のチャンネル参加者を含めることで、エージェントが誰がいるかを回答できるようにします。ご協力ありがとうございます @vincentkoc。
- OC Path JSONC 挿入:
jsonc-parserを介してオブジェクトおよび配列の挿入をパッチ適用し、コメント、末尾のカンマ、CRLF フォーマットを維持します。(#106847) - Windows winget インストール: マシン PATH の更新が視覚化される前に
wingetが Node.js をインストールした場合、現在の PowerShell セッションで継続して処理し、偽の「Node.js が見つかりません」エラーを防ぎます。(#106862) - 制御 UI リアルタイム Talk フィードバック: すべてのマイク転送に対してブラウザのエコーキャンセレーション、ノイズ抑制、自動ゲインコントロールを要求し、PCM キャプチャプロセッサをゼロゲains スンクに接続したまま保ち、マイク入力がローカルで再生されないようにします。
- エージェントソースリプレイ回復: Code Mode を介して実行されたメッセージ送信の送達証拠を保持し、成功した応答が冗長な再試行を引き起こしたり、誤った送達失敗診断をトリガーしたりするのを防ぎます。ご協力ありがとうございます @vincentkoc。
- ゲートウェイインプロセス再起動: 古い SIGUSR1 再起動状態をクリアし、ランタイム受付の再構築前に準備されたホストサスペンションを再開することで、再起動クールダウンや一時停止されたスケジューリングが次のライフサイクルに漏れるのを防ぎます。ご協力ありがとうございます @vincentkoc。
- ClickClack 永続メディア配信: メディア応答を必要な配信ルートを介してルーティングし、リトライ間で所有者スコープのアップロードおよびメッセージノンバースを再利用します。ソースメディアを再読まずに保存された添付状態を修復し、古い ClickClack サーバーが未知の送信を証明できない場合はクローズドで失敗し、チャネルレベルのトークンキャップではなく、選択したプロバイダーとモデルのランタイム出力予算を使用します。ご協力ありがとうございます @jjjhenriksen および @shakkernerd。
- Deepgram リアルタイムカスタムエンドポイント: Voice Call ストリーミングベース URL を秘密保護されたエラーで検証し、明示的な
ws://およびwss://エンドポイントを保持し、HTTP スキームを対応する WebSocket 転送にマッピングして、専用およびセルフホストデプロイメントに対応します。(#105334) ご協力ありがとうございます @dwc1997, @vincentkoc, および @zw-xysk。 - 制御 UI New Session 再接続: エージェント、ノード、リポジトリブランチ、フォルダーブラウザ状態を再発見し、派生ワークスペースを更新し、未検証デバイスをゲートし、Gateway クライアント置換後に曖昧な再試行をブロックしつつ、型付きタスクと明示的な選択は保持します。#106372 を修正しました。ご協力ありがとうございます @vincentkoc。
- macOS リモートノード準備: ノード受付時にオペレーター接続を開くのではなく、ノードハイスナップショットからメインセッションキーを取得することで、リモートトンネル回復が Computer Use やノード実行をライフサイクル遷移のままにしないようにします。
- Claude CLI コンテキスト予算: Anthropic モデルおよび各エージェントの
contextTokens制限を尊重し、有効な制限を Claude Code のネイティブ自動コンパクターに渡して、OpenClaw セッション状態に同じ準備された予算を永続化します。#80933 および #93198 を修正しました。ご協力ありがとうございます @mushuiyu886 および @gorkem2020。 - トランスクリプト読み取り失敗: ストリーミング JSONL セッション読み取りからの権限および I/O 障害を伝播し、読めないトランスクリプトを空として扱わないようにします。(#106412) ご協力ありがとうございます @zenglingbiao。
- 再起動センティネル診断: SQLite の読み書きおよびレガシーファイルクリーンアップの失敗を報告しつつ、ベストエフォート型の再起動回復動作は維持します。(#106385) ご協力ありがとうございます @zenglingbiao および @wendy-chsy。
- ネイティブアプリ接続およびリレー信頼性: Android の切断がアクティビティ再作成を跨いで停止したままに保ち、リモートカメラコマンドは許可プロンプトを開かずに失敗し、機能変更後にモバイルノード登録を更新し、iOS 初期化接続の失敗を表面化し、セッション切り替え時に古い Talk 所有者をキャンセルし、無効な Watch 確認を拒否し、起動中に受信した Watch イベントを保持し、古いエージェント概要リクエストが新しいゲートウェイ状態を置き換えるのを防ぎます。ご協力ありがとうございます @vincentkoc。
- ゲートソースウォッチ: tmux ウォッチャーを開始する前に設定されたポートをインストール済みサービスから手渡し、失敗したペインはアタッチ/キャプチャ用に保持し、明示的な代替ポートウォッチを管理された Gateway と並列に維持します。ご協力ありがとうございます @vincentkoc。
- Claude CLI 最大ターン診断: OpenClaw および Claude セッションコンテキストと併せてターミナルの最大ターン結果を保持し、ツールアクションが既に実行されている可能性がある場合に警告を発し、副作用を持つターンの不安全な認証プロファイルまたはモデル再再生を停止します。(#94130) ご協力ありがとうございます @zhangguiping-xydt および @tdrose01。
- プロバイダーネットワークリトライ: 一時的な接続エラーに対するプロバイダーの読み取り/ポーリング/ダウンロードおよびエージェント待機回復を整合させ、プロバイダーの
ENOTFOUND失敗に制限付きで再試行しつつ、ゲートウェイのENOTFOUNDおよび非冪等作成操作は即座に失敗するようにします。(#101496) ご協力ありがとうございます @xialonglee。 - セッションリトライ分類: 識別子またはペイロード詳細が単に 429/5xx の数字シーケンスを含む永続的なプロバイダーエラーの再送信を停止し、リトライパス間で制限付きレート制限ウィンドウ解析を共有します。(#105258) ご協力ありがとうございます @destire-mio および @yetval。
- LINE ディレクティブテンプレート: 必須フィールドが空白またはアクションにラベルがない場合、確認およびボタンを抑制しつつ、有効なタイトルなしボタンと周囲のリプライテキストは保持します。(#105520) ご協力ありがとうございます @edenfunf。
- SQLite メンテナンススキーマ検証: コンパクト化前に、現在のバージョンのグローバルおよびエージェントデータベースが欠落または逸脱した正規テーブル、制約、インデックス、トリガー、またはテーブルオプションを持つ場合、サポートされる追加マイグレーションレイアウトを受け入れることを除き拒否します。
- Matrix 初期化診断: 暗号依存関係の失敗が保持境界で置換文字を表示しないよう、制限付き stdout および stderr テールに完全な UTF-8 コードポイントを保持します。(#105475) ご協力ありがとうございます @qingminlong。
- iOS Watch リレーコマンド: ペアリングされた iPhone ノードがデフォルト Gateway ポリシーを通じて
watch.statusおよびwatch.notifyを広告および呼び出すことを許可しつつ、直接の watchOS ノードの固定最小コマンド表面は保持します。ご協力ありがとうございます @vincentkoc。 - Swabble ステータス設定: サービスステータス読み取り時にデフォルト設定を黙って使用せず、グローバル
--configパスを尊重します。 - ClawHub リトライタイミング: 分数の遅延秒およびカレンダー正規化された無効な Retry-After 日付を拒否し、ランタイムおよびリリース読み取りが制限付きフォールバックスケジュールに留まるようにします。(#105479) ご協力ありがとうございます @qingminlong。
- Discord スレッドアーカイブデフォルト: 明示的な上書きを保持しつつ、バインド作成スレッドに対して親チャンネルの構成済み自動アーカイブ期間を引き継ぎ、60 分を強制しないようにします。(#103413) ご協力ありがとうございます @wings1029。
- インストール済みプラグイン読み込み: ネイティブモジュールフォールバックが同期 ESM 読み取りを再試行するのではなく jiti の変換パスを使用するように変更し、公式プラグインが SDK 契約モジュールをインポートした際の Node 24 起動競合を防ぎます。ご協力ありがとうございます @vincentkoc。
- QA プロファイルチャンネル実行: 混合された Crabline チャンネルシナリオを 1 つの集約ホストスイートに分割し、分類ベースのプロファイルコマンドおよび証拠ワークフローが実行前に中止されないようにします。
- プラグイン SDK API ベースライン: すべての公開エントリーポイントを網羅し、ソース行の変更なしに完全な宣言形状を保持し、変更ファイル検証からベースラインおよびエクスポート表面ガードを実行します。ご協力ありがとうございます @vincentkoc および @zw-xysk。
- SQLite ターミナルセッション回復: エージェントデータベースで物理トランスクリプトの改変時間を追跡し、トランスクリプト書き込みがレジストリ更新よりも長く続く場合に殺されたまたはタイムアウトしたメインセッションを回転させつつ、ドクターインポート中はレガシートランスクリプト mtimes を保持します。ご協力ありがとうございます @vincentkoc。
- ゲートウェイチャット型チェック: 廃止された集約型モジュール削除後にチャットイベントタイプを所有するプロトコルスキーマからインポートし、完全なプロジェクト型チェックを復元します。ご協力ありがとうございます @vincentkoc。
- パッケージ化 Crabbox コマンド: 公開ラッパーでインポートされるリース鮮度ヘルパーを含めることで、npm インストール時に
crabbox:*コマンドがERR_MODULE_NOT_FOUNDで失敗しないようにします。ご協力ありがとうございます @vincentkoc。 - プラグインセッションカタログ: 不明なカタログフィルターを拒否し、カタログをプラグイン機能として報告し、SDK 登録キャプチャに保持することで、空の結果を黙って返したり、カタログ専用プラグインを機能なしと分類したりするのを防ぎます。ご協力ありがとうございます @vincentkoc。
- ゲートウェイサービス監査: POSIX シェル
-cラッパーをゲートサブコマンドチェックに対して不透明として扱い、内部コマンドやポートを解析せずにシェルラップされた macOS LaunchAgents の場合でも、誤った未発見コマンド警告を防ぎます。#81751 および #81778 を修正しました。ご協力ありがとうございます @liaoandi。 - アウトバウンドチャンネル初期化: 同じチャンネル、設定、レジストリ生成に対する繰り返し失敗するプラグインアクティベーションを抑制しつつ、設定またはレジストリの再読み込み後に再試行します。(#100377) ご協力ありがとうございます @xialonglee。
- OpenAI Realtime クライアントシークレットデッドライン: 音声および文字起こしシークレットの取得を保護されたフェッチ境界を介して 30 秒に制限しつつ、認証と制限付きレスポンス解析は保持します。(#102860) ご協力ありがとうございます @Alix-007 および @Leon-SK668。
- ゲートウェイクライアントウォッチドッグ: 無制限および混合保留リクエストに対して転送停止検出を有効に保ち、デッドソケットが保留リクエストを拒否し、再接続し、拒否されたリクエストを再再生しないようにします。(#103407) ご協力ありがとうございます @NianJiuZst。
- iOS Share Extension 下書き: スキャフォールドのようなプレフィックスで始まる正当な共有テキストは保持し、正確なレガシースキャフォールド行のみを削除し、スクリプトのような文章を URL として扱わず、ホストミラーコンテンツの重複を排除します。(#103453) ご協力ありがとうございます @lin-hongkuan および @harjothkhara。
- Telegram 推論プレビュー: 遅延削除を通じて分割された推論プレビューを再配置し、以前のプレビューメッセージが古いまま残らないようにしつつ、クライアントのスクロール位置は保持します。
(#97828) @ly-wang19 さんと @kyle20026 さんに感謝します。
- Feishu ネイティブカードのスレッド化: レプライ対象の空白文字を正規化し、カードとメディア部分で共通のレプライモードを再利用することで、ネイティブカードのトピック返信がスレッド内で完結するようにしました。(#102804) @sunlit-deng さんに感謝します。
- QQBot トークンリクエスト: トークン取得処理を共有の 30 秒ガード付きフェッチ期限にバインドし、停止したシングルフライト呼び出しが同時に失敗してクリーンアップされ、再試行できるようにしました。(#102897) @maweibin さんに感謝します。
- Canvas A2UI バリデーション: CLI、エージェントツール、最終ノード呼び出しの境界において、不正または非対応の JSONL を拒否しつつ、ネイティブ v0.8 のディスパッチは維持しました。(#103713) @qingminglong さんに感謝します。
- Twilio RCS 着信ルーティング: 送信者の一致やセッションが動作するように、署名付きウェブフックの検証後にのみ RCS コンシューマーアドレスを正規化し、発信 RCS のセマンティクスは変更しません。(#102373) @clawSean さんに感謝します。
- ClickClack 出力のサニタイズ: 送信者境界で内部ツールや XML スケフォールディングを除去し、スケフォールディングのみによる送信を抑制しつつ、オプションの現代的な配信 ID は保持しました。(#103142) @masatohoshino さん、@vincentkoc さん、@zw-xysk さんに感謝します。
- エージェントコアの切り捨て: ヘッド切り捨て時に負の行数やバイト上限が指定された場合でも、空出力によるクラッシュを回避しました。(#103425) @qingminglong さんに感謝します。
- Windows Node 解決: 敵対的な
PATH値の下で、裸のケース非感応なnode.exeエントリを解決する際にも、現在の実行ファイルを維持しました。(#103907) @soldforaloss さん、@vincentkoc さんに感謝します。
- Codex ランタイム切り替え:
codex/*とopenai/*モデルルートの両方でバンドルされた Codex ランタイムを受け入れつつ、非対応のプロバイダー/ランタイムペアは拒否し続けます。(#103762)
- エージェント中止クリーンアップ: プロンプトロックの再取得をターミナルクリーンアップと直列化することで、キャンセルされた埋め込み実行がセッションロックで最大 60 秒にわたって自己競合しないようにしました。
- Chutes OAuth デッドライン: トークン交換、プロフィール参照、リフレッシュ要求を期限にバインドし、オプションのユーザー情報拡張が停止しても発行済みのトークンを保持します。(#102026) @Alix-007 さんに感謝します。
- コントロール UI ワークスペースアバター: 検証済みエージェントアバターファイルをブートストラップとアイデンティティレスポンスにインライン化し、認証不要のアバタールート要求なしでパーソナルカード画像がレンダリングされるようにしました。ただし、設定された絵文字の優先順位は維持します。(#102892, #97602) @LZY3538 さん、@mtuwei さんに感謝します。
- Exec セーフバイナリフラグ: デフォルトの stdin のみフィルタに対して、キュレーションされた読み取り専用ブール型フラグを自動承認しつつ、不明なフラグ、テイルフォロー/再試行モード、ファイル演算子、カスタムプロファイルは失敗閉鎖(fail-closed)としました。(#88953) @yetval さんに感謝します。
- iOS セッション変更: リネーム、アーカイブ、ピン留め、削除、フォークの要求を、選択されたエージェントにスコープを限定し、フォークされたセッションの親エージェントは維持しました。これにより、マルチエージェントチャットアクションが誤ったエージェントの下でセッションを変更または作成できなくなります。(#103366, #103415) @lin-hongkuan さん、@harjothkhara さんに感謝します。
- Swift プロトコルイニシャライザー: スキーマオプションの生成されたイニシャライザーパラメータをすべて
nilにデフォルト設定し、追加プロトコルフィールドが SDK 構築呼び出しサイトを壊さないようにしました。
- OpenCode Go MiMo カタログ: エージェントリクエストを拒否する非推奨のエイリアス
mimo-v2-omniとmimo-v2-proの公開を停止し、アクティブな MiMo V2.5 ルートでのリリース検証は維持しました。(#103311, #103329) @krissding さんに感謝します。
- 監査時間フィルター:
openclaw audit --afterおよび--beforeに対して、意図しない期間に巻き込まれる代わりに不可能なカレンダー日付を拒否し、タイムゾーン非依存のタイムスタンプセマンティクスは維持しました。(#103433) @qingminglong さんに感謝します。
- OpenAI 互換ストリーミングツール呼び出し: SSE
data: [DONE]で終わるがfinish_reasonを含まないストリームから完全なネイティブツール呼び出しを実行しつつ、転送の EOF と可視テキストケースは失敗閉鎖としました。(#98124, #97994) @SunnyShu0925 さん、@wszhhx さんに感謝します。
- xAI プロバイダーエイリアス: モデルが shipped
x-aiプロバイダーエイリアスを使用する場合、有効な思考リクエストをminimalに制限する代わりに、Grok 4.3 と Grok 4.5 の思考プロファイル、高速モデルルーティング、暗号化された推論再生を維持しました。(#103315)
- ドクター状態の分離:
OPENCLAW_STATE_DIRが別の場所を指す場合、自動更新や Gateway ウォッチ修復がデフォルトホームの実行やプラグインバインド承認をインポート・アーカイブするのを防止し、暗黙的な CLI 事前チェックは通知のみとし、クロス状態のインポートは直接オペレーターによるドクター実行に限定しました。(#103247, #103317) @vincentkoc さんに感謝します。
- ドクタークリーンステートガイダンス: 設定変更なしでクリーン実行が完了した場合、
openclaw doctor --fixの提案を停止しつつ、ターゲット修理のヒントは維持しました。(#103233) @kewang-pika さん、@nonplace さんに感謝します。
- Google 音楽生成: 契約上必要なオーディオを省略した Lyria 応答がブロックされていない場合のみ再試行し、プロンプトブロックとターミナル生成停止は非再試行としました。(#103318)
- OpenCode Zen モデルカタログ: Claude Sonnet 5、Grok 4.5、Hy3 Free、Kimi K2.7 Code、MiniMax M3 のプロバイダー所有の静的シードを更新し、検証済みルーティング、価格、制限、入力機能を確保しました。また、廃止された無料ティア行を削除し、認証不要なモデルリストを通じて同じカタログを公開します。(#103184)
- マネージドブラウザ起動: 非同期 Chrome ブートストラップとランタイム起動の失敗をブラウザエラーとして表面化しつつ Gateway は生かし続け、後続のライフサイクル障害でもプロセスエラーハンドリングを維持しました。@vincentkoc さんに感謝します。
- ブラウザノードプロキシダウンロード: すべてのアクション生成ダウンロードを Gateway メディアストアへ転送し、ファイルあたり 10 MiB、合計 16 MiB の転送予算に整合させ、ページ制御の結果データを横断せずに複数ダウンロードパスを Gateway ローカルファイルへ書き換えます。
- Gateway 起動マイグレーション: 起動時に選択された設定が変更された場合、終了前に共有マイグレーションリースを解放し、5 分間のリース期限まで待機して準備状態をブロックするのではなく、即座に再試行できるようにしました。(#103145)
- Apple タイムアウト回復: プラットフォーム作業がキャンセルを無視した場合でも、共有操作のデッドラインや呼び出し元からのキャンセルから素早く復帰し、遅れた Gateway 握手を分離して、ロケーションと権限待機者をクリーンアップしました。(#103066) @NianJiuZst さんに感謝します。
- Claude CLI ウォームセッション: Claude がネイティブトランスクリプトを書き込まない場合でも管理された stdio の継続性を維持し、正確なライブ子プロセスが消失または変更した場合のみバウンドされた OpenClaw 履歴にフォールバックし、ステートレス実行は CLI バインディングを永続化しないようにしました。(#96841) @bradreaves さんに感謝します。
- CLI プラグインリスト: レガシー入力がない場合、状態マイグレーションのランタイム読み込みをスキップしてパッケージされたコールドスタートメモリを削減しつつ、レガシープラグインインデックスと設定済みセッションストアに対するマイグレーションは維持しました。
- Unicode 安全バウンドテキスト: コントロール UI、CLI、Gateway、プラグイン、QA、メモリ、Android の各表面において、プレビュー、プロンプト、診断、ラベル、セッションキー、リンクメタデータ、アイデンティティ値を短縮する際にも完全な UTF-16 サロゲートペアを維持しました。(#102625, #102626, #102627, #102816, #102823, #102833, #102877, #102949, #102963, #102969, #102988, #103010, #103034, #103210, #103341, #103487, #103543, #103580, #103646) @zhangguiping-xydt さん、@wings1029 さん、@wangyan2026 さん、@Pandah97 さん、@MoerAI さん、@SunnyShu0925 さん、@zhangqueping さん、@zw-xysk さん、@cxbAsDev さん、@lzyyzznl さん、@coder-master-0915 さん、@LeonidasLux さん、@mushuiyu886 さん、@ly85206559 さん、@Simon-XYDT さん、@lsr911 さん、@vincentkoc さん、@chengzhichao-xydt さん、@wangmiao0668000666 さんに感謝します。
- Cron リストテーブル: CJK、絵文字、結合マーク、端末制御入力がアライメントや出力を破損しないよう、端末表示幅に基づいてセルをサニタイズしてサイズ調整しました。(#103616) @mushuiyu886 さんに感謝します。
- CLI モデルテーブル: 絵文字、CJK、その他の広字グラフームが列を揃えるように、レンダリングされた端末幅に基づいてモデルリストセルをサニタイズ、切り捨て、パディングしました。(#102819) @Kevin23-design さん、@vincentkoc さんに感謝します。
- スキルプロンプト圧縮: 残りのプロンプト予算で短く UTF-16 安全な説明を作成する前に、含まれるすべてのスキル ID を維持し、トリガーガイダンスを保持しつつハードリミットを超えないようにしました。(#88426) @abel-zer0 さん、@vincentkoc さん、@chengzhichao-xydt さん、@wangmiao0668000666 さん、@Pandah97 さんに感謝します。
- チャンネル Markdown コードテーブル: CJK、絵文字、混合幅セルが共有 Telegram と Discord の出力で揃うよう、レンダリングされた表示幅に基づいて列サイズを調整しました。(#55596, #103616) @sparkyrider さん、@zjy282 さんに感謝します。
- QQ Bot 承認プレビュー: デスクトップ QQ のレビューで読みやすくするために、長いサニタイズ済みコマンドとメタデータをグラフーム境界で折り返し、可視の継続マーカーと安全なフェンスを適用しつつ、コマンド内容は変更しません。(#102119, #101979) @Bartok9 さん、@xuzhi5858 さんに感謝します。
- Codex コンピュータ制御: Codex アプリサーバーが
computerツールでスレッドを開始できるように、固定長の座標ペアを均質な配列スキーマとして公開し、タプル値のitemsを拒否しないようにしました。
- Google Chat 要求デッドライン: コントロール呼び出しを 30 秒にバインドしつつ、メディア転送にはサイズ認識の合計予算と個別の 30 秒停止ボディガードを与え、大規模な添付ファイルアップロードを壊すことなく、Hang した Chat API 要求を防ぎます。(#102227) @hugenshen さんに感謝します。
- Google Gemini プレフィックスモデル ID: マルチモーダル関数応答動作の選択時に
google/gemini-*とmodels/gemini-*を認識し、Gemini 3 のインライン画像応答を後退させることなく、Gemini 2 の画像フォールバックを維持しました。
(#102382) @LiLan0125 さん、@yetval さんに感謝します。
- 生成プロバイダーモデルカタログの更新: MiniMax と NVIDIA のカタログ項目を保持し、実行時モデル入力をテキストや画像に投影する際にも音声・動画メタデータを正しく扱えるようにしました。これにより、設定済みのマルチモーダルプライマリが削除されたり、フォールバックしたりする問題を防止します。(#97858, #97048)@ly-wang19 さん、@zackchiutw さんに感謝します。
- DeepSeek カタログメタデータの整合性: V4 Flash と Pro の価格設定を、現在のキャッシュヒット率・ミス率および出力レートに合わせました。また、古いオンボーディングフローで記述された正確なカタログメタデータを更新し、レガシーな
deepseek-chatおよびdeepseek-reasoner互換名が 7 月 24 日に廃止されることを明記しました。(#103192)
- CLI 音声トランスクリプトファイルの扱い: Whisper や Parakeet から推測されたテキストファイルを権威あるソースとして扱います。これにより、空または欠落した出力によって進行状況やステータスが標準出力(stdout)としてユーザーの発話と誤認されるのを防ぎます。(#87393, #87384)@kesslerio さんに感謝します。
- Node 24 におけるブラウザ操作: ブラウザリクエストのキャンセルを、クライアント側のレスポンスライフタイムにバインドし、Node 24.16 以降で早期に破棄されるボディストリームシグナルに依存しないようにしました。これにより、JSON パース後に有効な POST アクションが失敗する問題を解消します。@obviyus さん、@vincentkoc さんに感謝します。
- Android ハードウェアキーボードでのチャット: 物理キーボードでは未修正の Enter キーで送信できるようにし、Shift+Enter やその他の修飾付き Enter キーは複数行入力のために維持しました。(#101239)@3ninyt3nin-creator さんに感謝します。
- Codex が生成したネイティブサブエージェント: 親アプリサーバーのサブスクリプションと共有クライアントを、生成されたネイティブサブエージェントの完了通知が確立されるまで維持し、ウォークアップの喪失やワンショットクリーンアップのリークを防ぎます。
- コントロール UI セッション作成: 他のセッションを選択した後でも、新しく作成されたセッションは安定したサイドバーの最前面に配置されます。@shakkernerd さんに感謝します。
- FTS のみによるメモリ起動:
memorySearch.providerが明示的にnoneに設定されている場合、プラグイン機能の検出をスキップし、不要なコールドスタートスキャンを防ぎます。
- iOS 埋め込みターミナル: ネイティブゲートウェイ認証が接続している間は Web UI のログイン画面を表示せず、ターミナル専用のコントロールサーフェースを直接開きます。
- ソースビルドの移植性: tsdown 設定を自己完結型に保ち、
unrunの一時モジュールディレクトリからtsdownパッケージを解決する必要がないようにしました。@vincentkoc さんに感謝します。
- ブラウザタブの採用: 新しい MCP、Playwright、または CDP ターゲットが最終的な安全性検証に失敗した場合、作成後に中止された場合、再発見できない場合は、以前の暗黙的タブと安定したエイリアスを保持します。タブ作成前にラベルを検証し、管理対象のクリーンアップは採用済みのターゲットに限定しました。(#105301)@hugenshen さんに感謝します。
- Mattermost ブロックストリーミング: ドラフトプレビューモードでは完全で重複しないテキストとツールブロックを保持し、プレビューストリーミングが無効化されている場合は通常のブロックストリーミングに従います。(#87449)@yetval さん、@Senseonics-AI さんに感謝します。
- iOS 開発用アプリの識別: 開発用アプリは「OpenClaw」としてラベル付けし、リリースビルドと区別するために独自のデバッグアイコンを使用します。
- Android チャットの回復:再接続とシーケンスギャップ履歴のスナップショットが追いつく間、楽観的なユーザーメッセージとローカル所有の実行を保持します。これにより、送信済みメッセージが消えたり、陳旧化した実行が所有権を取得したりするのを防ぎます。(#100197)
- iOS 音声ウェイクアップのクリーンアップ: 非アクティブな Voice Wake を無効化する際、マイクロフォンオーディオパイプラインを初期化しないようにしました。これにより、シミュレータ起動の中止や不要なオーディオセットアップを防ぎます。
- エージェント停止の回復: テardown 後に遅れて破棄されたプロンプトが、孤児化したセッションロックを再取得するのを防ぎます。これにより
/stopコマンド実行後も会話を次のターンにすぐ準備できるようになります。
- ローカルゲートウェイ CLI 認証: ループバック CLI トークン/パスワード呼び出しを永続的なデバイススコープから外し、読み取りプローブが陳旧なペアリングベースラインの背後にある後続の書き込みや管理コマンドをブロックしないようにしました。(#95997)@vincentkoc さんに感謝します。
- MCP スキーマ診断: draft-2020-12 コンパイラの失敗を外部 MCP スキーマに帰属させ、不正なパターンが実行可能なセットアップエラーとして表示されるようにしました。@vincentkoc さんに感謝します。
- Amazon Bedrock コントロールプレーンのデッドライン: モデルの検出とアプリケーション推論プロファイルの参照をバインドし、呼び出し元のキャンセルを保持し、各リクエストパス終了後に短寿命な SDK クライアントを閉じます。@Alix-007 さん、@vincentkoc さんに感謝します。
- 返信事前配信の回復: 各事前配信コールバックに所有者が上書き可能なデッドラインを設定し、ハングしたプラグイン処理後にシリアライズされた返信レーンを解放します。また、トランスポートが一度も開始されていない場合にのみ、永続的な最終配信再試行状態を保持します。(#104256)@NianJiuZst さん、@BenjaminBrossi さんに感謝します。
- Signal ネイティブ引用返信: エージェント、明示的、永続的、チャンク化された送信のいずれにおいても、アクティブな着信メッセージをネイティブ引用として保持し、返信モードポリシーは Signal プラグイン内に維持します。(#105347)@jesse-merhi さん、@vincentkoc さんに感謝します。
- メディアストア遠隔ダウンロード: レスポンスヘッダー待機と停止したボディをバインドし、放棄されたリダイレクトやエラー応答を閉じ、不完全な一時ファイルを削除します。これにより、ハングしたソースが呼び出し元をロックするのを防ぎます。(#104624)@hugenshen さんに感謝します。
- Cron llama.cpp ツールスキーマ: モデル側の cron 宣言スキーマを llama.cpp と互換性を持たせつつ、ゲートウェイとランタイムでの非空白検証を維持しました。#107449 を修正。(#108360)@lee-xydt さん、@Patt92 さんに感謝します。
- ターミナルセッション: 初期のキー入力を保持し、ペアリングされたノードでのターミナル操作を有効化し、ペアリングされたノードのカタログ読み取りを許可し、陳旧化したコントロール UI 接続からの回復を行い、大量出力下でも低速クライアントをアタッチしたままにします。(#107214, #107361, #107410, #107419, #107348)@vincentkoc さん、@zw-xysk さんに感謝します。
- コントロール UI 設定: 検証された編集を自動保存し、自動保存ゲートを復元し、適用待ちの再起動状態を表示し、通常のコンテンツスクロールと選択動作を維持しました。(#107458, #107477, #107577, #107349)
- Signal 回復: ハングしたコンテナハンドシェイク後に再接続し、再起動中の重複するデーモンを防止し、電話番号正規化中にユーザー名ターゲットを保持しました。(#107386, #107409, #107365)@hugenshen さん、@ZHOUKAILIAN さん、@UberKitten さん、@ly-wang19 さんに感謝します。
- 認証境界: ペアリングされたノードのディレクトリ参照にはオペレーター管理者権限を要求し、移行設定マージにおけるプロトタイプ汚染をブロックしました。(#106004, #106116)@yangxiansheng さん、@joshavant さん、@yetval さん、@ruel225 さんに感謝します。
- 会話のアイデンティティ: グループターン全体で話者属性を保持し、不正な Discord ギルド返信ツール呼び出しを減らしました。(#107025, #107474)@lonexreb さんに感謝します。
- プロバイダーセットアップ: OpenRouter の OAuth 拒否エラーを表示し、認証エイリアス下に保存された資格情報を検索し、未解決の API キープロバイダーを修復可能として表示します。(#105448, #106736, #106754)@VectorPeak さん、@altaywtf さんに感謝します。
- Claude と Codex セッション: Claude のターンはネイティブバックグラウンドワークのために開いたままにし、ライブ更新後に Codex のシャットダウン警告を回避し、Codex オンボーディングのログインハンドオフを完了し、完了したフックリレーを廃止しました。(#106347, #106418, #107174, #106899)@obviyus さん、@fuller-stack-dev さん、@bek91 さんに感謝します。
- Apple アプリ: iPhone と Watch クライアントをプロトコル v3 ゲートウェイに接続し、不完全な添付ファイル共有を拒否し、iOS リリースアーカイブで固定された Swift ツールチェーンに従います。(#106294, #106513, #107188)@jincheng-xydt さん、@harjothkhara さん、@joshavant さんに感謝します。
- メモリの信頼性: QMD 出力の分割時に UTF-8 を保持し、レガシー移行中に正規キャッシュ行を維持し、先頭ゼロ付き JSON コンテンツ長を受け入れます。(#107263, #107243, #105916)@wahaha1223 さん、@felirami さん、@Tony-ooo さん、@qingminlong さん、@vincentkoc さん、@zw-xysk さんに感謝します。
- スキルとワークショップ: グローバルインストールされた ClawHub スキルを追跡し、孤児化した使用行をクリーンアップし、検証エラーを表示し、ワークショップ承認のデフォルトを自動処理に設定しました。(#106479, #107144, #107143, #107690)@ml12580 さん、@mnowrot さん、@SunnyShu0925 さん、@shakkernerd さんに感謝します。
- バウンドされたネットワーク呼び出し: Google Chat 認証、Slack ディレクトリおよび読み取りモードの呼び出し、Twitch ユーザー検索をタイムアウトさせ、ハングしないようにしました。(#106178, #106643, #107103, #105883, #107360)@QiuYuang さん、@Monkey-wusky さん、@maweibin さん、@zw-xysk さん、@Alix-007 さんに感謝します。
- チャンネル配信: スカラーストリーミングがフォールバックする場合に警告し、選択されたモデルのランタイム予算を使用して ClickClack のメディア配信を永続化しました。(#106796, #105775)@jjjhenriksen さんに感謝します。
- プラグイン管理: 標準的な ClawHub API コンパレータに従い、コントロール UI 管理者がインストール済みプラグインを有効化できるようにしました。(#106889, #106318)
- ランタイム設定: 解決済みのキャッシュ保持値を保持し、明示的な環境変数の削除を適用し、ディスパッチされた Workboard カードが実行状態で残らないようにしました。(#106069, #107258, #107271)@krissding さん、@jalfaro2876 さん、@pgondhi987 さんに感謝します。
- 入力と出力の安全性: 機密性の高い移行ターミナル出力を赤塗りし、管理対象の git パッケージ ID を正規化し、圧縮された Tokenjuice メタデータに生コマンド出力を保持しないようにしました。(#106806, #107637, #107705)@yetval さんに感謝します。
- ネットワークとリソースのマッチング: 正規の NO_PROXY 動作を共有し、ネストされた無視パターンおよびエスケープされた文字列の感嘆符に従います。(#107711, #106258)@moguangyu5-design さんに感謝します。
- Markdown frontmatter: YAML ノードが直接表現できない場合、強制されたフォールバック値を保持します。
コントリビューション記録の完全版
完全なコントリビューション記録は、タグ固定された CHANGELOG.md で確認できます。
リリース検証情報
- npm パッケージ:https://www.npmjs.com/package/openclaw/v/2026.7.2-beta.3
- レジストリ tarball:https://registry.npmjs.org/openclaw/-/openclaw-2026.7.2-beta.3.tgz
- 整合性チェック(integrity):
sha512-b1U1Q2/IrP3NX3ZWruiasWEJPjl2dq0Hm8ZByZrE7GwLqo78wu8eB7eJAqCEu29MtlBxLLSKz58SE01WUBf7dw== - リリース SHA:
d111bef0eed5aefb1e7c5ac59801c1f0924495f1 - 完全なリリース CI レポート:https://github.com/openclaw/releases/blob/main/evidence/2026.7.2-beta.3/release-evidence.md
- リリース公開(publish): https://github.com/openclaw/openclaw/actions/runs/29664100317
- npm 事前チェック(preflight): https://github.com/openclaw/openclaw/actions/runs/29662726100
- 完全なリリース検証:https://github.com/openclaw/openclaw/actions/runs/29660853502
- プラグイン npm 公開:https://github.com/openclaw/openclaw/actions/runs/29664738469
- プラグイン ClawHub 公開:個別に配信済み。本検証プロセスでは待機していません:https://github.com/openclaw/openclaw/actions/runs/29664739655
- プラグイン ClawHub 初期化(bootstrap): 不要
- OpenClaw npm 公開:https://github.com/openclaw/openclaw/actions/runs/29664809781
- npm Telegram ベータ E2E テスト:https://github.com/openclaw/openclaw/actions/runs/29663308444
原文を表示
2026.7.2
Highlights
- Remote coding sessions: run Control UI sessions on cloud workers, open Codex and Claude catalog sessions in terminals on their owning hosts, and resume OpenCode and Pi sessions directly in a terminal. (#107670, #107086, #107200)
- Native automation and nodes: bring Automations parity to mobile, add foreground Voice Wake on Android, and expose camera, location, and notification capabilities from headless Linux nodes. (#106355, #107081, #107193)
- Safer channel operation: prevent Telegram durable-ingress loss after restarts, keep Signal stop and approval controls responsive during active turns, and stop channel allowlists from granting owner access. (#107288, #107422, #107403) Thanks @obviyus, @arduano, and @yetval.
- Guided Control UI setup: configure model providers from Settings, onboard channels through a guided setup page, and choose images and models while creating sessions. (#106490, #106469, #107358) Thanks @alexandre-leng and @fuller-stack-dev.
- Gateway and session recovery: prevent restart admission from wedging the Gateway, recover reply sessions after finalization stalls, and keep one-shot cron jobs enabled through lifecycle claim races. (#107339, #106792, #107236) Thanks @obviyus, @joshavant, @charliemeyer2000, and @SL4N.
- Install and packaging: add Linux deb and AppImage bundles with Gateway guidance, publish them from stable main-based releases, and let Windows installs continue immediately after winget adds Node.js. (#106533, #106891, #106862)
Changes
- External gateway supervision: add
OPENCLAW_SUPERVISOR_MODE=externalfor lifecycle owners such as OCM, preserving verified restart and deferral behavior without exposing native service authority, blocking native service mutation and self-update, and providing a versioned atomic restart-handoff consume contract. Thanks @shakkernerd. - ClickClack guided setup: configure ClickClack from
openclaw onboardoropenclaw channels add clickclackwith URL, token, and workspace prompts, default-account env fallback, nonfatal live connection validation, and gateway-aware next steps that connect automatically when OpenClaw is already running. Thanks @shakkernerd. - ClickClack command menus: publish each bot's native OpenClaw commands to ClickClack composer autocomplete at gateway startup, with per-account opt-out and nonfatal compatibility handling for older tokens and servers. Thanks @shakkernerd and @vincentkoc.
- Skill Workshop approvals: run agent-initiated apply, reject, and quarantine actions without an additional approval prompt by default while preserving
skills.workshop.approvalPolicy: "pending"as an opt-in approval gate. Thanks @shakkernerd. - TUI fuzzy selectors: delegate list matching to pi-tui, adding slash-token and alpha-number matching while removing the local matcher fork.
- macOS paired-node terminals: advertise duplex Codex and Claude terminal resume commands from the embedded node host and forward interactive input and cancellation through the native app bridge. (#107335)
- Control UI catalog terminals: open eligible Codex and Claude Code sessions in the native CLI on their Gateway or paired-node host, with viewer-versus-terminal preferences, validated resume commands, and an interactive PTY relay. (#107086) Thanks @vincentkoc.
- Skill Workshop history review: add a manual, newest-first session scan that progressively searches older substantial work for conservative skill ideas, stores only SQLite cursor metadata, and leaves up to three results as pending proposals even when autonomous self-learning is disabled. (#106182)
- OpenAI GPT-5.6 defaults: use
openai/gpt-5.6(Sol alias) for fresh API-key setup and exactopenai/gpt-5.6-solfor fresh Codex/OAuth setup, default Sol to medium reasoning across both runtimes, and preserve existing primaries, fallbacks, aliases, and explicit GPT-5.5 selections. (#103234) - iOS offline chat: pre-paint recent sessions and canonical transcripts from a protected, bounded per-gateway cache, keep sending disabled offline, and purge cached conversation text when pairing is reset. (#100194)
- Slack progress indicators: use Slack's native assistant thread status and rotating loading messages by default while keeping acknowledgement reactions static; lifecycle reaction updates now require
messages.statusReactions.enabled: true. - Control UI Talk controls: keep voice, model, sensitivity, and other realtime defaults in Settings → Communications → Talk, and use the composer microphone caret to select any browser audio input. (#101046)
- Control UI session workspace shortcut: expand or collapse the active Chat pane's session workspace rail with ⇧⌘B without changing the main app sidebar or the separate detail and Canvas preview panel. Thanks @shakkernerd.
- Control UI Settings shortcut: open Settings with ⇧⌘, while leaving the browser-owned ⌘, shortcut unchanged. Thanks @shakkernerd.
- Control UI chat layout: center the transcript on the composer axis, keep assistant and tool output left and user bubbles right within the same readable frame, and preserve custom message-width overrides. (#104474) Thanks @shakkernerd, @vincentkoc, and @zw-xysk.
- Control UI composer footer: center the chat settings chip and model controls between the divider and the card edge instead of pinning them to the divider. (#105866)
- Control UI assistant actions: keep assistant name and time first while placing hover actions beside them on the left instead of at the far edge. Thanks @shakkernerd.
- Control UI message context: reveal per-message token, context, and model details from the timestamp on hover or activation instead of showing a separate Context button.
- Control UI session titles: reveal truncated recent-session names with a reduced-motion-safe hover animation.
- Control UI sidebar usage: remove the provider usage quota row from the expanded sidebar while keeping usage details available in the chat composer and Usage page. Thanks @shakkernerd and @vincentkoc.
- Workboard dispatch cap: add a request-scoped
--max-startsoverride while preserving the default cap, sequential starts, and one-card-per-owner guard. (#100174) Thanks @souvikDevloper, @Souvikalp, and @jwest75674. - Plugin install provenance warnings: require explicit
--forceacknowledgement for arbitrary executable plugin sources in CLI and chat installs, keep trusted ClawHub, bundled, official-catalog, and tracked-update flows frictionless, and restrict Crestodian installs to trusted sources. (#102197) Thanks @jesse-merhi. - Cloud workers: add session placement, dispatch, and worker-turn routing for remote session execution. (#106332)
- Paired-node coding agents: discover OpenCode and Pi sessions and continue Codex and Claude catalog sessions through streaming CLI agent runs. (#106941, #106927, #105833)
- Catalog sessions: create eligible catalog sessions directly from the Control UI sidebar. (#105810) Thanks @fuller-stack-dev.
- Managed worktrees: configure cleanup limits by count and total size from Settings. (#106224)
- Cron history: serve scheduled-run history from the task ledger. (#106392)
- Coding-agent memory: import Codex and Claude Code memory into the Control UI. (#106406)
- MCP isolation: scope MCP server connections to their requesting session. (#106359) Thanks @obviyus.
- Discord voice: notify agents when voice-channel participants change. (#107004)
- Codex usage: show the signed-in account email alongside app-server usage windows. (#106500)
- Skill Workshop: scan prior session history for conservative, reviewable skill ideas. (#106766)
- Task previews: show the latest tasks from the running-tasks status row. (#107297)
- Session changes: show the active branch and local changed-file state in Control UI sessions. (#106835)
- Channel progress: reserve progress drafts for long-running work and use the model's own preamble as the status headline. (#106026)
- Codex CLI: bump the bundled plugin to Codex CLI 0.144.6 and align GPT-5.6 Codex context metadata with the upstream 272k limit.
Fixes
- Cloud worker derived workspace caches: exclude Python caches, dependency trees, and macOS metadata symmetrically from outbound sync and inbound reconciliation so local cache rewrites cannot fence later cloud results or worker reclaim.
- Codex model status diagnostics: report a configured Codex route as unavailable when its harness plugin is disabled, missing, or quarantined, while preserving the separate credential result and making
models status --checkfail instead of silently treating fallback execution as healthy. Thanks @shakkernerd. - Gateway control-plane rate limiting: use per-method buckets with a 30-per-minute budget so interactive admin writes remain responsive while retaining runaway-loop protection.
- Signal shutdown delivery: drain already-accepted ingress before stopping the monitor so messages received immediately before shutdown finish processing instead of being dropped.
- External supervisor restart health: accept device-identity policy closes only when the replacement gateway lock and listener PID agree, preventing OCM-managed restarts from timing out after a successful handoff. Thanks @shakkernerd.
- ACPX cleanup process inspection: bound host process-table reads so stalled
pscalls cannot hang gateway startup or session cleanup while retaining fail-closed ownership checks. Thanks @Alix-007. - Cron lifecycle conflict retries: preserve execution-phase retry decisions across scheduled, manual, and startup-recovered runs so post-execution claim conflicts cannot replay completed messages or tools. Fixes #108428. Thanks @yetval.
- Discord gateway metadata deadline: carry the existing lookup deadline through DNS and proxy preflight, request headers, and response bodies so stalled gateway startup aborts cleanly. (#104580) Thanks @hugenshen.
- Control UI cloud session thinking: expose reasoning level in the New Session model picker and persist the selected level before cloud dispatch.
- iOS fresh-install setup: atomically redact spent setup credentials before Keychain cleanup so a deferred item deletion no longer disconnects a successfully paired device. Fixes #107591 Thanks @dagmarjeeves-lab and @vincentkoc.
- Tlon SSE connect cleanup: disarm opening deadlines after failed HTTP responses and rejected stream opens so reconnect attempts cannot leave stale timers behind. (#104585) Thanks @hugenshen.
- LINE reply-token media kinds: honor video and audio metadata on inbound replies, share the canonical media builder with proactive sends, and fail visibly instead of recording empty media-only deliveries. (#106515) Thanks @edenfunf.
- Mattermost websocket connection deadlines: bound opening handshakes so stalled TCP peers cannot hang channel startup indefinitely and reconnect control resumes after timeout. (#105553) Thanks @hugenshen.
- Queued TTS retries: copy local outbound media into queue-owned storage before enqueueing so voice replies survive producer temp cleanup and restart recovery, retain referenced artifacts through retry backoff, and prune unreferenced spool files after one day. Fixes #108501. (#108502) Thanks @masatohoshino.
- Feishu app registration deadlines: bound OAuth device-registration requests to 10 seconds through the guarded fetch boundary so setup cannot hang indefinitely on stalled response headers. (#105549) Thanks @hugenshen.
- LINE control-command mentions: detect authorized slash commands before mention stripping so inline group and direct-message controls preserve the original ingress metadata. (#107230) Thanks @edenfunf.
- Feishu document image reads: bound remote document-image headers and stalled bodies with the selected account timeout, parse document Markdown through the plugin's MDAST pipeline, preserve image/block alignment, and reject failed upload input before creating empty image blocks. Thanks @Alix-007.
- ClawHub registry reads: retry bounded HTTP 500 responses alongside other transient gateway failures so multi-package release scans survive isolated registry errors.
- Slack Socket Mode health: report connected Socket Mode transports as degraded when
auth.testfails or the configured bot token resolves to a user withoutbot_id, while preserving healthy enterprise-org installs. Thanks @zw-xysk. - Synology Chat response limits: bound user-list response reads, stop oversized streams immediately, and retain stale cached identities when a NAS exceeds the supported envelope. Thanks @zw-xysk.
- Usage date ranges: exclude legacy transcript rows without timestamps from finite session ranges while preserving them in all-time totals, and rebuild older usage caches before serving the new semantics. Fixes #89709. Thanks @TurboTheTurtle.
- LINE group history races: retain ambient group messages received during an active mention turn for the next turn while consuming the pre-turn snapshot exactly once. (#107367) Thanks @edenfunf.
- Mattermost progress command details: accept the documented
streaming.preview.commandTextandstreaming.progress.commandTextmodes in channel config validation and bundled metadata. Thanks @shakkernerd. - 1Password authorization handoff: persist nonce-bound pending approvals in shared plugin state so hook and tool execution across broker instances remain single-use and fail closed.
- Control UI chat transcripts: preserve loaded history across session and pane returns, bound automatic backscroll loading, virtualize long transcripts, retain hidden native run boundaries, and keep prepends, streaming, and responsive layouts from flickering or jumping. Thanks @shakkernerd.
- Codex dynamic tool outcomes: use the shared tool-result failure contract for arbitrary lifecycle metadata, preventing successful Skill Workshop results from being displayed and persisted as failed calls. Fixes #107684. Thanks @shakkernerd.
- Codex
/statuscontext freshness: consume exact per-response usage from Codex app servers that emitrawResponse/completed; when exact usage is unavailable or omitted, keep context unknown instead of reusing cumulative lifetime totals. (#107813) Thanks @wuqxuan. - Nested resource ignores: honor slash-free patterns and escaped literal exclamation marks in nested ignore files during skill and resource discovery. Thanks @moguangyu5-design.
- Proxy bypass precedence: honor blank lower-case
no_proxyvalues shadowing upper-caseNO_PROXYconsistently with Undici, and reuse the canonical matcher for Telegram fallback selection. - Tokenjuice exec compaction: avoid retaining raw command output inside compacted middleware metadata, preventing large successful compactions from failing the middleware details-size guard.
- Agent git package identities: strip refs before hosted-repository parsing and reject traversal segments so GitLab branch refs resolve to the canonical managed install path. Thanks @vincentkoc.
- Tlon custom S3 uploads: pass storage endpoints through the AWS SDK's native parser so custom S3-compatible uploads no longer fail before presigning.
- Signal active-run controls: keep authorized stop, status, approval, and queue-read controls responsive during active turns while preserving ordinary and stateful turns in canonical session admission, and cancel every pending group sender lane on stop. (#107422) Thanks @arduano.
- Agent auth storage locks: surface normal release failures while avoiding redundant release attempts after
proper-lockfilereports a compromised lock. - Paired-node session catalogs: authorize bundled Anthropic and Codex catalog requests to invoke their read-only node commands from Control UI read flows, restoring remote Claude/Codex rows and terminal resume availability. Fixes #107406 Thanks @vincentkoc.
- Sandbox recreate confirmation: treat Clack cancellation as a decline so Ctrl-C cannot proceed with container removal.
- Microsoft Teams HTML text: decode HTML5 entities consistently in quoted and Graph-fetched messages while preserving literal escaped entity text.
- ClawHub plugin API ranges: delegate each supported comparator to
semverso tilde, partial-wildcard, and prerelease caret bounds are correct while preserving OpenClaw version normalization and the existing restricted range grammar. (#106877) - Web Readability relative links: seed parsed documents with the request URL so article links resolve correctly while removing the plugin's duplicate lazy-loader facade. (#106860)
- Browser auto-routing: fall back to the Gateway host when an implicitly selected browser node reports that its control host is unreachable, while preserving explicit node pins and ambiguous action failures.
- Discord voice participant context: maintain the live Gateway voice-state roster and include current channel participants in authorized voice agent turns so agents can answer who is present. Thanks @vincentkoc.
- OC Path JSONC insertion: patch object and array insertions through
jsonc-parserso comments, trailing commas, and CRLF formatting survive. (#106847) - Windows winget installs: continue in the current PowerShell session when winget installs Node.js before the machine PATH update becomes visible, avoiding a false
Node.js not foundfailure. (#106862) - Control UI realtime Talk feedback: request browser echo cancellation, noise suppression, and automatic gain control for every microphone transport, and keep PCM capture processors connected through zero-gain sinks so microphone input cannot play locally.
- Agent source-reply recovery: preserve current-chat delivery evidence for message sends executed through Code Mode, preventing successful replies from triggering a redundant retry and misleading delivery-failure diagnostic. Thanks @vincentkoc.
- Gateway in-process restarts: clear stale SIGUSR1 restart state and resume prepared host suspensions before rebuilding runtime admission, preventing restart cooldowns or paused scheduling from leaking into the next lifecycle. Thanks @vincentkoc.
- ClickClack durable media delivery: route media replies through required delivery, reuse owner-scoped upload and message nonces across retries, repair persisted attachment state without rereading source media, fail closed when an older ClickClack server cannot prove an unknown send, and use the selected provider and model's runtime output budget instead of a channel-level token cap. Thanks @jjjhenriksen and @shakkernerd.
- Deepgram realtime custom endpoints: validate Voice Call streaming base URLs with secret-safe errors, preserve explicit
ws://andwss://endpoints, and map HTTP schemes to their matching WebSocket transport for dedicated and self-hosted deployments. (#105334) Thanks @dwc1997, @vincentkoc, and @zw-xysk. - Control UI New Session reconnects: rediscover agents, nodes, repository branches, and folder-browser state, refresh derived workspaces, gate unvalidated devices, and block ambiguous retries after Gateway client replacement while preserving the typed task and explicit choices. Fixes #106372 Thanks @vincentkoc.
- macOS remote node readiness: take the main-session key from the node hello snapshot instead of opening an operator connection during node admission, preventing remote tunnel recovery from leaving Computer Use and node exec stuck in lifecycle transition.
- Claude CLI context budgets: honor Anthropic model and per-agent
contextTokenslimits by passing the effective limit to Claude Code's native auto-compactor and persisting the same prepared budget in OpenClaw session state. Fixes #80933. (#93198) Thanks @mushuiyu886 and @gorkem2020. - Transcript read failures: propagate permission and I/O failures from streaming JSONL session reads instead of treating unreadable transcripts as empty. (#106412) Thanks @zenglingbiao.
- Restart sentinel diagnostics: report SQLite read/write and legacy-file cleanup failures while preserving best-effort restart recovery behavior. (#106385) Thanks @zenglingbiao and @wendy-chsy.
- Native app connection and relay reliability: keep Android disconnects stopped across Activity recreation, fail remote camera commands without opening permission prompts, refresh mobile node registration after capability changes, surface iOS onboarding connection failures, cancel stale Talk owners on session switches, reject invalid Watch acknowledgments, preserve Watch events received during startup, and prevent older agent overview requests from replacing newer gateway state. Thanks @vincentkoc.
- Gateway source watch: hand the configured port off from the installed service before starting the tmux watcher, preserve failed panes for attach/capture, and keep explicit alternate-port watches side by side with the managed Gateway. Thanks @vincentkoc.
- Claude CLI max-turn diagnostics: preserve terminal max-turn results with OpenClaw and Claude session context, warn when tool actions may already have run, and stop unsafe auth-profile or model replay for potentially side-effecting turns. (#94130) Thanks @zhangguiping-xydt and @tdrose01.
- Provider network retries: align provider read/poll/download and agent-wait recovery for transient connection errors, retry bounded provider
ENOTFOUNDfailures while leaving gatewayENOTFOUNDand non-idempotent create operations fail-fast. (#101496) Thanks @xialonglee. - Session retry classification: stop permanent provider errors whose identifiers or payload details merely contain 429/5xx digit sequences from re-sending full context, and share bounded rate-limit-window parsing across retry paths. (#105258) Thanks @destire-mio and @yetval.
- LINE directive templates: suppress confirms and buttons with blank required fields or unlabeled actions while preserving valid titleless buttons and surrounding reply text. (#105520) Thanks @edenfunf.
- SQLite maintenance schema validation: reject current-version global and agent databases with missing or drifted canonical tables, constraints, indexes, triggers, or table options before compaction, while accepting supported additive-migration layouts.
- Matrix bootstrap diagnostics: preserve complete UTF-8 code points in bounded stdout and stderr tails so crypto dependency failures do not show replacement characters at retention boundaries. (#105475) Thanks @qingminlong.
- iOS Watch relay commands: allow paired iPhone nodes to advertise and invoke
watch.statusandwatch.notifythrough the default Gateway policy while preserving the direct watchOS node's fixed minimal command surface. Thanks @vincentkoc. - Swabble status config: honor the global
--configpath when reading service status instead of silently using the default configuration. - ClawHub retry timing: reject fractional delay-seconds and calendar-normalized invalid Retry-After dates so runtime and release reads stay on their bounded fallback schedule. (#105479) Thanks @qingminlong.
- Discord thread archive defaults: inherit each parent channel's configured auto-archive duration for binding-created threads instead of forcing 60 minutes, while preserving explicit overrides. (#103413) Thanks @wings1029.
- Installed plugin loading: make native-module fallback use jiti's transform path instead of retrying the same synchronous ESM load, preventing Node 24 startup races when official plugins import SDK contract modules. Thanks @vincentkoc.
- QA profile channel execution: partition mixed Crabline channel scenarios into one aggregate host suite so taxonomy-backed profile commands and evidence workflows no longer abort before execution.
- Plugin SDK API baseline: cover every public entrypoint, preserve complete declaration shapes without source-line churn, and run baseline and export-surface guards from changed-file validation. Thanks @vincentkoc and @zw-xysk.
- SQLite terminal session recovery: track physical transcript mutation time in the agent database so killed or timed-out main sessions rotate when transcript writes outlive the registry update, while preserving legacy transcript mtimes during doctor import. Thanks @vincentkoc.
- Gateway chat typecheck: import chat event types from their owning protocol schema after the retired aggregate type module was removed, restoring full project typechecks. Thanks @vincentkoc.
- Packaged Crabbox commands: include the lease-freshness helper imported by the published wrapper so
crabbox:*commands do not fail withERR_MODULE_NOT_FOUNDin npm installs. Thanks @vincentkoc. - Plugin session catalogs: reject unknown catalog filters, report catalogs as plugin capabilities, and preserve them in SDK registration captures instead of silently returning empty results or classifying catalog-only plugins as capability-free. Thanks @vincentkoc.
- Gateway service audit: treat POSIX shell
-cwrappers as opaque for the gateway-subcommand check, avoiding false missing-command warnings for shell-wrapped macOS LaunchAgents without parsing inner commands or ports. Fixes #81751. (#81778) Thanks @liaoandi. - Outbound channel bootstrap: suppress repeated failed plugin activation for the same channel, config, and registry generation while retrying after config or registry reloads. (#100377) Thanks @xialonglee.
- OpenAI Realtime client-secret deadlines: bound voice and transcription secret acquisition to 30 seconds through the guarded fetch boundary while preserving authentication and bounded response parsing. (#102860) Thanks @Alix-007 and @Leon-SK668.
- Gateway client watchdog: keep transport-stall detection active for unbounded and mixed pending requests so dead sockets reject pending requests, reconnect, and never replay rejected requests. (#103407) Thanks @NianJiuZst.
- iOS Share Extension drafts: preserve legitimate shared text beginning with scaffold-like prefixes, remove only exact legacy scaffold lines, avoid treating scheme-like prose as a URL, and deduplicate host-mirrored content. (#103453) Thanks @lin-hongkuan and @harjothkhara.
- Telegram reasoning previews: reposition split reasoning previews through deferred deletion so prior preview messages do not remain stale while preserving client scroll position. (#97828) Thanks @ly-wang19 and @kyle20026.
- Feishu native-card threading: normalize whitespace reply targets once and reuse the shared reply mode for card and media parts so native-card topic replies stay in their thread. (#102804) Thanks @sunlit-deng.
- QQBot token requests: bound token acquisition with the shared 30-second guarded-fetch deadline so stalled singleflight callers fail together, clean up, and can retry. (#102897) Thanks @maweibin.
- Canvas A2UI validation: reject malformed or unsupported JSONL at CLI, agent-tool, and final node-invoke boundaries while preserving native v0.8 dispatch. (#103713) Thanks @qingminglong.
- Twilio RCS inbound routing: normalize RCS consumer addresses only after signed webhook validation so sender matching and sessions work without changing outbound RCS semantics. (#102373) Thanks @clawSean.
- ClickClack output sanitization: strip internal tool and XML scaffolding at the sender boundary, suppress scaffold-only sends, and preserve optional modern delivery IDs. (#103142) Thanks @masatohoshino, @vincentkoc, and @zw-xysk.
- Agent-core truncation: avoid empty-output crashes when head truncation receives negative line or byte ceilings. (#103425) Thanks @qingminglong.
- Windows Node resolution: preserve the current executable when resolving bare case-insensitive
node.exeentries under hostilePATHvalues. (#103907) Thanks @soldforaloss and @vincentkoc. - Codex runtime switching: accept the bundled Codex runtime for both
codex/*andopenai/*model routes while keeping unsupported provider/runtime pairs rejected. (#103762) - Agent abort cleanup: serialize prompt lock reacquisition with terminal cleanup so canceled embedded runs do not self-contend on session locks for up to 60 seconds.
- Chutes OAuth deadlines: bound token exchange, profile lookup, and refresh requests, and keep issued tokens when optional userinfo enrichment stalls. (#102026) Thanks @Alix-007.
- Control UI workspace avatars: inline validated agent avatar files in bootstrap and identity responses so Personal card images render without unauthenticated avatar-route requests, while preserving configured emoji precedence. (#102892, #97602) Thanks @LZY3538 and @mtuwei.
- Exec safe-bin flags: auto-approve curated read-only boolean flags for default stdin-only filters while keeping unknown flags, tail follow/retry modes, file operands, and custom profiles fail-closed. (#88953) Thanks @yetval.
- iOS session mutations: scope rename, archive, pin, delete, and fork requests to the selected agent, preserving the parent agent for forked sessions so multi-agent chat actions cannot mutate or create sessions under the wrong agent. (#103366, #103415) Thanks @lin-hongkuan and @harjothkhara.
- Swift protocol initializers: default every schema-optional generated initializer parameter to
nilso additive protocol fields no longer break SDK construction call sites. - OpenCode Go MiMo catalog: stop exposing the deprecated
mimo-v2-omniandmimo-v2-proaliases that reject agent requests, and keep release validation on the active MiMo V2.5 routes. (#103311, #103329) Thanks @krissding. - Audit time filters: reject impossible calendar dates for
openclaw audit --afterand--beforeinstead of rolling them into unintended intervals, while preserving timezone-less timestamp semantics. (#103433) Thanks @qingminglong. - OpenAI-compatible streamed tool calls: execute complete native tool calls from streams that end with SSE
data: [DONE]but omitfinish_reason, while keeping transport EOF and visible-text cases fail-closed. (#98124, #97994) Thanks @SunnyShu0925 and @wszhhx. - xAI provider aliases: preserve Grok 4.3 and Grok 4.5 thinking profiles, fast-model routing, and encrypted reasoning replay when models use the shipped
x-aiprovider alias instead of clamping valid thinking requests tominimal. (#103315) - Doctor state isolation: prevent automated update and Gateway watch repair from importing and archiving default-home exec or plugin-binding approvals when
OPENCLAW_STATE_DIRpoints elsewhere, keep implicit CLI preflight notice-only, and reserve cross-state imports for direct operator doctor runs. (#103247, #103317) Thanks @vincentkoc. - Doctor clean-state guidance: stop suggesting
openclaw doctor --fixafter a clean run with no config changes while preserving targeted repair hints. (#103233) Thanks @kewang-pika and @nonplace. - Google music generation: retry one unblocked Lyria response that omits its contractually required audio while keeping prompt blocks and terminal generation stops non-retryable. (#103318)
- OpenCode Zen model catalog: refresh the provider-owned static seed for Claude Sonnet 5, Grok 4.5, Hy3 Free, Kimi K2.7 Code, and MiniMax M3 with verified routing, pricing, limits, and input capabilities, remove retired free-tier rows, and expose the same catalog through unauthenticated model listing. (#103184)
- Managed browser launch: surface asynchronous Chrome bootstrap and runtime spawn failures as browser errors while keeping Gateway alive, and retain process error handling through later lifecycle failures. Thanks @vincentkoc.
- Browser node-proxy downloads: transfer every action-produced download to the Gateway media store, align a 10 MiB per-file and 16 MiB aggregate transport budget, and rewrite plural download paths to Gateway-local files without traversing page-controlled result data.
- Gateway startup migrations: release the shared migration lease before exiting when the selected config changes during startup, allowing immediate retries instead of blocking readiness until the five-minute lease expires. (#103145)
- Apple timeout recovery: return promptly from shared operation deadlines and caller cancellation even when platform work ignores cancellation, while isolating late Gateway handshakes and cleaning up location and permission waiters. (#103066) Thanks @NianJiuZst.
- Claude CLI warm sessions: preserve managed stdio continuity when Claude writes no native transcript, fall back to bounded OpenClaw history only when the exact live child disappears or changes, and keep stateless runs from persisting CLI bindings. (#96841) Thanks @bradreaves.
- CLI plugin listing: skip state-migration runtime loading when no legacy inputs exist, reducing packaged cold-start memory while preserving migrations for legacy plugin indexes and configured session stores.
- Unicode-safe bounded text: preserve complete UTF-16 surrogate pairs when shortening previews, prompts, diagnostics, labels, session keys, link metadata, and identity values across Control UI, CLI, Gateway, plugins, QA, memory, and Android surfaces. (#102625, #102626, #102627, #102816, #102823, #102833, #102877, #102949, #102963, #102969, #102988, #103010, #103034, #103210, #103341, #103487, #103543, #103580, #103646) Thanks @zhangguiping-xydt, @wings1029, @wangyan2026, @Pandah97, @MoerAI, @SunnyShu0925, @zhangqueping, @zw-xysk, @cxbAsDev, @lzyyzznl, @coder-master-0915, @LeonidasLux, @mushuiyu886, @ly85206559, @Simon-XYDT, @lsr911, @vincentkoc, @chengzhichao-xydt, and @wangmiao0668000666.
- Cron list table: sanitize and size bounded cells by terminal display width so CJK, emoji, combining marks, and terminal-control input cannot corrupt alignment or output. (#103616) Thanks @mushuiyu886.
- CLI model tables: sanitize, truncate, and pad model-list cells by rendered terminal width so emoji, CJK, and other wide graphemes keep columns aligned. (#102819) Thanks @Kevin23-design and @vincentkoc.
- Skills prompt compaction: preserve every included skill identity before using the remaining prompt budget for shortened, UTF-16-safe descriptions, retaining trigger guidance without exceeding the hard limit. (#88426) Thanks @abel-zer0, @vincentkoc, @chengzhichao-xydt, @wangmiao0668000666, and @Pandah97.
- Channel Markdown code tables: size columns by rendered display width so CJK, emoji, and mixed-width cells stay aligned across shared Telegram and Discord output. (#55596, #55512) Thanks @sparkyrider and @zjy282.
- QQ Bot approval previews: wrap long sanitized commands and metadata at grapheme boundaries with visible continuation markers and safe fences, keeping desktop QQ reviews readable without changing command content. (#102119, #101979) Thanks @Bartok9 and @xuzhi5858.
- Codex computer control: publish fixed-length coordinate pairs as homogeneous array schemas so Codex app-server can start threads with the
computertool instead of rejecting tuple-valueditems. - Google Chat request deadlines: bound control calls to 30 seconds while giving media transfers size-aware total budgets and a separate 30-second stalled-body guard, preventing hung Chat API requests without breaking large attachment uploads. (#102227) Thanks @hugenshen.
- Google Gemini prefixed model IDs: recognize
google/gemini-*andmodels/gemini-*when selecting multimodal function-response behavior, preserving the Gemini 2 image fallback without regressing Gemini 3 inline image responses. (#102382) Thanks @LiLan0125 and @yetval. - Generated provider model catalogs: keep MiniMax and NVIDIA catalog rows when they advertise audio or video metadata while projecting runtime model inputs to text/image, preventing configured multimodal primaries from being dropped and falling back. (#97858, #97048) Thanks @ly-wang19 and @zackchiutw.
- DeepSeek catalog metadata: align V4 Flash and Pro pricing with DeepSeek's current cache-hit, cache-miss, and output rates; refresh exact catalog metadata written by older onboarding flows; and document the July 24 retirement of the legacy
deepseek-chatanddeepseek-reasonercompatibility names. (#103192) - CLI audio transcript files: treat inferred Whisper and Parakeet text files as authoritative so empty or missing output cannot expose progress/status stdout as user speech. (#87393, #87384) Thanks @kesslerio.
- Browser actions on Node 24: keep browser request cancellation bound to the client and response lifetime instead of Node 24.16+'s prematurely aborted body-stream signal, preventing valid POST actions from failing after JSON parsing. Thanks @obviyus and @vincentkoc.
- Android hardware keyboard chat: send with unmodified Enter on physical keyboards while preserving Shift+Enter and other modified Enter combinations for multiline input. (#101239) Thanks @3ninyt3nin-creator.
- Codex yielded native subagents: keep the parent app-server subscription and shared client alive until yielded native subagent completion delivery settles, preventing lost wakeups and leaked one-shot cleanup.
- Control UI session creation: keep newly created sessions at the front of the stable sidebar order after selecting another session. Thanks @shakkernerd.
- FTS-only memory startup: skip plugin capability discovery when
memorySearch.provideris explicitlynone, avoiding an unnecessary cold-start scan. - iOS embedded terminal: open the terminal-only Control surface directly while native Gateway authentication connects instead of exposing the Web UI login screen.
- Source build portability: keep tsdown configuration self-contained so builds do not depend on resolving the tsdown package from unrun's temporary module directory. Thanks @vincentkoc.
- Browser tab adoption: preserve the prior implicit tab and stable aliases when new MCP, Playwright, or CDP targets fail final safety validation, abort after creation, or cannot be rediscovered; validate labels before creating tabs and limit managed cleanup to adopted targets. (#105301) Thanks @hugenshen.
- Mattermost block streaming: preserve complete, non-duplicated text and tool blocks in draft preview mode, and honor normal block streaming when preview streaming is disabled. (#87449) Thanks @yetval and @Senseonics-AI.
- iOS development app identity: keep the development app labeled OpenClaw while using its distinct debug icon to differentiate it from release builds.
- Android chat recovery: preserve optimistic user messages and locally owned runs while reconnect and sequence-gap history snapshots catch up, preventing sent messages from disappearing or stale runs from taking ownership. (#100197)
- iOS Voice Wake cleanup: avoid initializing the microphone audio pipeline while disabling inactive Voice Wake, preventing simulator launch aborts and unnecessary audio setup.
- Agent stop recovery: prevent late-aborting prompts from reacquiring orphaned session locks after teardown, so
/stopleaves the conversation ready for the next turn. - Local Gateway CLI auth: keep loopback CLI token/password calls off durable device scopes so read probes cannot block later write/admin commands behind a stale pairing baseline. (#95997) Thanks @vincentkoc.
- MCP schema diagnostics: attribute draft-2020-12 compiler failures to the external MCP schema so malformed patterns produce actionable setup errors. Thanks @vincentkoc.
- Amazon Bedrock control-plane deadlines: bound model discovery and application inference-profile lookups, preserve caller cancellation, and close short-lived SDK clients after each request path. Thanks @Alix-007 and @vincentkoc.
- Reply pre-delivery recovery: bound each pre-delivery callback with an owner-overridable deadline, release serialized reply lanes after hung plugin work, and preserve durable final-delivery retry state only when transport never started. (#104256) Thanks @NianJiuZst and @BenjaminBrossi.
- Signal native quote replies: preserve the active inbound message as a native quote across agent, explicit, durable, and chunked sends while keeping reply-mode policy inside the Signal plugin. (#105347) Thanks @jesse-merhi and @vincentkoc.
- Media-store remote downloads: bound response-header waits and stalled bodies, close abandoned redirect and error responses, and remove partial temp files so hung sources cannot pin callers. (#104624) Thanks @hugenshen.
- Cron llama.cpp tool schemas: keep the model-facing cron declaration schema compatible with llama.cpp while retaining gateway and runtime nonblank validation. Fixes #107449. (#108360) Thanks @lee-xydt and @Patt92.
- Terminal sessions: preserve early keystrokes, enable paired-node terminal actions, authorize paired-node catalog reads, recover after stale Control UI connections, and keep slow clients attached under heavy output. (#107214, #107361, #107410, #107419, #107348) Thanks @vincentkoc and @zw-xysk.
- Control UI configuration: auto-save validated edits, restore autosave gates, show unapplied-restart state, and keep normal content scrolling and selection behavior. (#107458, #107477, #107577, #107349)
- Signal recovery: reconnect after stalled container handshakes, prevent overlapping daemons during restart, and preserve username targets during phone normalization. (#107386, #107409, #107365) Thanks @hugenshen, @ZHOUKAILIAN, @UberKitten, and @ly-wang19.
- Authorization boundaries: require operator-admin authority for paired-node directory browsing and block prototype pollution in migration config merges. (#106004, #106116) Thanks @yangxiansheng, @joshavant, @yetval, and @ruel225.
- Conversation identity: retain speaker attribution across group turns and reduce malformed Discord guild reply tool calls. (#107025, #107474) Thanks @lonexreb.
- Provider setup: show OpenRouter OAuth denial errors, find credentials stored under auth aliases, and keep unresolved API-key providers visible for repair. (#105448, #106736, #106754) Thanks @VectorPeak and @altaywtf.
- Claude and Codex sessions: keep Claude turns open for native background work, avoid Codex shutdown warnings after live updates, complete Codex onboarding login handoff, and retire completed hook relays. (#106347, #106418, #107174, #106899) Thanks @obviyus, @fuller-stack-dev, and @bek91.
- Apple apps: connect iPhone and Watch clients to protocol-v3 Gateways, reject incomplete attachment shares, and honor the pinned Swift toolchain in iOS release archives. (#106294, #106513, #107188) Thanks @jincheng-xydt, @harjothkhara, and @joshavant.
- Memory reliability: preserve UTF-8 across split QMD output, keep canonical cache rows during legacy migration, and accept leading-zero JSON content lengths. (#107263, #107243, #105916) Thanks @wahaha1223, @felirami, @Tony-ooo, @qingminlong, @vincentkoc, and @zw-xysk.
- Skills and Workshop: keep globally installed ClawHub skills tracked, clean orphaned usage rows, surface verification errors, and default Workshop approvals to automatic handling. (#106479, #107144, #107143, #107690) Thanks @ml12580, @mnowrot, @SunnyShu0925, and @shakkernerd.
- Bounded network calls: time out Google Chat authentication, Slack directory and read-mode calls, and Twitch user lookups instead of hanging. (#106178, #106643, #107103, #105883, #107360) Thanks @QiuYuang, @Monkey-wusky, @maweibin, @zw-xysk, and @Alix-007.
- Channel delivery: warn when scalar streaming falls back and make ClickClack media delivery durable while using the selected model's runtime budget. (#106796, #105775) Thanks @jjjhenriksen.
- Plugin management: honor standard ClawHub API comparators and let Control UI administrators enable installed plugins. (#106889, #106318)
- Runtime configuration: preserve resolved cache-retention values, apply explicit environment-variable removals, and keep dispatched Workboard cards from sticking in running state. (#106069, #107258, #107271) Thanks @krissding, @jalfaro2876, and @pgondhi987.
- Input and output safety: redact sensitive migration terminal output, normalize managed git-package identities, and avoid retaining raw command output in compacted Tokenjuice metadata. (#106806, #107637, #107705) Thanks @yetval.
- Network and resource matching: share canonical NO_PROXY behavior and honor nested ignore patterns plus escaped literal exclamation marks. (#107711, #106258) Thanks @moguangyu5-design.
- Markdown frontmatter: preserve coerced fallback values when YAML nodes cannot be represented directly.
Complete contribution record
The full contribution record is available in the tag-pinned CHANGELOG.md.
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.7.2-beta.3
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.7.2-beta.3.tgz
- integrity:
sha512-b1U1Q2/IrP3NX3ZWruiasWEJPjl2dq0Hm8ZByZrE7GwLqo78wu8eB7eJAqCEu29MtlBxLLSKz58SE01WUBf7dw== - release SHA:
d111bef0eed5aefb1e7c5ac59801c1f0924495f1 - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.7.2-beta.3/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/29664100317
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/29662726100
- full release validation: https://github.com/openclaw/openclaw/actions/runs/29660853502
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/29664738469
- plugin ClawHub publish: dispatched separately, not awaited by this proof: https://github.com/openclaw/openclaw/actions/runs/29664739655
- plugin ClawHub bootstrap: not needed
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/29664809781
- npm Telegram beta E2E: https://github.com/openclaw/openclaw/actions/runs/29663308444
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み