diff --git a/appcast.xml b/appcast.xml index f3efdb41dfd..d2f674d48da 100644 --- a/appcast.xml +++ b/appcast.xml @@ -2,6 +2,369 @@ OpenClaw + + 2026.4.29 + Thu, 30 Apr 2026 21:47:22 +0000 + https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml + 2026042990 + 2026.4.29 + 15.0 + OpenClaw 2026.4.29 +

Highlights

+
    +
  • Messaging and automation get active-run steering by default, visible-reply enforcement, spawned subagent routing metadata, and opt-in follow-up commitments for heartbeat-delivered reminders. Thanks @vincentkoc, @scoootscooob, @samzong, and @vignesh07.
  • +
  • Memory grows into a people-aware wiki with provenance views, per-conversation Active Memory filters, partial recall on timeout, and bounded REM preview diagnostics. Thanks @vincentkoc, @quengh, @joeykrug, and @samzong.
  • +
  • Provider/model coverage expands with NVIDIA onboarding/catalogs plus faster manifest-backed model/auth paths, Bedrock Opus 4.7 thinking parity, and safer Codex/OpenAI-compatible replay and streaming behavior. Thanks @eleqtrizit, @shakkernerd, @prasad-yashdeep, @woodhouse-bot, and @LyHug.
  • +
  • Gateway and packaged-plugin reliability focuses on slow-host startup, reusable model catalogs, event-loop readiness diagnostics, runtime-dependency repair, stale-session recovery, and version-scoped update caches. Thanks @lpendeavors, @DerFlash, @vincentkoc, @pashpashpash, and @jhsmith409.
  • +
  • Channel fixes cluster around Slack Block Kit limits, Telegram proxy/webhook/polling/send resilience, Discord startup/rate-limit handling, WhatsApp delivery/liveness, and Microsoft Teams/Matrix/Feishu edge cases. Thanks @slackapi, @SymbolStar, @djgeorg3, @TinyTb, @dseravalli, @nklock, and @alex-xuweilong.
  • +
  • Security and operations add OpenGrep scanning, sharper GHSA triage policy, safer exec/pairing/owner-scope handling, Docker/onboarding automation, and web-fetch IPv6 ULA opt-in for trusted proxy stacks. Thanks @jesse-merhi, @pgondhi987, @mmaps, @jinjimz, and @jeffrey701.
  • +
+

Changes

+
    +
  • Security/tools: configured tool sections (tools.exec, tools.fs) no longer implicitly widen restrictive profiles (messaging, minimal). Users who need those tools under a restricted profile must add explicit alsoAllow entries; a startup warning identifies affected configs. Fixes #47487. Thanks @amknight.
  • +
  • Agents/commitments: add opt-in inferred follow-up commitments with hidden batched extraction, per-agent/per-channel scoping, heartbeat delivery, CLI management, a simple commitments.enabled/commitments.maxPerDay config, and heartbeat-interval due-time clamping so magical check-ins do not echo immediately. (#74189) Thanks @vignesh07.
  • +
  • Messages/queue: make steer drain all pending Pi steering messages at the next model boundary, keep legacy one-at-a-time steering as queue, and add a dedicated steering queue docs page. Thanks @vincentkoc.
  • +
  • Messages/queue: default active-run queueing to steer with a 500ms followup fallback debounce, and document the queue modes, precedence, and drop policies on the command queue page. Thanks @vincentkoc.
  • +
  • Messages: add global messages.visibleReplies so operators can require visible output to go through message(action=send) for any source chat, while messages.groupChat.visibleReplies stays available as the group/channel override. Thanks @scoootscooob.
  • +
  • Gateway/events: surface spawnedBy on subagent chat and agent broadcast payloads so clients can route child session events without an extra session lookup. (#63244) Thanks @samzong.
  • +
  • Memory/wiki: add agent-facing people wiki metadata, canonical aliases, person cards, relationship graphs, privacy/provenance reports, evidence-kind drilldown, and search modes for person lookup, question routing, source evidence, and raw claims. Thanks @vincentkoc.
  • +
  • Active Memory: add optional per-conversation allowedChatIds and deniedChatIds filters so operators can enable recall only for selected direct, group, or channel conversations while keeping broad sessions skipped. (#67977) Thanks @quengh.
  • +
  • Active Memory: return bounded partial recall summaries when the hidden memory sub-agent times out, including the default temporary-transcript path, so useful recovered context is not discarded. (#73219) Thanks @joeykrug.
  • +
  • Gateway/memory: add a read-only doctor.memory.remHarness RPC so operator clients can preview bounded REM dreaming output without running mutation paths. (#66673) Thanks @samzong.
  • +
  • Providers/NVIDIA: add the NVIDIA provider with API-key onboarding, setup docs, static catalog metadata, and literal model-ref picker support so NVIDIA hosted models can be selected with their provider prefix intact. (#71204) Thanks @eleqtrizit.
  • +
  • Models: suppress explicitly configured openai-codex/gpt-5.4-mini inline entries so a stale models config written by openclaw doctor --fix cannot bypass the manifest capability block and cause repeated assistant-turn failures when the runtime switches to that model on ChatGPT-backed Codex accounts. Conditional suppressions (e.g. qwen Coding Plan endpoint guards) remain bypassable by explicit user configuration. (#74451) Thanks @0xCyda, @hclsys, and @Marvae.
  • +
  • Added SQLite-backed plugin state store (api.runtime.state.openKeyedStore) for restart-safe keyed registries with TTL, eviction, and automatic plugin isolation. Thanks @amknight.
  • +
  • Plugin SDK: mark remaining legacy alias exports and diffs tool/config aliases with deprecation metadata, and add a guard so future legacy alias comments require @deprecated tags. Thanks @vincentkoc.
  • +
  • CLI/QR/dependencies: internalize small terminal progress and QR wrapper helpers while keeping the real QR encoder dependency direct, reducing the default runtime dependency graph without changing QR output behavior. Thanks @vincentkoc.
  • +
  • Dependencies: refresh workspace runtime, plugin, and tooling packages, including ACP, Pi, AWS SDK, TypeBox, pnpm, oxlint, oxfmt, jsdom, pdfjs, ciao, and tokenjuice, while keeping patched ACP behavior and lint gates current. Thanks @mariozechner.
  • +
  • Gateway/dev: run pnpm gateway:watch through a named tmux session by default, with gateway:watch:raw and OPENCLAW_GATEWAY_WATCH_TMUX=0 for foreground mode, so repeated starts respawn an inspectable watcher without trapping the invoking agent shell. Thanks @vincentkoc.
  • +
  • Gateway/diagnostics: emit an opt-in startup diagnostics timeline that records gateway lifecycle and plugin-load phases behind a config flag, so slow-start diagnosis no longer requires bespoke instrumentation. Thanks @shakkernerd.
  • +
  • Control UI/i18n: extend the locale registry with new Persian (fa), Dutch (nl), Vietnamese (vi), Italian (it), Arabic (ar), and Thai (th) entries and ship fa, nl, vi, and zh-TW docs glossaries, so the docs translation pipeline and the Control UI language picker stay aligned across surfaces. Thanks @vincentkoc.
  • +
  • Channels: add Yuanbao channel docs entrance so the Tencent Yuanbao bot appears in the channel listing and sidebar navigation. (#73443) Thanks @loongfay.
  • +
  • Channels/Yuanbao: update plugin GitHub location to YuanbaoTeam/yuanbao-openclaw-plugin and add "yuanbao" alias to channel catalog. (#74253) Thanks @loongfay.
  • +
  • Docker setup: add OPENCLAW_SKIP_ONBOARDING so automated Docker installs can skip the interactive onboarding step while still applying gateway defaults. (#55518) Thanks @jinjimz.
  • +
  • Security policy: classify media/base64 decode and format-conversion overhead after configured acceptance limits as performance-only for GHSA triage unless a report demonstrates a limit bypass, crash, exhaustion, data exposure, or another boundary bypass. (#74311)
  • +
  • Security/OpenGrep: add a precise OpenGrep rulepack, source-rule compiler, provenance metadata check, and PR/full scan workflows that validate first-party code and rulepack-only changes while uploading SARIF to GitHub Code Scanning. (#69483) Thanks @jesse-merhi.
  • +
+

Fixes

+
    +
  • Providers/OpenAI Codex: preserve existing wrapped Codex streams during OpenAI attribution so PI OAuth bearer injection reaches ChatGPT/Codex Responses, and strip native Codex-only unsupported payload fields without touching custom compatible endpoints. (#75111) Thanks @keshavbotagent.
  • +
  • Agents/tool-result guard: use the resolved runtime context token budget for non-context-engine tool-result overflow checks, so long tool-heavy sessions no longer compact early when contextTokens is larger than native contextWindow. Fixes #74917. Thanks @kAIborg24.
  • +
  • Gateway/systemd: exit with sysexits 78 for supervised lock and EADDRINUSE conflicts so RestartPreventExitStatus=78 stops Restart=always restart loops instead of repeatedly reloading plugins against an occupied port. Fixes #75115. Thanks @yhyatt.
  • +
  • Agents/runtime: skip blank visible user prompts at the embedded-runner boundary before provider submission while still allowing internal runtime-only turns and media-only prompts, so Telegram/group sessions no longer leak raw empty-input provider errors when replay history exists. Fixes #74137. Thanks @yelog, @Gracker, and @nhaener.
  • +
  • Auto-reply/group chats: fall back to automatic source delivery when a channel precomputes message-tool-only replies but the message tool is unavailable, so Discord/Slack-style group turns do not silently complete without a visible reply. Fixes #74868. Thanks @kagura-agent.
  • +
  • Browser/gateway: share one browser control runtime across the HTTP control server and browser.request, and refresh browser profile config from the source snapshot, so CLI status/start honors configured browser.executablePath, headless, and noSandbox instead of falling back to stale auto-detection. Fixes #75087; repairs #73617. Thanks @civiltox and @martingarramon.
  • +
  • Agents/subagents: bound automatic orphan recovery with persisted recovery attempts and a wedged-session tombstone, and teach task maintenance/doctor to reconcile those sessions so restart loops no longer require manual sessions.json surgery. Fixes #74864. Thanks @solosage1.
  • +
  • Gateway/startup: skip pre-bind web-fetch provider discovery for credential-free tools.web.fetch config, so Docker/Kubernetes gateways bind even when optional fetch limits are present. Fixes #74896. Thanks @KoykL.
  • +
  • Infra/tmp: tolerate concurrent temp-dir permission repairs by rechecking directories that another process already tightened, so parallel ACP subprocess startup no longer throws Unsafe fallback OpenClaw temp dir. Fixes #66867. Thanks @Kane808-AI and @jarvisz8.
  • +
  • Signal: match group allowlists against inbound Signal group ids as well as sender ids, and process explicitly configured Signal groups without requiring mentions unless requireMention is set. Fixes #53308. Thanks @minupla and @juan-flores077.
  • +
  • Slack: require bot-authored room messages with allowBots=true to come from an explicitly channel-allowlisted bot or from a room where an explicit Slack owner is present, so broad bot relays cannot run unattended. Fixes #59284. Thanks @andrewhong-translucent.
  • +
  • Signal: bound signal-cli installer release and archive downloads with explicit timeouts, declared and streamed size checks, and partial-file cleanup. Fixes #54153. Thanks @jinduwang1001-max and @juan-flores077.
  • +
  • Signal: derive getAttachment HTTP response caps from channels.signal.mediaMaxMb with base64 headroom, so inbound photos and videos no longer drop behind the 1 MiB RPC default. Fixes #73564. Thanks @heyhudson.
  • +
  • Signal: keep the long-lived receive SSE monitor open while idle instead of applying the 10s RPC/check deadline, so signal-cli 0.14.3 event streams no longer reconnect before inbound messages arrive. Fixes #74741. Thanks @fgabelmannjr and @k7n4n5t3w4rt.
  • +
  • Models/OpenAI Codex: restore openai-codex/gpt-5.4-mini for ChatGPT/Codex OAuth PI runs after live OAuth proof, and align the manifest, forward-compat metadata, docs, and regression tests so stale cron and heartbeat configs resolve again. Fixes #74451. Thanks @0xCyda, @hclsys, and @Marvae.
  • +
  • Memory/runtime-deps: retain the native node-llama-cpp runtime only when local memory search is configured, so packaged installs can repair local embeddings without relying on unreachable global npm installs. Fixes #74777. Thanks @LLagoon3.
  • +
  • Plugins/runtime-deps: replace stale symlinked mirror target roots before writing runtime-mirror temp files and skip rewriting already materialized hardlinks, so cross-version container upgrades no longer crash-loop on read-only image-layer paths while warm mirrors do less churn. Fixes #75108; refs #75069. Thanks @coletebou and @xiaohuaxi.
  • +
  • Plugins/runtime-deps: keep bundled provider policy config loading from staging plugin runtime dependencies, so config reads no longer fail on locked-down /var/lib/openclaw/plugin-runtime-deps directories. Fixes #74971. Thanks @eurojojo.
  • +
  • Plugins/runtime-deps: always write a dependency map in generated runtime-deps install manifests, so npm does not crash or prune staged bundled-plugin packages when the plan is empty. Fixes #74949. Thanks @hclsys.
  • +
  • Security/outbound: strip re-formed HTML tags during plain-text sanitization so nested tag fragments cannot leave a CodeQL-detected