mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 01:29:56 +00:00
* refactor: split release changelogs and synchronize docs mirrors * fix: complete split changelog instructions and validation wiring * fix: complete release changelog mirror integration Regenerate existing docs mirrors within the docs-agent publication boundary, preserve one HTML release heading, and package links for oversized mirrors without changing frozen records. Update release publisher and test-routing fixtures for the shared changelog resolver. * test: align docs agent Git ownership fixtures Keep failure injection aligned with staged-index validation and mirror staging. Preserve native Git producer exit codes and verify both cached-index producers without weakening process-drain assertions. --------- Co-authored-by: Peter Steinberger <steipete@gmail.com>
5.8 KiB
5.8 KiB
2026.4.1
Changes
- macOS/Voice Wake: add the Voice Wake option to trigger Talk Mode. (#58490) Thanks @SmoothExec.
- Tasks/chat: add
/tasksas a chat-native background task board for the current session, with recent task details and agent-local fallback counts when no linked tasks are visible. Related #54226. Thanks @vincentkoc. - Web search/SearXNG: add the bundled SearXNG provider plugin for
web_searchwith configurable host support. (#57317) Thanks @cgdusek. - Telegram/errors: add configurable
errorPolicyanderrorCooldownMscontrols so Telegram can suppress repeated delivery errors per account, chat, and topic without muting distinct failures. (#51914) Thanks @chinar-amrutkar - Gateway/webchat: make
chat.historytext truncation configurable withgateway.webchat.chatHistoryMaxCharsand per-requestmaxChars, while preserving silent-reply filtering and existing default payload limits. (#58900) - Amazon Bedrock/Guardrails: add Bedrock Guardrails support to the bundled provider. (#58588) Thanks @MikeORed.
- ZAI/models: add
glm-5.1andglm-5v-turboto the bundled Z.AI provider catalog. (#58793) Thanks @tomsun28 - Agents/default params: add
agents.defaults.paramsfor global default provider parameters. (#58548) Thanks @lpender. - Agents/failover: cap prompt-side and assistant-side same-provider auth-profile retries for rate-limit failures before cross-provider model fallback, add the
auth.cooldowns.rateLimitedProfileRotationsknob, and document the new fallback behavior. (#58707) Thanks @Forgely3D - Agents/compaction: resolve
agents.defaults.compaction.modelconsistently for manual/compactand other context-engine compaction paths, so engine-owned compaction uses the configured override model across runtime entrypoints. (#56710) Thanks @oliviareid-svg - Cron/tools allowlist: add
openclaw cron --toolsfor per-job tool allowlists. (#58504) Thanks @andyk-ms.
Fixes
- Chat/error replies: stop leaking raw provider/runtime failures into external chat channels, return a friendly retry message instead, and add a specific
/newhint for Bedrock toolResult/toolUse session mismatches. (#58831) Thanks @ImLukeF. - Sessions/model switching: keep
/modelchanges queued behind busy runs instead of interrupting the active turn, and retarget queued followups so later work picks up the new model as soon as the current turn finishes. - Web UI/OpenResponses: preserve rewritten stream snapshots in webchat and keep OpenResponses final streamed text aligned when models rewind earlier output. (#58641) Thanks @neeravmakwana
- Discord/inbound media: pass Discord attachment and sticker downloads through the shared idle-timeout and worker-abort path so slow or stuck inbound media fetches stop hanging message processing. (#58593) Thanks @aquaright1
- Telegram/retries: keep non-idempotent sends on the strict safe-send path, retry wrapped pre-connect failures, and preserve
429/retry_afterbackoff for safe delivery retries. (#51895) Thanks @chinar-amrutkar - Telegram/exec approvals: route topic-aware exec approval followups through Telegram-owned threading and approval-target parsing, so forum-topic approvals stay in the originating topic instead of falling back to the root chat. (#58783).
- Telegram/local Bot API: preserve media MIME types for absolute-path downloads so local audio files still trigger transcription and other MIME-based handling. (#54603) Thanks @jzakirov
- Channels/WhatsApp: pass inbound message timestamp to model context so the AI can see when WhatsApp messages were sent. (#58590) Thanks @Maninae
- QQBot/voice: lazy-load
silk-wasminaudio-convert.tsso qqbot still starts when the optional voice dependency is missing, while voice encode/decode degrades gracefully instead of crashing at module load time. (#58829) Thanks @WideLee. - WhatsApp/groups: fix bot waking up on self-number quoted replies in groups with
selfChatModeenabled. (#60148) Thanks @lurebat - Device pairing: require
operator.pairingoroperator.adminfor internal/pairsetup-code, QR, and cleanup commands so lower-privilege gateway callers cannot mint or revoke pairing bootstrap material. (#60491) Thanks @eleqtrizit. - Agents/failover: unify structured and raw provider error classification so provider-specific
400/422payloads no longer get forced into generic format failures before retry, billing, or compaction logic can inspect them. (#58856) Thanks @aaron-he-zhu. - Auth profiles/store: coerce misplaced SecretRef objects out of plaintext
keyandtokenfields during store load so agents without ACP runtime stop crashing on.trim()after upgrade. (#58923) Thanks @openperf. - ACPX/runtime: repair
queue owner unavailablesession recovery by replacing dead named sessions and resuming the backend session when ACPX exposes a stable session id, so the first ACP prompt no longer inherits a dead handle. (#58669) Thanks @neeravmakwana - ACPX/runtime: retry dead-session queue-owner repair without
--resume-sessionwhen the reported ACPX session id is stale, so recovery still creates a fresh named session instead of failing session init. Thanks @obviyus. - Tools/web_search (Kimi): replay native Moonshot
$web_searcharguments verbatim, disable thinking forkimi-k2.5, and add Moonshot region/model setup prompts so bundled Kimi web search works again. (#59356) Thanks @Innocent-children. - Auth/OpenAI Codex: persist plugin-refreshed OAuth credentials to
auth-profiles.jsonbefore returning them, so rotated Codex refresh tokens survive restart and stop falling intorefresh_token_reusedloops. (#53082) Thanks @hxy91819. - Discord/gateway: hand reconnect ownership back to Carbon, keep runtime status aligned with close/reconnect state, and force-stop sockets that open without reaching READY so Discord monitors recover promptly instead of waiting on stale health timeouts. (#59019) Thanks @obviyus