fix(container): update image ghcr.io/openclaw/openclaw ( 2026.3.2 ➔ 2026.3.12 )#574
Merged
Aviator-Coding merged 1 commit intomainfrom Mar 18, 2026
Merged
Conversation
Contributor
Author
--- HelmRelease: ai/openclaw Deployment: ai/openclaw
+++ HelmRelease: ai/openclaw Deployment: ai/openclaw
@@ -160,13 +160,13 @@
echo "Tool installation complete"
echo "brew packages: $(brew list --formula | tr '\n' ' ')"
envFrom:
- secretRef:
name: openclaw-skills-secret
- image: ghcr.io/openclaw/openclaw:2026.3.2
+ image: ghcr.io/openclaw/openclaw:2026.3.12
name: install-tools
resources:
limits:
memory: 4Gi
requests:
cpu: 100m
@@ -279,13 +279,13 @@
value: null
envFrom:
- secretRef:
name: openclaw-secret
- secretRef:
name: openclaw-skills-secret
- image: ghcr.io/openclaw/openclaw:2026.3.2
+ image: ghcr.io/openclaw/openclaw:2026.3.12
livenessProbe:
failureThreshold: 3
httpGet:
path: /healthz
port: 18789
initialDelaySeconds: 10 |
Contributor
Author
--- kubernetes/apps/ai/openclaw/app Kustomization: ai/openclaw HelmRelease: ai/openclaw
+++ kubernetes/apps/ai/openclaw/app Kustomization: ai/openclaw HelmRelease: ai/openclaw
@@ -111,13 +111,13 @@
- secretRef:
name: openclaw-secret
- secretRef:
name: openclaw-skills-secret
image:
repository: ghcr.io/openclaw/openclaw
- tag: 2026.3.2
+ tag: 2026.3.12
probes:
liveness:
custom: true
enabled: true
spec:
failureThreshold: 3
@@ -283,13 +283,13 @@
echo "brew packages: $(brew list --formula | tr '\n' ' ')"
envFrom:
- secretRef:
name: openclaw-skills-secret
image:
repository: ghcr.io/openclaw/openclaw
- tag: 2026.3.2
+ tag: 2026.3.12
resources:
limits:
memory: 4Gi
requests:
cpu: 100m
memory: 256Mi |
deafde1 to
3bf4bbc
Compare
3bf4bbc to
7ade01a
Compare
7ade01a to
d7a8c88
Compare
494774e to
a8a8bec
Compare
a8a8bec to
c3fd856
Compare
406ae5a to
9224fb1
Compare
9224fb1 to
cb2783b
Compare
cb2783b to
d03afba
Compare
Aviator-Coding
approved these changes
Mar 17, 2026
Owner
Aviator-Coding
left a comment
There was a problem hiding this comment.
🤖 Auto-approved: safe container update
d03afba to
4393d61
Compare
…026.3.12 ) | datasource | package | from | to | | ---------- | ------------------------- | -------- | --------- | | docker | ghcr.io/openclaw/openclaw | 2026.3.2 | 2026.3.12 |
4393d61 to
55b64e7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2026.3.2→2026.3.12Release Notes
openclaw/openclaw (ghcr.io/openclaw/openclaw)
v2026.3.12Compare Source
Changes
/fast, TUI, Control UI, and ACP, with per-model config defaults and OpenAI/Codex request shaping./fasttoggle andparams.fastModeto direct Anthropic API-keyservice_tierrequests, with live verification for both Anthropic and OpenAI fast-mode tiers.sessions_yieldso orchestrators can end the current turn immediately, skip queued tool work, and carry a hidden follow-up payload into the next session turn. (#36537) thanks @jriffchannelData.slack.blocksin the shared reply delivery path so agents can send Block Kit messages through standard Slack outbound delivery. (#44592) Thanks @vincentkoc.channels.slack.capabilities.interactiveReplies, disabled by default unless explicitly enabled. (#44607) Thanks @vincentkoc.Fixes
Security/device pairing: switch
/pairandopenclaw qrsetup codes to short-lived bootstrap tokens so the next release no longer embeds shared gateway credentials in chat or QR pairing payloads. Thanks @lintsinghua.Security/plugins: disable implicit workspace plugin auto-load so cloned repositories cannot execute workspace plugin code without an explicit trust decision. (
GHSA-99qw-6mr3-36qr)(#44174) Thanks @lintsinghua and @vincentkoc.Models/Kimi Coding: send
anthropic-messagestools in native Anthropic format again sokimi-codingstops degrading tool calls into XML/plain-text pseudo invocations instead of realtool_useblocks. (#38669, #39907, #40552) Thanks @opriz.TUI/chat log: reuse the active assistant message component for the same streaming run so
openclaw tuino longer renders duplicate assistant replies. (#35364) Thanks @lisitan.Telegram/model picker: make inline model button selections persist the chosen session model correctly, clear overrides when selecting the configured default, and include effective fallback models in
/modelsbutton validation. (#40105) Thanks @avirweb.Cron/proactive delivery: keep isolated direct cron sends out of the write-ahead resend queue so transient-send retries do not replay duplicate proactive messages after restart. (#40646) Thanks @openperf and @vincentkoc.
Models/Kimi Coding: send the built-in
User-Agent: claude-code/0.1.0header by default forkimi-codingwhile still allowing explicit provider headers to override it, so Kimi Code subscription auth can work without a local header-injection proxy. (#30099) Thanks @Amineelfarssi and @vincentkoc.Models/OpenAI Codex Spark: keep
gpt-5.3-codex-sparkworking on theopenai-codex/*path via resolver fallbacks and clearer Codex-only handling, while continuing to suppress the stale directopenai/*Spark row that OpenAI rejects live.Ollama/Kimi Cloud: apply the Moonshot Kimi payload compatibility wrapper to Ollama-hosted Kimi models like
kimi-k2.5:cloud, so tool routing no longer breaks when thinking is enabled. (#41519) Thanks @vincentkoc.Moonshot CN API: respect explicit
baseUrl(api.moonshot.cn) in implicit provider resolution so platform.moonshot.cn API keys authenticate correctly instead of returning HTTP 401. (#33637) Thanks @chengzhichao-xydt.Kimi Coding/provider config: respect explicit
models.providers["kimi-coding"].baseUrlwhen resolving the implicit provider so custom Kimi Coding endpoints no longer get overwritten by the built-in default. (#36353) Thanks @2233admin.Gateway/main-session routing: keep TUI and other
mode:UImain-session sends on the internal surface whendeliveris enabled, so replies no longer inherit the session's persisted Telegram/WhatsApp route. (#43918) Thanks @obviyus.BlueBubbles/self-chat echo dedupe: drop reflected duplicate webhook copies only when a matching
fromMeevent was just seen for the same chat, body, and timestamp, preventing self-chat loops without broad webhook suppression. Related to #32166. (#38442) Thanks @vincentkoc.iMessage/self-chat echo dedupe: drop reflected duplicate copies only when a matching
is_from_meevent was just seen for the same chat, text, andcreated_at, preventing self-chat loops without broad text-only suppression. Related to #32166. (#38440) Thanks @vincentkoc.Subagents/completion announce retries: raise the default announce timeout to 90 seconds and stop retrying gateway-timeout failures for externally delivered completion announces, preventing duplicate user-facing completion messages after slow gateway responses. Fixes #41235. Thanks @vasujain00 and @vincentkoc.
Mattermost/block streaming: fix duplicate message delivery (one threaded, one top-level) when block streaming is active by excluding
replyToIdfrom the block reply dedup key and adding an explicitthreadingdock to the Mattermost plugin. (#41362) Thanks @mathiasnagler and @vincentkoc.Mattermost/reply media delivery: pass agent-scoped
mediaLocalRootsthrough shared reply delivery so allowed local files upload correctly from button, slash-command, and model-picker replies. (#44021) Thanks @LyleLiu666.macOS/Reminders: add the missing
NSRemindersUsageDescriptionto the bundled app soapple-reminderscan trigger the system permission prompt from OpenClaw.app. (#8559) Thanks @dinakars777.Gateway/session discovery: discover disk-only and retired ACP session stores under custom templated
session.storeroots so ACP reconciliation, session-id/session-label targeting, and run-id fallback keep working after restart. (#44176) thanks @gumadeiras.Plugins/env-scoped roots: fix plugin discovery/load caches and provenance tracking so same-process
HOME/OPENCLAW_HOMEchanges no longer reuse stale plugin state or misreport~/...plugins as untracked. (#44046) thanks @gumadeiras.Models/OpenRouter native ids: canonicalize native OpenRouter model keys across config writes, runtime lookups, fallback management, and
models list --plain, and migrate legacy duplicatedopenrouter/openrouter/...config entries forward on write.Windows/native update: make package installs use the npm update path instead of the git path, carry portable Git into native Windows updates, and mirror the installer's Windows npm env so
openclaw updateno longer dies early on missinggitornode-llama-cppdownload setup.Sandbox/write: preserve pinned mutation-helper payload stdin so sandboxed
writeno longer reports success while creating empty files. (#43876) Thanks @glitch418x.Security/exec approvals: escape invisible Unicode format characters in approval prompts so zero-width command text renders as visible
\u{...}escapes instead of spoofing the reviewed command. (GHSA-pcqg-f7rg-xfvv)(#43687) Thanks @EkiXu and @vincentkoc.Hooks/loader: fail closed when workspace hook paths cannot be resolved with
realpath, so unreadable or broken internal hook paths are skipped instead of falling back to unresolved imports. (#44437) Thanks @vincentkoc.Hooks/agent deliveries: dedupe repeated hook requests by optional idempotency key so webhook retries can reuse the first run instead of launching duplicate agent executions. (#44438) Thanks @vincentkoc.
Security/exec detection: normalize compatibility Unicode and strip invisible formatting code points before obfuscation checks so zero-width and fullwidth command tricks no longer suppress heuristic detection. (
GHSA-9r3v-37xh-2cf6)(#44091) Thanks @wooluo and @vincentkoc.Security/exec allowlist: preserve POSIX case sensitivity and keep
?within a single path segment so exact-looking allowlist patterns no longer overmatch executables across case or directory boundaries. (GHSA-f8r2-vg7x-gh8m)(#43798) Thanks @zpbrent and @vincentkoc.Security/commands: require sender ownership for
/configand/debugso authorized non-owner senders can no longer reach owner-only config and runtime debug surfaces. (GHSA-r7vr-gr74-94p8)(#44305) Thanks @tdjackey and @vincentkoc.Security/gateway auth: clear unbound client-declared scopes on shared-token WebSocket connects so device-less shared-token operators cannot self-declare elevated scopes. (
GHSA-rqpp-rjj8-7wv8)(#44306) Thanks @LUOYEcode and @vincentkoc.Security/browser.request: block persistent browser profile create/delete routes from write-scoped
browser.requestso callers can no longer persist admin-only browser profile changes through the browser control surface. (GHSA-vmhq-cqm9-6p7q)(#43800) Thanks @tdjackey and @vincentkoc.Security/agent: reject public spawned-run lineage fields and keep workspace inheritance on the internal spawned-session path so external
agentcallers can no longer override the gateway workspace boundary. (GHSA-2rqg-gjgv-84jm)(#43801) Thanks @tdjackey and @vincentkoc.Security/session_status: enforce sandbox session-tree visibility and shared agent-to-agent access guards before reading or mutating target session state, so sandboxed subagents can no longer inspect parent session metadata or write parent model overrides via
session_status. (GHSA-wcxr-59v9-rxr8)(#43754) Thanks @tdjackey and @vincentkoc.Security/agent tools: mark
nodesas explicitly owner-only and document/test thatcanvasremains a shared trusted-operator surface unless a real boundary bypass exists.Security/exec approvals: fail closed for Ruby approval flows that use
-r,--require, or-Iso approval-backed commands no longer bind only the main script while extra local code-loading flags remain outside the reviewed file snapshot.Security/device pairing: cap issued and verified device-token scopes to each paired device's approved scope baseline so stale or overbroad tokens cannot exceed approved access. (
GHSA-2pwv-x786-56f8)(#43686) Thanks @tdjackey and @vincentkoc.Docs/onboarding: align the legacy wizard reference and
openclaw onboardcommand docs with the Ollama onboarding flow so all onboarding reference paths now document--auth-choice ollama, Cloud + Local mode, and non-interactive usage. (#43473) Thanks @BruceMacD.Models/secrets: enforce source-managed SecretRef markers in generated
models.jsonso runtime-resolved provider secrets are not persisted when runtime projection is skipped. (#43759) Thanks @joshavant.Security/WebSocket preauth: shorten unauthenticated handshake retention and reject oversized pre-auth frames before application-layer parsing to reduce pre-pairing exposure on unsupported public deployments. (
GHSA-jv4g-m82p-2j93)(#44089) (GHSA-xwx2-ppv2-wx98)(#44089) Thanks @ez-lbz and @vincentkoc.Security/proxy attachments: restore the shared media-store size cap for persisted browser proxy files so oversized payloads are rejected instead of overriding the intended 5 MB limit. (
GHSA-6rph-mmhp-h7h9)(#43684) Thanks @tdjackey and @vincentkoc.Security/host env: block inherited
GIT_EXEC_PATHfrom sanitized host exec environments so Git helper resolution cannot be steered by host environment state. (GHSA-jf5v-pqgw-gm5m)(#43685) Thanks @zpbrent and @vincentkoc.Security/Feishu webhook: require
encryptKeyalongsideverificationTokenin webhook mode so unsigned forged events are rejected instead of being processed with token-only configuration. (GHSA-g353-mgv3-8pcj)(#44087) Thanks @lintsinghua and @vincentkoc.Security/Feishu reactions: preserve looked-up group chat typing and fail closed on ambiguous reaction context so group authorization and mention gating cannot be bypassed through synthetic
p2preactions. (GHSA-m69h-jm2f-2pv8)(#44088) Thanks @zpbrent and @vincentkoc.Security/LINE webhook: require signatures for empty-event POST probes too so unsigned requests no longer confirm webhook reachability with a
200response. (GHSA-mhxh-9pjm-w7q5)(#44090) Thanks @TerminalsandCoffee and @vincentkoc.Security/Zalo webhook: rate limit invalid secret guesses before auth so weak webhook secrets cannot be brute-forced through unauthenticated churned requests without pre-auth
429responses. (GHSA-5m9r-p9g7-679c)(#44173) Thanks @zpbrent and @vincentkoc.Security/Zalouser groups: require stable group IDs for allowlist auth by default and gate mutable group-name matching behind
channels.zalouser.dangerouslyAllowNameMatching. Thanks @zpbrent.Security/Slack and Teams routing: require stable channel and team IDs for allowlist routing by default, with mutable name matching only via each channel's
dangerouslyAllowNameMatchingbreak-glass flag.Security/exec approvals: fail closed for ambiguous inline loader and shell-payload script execution, bind the real script after POSIX shell value-taking flags, and unwrap
pnpm/npm exec/npxscript runners before approval binding. (GHSA-57jw-9722-6rf2)(GHSA-jvqh-rfmh-jh27)(GHSA-x7pp-23xv-mmr4)(GHSA-jc5j-vg4r-j5jx)(#44247) Thanks @tdjackey and @vincentkoc.Doctor/gateway service audit: canonicalize service entrypoint paths before comparing them so symlink-vs-realpath installs no longer trigger false "entrypoint does not match the current install" repair prompts. (#43882) Thanks @ngutman.
Doctor/gateway service audit: earlier groundwork for this fix landed in the superseded #28338 branch. Thanks @realriphub.
Gateway/session stores: regenerate the Swift push-test protocol models and align Windows native session-store realpath handling so protocol checks and sync session discovery stop drifting on Windows. (#44266) thanks @jalehman.
Context engine/session routing: forward optional
sessionKeythrough context-engine lifecycle calls so plugins can see structured routing metadata during bootstrap, assembly, post-turn ingestion, and compaction. (#44157) thanks @jalehman.Agents/failover: classify z.ai
network_errorstop reasons as retryable timeouts so provider connectivity failures trigger fallback instead of surfacing raw unhandled-stop-reason errors. (#43884) Thanks @hougangdev.Config/Anthropic startup: inline Anthropic alias normalization during config load so gateway startup no longer crashes on dated Anthropic model refs like
anthropic/claude-sonnet-4-20250514. (#45520) Thanks @BunsDev.Memory/session sync: add mode-aware post-compaction session reindexing with
agents.defaults.compaction.postIndexSyncplusagents.defaults.memorySearch.sync.sessions.postCompactionForce, so compacted session memory can refresh immediately without forcing every deployment into synchronous reindexing. (#25561) thanks @rodrigouroz.Telegram/model picker: make inline model button selections persist the chosen session model correctly, clear overrides when selecting the configured default, and include effective fallback models in
/modelsbutton validation. (#40105) Thanks @avirweb.Telegram/native command sync: suppress expected
BOT_COMMANDS_TOO_MUCHretry error noise, add a final fallback summary log, and document the difference between command-menu overflow and real Telegram network failures.Mattermost/reply media delivery: pass agent-scoped
mediaLocalRootsthrough shared reply delivery so allowed local files upload correctly from button, slash-command, and model-picker replies. (#44021) Thanks @LyleLiu666.Plugins/env-scoped roots: fix plugin discovery/load caches and provenance tracking so same-process
HOME/OPENCLAW_HOMEchanges no longer reuse stale plugin state or misreport~/...plugins as untracked. (#44046) thanks @gumadeiras.Gateway/session discovery: discover disk-only and retired ACP session stores under custom templated
session.storeroots so ACP reconciliation, session-id/session-label targeting, and run-id fallback keep working after restart. (#44176) thanks @gumadeiras.Browser/existing-session: stop reporting fake CDP ports/URLs for live attached Chrome sessions, render
transport: chrome-mcpin CLI/status output instead ofport: 0, and keep timeout diagnostics transport-aware when no direct CDP URL exists.Models/OpenRouter native ids: canonicalize native OpenRouter model keys across config writes, runtime lookups, fallback management, and
models list --plain, and migrate legacy duplicatedopenrouter/openrouter/...config entries forward on write.Feishu/event dedupe: keep early duplicate suppression aligned with the shared Feishu message-id contract and release the pre-queue dedupe marker after failed dispatch so retried events can recover instead of being dropped until the short TTL expires. (#43762) Thanks @yunweibang.
Gateway/hooks: bucket hook auth failures by forwarded client IP behind trusted proxies and warn when
hooks.allowedAgentIdsleaves hook routing unrestricted.Agents/compaction: skip the post-compaction
cache-ttlmarker write when a compaction completed in the same attempt, preventing the next turn from immediately triggering a second tiny compaction. (#28548) thanks @MoerAI.Native chat/macOS: add
/new,/reset, and/clearreset triggers, keep shared main-session aliases aligned, and ignore stale model-selection completions so native chat state stays in sync across reset and fast model changes. (#10898) Thanks @Nachx639.Agents/compaction safeguard: route missing-model and missing-API-key cancellation warnings through the shared subsystem logger so they land in structured and file logs. (#9974) Thanks @dinakars777.
Cron/doctor: stop flagging canonical
agentTurnandsystemEventpayload kinds as legacy cron storage, while still normalizing whitespace-padded and non-canonical variants. (#44012) Thanks @shuicici.ACP/client final-message delivery: preserve terminal assistant text snapshots before resolving
end_turn, so ACP clients no longer drop the last visible reply when the gateway sends the final message body on the terminal chat event. (#17615) Thanks @pjeby.Telegram/Discord status reactions: show a temporary compacting reaction during auto-compaction pauses and restore thinking afterward so the bot no longer appears frozen while context is being compacted. (#35474) thanks @Cypherm.
Delivery/dedupe: trim completed direct-cron delivery cache correctly and keep mirrored transcript dedupe active even when transcript files contain malformed lines. (#44666) thanks @frankekn.
CLI/thinking help: add the missing
xhighlevel hints toopenclaw cron add,openclaw cron edit, andopenclaw agentso the help text matches the levels already accepted at runtime. (#44819) Thanks @kiki830621.Agents/Anthropic replay: drop replayed assistant thinking blocks for native Anthropic and Bedrock Claude providers so persisted follow-up turns no longer fail on stored thinking blocks. (#44843) Thanks @jmcte.
Docs/Brave pricing: escape literal dollar signs in Brave Search cost text so the docs render the free credit and per-request pricing correctly. (#44989) Thanks @keelanfh.
Feishu/file uploads: preserve literal UTF-8 filenames in
im.file.createso Chinese and other non-ASCII filenames no longer appear percent-encoded in chat. (#34262) Thanks @fabiaodemianyang and @KangShuaiFu.Agents/compaction safeguard: trim large kept
toolResultpayloads consistently for budgeting, pruning, and identifier seeding, then restore preserved payloads after prune so oversized safeguard summaries stay stable. (#44133) thanks @SayrWolfridge.Agents/compaction: compare post-compaction token sanity checks against full-session pre-compaction totals and skip the check when token estimation fails, so sessions with large bootstrap context keep real token counts instead of falling back to unknown. (#28347) thanks @efe-arv.
Discord/gateway startup: treat plain-text and transient
/gateway/botmetadata fetch failures as transient startup errors so Discord gateway boot no longer crashes on unhandled rejections. (#44397) Thanks @jalehman.Agents/Ollama overflow: rewrite Ollama
prompt too longAPI payloads through the normal context-overflow sanitizer so embedded sessions keep the friendly overflow copy and auto-compaction trigger. (#34019) thanks @lishuaigit.Control UI/auth: restore one-time legacy
?token=imports for shared Control UI links while keeping#token=preferred, and carry pending query tokens through gateway URL confirmation so compatibility links still authenticate after confirmation. (#43979) Thanks @stim64045-spec.Plugins/context engines: retry legacy lifecycle calls once without
sessionKeywhen older plugins reject that field, memoize legacy mode after the first strict-schema fallback, and preserve non-compat runtime errors without retry. (#44779) thanks @hhhhao28.v2026.3.11Compare Source
Security
trusted-proxymode that could grant untrusted originsoperator.adminaccess. (GHSA-5wcw-8jjv-m286)Changes
iossession. (#42456) Thanks @ngutman.opencode-gocatalog routing. (#42313) Thanks @ImLukeF and @vincentkoc.memorySearch.extraPathswith Geminigemini-embedding-2-preview, strict fallback gating, and scope-based reindexing. (#43460) Thanks @gumadeiras.gemini-embedding-2-previewmemory-search support with configurable output dimensions and automatic reindexing when the configured dimensions change. (#42501) Thanks @BillChirico and @gumadeiras.autoArchiveDurationchannel config for auto-created threads so Discord thread archiving can stay at 1 hour, 1 day, 3 days, or 1 week instead of always using the 1-hour default. (#35065) Thanks @davidguttman.resumeSessionIdforruntime: "acp"so spawned ACP sessions can resume an existing ACPX/Codex conversation instead of always starting fresh. (#41847) Thanks @pejmanjohn.node.pending.enqueue/node.pending.drain) and wake-helper reuse as a foundation for dormant-node work delivery. (#41409) Thanks @mbelinky..dev-statefile so local runtime state does not show up as untracked repo noise. (#41848) Thanks @smysle.OPENCLAW_CLIso subprocesses can detect when they were launched from the OpenClaw CLI. (#41411) Thanks @vincentkoc.thinkingoverride so workflow calls can explicitly set embedded reasoning level with shared validation for invalid values and unsupportedxhighmodes. (#15606) Thanks @xadenryan and @ImLukeF.channels.mattermost.replyToModefor channel and group messages so top-level posts can start thread-scoped sessions without the manual reply-then-thread workaround. (#29587) Thanks @teconomix.Breaking
openclaw doctor --fixmigration for legacy cron storage and legacy notify/webhook delivery metadata. (#40998) Thanks @mbelinky.Fixes
node-llama-cppduring normal npm CLI installs soopenclaw@latestno longer fails on Windows while building optional local-embedding dependencies.openclaw updateworks again on native Windows installs.runtimeVersionin gateway status output so install/update smoke tests can verify the running version before and after updates.openclaw gateway installand--install-daemonkeep working without an elevated PowerShell shell.<|...|>and full-width<|...|>variants) from user-facing assistant text, preventing GLM-5 and DeepSeek internal delimiters from reaching end users. (#42173) Thanks @imwyvern.maxLinesPerMessageconfig across live reply paths and preservechunkModein the fast send path so long Discord replies no longer split unexpectedly at the default 17-line limit. (#40133) thanks @rbutera.mediaLocalRootsthrough thesendTextlocal-image shim so allowed local image paths upload as Feishu images again instead of falling back to raw path text. (#40623) Thanks @ayanesakura.anthropic-messagestools in native Anthropic format again sokimi-codingstops degrading tool calls into XML/plain-text pseudo invocations instead of realtool_useblocks. (#38669, #39907, #40552) Thanks @opriz.message_idfinals only when a preview was already visible, while first-preview/no-id cases still fall back so Telegram users do not lose the final reply. (#41932) thanks @hougangdev.getUpdatesfailures so unrelated network errors, such as Slack DNS misses, no longer bounce Telegram polling. (#43799) Thanks @obviyus.config.set,config.patch, andconfig.applyerror messages while preserving structured issue details. (#42664) Thanks @huntharo.azure-openaiprovider in the Responses API store override so Azure OpenAI multi-turn cron jobs and embedded agent runs no longer fail with HTTP 400 "store is set to false". (#42934, fixes #42800) Thanks @ademczuk.errorMessagefields on successful turns so background/tool-side failures no longer prepend synthetic billing errors over valid replies. (#40616) Thanks @ingyukoh.402 Insufficient USD or Diem balancebilling errors so configured model fallbacks trigger instead of surfacing the raw provider error. (#43205) Thanks @Squabble9.402 You've used up your points!billing errors so configured model fallbacks trigger instead of surfacing the raw provider error. (#42278) Thanks @CryUshio.MALFORMED_RESPONSEstop reasons as retryable timeouts so preview-model enum drift falls back cleanly instead of crashing the run, without also reclassifying malformed function-call errors. (#42292) Thanks @jnMetaCode.unknowninstead ofrate_limit, avoiding false API rate-limit warnings while preserving cooldown recovery probes. (#42911) Thanks @VibhorGautam.memoryFlushWritePaththroughrunEmbeddedPiAgentso memory-triggered flush turns keep the append-only write guard without aborting before tool setup. Follows up on #38574. (#41761) Thanks @frankekn.llm-contextgrounding snippets as plain strings soweb_searchno longer returns empty snippet arrays in LLM Context mode. (#41387) thanks @zheliu2.message.annotationswhen chat-completions responses omit top-level citations. (#40881) Thanks @laurieluo.skills list --json,skills info --json, andskills check --jsonso machine-readable output stays valid for terminals and skill metadata with embedded control characters. Fixes #27530. Related #27557. Thanks @Jimmy-xuzimo and @vincentkoc.openclaw skillsstop rendering mojibake under GBK/936 consoles. Fixes #40853. Related #41015. Thanks @ApacheBin and @vincentkoc.NO_PROXYbypasses, so resolver-scoped IPv4 fallback and network settings work consistently for env-proxied Telegram traffic. (#40740) Thanks @sircrumpet.replyTofallback handling so threaded plugin sends trim blank IDs and reuse the correct reply target again. (#41176) Thanks @hnykda.channelData.team.idmatching works for team and team/channel allowlist entries. (#41838) Thanks @BradGroux.channels.signal.accountUuidin strict config validation so loop-protection configs no longer fail with an unrecognized-key error. (#35578) Thanks @ingyukoh.channels.telegram.actions.editMessageandcreateForumTopicin strict config validation so existing Telegram action toggles no longer fail as unrecognized keys. (#35498) Thanks @ingyukoh.channels.telegram.groupsallowlists chats whilegroupAllowFromallowlists users inside those chats, and point invalid negative chat IDs at the right config key. (#42451) Thanks @altaywtf.autoThreadon the canonical guild-channel config type so strict config loading matches the existing Discord schema and runtime behavior. (#35608) Thanks @ingyukoh.MODELSTUDIO_API_KEYthrough shared env auth, implicit provider discovery, and shell-env fallback so onboarding works outside the wizard too. (#40634) Thanks @pomelo-nwu.*Filesecret inputs and rejecting symlink-backed secret files.tar.bz2installs against destination symlink and pre-existing child-symlink escapes by extracting into staging first and merging into the canonical destination with safe file opens.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Renovate Bot.