OpenClaw 2026.5.22 업데이트 전체 정리: Changes 56개와 Fixes 272개
2026년 05월 24일
OpenClaw 2026.5.22 업데이트 전체 정리: Changes 56개와 Fixes 272개
OpenClaw 2026.5.20 환경에서 확인한 최신 패키지 버전은 2026.5.22입니다. changelog 원문에서 정확히 2026.5.22 제목의 섹션은 확인되지 않아, 가장 가까운 최신 섹션인 2026.5.24 항목만 근거로 정리했습니다. 아래 내용은 해당 섹션의 Changes와 Fixes bullet을 빠뜨리지 않고 사용자 관점에서 다시 풀어쓴 것입니다.
Changes 전체 목록
- Gateway/perf 영역에서 reuse process-stable channel catalog reads, avoid repeated bundled-channel boundary checks, and rotate gateway watch CPU profiles so benchmark runs do not accumulate unbounded artifacts. 항목을 반영했습니다.
- Gateway/perf 영역에서 cache stable install-record, channel-catalog, bundled-channel, and Telegram session-store metadata during process-local hot paths to reduce repeated JSON and manifest reads. 항목을 반영했습니다.
- Gateway/perf 영역에서 reuse immutable plugin metadata snapshots across startup, config, model, channel, setup, and secret metadata readers so hot paths avoid repeated plugin file stats and manifest registry reloads. 항목을 반영했습니다.
- Talk/realtime 영역에서 let WebUI and Discord voice callers ask for active OpenClaw run status, cancel, steer, or queue follow-up work while a consult is still running. (#84231) Thanks @Solvely-Colin. 항목을 반영했습니다.
- Discord/voice 영역에서 add realtime wake-name gating with agent-name defaults and raise profile bootstrap context budget for longer
USER.md/SOUL.mdfiles. 항목을 반영했습니다. - Gateway/perf 영역에서 lazy-load startup-idle plugin work, core gateway method handlers, and the embedded ACPX runtime so Gateway health and ready signals no longer wait on unused handler trees or ACPX probes. 항목을 반영했습니다.
- Gateway/perf 영역에서 cache plugin SDK public-surface alias maps and skip irrelevant macOS Linuxbrew PATH probes so Gateway startup avoids repeated filesystem walks and slow missing-directory stats. 항목을 반영했습니다.
- Image tool 영역에서 add adaptive model-aware image compression with an
agents.defaults.imageQualitypreference for choosing token-efficient, balanced, or high-detail media handling. 항목을 반영했습니다. - Meeting Notes 영역에서 add a source-only external meeting-notes plugin and SDK source-provider contract outside the core npm package, with auto-start capture config, manual transcript imports, read-only
openclaw meeting-notesCLI access, and Discord voice as the first live source. 항목을 반영했습니다. - Meeting Notes/Discord 영역에서 release channel account startup before meeting-notes auto-capture, wait for the Discord voice manager during gateway boot, and stop plugin services before channel shutdown so voice capture state remains available during startup and cleanup. 항목을 반영했습니다.
- Docs/channels/config 영역에서 add Signal
configPath, Telegram wildcard topic defaults, local-time backup archive names, Termux home fallback, include-path validation, secret-scanner-safe placeholder guidance, Gemini CLI/Antigravity media guidance, and macOS VM auto-login guidance. Thanks @NorseGaud, @yudistiraashadi, @huangqian8, @VibhorGautam, @maweibin, @tianxingleo, @IgnacioPro, and @xzcxzcyy-claw. 항목을 반영했습니다. - Docs 영역에서 clarify model-usage portability, Codex migration prerequisites, status bootstrap wording, thread-bound subagent limits, hook ownership, and config-preserving safety guidance. Thanks @aniruddhaadak80, @leno23, @TomDjerry, @matthewxmurphy, @vincentkoc, and @stablegenius49. 항목을 반영했습니다.
- Docs 영역에서 clarify README onboarding and Gateway startup paths, WhatsApp QR/408 recovery, cron output language prompts, skill advanced features, gateway upstream 403 troubleshooting, and plugin fallback override guidance. Thanks @deepujain, @Zacxxx, @Jah-yee, @neyric, @usimic, @Renu-Cybe, @BigUncle, and @SeashoreShi. 항목을 반영했습니다.
- Docs 영역에서 clarify context-pruning ratio bounds, local dashboard recovery, CLI env markers, remote onboarding token behavior, and Peekaboo Bridge permissions for subprocess agents. Thanks @ayesha-aziz123, @dishraters, @hougangdev, and @brandonlipman. 항목을 반영했습니다.
- Docs 영역에서 clarify browser CDP diagnostics, Plugin SDK allowlist imports, status-reaction timing defaults, queue steering behavior, limited-tool troubleshooting, cron HEARTBEAT handling, Telegram multi-agent groups, Bitwarden SecretRef setup, and EasyRunner deployments. Thanks @Quratulain-bilal, @mbelinky, @Mickey-, @vancece, @xenouzik, @posigit, @surlymochan, @janaka, and @choiking. 항목을 반영했습니다.
- CLI/models 영역에서 let
openclaw models auth loginstore a single returned provider auth profile under a requested--profile-id, and document named Codex OAuth profile setup. (#49315) Thanks @DanielLSM. 항목을 반영했습니다. - Crabbox/Testbox 영역에서 run clean sparse-checkout Testbox syncs from a temporary full checkout and route remote changed gates through Corepack pnpm. 항목을 반영했습니다.
- Docs 영역에서 clarify IPv4-only Gateway BYOH binding, trusted-proxy scope clearing, Android pairing approval, macOS Accessibility grants, Zalo profile env vars, password-store SecretRef setup, and Chinese memory navigation. Thanks @itskai-dev, @gwh7078, @longstoryscott, @MoeJaberr, and @yuaiccc. 항목을 반영했습니다.
- Docs 영역에서 consolidate GLM under Z.AI, add the Upstash Box install guide and Gateway exposure runbook, clarify MEDIA directives, Copilot and Voyage setup, config path quoting, real behavior proof, and memory-file write guidance. Thanks @BobDu, @alitariksahin, @Jefsky, @musaabhasan, @OmerZeyveli, @leno23, @WuKongAI-CMU, @luoyanglang, and @majin1102. 항목을 반영했습니다.
- Docs 영역에서 clarify media provider credentials, Codex/OpenClaw code-mode boundaries, Slack and Telegram ack reactions, Feishu dynamic agents, secrets plaintext boundaries, memory guidance, and Chinese glossary terms. Thanks @nielskaspers, @cosmopolitan033, @drclaw-iq, @alexgduarte, @zccyman, @chengoak, and @cassthebandit. 항목을 반영했습니다.
- Packaging 영역에서 exclude documentation images and assets from the npm tarball, reducing published package size without affecting runtime docs search or CLI behavior. Thanks @SebTardif. 항목을 반영했습니다.
- Media understanding 영역에서 stop auto-probing Gemini CLI and use Antigravity CLI only as a lower-priority image/video fallback after configured provider APIs. 항목을 반영했습니다.
- Diagnostics 영역에서 emit sanitized
secrets.preparetimeline spans for Gateway secret preparation so operators can distinguish secret startup latency without exposing provider names, secret ids, or secret values. (#83019) Thanks @samzong. 항목을 반영했습니다. - Diagnostics 영역에서 export bounded skill usage metrics/spans and tool source/owner labels for core, plugin, MCP, and channel tool execution without exposing raw paths or session identifiers. (#80370) Thanks @gauravprasadgp. 항목을 반영했습니다.
- Agents/subagents 영역에서 limit default sub-agent bootstrap context to
AGENTS.mdandTOOLS.md, keeping persona, identity, user, memory, heartbeat, and setup files out of delegated workers by default. (#85283) Thanks @100yenadmin. 항목을 반영했습니다. - Maintainer skills 영역에서 require clean autoreview before surfacing bug-sweep PR URLs and treat changelog-only conflicts as routine busy-main churn. 항목을 반영했습니다.
- Maintainer skills 영역에서 exclude plugin SDK/API boundary work from
openclaw-landable-bug-sweepso bugbash sweeps stay focused on small paper-cut fixes. 항목을 반영했습니다. - QA-Lab/diagnostics 영역에서 extend the OpenTelemetry smoke harness to prove trace, metric, and log export, and add first-class Prometheus and observability smoke aliases. 항목을 반영했습니다.
- Plugin SDK 영역에서 add a generic channel-message poll sender so channel plugins can expose poll delivery without depending on channel-specific SDK facades. 항목을 반영했습니다.
- Plugin SDK/cron delivery 영역에서 route cron delivery through the modern target resolver and outbound session-route APIs, deprecate parser-backed target helpers and
plugin-sdk/messaging-targets, and move bundled callers toplugin-sdk/channel-targets. 항목을 반영했습니다. - Crabbox 영역에서 keep the local wrapper's provider validation synced with the installed Crabbox binary while preserving supported aliases such as
dockerandblacksmith. (#85302) Thanks @hxy91819. 항목을 반영했습니다. - Maintainer skills 영역에서 add
openclaw-landable-bug-sweepfor producing five small, reviewed, CI-green OpenClaw bugfix PRs from issue/PR sweeps. 항목을 반영했습니다. - Control UI/chat 영역에서 add search and Load More pagination to the chat session picker, keeping initial session loads bounded while making older conversations reachable. (#85237) Thanks @amknight. 항목을 반영했습니다.
- CLI/onboarding 영역에서 start classic onboarding when bare
openclawruns before an authored config exists, while keeping configured installs on Crestodian. (#72343) Thanks @fuller-stack-dev. 항목을 반영했습니다. - Discord 영역에서 allow configuring a bounded
agentComponents.ttlMscallback registry lifetime for long-running component workflows, with per-account overrides and a 24-hour cap. (#84189) Thanks @100menotu001. 항목을 반영했습니다. - xAI/Grok 영역에서 reuse xAI OAuth auth profiles for Grok
web_search, thread active-agent auth through web search, add Grok model aliases, and let media providers declare default operation timeouts. (#85182) Thanks @fuller-stack-dev. 항목을 반영했습니다. - Plugin SDK 영역에서 add row-level session workflow helpers and deprecate
loadSessionStoreso plugins can read and patch sessions without depending on the legacy whole-store shape. (#84693) Thanks @efpiva. 항목을 반영했습니다. - Gateway/plugins 영역에서 reuse a compatible Gateway startup plugin registry during dispatch so safe plugin dispatches avoid redundant registry loading. (#84324) Thanks @ai-hpc. 항목을 반영했습니다.
- Plugins/SDK 영역에서 add a general
embeddingProviderscapability contract and registration API so embeddings can become a reusable provider surface outside memory-specific adapters. 항목을 반영했습니다. - Dependencies 영역에서 refresh provider, plugin, UI, and tooling packages, update
protobufjsto 8.4.0 to clear the current npm advisory, and carry the Claude ACP completion patch forward to@agentclientprotocol/claude-agent-acp0.36.1. 항목을 반영했습니다. - Agents/tools 영역에서 remove the old sender-owner tool gating path so configured tools stay visible for trusted sessions while command and channel-action auth still carry real sender identity. 항목을 반영했습니다.
- QA-Lab 영역에서 add curated mock JSONL replay fixtures and first-drift reporting for runtime-parity audits. (#80323, refs #80176) Thanks @100yenadmin. 항목을 반영했습니다.
- QA-Lab 영역에서 add a QA bus tool-trace visibility scenario for sanitized tool-call assertions. 항목을 반영했습니다.
- QA-Lab 영역에서 replace generic evidence framing in seeded scenario prompts with concrete observed QA behavior. 항목을 반영했습니다.
- QA-Lab 영역에서 list named scenario packs in the coverage report so personal-agent privacy coverage stays visible in audits. 항목을 반영했습니다.
- QA-Lab 영역에서 list live transport lane membership in the coverage report so real transport checks stay separate from seeded qa-channel scenarios. 항목을 반영했습니다.
- Release/package 영역에서 run package integrity checks before package acceptance lanes so public install/update validation fails before private QA assets can leak into the package. 항목을 반영했습니다.
- QA-Lab 영역에서 include the optional 100-turn runtime parity soak in release-soak artifacts so long-run Codex/Pi transcript drift stays visible outside the default gate. (#80395) Thanks @100yenadmin. 항목을 반영했습니다.
- QA-Lab 영역에서 add a live-only long-context progress watchdog scenario for Codex app-server timeout and stalled-run sentinels. (#80323) Thanks @100yenadmin. 항목을 반영했습니다.
- QA-Lab 영역에서 tag gateway restart recovery and streaming final-integrity scenarios as live-only runtime parity lanes. (#80323) Thanks @100yenadmin. 항목을 반영했습니다.
- QA-Lab 영역에서 add a personal-agent failure recovery scenario that checks honest partial status, retry boundaries, and local recovery artifacts. (#83872) Thanks @iFiras-Max1. 항목을 반영했습니다.
- QA-Lab 영역에서 include an opt-in
update.runpackage self-upgrade sentinel for destructive latest-package recovery checks. 항목을 반영했습니다. - QA-Lab 영역에서 add Codex plugin lifecycle and auth-profile fixture coverage for missing installs, pinned-version drift, first-turn install ordering, and doctor migration safety. (#80323, refs #80174) Thanks @100yenadmin. 항목을 반영했습니다.
- Models/perf 영역에서 pre-warm the provider auth-state map at gateway startup so
/modelsand every model-listing call short-circuits the per-provider plugin / external-CLI discovery on the hot path. Per-call cost drops from ~20 s to ~5 ms (~4,100×); the one-time startup warm resets and re-warms after hot reloads. (#84816) Thanks @sjf. 항목을 반영했습니다. - Release/security 영역에서 ship the root npm package and OpenClaw-owned npm plugins with generated shrinkwrap, support bundled plugin runtime dependencies for suitable plugin tarballs, and require review for lockfile/shrinkwrap changes so published installs use locked dependency graphs. 항목을 반영했습니다.
- Tests/perf 영역에서 isolate doctor core health check unit coverage from real skills/workspace discovery so
doctor-core-checksno longer dominates unit perf while keeping one real skills-readiness smoke. (#84493) Thanks @frankekn. 항목을 반영했습니다.
Fixes 전체 목록
- MiniMax 영역에서 store OAuth token expiry as an absolute millisecond timestamp so OAuth profiles no longer appear expired on every request. (#83480) Thanks @NianJiuZst. 항목을 반영했습니다.
- Agents/Anthropic 영역에서 strip missing or blank thinking signatures for signed-thinking providers even when recovery supplies a narrow replay policy without signature preservation. Fixes #84430. (#84448) Thanks @NianJiuZst. 항목을 반영했습니다.
- Agents/channels 영역에서 send a visible notice when an aborted main session cannot be resumed after restart, including Telegram group targets. (#85805) Thanks @pfrederiksen. 항목을 반영했습니다.
- Discord/voice 영역에서 serialize overlapping voice joins, retry aborted startup readiness within the configured timeout, upgrade meeting-notes-only sessions to realtime when the normal follow join arrives, detach promoted meeting-notes ownership without leaving voice, and include
OpenClawin default realtime wake names. 항목을 반영했습니다. - Gateway/restart 영역에서 honor the configured restart drain budget for embedded runs and avoid spending the deferral timeout twice after forced restart timeouts. (#85708) Thanks @Kaspre. 항목을 반영했습니다.
- Gateway/boot 영역에서 run
BOOT.mdstartup checks in an isolated boot session so gateway restarts do not overwrite the agent's main session mapping. (#85479) 항목을 반영했습니다. - Meeting Notes 영역에서 include a speaker-labeled transcript section in generated summaries so Discord group voice captures show who said each captured utterance. 항목을 반영했습니다.
- Discord/voice 영역에서 recover stale realtime playback state when Discord stream-close/player-idle events do not arrive, and keep generated runtime plugin aliases available after postbuild rewrites. 항목을 반영했습니다.
- Discord/voice 영역에서 keep realtime playback running when meeting notes attaches to an existing voice session or a realtime consult starts, and route realtime user transcripts into meeting notes. 항목을 반영했습니다.
- Config/secrets 영역에서 preflight active runtime SecretRefs before root and include config writes persist, and roll back unchanged file/env state when post-write refresh fails. Fixes #46531. (#84454) Thanks @samzong. 항목을 반영했습니다.
- CLI/models 영역에서 preserve SecretRef-backed custom provider
apiKeymarkers whenmodels statusregeneratesmodels.json, avoiding resolved plaintext secrets on disk. Fixes #84632. (#84658) Thanks @NianJiuZst. 항목을 반영했습니다. - WhatsApp/auto-reply 영역에서 deliver deferred media replies through the foreground reply fence so overlapping no-reply turns no longer hide already visible responses. (#85517) Thanks @cavit99. 항목을 반영했습니다.
- Sessions/security 영역에서 replace agent-to-agent wildcard allowlist regexes with a precompiled linear matcher so cross-agent access checks avoid backtracking-prone patterns. (#85849) Thanks @SebTardif. 항목을 반영했습니다.
- WebChat 영역에서 keep the run-complete indicator in progress until deferred history replay renders the assistant reply, so Done no longer appears before response text. (#85374) Thanks @neeravmakwana. 항목을 반영했습니다.
- Agents/tools 영역에서 give timed-out or cancelled process trees a bounded SIGTERM cleanup window before SIGKILL while preserving tree-aware cancellation. Fixes #66399. (#85865) Thanks @IWhatsskill. 항목을 반영했습니다.
- Agents/subagents 영역에서 treat aborted subagent stop reasons as killed terminal failures so parent sessions get error announcements instead of silent success. Fixes #72293. (#85860) Thanks @IWhatsskill. 항목을 반영했습니다.
- Agents/providers 영역에서 clamp proxy-like OpenAI Chat Completions output caps against the final request payload so strict local/API-compatible servers no longer reject prompts that already consume part of the context window. Fixes #83086. (#85889) Thanks @rendrag-git. 항목을 반영했습니다.
- Agents/compaction 영역에서 skip agent-harness preflight for provider-owned CLI runtime sessions so over-threshold Claude CLI sessions continue through normal compaction instead of failing on a missing harness. Fixes #84857. (#84878) Thanks @zhangguiping-xydt. 항목을 반영했습니다.
- Codex/app-server 영역에서 keep successful native hook relays available through a short post-turn grace window so late Codex hook subprocesses can finish policy enforcement without clearing a replacement relay. (#83987) Thanks @Kaspre. 항목을 반영했습니다.
- Control UI/config 영역에서 save form-mode edits from the source config snapshot so runtime-only provider defaults like empty
models.providers.<id>.baseUrlare not written back and rejected. Fixes #85831. Thanks @garyd9. 항목을 반영했습니다. - Browser/existing-session 영역에서 launch Chrome DevTools MCP with usage statistics disabled by default so its telemetry watchdog stays off unless an operator explicitly opts in. (#85886) Thanks @rohitjavvadi. 항목을 반영했습니다.
- Telegram 영역에서 normalize legacy durable group retry targets before retry sends, polls, and pins so group retries keep using the real chat id. (#85656) Thanks @luoyanglang. 항목을 반영했습니다.
- Agents/PDF 영역에서 route MiniMax PDF fallback policy through plugin metadata so MiniMax uses text extraction instead of VLM image fallback. (#85590, fixes #85575) Thanks @neeravmakwana. 항목을 반영했습니다.
- CLI/plugins 영역에서 tighten timeout, numeric option, media payload, permission, profile/TLS, plugin metadata, JSON, and remote URL handling; prevent stuck progress/app-server/IRC/Synology/Twitch waits; and keep imported chat history ordering stable. 항목을 반영했습니다.
- Telegram/config 영역에서 suppress the missing
accounts.defaultwarning whenchannels.telegram.defaultAccountnames a configured account that also sorts first. Fixes #83948. Thanks @crypto86m. 항목을 반영했습니다. - WebChat 영역에서 summarize internal message-tool source replies so tool cards no longer duplicate the visible reply body. (#84773) Thanks @jason-allen-oneal. 항목을 반영했습니다.
- Gateway/WebChat 영역에서 hide duplicate
gateway-injectedassistant rows when Cursor ACP already persisted the sameacp-runtimereply. Fixes #85741. Thanks @lxf-lxf. 항목을 반영했습니다. - WebChat 영역에서 scope the visible attachment button to its own composer file input so clicking Upload reliably opens the file picker. (#83952, fixes #47983) Thanks @jason-allen-oneal. 항목을 반영했습니다.
- Gateway 영역에서 preserve deferred lifecycle-error cleanup across later non-terminal events so provider timeouts can persist failed session state instead of leaving sessions stuck running. (#85256, fixes #63819) Thanks @samzong. 항목을 반영했습니다.
- Gateway/update 영역에서 stop treating inherited macOS
XPC_SERVICE_NAMEvalues as launchd supervision during update respawn, so GUI-spawned gateways use detached respawn instead of exiting for a missing LaunchAgent. Fixes #85224. Thanks @richardmqq. 항목을 반영했습니다. - Agents/subagents 영역에서 report tool-only child progress during timeout summaries instead of showing no visible output. 항목을 반영했습니다.
- Telegram/ACP 영역에서 preserve explicit
:topic:conversation suffixes when inbound ACP targets do not carry a separate thread id. 항목을 반영했습니다. - Browser/proxy 영역에서 bypass the managed proxy for the exact local managed Chrome CDP readiness and DevTools WebSocket endpoints, so
openclaw browser startworks when the operator proxy blocks loopback egress. (#83255) Thanks @lightcap. 항목을 반영했습니다. - Ollama 영역에서 bypass the managed proxy for configured local embedding origins while keeping SSRF guardrails on unconfigured targets. Thanks @Kaspre. 항목을 반영했습니다.
- OpenAI/images 영역에서 route Codex API-key image generation through the native OpenAI Images API instead of the Codex OAuth streaming backend, avoiding 401s from valid API keys. 항목을 반영했습니다.
- Agents/OpenAI completions 영역에서 omit empty tool payload fields for proxy-like OpenAI-compatible endpoints so strict vLLM-style servers accept tool-free turns. (#85835) Thanks @rendrag-git. 항목을 반영했습니다.
- Sandbox 영역에서 keep workspace skill mounts read-only for remote container-cwd file operations and reject symlinked skill roots before creating protected overlays. (#85591) Thanks @jason-allen-oneal. 항목을 반영했습니다.
- Scripts/Windows 영역에서 route remaining QA, release, profile, and live-media
pnpmlaunches through the managed runner so native Windows avoids brittle.cmdexecution and shell-argv warnings. 항목을 반영했습니다. - Release 영역에서 align generated config/API baselines and the meeting-notes plugin version so release preflight stays green on native Windows. 항목을 반영했습니다.
- Install/Windows 영역에서 run Git hook setup through a Node prepare helper so native Windows installs no longer print POSIX shell errors. 항목을 반영했습니다.
- Checks/Windows 영역에서 chunk and serialize extension oxlint shards on native Windows so changed gates avoid Go-backed linter memory spikes. 항목을 반영했습니다.
- Checks/Windows 영역에서 route full
pnpm checkstage commands through the managed child runner so Windows avoids Node shell-argv deprecation warnings there too. 항목을 반영했습니다. - Agents/fs 영역에서 allow workspace-only host write/edit tools to write through in-workspace symlink directory parents while preserving outside-workspace symlink rejection. Fixes #84696. Thanks @garbagenetwork. 항목을 반영했습니다.
- Checks/Windows 영역에서 run managed child commands through explicit
cmd.exewrapping instead of Node shell mode with argv, avoiding Node 24 subprocess deprecation warnings during changed checks. 항목을 반영했습니다. - Gateway 영역에서 omit internal stream-error placeholder entries from agent prompt history so failed assistant turns are not replayed as model-authored text. (#85652) Thanks @anyech. 항목을 반영했습니다.
- Sessions 영역에서 enforce the session write-lock max-hold policy during lock acquisition so long-held locks can be reclaimed before the stale-lock window. (#85764) Thanks @njuboy11. 항목을 반영했습니다.
- Sessions/status 영역에서 preserve user-facing model, fallback, usage, and cost attribution when internal subagent handoff runs use fallback models. (#85726, fixes #85082) Thanks @brokemac79. 항목을 반영했습니다.
- Install/update 영역에서 honor
OPENCLAW_HOMEwhen deriving default dev checkout and installer onboarding paths, while keeping explicitOPENCLAW_GIT_DIRandOPENCLAW_CONFIG_PATHoverrides authoritative. Fixes #54014. Thanks @robertPiro. 항목을 반영했습니다. - Models 영역에서 prune retired Groq, GitHub Copilot, OpenAI, xAI, and old Claude catalog entries, with doctor migration to upgrade existing configs to current provider refs. 항목을 반영했습니다.
- Plugins/Gateway 영역에서 treat non-empty return values from plugin gateway method handlers as successful responses so
openclaw gateway callno longer times out after completed plugin work. Fixes #59470. Thanks @HTMG23. 항목을 반영했습니다. - Doctor/update 영역에서 recognize junction-backed source checkouts as git installs by comparing canonical paths before showing package-manager update guidance. Fixes #82215. Thanks @igormf. 항목을 반영했습니다.
- Channels 영역에서 honor
/verbose onfor tool/progress summaries across direct chats, groups, channels, and forum topics while preserving quiet default behavior. (#85488) Thanks @kurplunkin. 항목을 반영했습니다. - Update 영역에서 keep the detached gateway restart handoff best-effort when the restart script process cannot be spawned. (#83892) Thanks @davinci282828. 항목을 반영했습니다.
- Telegram 영역에서 persist the prompt-context message cache through plugin state and record bot-authored replies after sends and draft streaming so later turns can include prior assistant replies without relying on the JSON sidecar. (#85231) Thanks @keshavbotagent. 항목을 반영했습니다.
- Agents/subagents 영역에서 keep Codex persona and user workspace files turn-scoped so native Codex subagents inherit only shared tool guidance by default. (#85811) Thanks @lastguru-net. 항목을 반영했습니다.
- CLI/skills 영역에서 show an all-ready note with next-step commands when skill setup has no missing dependencies to install. (#85032) Thanks @aniruddhaadak80. 항목을 반영했습니다.
- Microsoft Foundry 영역에서 route DeepSeek V4 Pro and Flash models through the Foundry Responses API while keeping older DeepSeek models on their existing path. (#85549) Thanks @roslinmahmud. 항목을 반영했습니다.
- Status/usage 영역에서 show configured cost estimates for AWS SDK models in full usage output while keeping token-only usage replies cost-free. (#85619) Thanks @ItsOtherMauridian. 항목을 반영했습니다.
- Agents/OpenAI Responses 영역에서 retry non-visible reasoning-only turns for OpenAI Responses API families instead of treating them as empty failed turns. (#85603) Thanks @SebTardif. 항목을 반영했습니다.
- Directive tags 영역에서 preserve message and content-part object identity when display stripping makes no directive-tag changes. (#85682) Thanks @willamhou. 항목을 반영했습니다.
- Telegram 영역에서 send local
path/filePathand structured attachment media fromsendMessageactions instead of dropping them or sending text-only messages. (#85219) Thanks @keshavbotagent. 항목을 반영했습니다. - Sessions/status 영역에서 show the estimated context budget when fresh provider usage is unavailable and clear stale estimates across session resets and compaction boundaries. (#84830) Thanks @giodl73-repo. 항목을 반영했습니다.
- Gateway/config 영역에서 pin relative
OPENCLAW_STATE_DIRoverrides to an absolute path at startup so later working-directory changes cannot retarget gateway state. (#52264) Thanks @PerfectPan. 항목을 반영했습니다. - Checks/Parallels 영역에서 make changed-lane scripts, shrinkwrap generation, and Parallels package smoke host commands run through native Windows-safe paths and
npm/pnpmshims. 항목을 반영했습니다. - Release/package 영역에서 run npm release, prepublish, and postpublish verification through Windows-safe npm command shims so native Windows checks can execute
npm.cmdinstead of treating it as a binary. 항목을 반영했습니다. - Agents/harness 영역에서 pass CLI runtime aliases through harness selection so provider-owned CLI aliases no longer get rejected before reaching the right runtime. (#85631) Thanks @potterdigital. 항목을 반영했습니다.
- Secrets 영역에서 show the irreversible apply warning after interactive
secrets configureconfirmation so confirmed migrations still get the final safety prompt. (#85638) Thanks @alkor2000. 항목을 반영했습니다. - Agents/CLI output 영역에서 ignore cumulative Claude
stream-jsonresult usage when assistant usage events are present, preventing inflated cache-read accounting. (#85625) Thanks @zhouhe-xydt. 항목을 반영했습니다. - CLI 영역에서 keep
waitForever()alive by leaving its keep-alive interval ref'd so the public helper no longer exits immediately with Node's unsettled-await code. (#85694) Thanks @m1qaweb. 항목을 반영했습니다. - Agents/bootstrap 영역에서 guard bootstrap name checks against missing file names so malformed bootstrap entries warn and truncate instead of crashing. Fixes #85523. (#85615) Thanks @zhouhe-xydt. 항목을 반영했습니다.
- CLI/tasks 영역에서 reject partially numeric
openclaw tasks audit --limitvalues so audit limits must be real positive integers instead of accepting strings like5abc. (#84901) Thanks @jbetala7. 항목을 반영했습니다. - Status/diagnostics 영역에서 bound deep Docker audit probes so
openclaw status --deepreports slow container checks instead of hanging behind unbounded inspection. (#85476) Thanks @giodl73-repo. 항목을 반영했습니다. - Providers/Anthropic 영역에서 migrate 1M context handling to GA-capable Claude 4.x models by sizing eligible models at 1M without the retired
context-1m-2025-08-07beta, ignoring that retired beta in older configs, and preserving OAuth-required Anthropic beta headers. (#45613) Thanks @haoyu-haoyu. 항목을 반영했습니다. - Cron/Telegram 영역에서 parse forum-topic delivery targets through the Telegram plugin instead of cron core, including
:topic:and:topicIdforms for announce delivery. Thanks @etticat. 항목을 반영했습니다. - Twitch 영역에서 keep stale message-handler cleanup callbacks from removing newer handler registrations for the same account, preserving inbound message delivery after reconnects. Fixes #83888. (#85425) Thanks @alkor2000. 항목을 반영했습니다.
- Control UI/chat 영역에서 keep light-mode model, thinking, config, and agents select arrows visible without tiling background icons. Fixes #85713. Thanks @Linux2010. 항목을 반영했습니다.
- Memory/LanceDB 영역에서 expose public memory artifacts through the active memory provider bridge so memory-wiki imports durable memory files, daily notes, dream reports, and event logs without depending on memory-core internals. Fixes #83604. (#85060) Thanks @brokemac79. 항목을 반영했습니다.
- Crabbox 영역에서 keep AWS hydration compatible with local Actions replay by inlining the hydrate workflow's Node/pnpm setup instead of invoking repo-local composite actions. 항목을 반영했습니다.
- Agents/subagents 영역에서 simplify native sub-agent completion handoff so children report their latest visible assistant result to the requester without using
message, while keeping parent-owned message-tool delivery policy intact. Fixes #85070. (#85089) Thanks @brokemac79. 항목을 반영했습니다. - Docker setup 영역에서 stop printing the Gateway bearer token in setup logs and printed follow-up commands. 항목을 반영했습니다.
- Gateway 영역에서 defer channel account startup work until HTTP readiness and remove startup model prewarm, avoiding startup event-loop stalls and timer-delay warnings. 항목을 반영했습니다.
- Models/perf 영역에서 reuse plugin metadata during models.json planning, keep bundled catalog augmentation manifest/static, and use static provider catalogs for metadata-only startup discovery so provider model normalization, auth discovery, and Gateway startup metadata do not reload broad plugin runtimes. 항목을 반영했습니다.
- Agents 영역에서 let embedded compaction fallback retries proceed when PI-compatible candidates do not need agent harness plugin preparation. 항목을 반영했습니다.
- Agents/tools 영역에서 honor configured custom provider API keys when deciding whether media, image-generation, video-generation, music-generation, and PDF tools are available. (#85570) 항목을 반영했습니다.
- StepFun 영역에서 stop advertising stale generic API key auth choices so onboarding only offers runtime-backed Standard and Step Plan choices. 항목을 반영했습니다.
- Diagnostics 영역에서 keep OpenTelemetry log bodies behind explicit content capture and scrub scoped agent-session keys from OpenTelemetry and Prometheus labels while preserving bounded queue-lane prefixes. 항목을 반영했습니다.
- Windows installer 영역에서 fail Git checkout installs when
pnpm installorpnpm buildfails instead of writing a wrapper to a missing CLI build. 항목을 반영했습니다. - Sessions 영역에서 surface previous-transcript archive failures during
/newrotation so disk rename errors are logged instead of silently hiding stranded transcript files. Fixes #81984. (#85586, from #82081) Thanks @0xghost42. 항목을 반영했습니다. - TUI/agents 영역에서 mirror internal-ui message-tool replies into final chat output so message-tool-only agents remain visible in
openclaw tui. Fixes #85538. Thanks @danpolasek. 항목을 반영했습니다. - Gateway/TUI 영역에서 preserve source-reply metadata through reply normalization and emit message-tool-only agent replies over the live chat stream so
openclaw tuirenders Codex replies without waiting for a history refresh. Thanks @shakkernerd. 항목을 반영했습니다. - Codex/TUI 영역에서 keep long source-reply runs alive after Codex reasoning completes so delayed visible
messagecalls can still reachopenclaw tui. Thanks @shakkernerd. 항목을 반영했습니다. - TUI 영역에서 keep quiet active runs busy after the response watchdog notice instead of reopening the prompt and encouraging duplicate submissions while the backend turn is still running. Thanks @shakkernerd. 항목을 반영했습니다.
- Agents 영역에서 preserve the latest assistant thinking blocks while stripping invalid replay signatures from older turns, and retry Anthropic thinking failures without thinking replay. Fixes #85557. Thanks @bryanbaer. 항목을 반영했습니다.
- Agents 영역에서 keep parallel OpenAI-compatible tool-call deltas in separate argument buffers so interleaved tool calls no longer corrupt streamed arguments. (#82263) Thanks @luna-system. 항목을 반영했습니다.
- Memory/doctor 영역에서 report missing or unusable QMD workspace directories as workspace failures instead of generic binary failures. (#63167) Thanks @sercada. 항목을 반영했습니다.
- Debug proxy 영역에서 record CONNECT client-socket errors and destroy the paired upstream socket so abrupt client disconnects no longer leak tunnel resources. (#82444) Thanks @SebTardif. 항목을 반영했습니다.
- Diffs 영역에서 continue hydrating later diff cards when one card fails so a single broken card no longer blanks the whole diff viewer. (#84775) Thanks @cosmopolitan033. 항목을 반영했습니다.
- Mac app 영역에서 use the native settings sidebar window chrome so the sidebar toggle stays on the left and content no longer clips under oversized titlebar padding. 항목을 반영했습니다.
- QA-Lab/Codex 영역에서 bundle auth/plugin fixture imports for flow scenarios and let terminal async media tools end Codex app-server turns without timing out. (#80397, refs #80323) Thanks @100yenadmin. 항목을 반영했습니다.
- WhatsApp 영역에서 persist inbound message delivery state through plugin state before dispatch and delay read receipts until handler completion, so retryable failures can redeliver without adding a plugin-local disk cache. Thanks @samzong. 항목을 반영했습니다.
- Gateway/agents 영역에서 preserve fresh session overrides and metadata when stale cached agent-session entries race with store updates, so subagent model/provider overrides and routing policy survive concurrent writes. (#19328) Thanks @CodeReclaimers. 항목을 반영했습니다.
- Control UI/chat 영역에서 keep chat session search inline with the session selector so the header no longer shows a duplicate standalone search row. 항목을 반영했습니다.
- Control UI/chat 영역에서 collapse focused-mode header chrome and suppress hidden-header scroll updates so focus mode no longer jumps while scrolling. Thanks @amknight. 항목을 반영했습니다.
- Codex app-server 영역에서 restart the native app-server and retry once when server-side compaction times out, so preflight compaction stalls recover instead of failing every dispatch. (#85500) 항목을 반영했습니다.
- Restore Control UI gateway token pairing [AI]. (#85459) Thanks @pgondhi987. 항목을 반영했습니다.
- OpenAI video 영역에서 honor configured provider request private-network opt-in for local/custom video endpoints so explicitly trusted mock and self-hosted providers are not blocked. Thanks @shakkernerd. 항목을 반영했습니다.
- OpenAI video 영역에서 send uploaded video edit requests to the documented
/videos/editsendpoint with avideofile instead of posting MP4 references to/videos. Thanks @shakkernerd. 항목을 반영했습니다. - Agents/channels 영역에서 preserve message-tool delivery evidence through gateway agent completion handoffs so successful generated media sends are not followed by false failure messages. Thanks @shakkernerd. 항목을 반영했습니다.
- CLI/update 영역에서 repair managed npm plugin
openclawpeer links during post-core convergence and reject stale or wrong-target peer links before restart. (#83794) Thanks @fuller-stack-dev. 항목을 반영했습니다. - CLI/agents 영역에서 default new omitted-account bindings to all accounts when the channel has multiple configured accounts, and clarify account-scope docs. (#49769) Thanks @Gcaufy. 항목을 반영했습니다.
- Codex app-server 영역에서 let authorized
/codexcontrol commands such as/codex detachescape plugin-owned conversation bindings while keeping unknown or unauthorized slash text routed to the bound plugin. Fixes #85157. (#85188) Thanks @TurboTheTurtle. 항목을 반영했습니다. - Auto-reply/models 영역에서 keep
/modelsbrowse replies fast by sharing the bounded read-only catalog path with Gateway model listing. (#84735) Thanks @safrano9999. 항목을 반영했습니다. - Browser/Doctor 영역에서 read macOS Chrome app bundle versions from
Info.plistbefore spawning Chrome and extend the fallback version probe timeout, avoiding false cold-cache warnings from Gatekeeper latency. Fixes #85418. Thanks @davidcittadini. 항목을 반영했습니다. - Codex app-server 영역에서 disable native Code Mode when the effective exec host is
nodeand keep OpenClawexec/processavailable, so/exec host=noderoutes shell commands through the selected node instead of the gateway. Fixes #85012. (#85090) Thanks @sahilsatralkar. 항목을 반영했습니다. - Agents 영역에서 bound embedded auto-compaction session write-lock watchdogs to the compaction timeout instead of the full run timeout, so stuck compaction cannot hold the live session lock for the whole run window. (#84949) Thanks @luoyanglang. 항목을 반영했습니다.
- Gateway/agents 영역에서 return phase-aware
agent.waittimeout attribution and only cool auth profiles on provider-started timeouts. Refs #65504. Thanks @100yenadmin. 항목을 반영했습니다. - Gateway/systemd 영역에서 launch managed update handoff helpers in a transient user scope so systemd-supervised Update Now flows survive the gateway unit restart. Fixes #84068. 항목을 반영했습니다.
- Gateway 영역에서 defer provider auth-state prewarm until after startup readiness so early gateway tool/session requests are not blocked by provider auth discovery. (#85272) Thanks @dutifulbob. 항목을 반영했습니다.
- Gateway/models 영역에서 coalesce provider auth-state rewarms after auth-profile failures and log event-loop delay for warm/rewarm work, so provider auth bursts no longer stack full auth sweeps behind channel replies. 항목을 반영했습니다.
- Gateway/models 영역에서 stop cancelled provider auth-state prewarms from continuing full provider sweeps, so reload and auth-failure bursts no longer keep startup busy. 항목을 반영했습니다.
- Agents/Codex 영역에서 show the first plan update as a transient chat status notice without counting it as final assistant content. 항목을 반영했습니다.
- CLI/update 영역에서 walk the macOS process ancestry and honor the inherited Gateway runtime PID before package updates stop the managed Gateway service, so nested in-band updater children can refuse instead of killing the LaunchAgent-supervised Gateway that owns them. Fixes #85120. 항목을 반영했습니다.
- Gateway/LaunchAgent 영역에서 wait for launchd reload bootout to finish and fall back to kickstart when bootstrap races, so reload handoff does not leave the service deregistered. Fixes #84630. (#84641) Thanks @NianJiuZst. 항목을 반영했습니다.
- Gateway/LaunchAgent 영역에서 treat a concurrent launchd bootstrap as a successful restart when the service is already loaded, avoiding false macOS Gateway restart failures. Fixes #84721. (#84722) Thanks @googlerest. 항목을 반영했습니다.
- Gateway/service 영역에서 include the active
openclawcommand bin directory in managed service PATH generation and doctor audit expectations for npm-global macOS installs. Fixes #84201. (#84475) Thanks @jbetala7. 항목을 반영했습니다. - Control UI/chat 영역에서 disable the thinking selector for known non-reasoning models instead of showing duplicate Off choices. Fixes #84069. Thanks @DrippingMellow. 항목을 반영했습니다.
- Memory 영역에서 expand
~in configured extra memory paths before resolving them, so home-relative folders are not treated as workspace-relative. Fixes #58026. Thanks @stadman. 항목을 반영했습니다. - Skills 영역에서 treat
openclaw.os: macosas Darwin when checking skill requirements, so macOS-only skills no longer report as missing on macOS hosts. Fixes #61338. Thanks @Jessecq1995. 항목을 반영했습니다. - Control UI/logs 영역에서 strip ANSI escape sequences from displayed Gateway log messages so color codes no longer appear as raw text. Fixes #64399. Thanks @guguangxin-eng. 항목을 반영했습니다.
- Docker 영역에서 pre-create the workspace and auth-profile config mount points with
nodeownership so first-run named volumes do not start root-owned. Fixes #85076. Thanks @Noerr. 항목을 반영했습니다. - Telegram 영역에서 pass configured markdown table mode through outbound markdown chunking so chunked sends render tables consistently. Fixes #85085. Thanks @ShuaiHui. 항목을 반영했습니다.
- Diagnostics/OTel 영역에서 drop snake_case diagnostic id attributes alongside camelCase ids so exported telemetry cannot leak run, session, message, chat, trace, or tool-call identifiers. (#72645) Thanks @Lion0710. 항목을 반영했습니다.
- CLI/update 영역에서 preserve managed Gateway service environment during package cutovers so macOS LaunchAgent repair/restart reads the pre-update service state instead of caller shell state. (#83026) 항목을 반영했습니다.
- Agents/providers 영역에서 honor per-model
apiandbaseUrloverrides in custom provider auth hooks and transport selection. Fixes #80487. (#80488) Thanks @huveewomg. 항목을 반영했습니다. - Gateway/restart 영역에서 eager-load the lifecycle runtime before in-place upgrade signal handling so package replacement does not deadlock restart imports. (#84890) Thanks @myps6415. 항목을 반영했습니다.
- CLI/update 영역에서 start managed Gateway update handoff helpers from a stable existing directory and tolerate deleted cwd/package roots during macOS LaunchAgent handoff. Fixes #83808. (#83875) Thanks @jason-allen-oneal. 항목을 반영했습니다.
- Skills 영역에서 watch each shared skill directory once across agent workspaces instead of once per agent, preventing file-descriptor exhaustion (
EMFILE) that disposed bundle-mcp processes and stalled sessions on multi-agent gateways. Fixes #84968. (#85130) Thanks @openperf. 항목을 반영했습니다. - Release/security 영역에서 keep generated npm shrinkwrap package versions inside the pnpm lock graph so published package locks cannot bypass pnpm dependency age and override policy. 항목을 반영했습니다.
- Cron 영역에서 honor
cron.retry.retryOn: ["network"]for common network error codes such asEAI_AGAIN,EHOSTUNREACH, andENETUNREACH. 항목을 반영했습니다. - Gateway chat 영역에서 broadcast returned agent-run error payloads after an agent starts so ACP/WebChat clients receive terminal idle-timeout errors. Fixes #84945. 항목을 반영했습니다.
- Gateway chat display 영역에서 preserve OpenAI-compatible
prompt_tokens,completion_tokens, andtotal_tokensusage fields in sanitized chat history so llama.cpp sessions keep context counts. Fixes #77992. Thanks @MarTT79. 항목을 반영했습니다. - Dashboard/CLI 영역에서 allow macOS browser launching through
openeven when SSH environment variables are present, while preserving Linux SSH no-display protection. Fixes #67088. Thanks @theglove44. 항목을 반영했습니다. - Codex app-server 영역에서 keep native web search observations out of mirrored chat transcripts while preserving available action query metadata in tool progress telemetry. Fixes #85109. Thanks @ugitmebaby. 항목을 반영했습니다.
- OpenCode Go 영역에서 strip unsupported Kimi reasoning replay fields before provider requests so repeated
kimi-k2.6turns do not fail schema validation. Fixes #83812. Thanks @Sleeck. 항목을 반영했습니다. - Browser/CDP 영역에서 add a WSL2 portproxy self-loop hint when Chrome DevTools endpoints accept connections but return an empty HTTP reply. Fixes #59209. Thanks @Owlock. 항목을 반영했습니다.
- Agents/tools 영역에서 add bounded tool-policy audit log entries that identify which allow/deny rule removed tools or blocked a sandboxed tool call. Fixes #55801. Thanks @justinjkline. 항목을 반영했습니다.
- CLI/logs 영역에서 read implicit local Gateway logs through the passive backend client path so
openclaw logs --followdoes not register as a paired device, and use the active Linux systemd journal instead of stale configured-file fallbacks when live local RPC is unavailable. Fixes #83656 and #66841. 항목을 반영했습니다. - Agents/OpenAI 영역에서 preserve structured provider error code, type, and redacted body metadata on boundary-aware transport failures. 항목을 반영했습니다.
- Doctor/Codex 영역에서 point native Codex asset warnings at the canonical
openclaw migrate plan codexpreview command. Fixes #84948. Thanks @markoa. 항목을 반영했습니다. - CLI/models 영역에서 make
capability model auth logout --agentremove auth profiles from the selected non-default agent store. Fixes #85092. Thanks @islandpreneur007. 항목을 반영했습니다. - Gateway/models 영역에서 reuse prepared provider auth metadata during model-listing auth checks so repeated lookups avoid broad plugin discovery while preserving synthetic local auth. 항목을 반영했습니다.
- CLI/status 영역에서 suppress systemd user-service setup hints when
openclaw status --deepcan already reach a running Gateway RPC service. Fixes #85094. Thanks @islandpreneur007. 항목을 반영했습니다. - CLI/devices 영역에서 recover local approval when a same-device repair request replaces the request ID being approved. 항목을 반영했습니다.
- CLI/agents 영역에서 retry transient normal-close Gateway handshakes before falling back to embedded
openclaw agentexecution. 항목을 반영했습니다. - CLI/update 영역에서 keep managed Gateway service stop/restart status lines out of
openclaw update --jsonstdout so package-update automation can parse the JSON payload. 항목을 반영했습니다. - Plugins 영역에서 resolve OpenClaw plugin SDK subpaths for native external plugin runtimes without mutating package installs or broadening process-wide module resolution. 항목을 반영했습니다.
- Agents/OpenAI 영역에서 preserve Responses and Chat Completions
reasoning_tokensusage metadata without double-counting it in aggregate output tokens. (#85319) 항목을 반영했습니다. - Control UI/chat 영역에서 convert pasted
data:image/...;base64,...clipboard text into an image attachment instead of dumping the payload into the composer. Fixes #62604. Thanks @cpwilhelmi. 항목을 반영했습니다. - Providers/Gemini 영역에서 strip fractional seconds from web-search time range filters so Gemini accepts freshness-bound search requests. (#85071) Thanks @Noerr. 항목을 반영했습니다.
- OpenAI Codex 영역에서 preserve image input support for sparse
openai-codex/gpt-5.5catalog rows. (#85095) Thanks @sercada. 항목을 반영했습니다. - CLI/models 영역에서 add a piped or pasted API-key path for OpenAI Codex auth and warn when API keys are pasted into token-mode auth. (#85533) Thanks @joshavant. 항목을 반영했습니다.
- Telegram 영역에서 dead-letter missing-harness isolated ingress failures so a poisoned spooled update no longer blocks later same-lane messages. Fixes #85470. (#85605) Thanks @joshavant. 항목을 반영했습니다.
- Plugins/discovery 영역에서 strip
-pluginpackage suffixes when deriving plugin id hints so package names line up with manifest ids. (#85170) Thanks @JulyanXu. 항목을 반영했습니다. - Tlon 영역에서 stop advertising a non-existent agent tool contract in the plugin manifest. 항목을 반영했습니다.
- Telegram 영역에서 preserve fenced code block languages through Markdown rendering so Telegram receives
language-*code classes. (#85209) Thanks @leno23. 항목을 반영했습니다. - Windows installer 영역에서 run npm and Corepack command shims from a Windows-local directory so installs launched from WSL2 UNC paths do not fail before OpenClaw is installed. 항목을 반영했습니다.
- Windows updates 영역에서 roll back git-backed updates to the previous checkout when dependency install, build, UI build, or doctor repair fails. 항목을 반영했습니다.
- Windows installer 영역에서 persist user-local portable Git on PATH and activate the repo-pinned pnpm version for git-backed installs and updates. 항목을 반영했습니다.
- Windows installer 영역에서 bootstrap a user-local portable Node.js when native Windows has no Node and no winget, Chocolatey, or Scoop, so first-run installs can continue on raw hosts. 항목을 반영했습니다.
- Windows installer 영역에서 extract the downloaded portable Node.js directory with native
tarbefore falling back to .NET zip extraction, avoiding PowerShell 5.1 archive and path-length failures. 항목을 반영했습니다. - fix(integrations) 영역에서 enforce channel read target allowlists [AI]. (#84982) Thanks @pgondhi987. 항목을 반영했습니다.
- Agents/heartbeat 영역에서 route single-owner
session.dmScope=maindirect-message exec and cron event wakes back to the agent main session so async completions no longer strand context in orphan direct-DM queues. Fixes #71581. (#83743) Thanks @Kaspre. 항목을 반영했습니다. - Agents/code-mode 영역에서 expose outer code-mode
execsource through thecommandhook alias withtoolKind/toolInputKinddiscriminators so exec-shaped policies can distinguish code-mode cells. (#83483) Thanks @Kaspre. 항목을 반영했습니다. - Agents/code mode 영역에서 return structured timeout and runtime-unavailable error codes for known worker failures. Fixes #83389. (#83444) Thanks @Kaspre. 항목을 반영했습니다.
- QA-Lab 영역에서 isolate multi-scenario suite workers when scenarios need startup config patches, preventing message-routing config from leaking into unrelated scenarios. 항목을 반영했습니다.
- QA-Lab 영역에서 make the commitments heartbeat-target-none scenario request an immediate heartbeat instead of waiting for the next scheduled heartbeat. 항목을 반영했습니다.
- Codex/Plugin SDK 영역에서 deliver Codex-native subagent completions through a generic harness task runtime so harness-backed plugins can mirror durable task lifecycle and completion delivery without Codex-specific SDK imports. (#83445) Thanks @bryanpearson. 항목을 반영했습니다.
- Gateway CLI 영역에서 surface local post-challenge connect assembly failures immediately instead of waiting for the wrapper timeout. Fixes #68944. (#85253) Thanks @samzong. 항목을 반영했습니다.
- Messages 영역에서 strip unsupported web-search citation control markers from outbound replies before they reach WebChat or external channels. Fixes #85193. (#85204) Thanks @neeravmakwana. 항목을 반영했습니다.
- Agents/exec 영역에서 treat denied exec approvals as terminal instead of feeding them back into agent follow-up work, and recognize Chinese stop phrases in abort handling. Fixes #69386. (#85194) Thanks @samzong. 항목을 반영했습니다.
- CLI/agents 영역에서 abort accepted Gateway-backed
openclaw agentruns on SIGINT/SIGTERM so cron and supervisor timeouts do not leave remote agent work alive. Fixes #71710. (#84381) Thanks @Kaspre. 항목을 반영했습니다. - Codex app-server 영역에서 retry replay-safe stdio client-close turns once using structured failure metadata, while surfacing idle
turn/completedtimeouts instead of blindly replaying active shared-server turns. Thanks @VACInc. 항목을 반영했습니다. - Codex app-server 영역에서 reject command overrides that embed Node or package-manager arguments and point users to
appServer.args, so Windows startup avoids shell parsing failures. (#84417) Thanks @TurboTheTurtle. 항목을 반영했습니다. - Agents/Copilot 영역에서 drop unsafe GitHub Copilot Responses reasoning replay items before send so Telegram direct sessions no longer fail on overlong replay IDs. Fixes #85197. (#85198) Thanks @galiniliev. 항목을 반영했습니다.
- UI 영역에서 add accessible tooltips to the topbar color-mode buttons so System, Light, and Dark choices are labeled on hover and focus. (#85227) Thanks @amknight. 항목을 반영했습니다.
- fix 영역에서 constrain Windows task script names [AI]. (#85064) Thanks @pgondhi987. 항목을 반영했습니다.
- Control UI 영역에서 keep the chat session picker from hiding older or cross-agent configured conversations while preserving the bounded configured-agent refresh. (#85211) Thanks @amknight. 항목을 반영했습니다.
- Agents/Anthropic 영역에서 preserve unsafe integer tool-call input values in streamed Anthropic tool-use JSON, preventing Discord-style IDs from being rounded before dispatch. Fixes #47229. (#83063) Thanks @leno23. 항목을 반영했습니다.
- Agents/Codex 영역에서 estimate tool-heavy prompt pressure at the LLM boundary before provider submission, so persistent sessions compact before overflowing context windows. (#85541) Thanks @fuller-stack-dev and @joshavant. 항목을 반영했습니다.
- Agents/hooks 영역에서 wait for local one-shot CLI and Codex
agent_endplugin hooks before process cleanup so terminal observability flushes reliably. (#85007) 항목을 반영했습니다. - Providers/Google 영역에서 preserve Gemini 3 cron
thinkingDefault: "low"when stale catalog metadata saysreasoning:false, so scheduled runs keep provider-supported thinking instead of downgrading to off. (#85185) Thanks @neeravmakwana. 항목을 반영했습니다. - CLI/agents 영역에서 allow
openclaw agent --session-keyto target explicit session keys, including agent-scoped legacy keys. (#85121) Thanks @Kaspre. 항목을 반영했습니다. - Auto-reply/ACP 영역에서 wait for same-channel block reply delivery before starting tool work, while still honoring ACP dispatch aborts so stopped turns do not wait on slow channel sends. (#83722) Thanks @IWhatsskill. 항목을 반영했습니다.
- Codex/ACP 영역에서 mark required child-run completions that only report progress, omit a final deliverable, or fail requester delivery as blocked while preserving real final reports. (#85110) Thanks @IWhatsskill. 항목을 반영했습니다.
- Channels 영역에서 treat bare abort messages such as
stop,abort, andwaitas immediate control commands in inbound debounce paths so stop requests are not delayed behind pending message coalescing. (#83348) Thanks @IWhatsskill. 항목을 반영했습니다. - Channels/message tool 영역에서 resolve configured external channel plugins during in-agent channel selection, so
openclaw agent --localmessage-tool sends no longer report an available channel as unavailable. (#85022) Thanks @Kaspre. 항목을 반영했습니다. - Agents/heartbeat 영역에서 honor group/channel
message_toolvisible-reply policy and model-specific Codex runtime config for scheduled heartbeat runs, so failed internal tool output stays private. Fixes #85310. (#85357) Thanks @neeravmakwana. 항목을 반영했습니다. - Gateway/ACP 영역에서 close child ACP sessions spawned via
sessions_spawnwhen their parent session is reset or deleted, instead of leaving orphanedclaude-agent-acpprocesses that accumulate and exhaust memory. Fixes #68916. (#85190) Thanks @openperf. 항목을 반영했습니다. - Codex app-server 영역에서 block native execution paths when OpenClaw exec resolves to a node host while preserving the first-party CLI node binding path. Fixes #85012. (#85534) Thanks @joshavant. 항목을 반영했습니다.
- Diagnostics 영역에서 bound cleanup timeout detail logs, emit drop summaries when async diagnostic bursts exceed the queue cap, and surface async queue drops through diagnostic telemetry. 항목을 반영했습니다.
- Agents/subagents 영역에서 surface blocked child-run completions as errors instead of successful subagent finishes. (#80886) Thanks @TurboTheTurtle. 항목을 반영했습니다.
- Context engines 영역에서 fail closed with a descriptive error when the selected agent runtime cannot satisfy declared context-engine host requirements. 항목을 반영했습니다.
- Agents/Pi 영역에서 treat accepted embedded
sessions_spawnchild-session handoffs as terminal progress so parent turns no longer report false non-deliverable failures. (#85054) Thanks @samzong. 항목을 반영했습니다. - CLI/models 영역에서 resolve
openclaw models setaliases from the runtime config while keeping authored aliases ahead of runtime-only defaults. (#83262) Thanks @IWhatsskill. 항목을 반영했습니다. - Doctor 영역에서 show personal Codex CLI asset notices as info instead of warnings. Fixes #84859. 항목을 반영했습니다.
- WhatsApp 영역에서 update Baileys to
7.0.0-rc13and drop the obsolete logger type patch. 항목을 반영했습니다. - CLI/update 영역에서 pre-pack GitHub/git package update targets before the staged npm install, restoring
openclaw update --tag mainfor one-off package updates. (#81296) Thanks @fuller-stack-dev. 항목을 반영했습니다. - Gateway 영역에서 mirror successful same-source message-tool sends into session transcripts so delivered replies stay in later history/context. (#84837) Thanks @iFiras-Max1. 항목을 반영했습니다.
- Media generation 영역에서 keep image, music, and video completion delivery from duplicating or losing task ownership when generated media finishes through active session replies. (#84006) Thanks @fuller-stack-dev. 항목을 반영했습니다.
- CLI/doctor 영역에서 remove stale bundled plugin load paths from old versioned OpenClaw package roots after pnpm/npm upgrades. Fixes #58626. Thanks @solink7. 항목을 반영했습니다.
- Infra/json 영역에서 retry transient
File changed during readraces while loading JSON state so config and state reads recover instead of failing the turn. (#84285) 항목을 반영했습니다. - Plugins/providers 영역에서 fail closed for workspace provider plugins during setup-mode discovery unless explicitly trusted, preventing untrusted workspace plugin code from running during provider setup. (#81069) Thanks @mmaps. 항목을 반영했습니다.
- Providers/Ollama 영역에서 resolve configured Ollama Cloud
OLLAMA_API_KEYmarkers to the real discovery key so cloud provider entries keep authenticated model catalog access. (#85037) 항목을 반영했습니다. - Discord 영역에서 keep persistent component registry fallback warnings actionable by forwarding structured error and cause metadata through the runtime logger. Fixes #84185. (#84190) Thanks @100menotu001. 항목을 반영했습니다.
- Gateway/sessions 영역에서 preserve compatible session auth profile overrides when switching models within the same provider, including provider-auth aliases. Fixes #81837. (#81886) Thanks @TurboTheTurtle. 항목을 반영했습니다.
- Gateway/status 영역에서 surface inbound delivery telemetry counters and transport-liveness warnings in
openclaw status --all. Fixes #49577. (#72724) 항목을 반영했습니다. - Docker 영역에서 prune package-excluded plugin source workspaces and dependency closures so runtime images do not keep packages for plugins that were not opted in. 항목을 반영했습니다.
- Providers/Ollama 영역에서 treat Docker/OrbStack host aliases as local Ollama endpoints so
ollama-localmarker auth works when OpenClaw runs inside a VM/container and Ollama runs on the host. Fixes #84875. 항목을 반영했습니다. - QA-Lab 영역에서 keep explicitly searchable/deferred OpenClaw dynamic tool rows report-only by default so tool-coverage gates do not treat mock discovery gaps as hard product failures. (#80319) Thanks @100yenadmin. 항목을 반영했습니다.
- Agents/config 영역에서 keep non-Google provider model refs from being rewritten by Google Gemini preview-id normalization. (#84762) Thanks @zhangguiping-xydt. 항목을 반영했습니다.
- Installer 영역에서 require a real controlling terminal before launching onboarding so headless
curl | bashinstalls finish cleanly after installing the CLI. 항목을 반영했습니다. - Agents/Codex 영역에서 promote a completed final assistant response when a prompt timeout races Codex app-server completion instead of returning an empty timeout envelope. Refs #84516. 항목을 반영했습니다.
- Codex app-server 영역에서 keep interrupted turn statuses from being treated as OpenClaw aborts by themselves, so tool-only turns remain eligible for no-visible-answer recovery. Fixes #84492. 항목을 반영했습니다.
- Agents 영역에서 cap heartbeat model bleed context hints by the stored session window when runtime model metadata is unavailable, so overflow recovery advice does not suggest a larger window than the active session actually has. 항목을 반영했습니다.
- Control UI/Web Push 영역에서 use
https://openclaw.aias the generated default VAPID subject instead of the old localhost mailbox so iOS PWA push setup uses an Apple-acceptable subject whenOPENCLAW_VAPID_SUBJECTis unset. Fixes #83134. (#83317) Thanks @IWhatsskill. 항목을 반영했습니다. - Control UI 영역에서 distinguish inherited thinking-off settings from explicit Off selections so the thinking selector no longer shows two identical Off rows. (#85223) Thanks @amknight. 항목을 반영했습니다.
- Agents/Pi 영역에서 keep embedded session transcript writes from tripping false takeover detection after packaged npm onboarding agent turns. 항목을 반영했습니다.
- Codex/TUI 영역에서 surface Codex-native post-turn compaction failures instead of continuing uncompacted, and keep successful native compaction serialized before local idle/next-turn handling. Fixes #84305. (#85160) Thanks @joshavant. 항목을 반영했습니다.
- Memory/search 영역에서 stop recall tracking from writing dreaming side-effect artifacts when
dreaming.enabled=false, while preserving normal search results. Fixes #84436. (#84444) Thanks @NianJiuZst. 항목을 반영했습니다. - Diffs 영역에서 render viewer toolbar icons from a closed icon-name map instead of HTML strings, removing the toolbar icon XSS sink. (#83955) Thanks @tanshanshan. 항목을 반영했습니다.
- QA 영역에서 keep
pnpm qa:e2eself-check runs inside the private QA runtime envelope even when inherited shell env disables bundled plugins. 항목을 반영했습니다. - fix(config) 영역에서 validate browser sandbox bind sources [AI]. (#84799) Thanks @pgondhi987. 항목을 반영했습니다.
- doctor 영역에서 constrain legacy plugin cleanup paths [AI]. (#84801) Thanks @pgondhi987. 항목을 반영했습니다.
- Update/doctor 영역에서 prune stale local bundled plugin install records that point at old compiled bundled output so current bundled plugin schemas win after upgrade. (#84863) Thanks @fuller-stack-dev. 항목을 반영했습니다.
- Providers/Ollama 영역에서 preserve native Ollama tool-call IDs across assistant replay so Gemini over Ollama Cloud can keep its hidden function-call thought-signature handle. 항목을 반영했습니다.
- Discord 영역에서 keep session recovery and
/stopabort ownership on the source dispatch lane while bound ACP turns continue routing to their target session, so stalled pre-run work and late replies are cleared instead of leaking after stop. Fixes #84477. (#85100) Thanks @joshavant. 항목을 반영했습니다. - Discord/voice-call 영역에서 keep forced realtime voice consult diagnostics in debug logs instead of agent prompts, so callers do not hear OpenClaw policy text when the provider misses
openclaw_agent_consult. (#84411) Thanks @fuller-stack-dev. 항목을 반영했습니다. - Codex app-server 영역에서 mark missing turn completion after observed execution as replay-unsafe and release the session so follow-up turns can run. Fixes #84076. (#85107) Thanks @joshavant. 항목을 반영했습니다.
- Codex app-server 영역에서 give visible
messagedynamic tool sends a longer timeout budget so slow channel delivery can return its own result or error instead of hitting the 30-second Codex wrapper. (#85216) Thanks @amknight. 항목을 반영했습니다. - Codex app-server 영역에서 add a dedicated post-tool raw assistant completion idle timeout config so trusted heavy turns can wait longer after tool handoff without weakening final assistant release. 항목을 반영했습니다.
- Matrix 영역에서 keep explicitly configured two-person rooms on the room route before stale
m.director strict two-member DM fallback can bypass mention gating. Fixes #85017. (#85137) Thanks @joshavant. 항목을 반영했습니다. - Agents/subagents 영역에서 require explicit subagent allowlist targets to be configured agents so stale deleted-agent ids are omitted from
agents_listand rejected bysessions_spawn. Fixes #84811. (#85154) Thanks @joshavant. 항목을 반영했습니다. - PDF tool 영역에서 time out idle remote PDF body reads after 120 seconds so stalled remote documents return an error instead of wedging the session. Fixes #68649. (#84768) Thanks @luoyanglang. 항목을 반영했습니다.
- Diagnostics/OpenTelemetry plugin 영역에서 suppress handled OTLP exporter promise rejections so collector shutdowns no longer crash the Gateway. (#81085) Thanks @luoyanglang. 항목을 반영했습니다.
- Agents/exec 영역에서 omit raw command text and env values from denied exec failure logs while keeping safe correlation metadata. Fixes #85049. (#85140) Thanks @joshavant. 항목을 반영했습니다.
- Media-understanding 영역에서 restore the 4096-token default for image descriptions so reasoning-capable vision models no longer truncate before returning text, while preserving smaller model caps. (#84932) Thanks @scotthuang. 항목을 반영했습니다.
- Media/audio 영역에서 skip empty structured sherpa-onnx transcripts instead of treating the raw JSON payload as spoken text. (#84667) Thanks @TurboTheTurtle. 항목을 반영했습니다.
- Agents/exec 영역에서 preserve inherited XDG base-directory environment values for subprocesses while still rejecting agent-supplied XDG overrides. Fixes #84854. (#85139) Thanks @joshavant. 항목을 반영했습니다.
- Node/Linux 영역에서 keep
OPENCLAW_GATEWAY_TOKENout of generated systemd unit files by writing node service token values to a node-specific env file. (#84408) 항목을 반영했습니다. - Memory-core/dreaming 영역에서 reuse stable narrative subagent session keys per workspace and phase while keeping per-run idempotency and bounded cleanup, so stale
dreaming-narrative-*sessions do not accumulate. Fixes #68252, #69187, and #70402. (#70464) Thanks @chiyouYCH. 항목을 반영했습니다. - Trajectory/support 영역에서 tolerate partial skill snapshot entries when building support metadata so rejected skill path scans no longer abort trajectory capture. (#71185) Thanks @lukeboyett. 항목을 반영했습니다.
- TUI 영역에서 coalesce repeated idle Esc abort notices into a single
no active run xNsystem row instead of appending duplicate rows. 항목을 반영했습니다. - Telegram 영역에서 honor
channels.telegram.pollingStallThresholdMsin the default isolated polling path, restarting silent workers instead of leaving inbound updates wedged. Fixes #83950. (#84861) Thanks @joshavant. 항목을 반영했습니다. - Telegram 영역에서 dedupe replayed message dispatches by Telegram chat/message identity so isolated-ingress replays do not trigger duplicate model dispatches. Fixes #84886. (#85208) Thanks @joshavant. 항목을 반영했습니다.
- Slack 영역에서 suppress reasoning payloads before reply delivery and dispatch accounting, so Slack monitor, slash-command, fallback, and direct reply paths do not leak model reasoning. Fixes #84319. (#84322) Thanks @ffluk3 and @joshavant. 항목을 반영했습니다.
- Slack 영역에서 deliver native plugin approval prompts and updates when Slack native approvals are enabled, while keeping plugin approval authorization separate from exec approvers. 항목을 반영했습니다.
- Slack 영역에서 keep native plugin approval prompts in the originating app conversation thread when the live Slack turn source is a
D...conversation. 항목을 반영했습니다. - Agents/Pi 영역에서 disable the embedded pi-coding-agent runtime auto-retry so OpenClaw's own retry and failover loop does not replay failed tool calls through a nested SDK retry. Fixes #73781. (#74434) Thanks @yelog. 항목을 반영했습니다.
- CLI/perf 영역에서 keep
setup --help,onboard --help, andconfigure --helpout of the full wizard runtime while preserving the existing help output. (#84488) Thanks @frankekn. 항목을 반영했습니다. - CLI/perf 영역에서 keep
agents --helpout of agents action/runtime imports so help, completion, and command discovery paths avoid loading the full agents runtime. (#84483) Thanks @frankekn. 항목을 반영했습니다. - CLI/perf 영역에서 keep
secrets --helpandnodes --helpon the precomputed help path so parent help avoids loading action-heavy command runtime modules. (#84818) Thanks @frankekn. 항목을 반영했습니다. - CLI/perf 영역에서 serve
doctor,gateway,models, andpluginsparent help from startup metadata so common subcommand help avoids full CLI program construction. (#84786) Thanks @frankekn. 항목을 반영했습니다. - Codex/Lossless 영역에서 keep context-engine history on the canonical run session when Telegram DMs use per-peer runtime policy keys. Fixes #84936. (#84954) Thanks @neeravmakwana. 항목을 반영했습니다.
- Codex 영역에서 keep heartbeat response tool schemas durable without exposing dynamic tools disabled by turn policy, so heartbeat wakeups can reuse threads while scoped tool allowlists stay enforced. (#84681) Thanks @jalehman. 항목을 반영했습니다.
- Auth/OAuth 영역에서 skip the refresh adapter when a stored OAuth credential has no refresh token so agent turns fail fast on missing-key instead of waiting on the 120s refresh timeout. Thanks @romneyda. 항목을 반영했습니다.
- Auth/Codex 영역에서 load legacy OAuth sidecar credentials in the embedded runner's secrets-runtime auth loaders so Telegram replies, cron-triggered turns, and other isolated sub-agent lanes can reach the existing #83312 refresh-and-rewrite migration instead of failing with
No API key found for provider "openai-codex"until the user runsopenclaw doctor. Thanks @Totalsolutionsync and @romneyda. 항목을 반영했습니다. - Codex/failover 영역에서 classify
deactivated_workspaceas a permanent auth failure so configured fallback models can advance when a Codex workspace is deactivated. (#55893) Thanks @litang9. 항목을 반영했습니다. - Exec 영역에서 keep configured
tools.exec.pathPrependentries ahead of user shell startup PATH changes on POSIX gateway runs. (#81403) Thanks @medns. 항목을 반영했습니다. - Gateway/sessions 영역에서 allow shared-secret bearer callers to read and stream session history without an explicit scope header. (#81815) Thanks @medns. 항목을 반영했습니다.
- Agents/embedded runner 영역에서 classify HTML auth provider responses as
auth_htmland return a re-authentication hint instead of the CDN-blocked copy thatupstream_htmlreturns. Cloudflare Access login pages, nginx basic-auth challenges, and gateway login walls all produce HTML auth bodies that were previously misdiagnosed as transient CDN blocks. (#79900) Thanks @martingarramon. 항목을 반영했습니다. - TUI/streaming watchdog 영역에서 dismiss the
This response is taking longer than expectednotice as soon as a chat event for the same run arrives, so the message no longer sits next to the recovered response when the run was only briefly silent. Refs #67052, #69081 (closed), prior attempt #69026. Thanks @jpruit20 and @romneyda. 항목을 반영했습니다. - Agents/Pi 영역에서 tolerate OpenClaw-owned transcript writes while embedded prompts are released for model I/O, keeping long-running Feishu, Slack, Telegram, and cron turns from failing with false session-takeover errors. Fixes #84059. (#84250) Thanks @tianxiaochannel-oss88. 항목을 반영했습니다.
사용자 입장에서 달라지는 점
- Gateway와 모델 목록 조회, 플러그인 메타데이터 처리, 채널 디스패치 같은 반복 경로의 캐시와 지연 로딩이 늘어나 시작과 상태 확인 체감 속도가 좋아질 수 있습니다.
- Discord voice, realtime, Meeting Notes 관련 변경이 많아 음성 상담, 회의록 캡처, 재시작 복구 흐름이 더 안정적으로 동작하는 방향입니다.
- SecretRef, OAuth, provider profile, tool visibility, 세션 접근 제어 등 운영 보안과 자격증명 보존 관련 수정이 포함되어 있습니다.
- QA-Lab, package integrity, shrinkwrap, observability 항목이 강화되어 릴리스 검증과 운영 진단 자료가 더 구체적으로 남습니다.
업데이트 전 체크할 점
- 자동 업데이트 전에 현재 실행 중인 Gateway, Discord voice, Meeting Notes 캡처 작업이 있는지 확인하는 것이 좋습니다.
- SecretRef, models.json, provider OAuth profile을 쓰는 환경에서는 업데이트 후
models status와 실제 모델 호출을 한 번 확인하세요. - 플러그인 SDK나 채널 플러그인을 직접 운영한다면
plugin-sdk/channel-targets, session workflow helpers, embedding provider contract 변경을 확인해야 합니다. - npm 패키지 설치 환경에서는 shrinkwrap과 package integrity 관련 변경 때문에 사내 미러, 캐시, CI 설치 정책과 충돌하지 않는지 확인하세요.
changelog 원문 링크
- https://raw.githubusercontent.com/openclaw/openclaw/main/CHANGELOG.md