By devasher · Edited by Nominiclaw
This update introduces significant security hardening for sandbox and device pairing, optimizes Telegram polling resilience, and expands the Codex harness and ACP capabilities.
.ssh, .codex) even when HOME is redirected. Additionally, the sandbox browser CDP relay now requires an application-layer credential, replacing the previous reliance on network source filtering.openclaw.json from being wiped during version upgrades, specifically fixing issues where doctor --fix would strip unknown keys before migration.UNAVAILABLE errors, allowing ACP turns to try configured backup backends. The ACP bridge now exposes session lineage metadata (e.g., parentSessionId, spawnDepth) in _meta fields for better client-side session graphing.toolsBySender, allowing operators to restrict dangerous tools (like exec) for specific users at the schema level. The system now also normalizes array tool schemas by adding permissive items: {} to prevent OpenAI-compatible providers from rejecting tool submissions.replyBroadcast support for thread replies and improved the handling of private-file redirect headers to prevent media download failures.<media:image> placeholder text and improved the handling of pasted links by ignoring Apple's internal preview blobs./context map command provides a WinDirStat-style treemap image of session context contributors.startupGraceMs window to suppress false liveness warnings during cold starts, while still sampling metrics for baseline analysis.This release primarily impacts operators running high-concurrency agents or those utilizing the Codex and ACP runtimes. The move to an isolated worker for Telegram polling prevents catastrophic message loss during event-loop saturation. Security-conscious deployments benefit from the hardened sandbox and pairing requirements, which move the system toward a "fail-closed" security model for device and browser access.
For plugin developers, the expanded SDK now supports typed session actions, host-mediated attachments, and scheduled session turns, enabling more complex asynchronous workflows without requiring internal runner access.
allowFrom configurations to use sender handles.gateway.trustedProxies will find these requests rejected. Use a distinct proxy peer address or the loopback trusted-proxy path.--force or trusted install flags to override these blocks if necessary.