v2026.4.25 arrived on 2026-04-27 with a change that matters during maintenance: opentelemetry coverage expands across model calls, token. The page is a researched reading note from the official release record, with a test path for a real Gateway.
The tag is stable, but the direct notes still define its migrations, corrections, and package-specific limits. Support still depends on the provider, channel, platform, and account behind the installation, so check those boundaries before extrapolating from the tag.
Channel
Stable
Primary signals
Voice replies get a full TTS upgrade; Plugin startup and install paths move; OpenTelemetry coverage expands
Publication date
2026-04-27
Before the package changes
Voice replies get a full TTS upgrade
What changed. /tts latest, chat-scoped auto-TTS controls, personas, per-agent/per-account overrides, and new Azure Speech, Xiaomi, Local CLI, Inworld, Volcengine, and ElevenLabs v3 provider coverage.
Check it with. The safe reading of Voice replies get a full TTS upgrade is operational: prove the model can answer the intended task, then force a bounded failure and verify that no side effect is repeated.
Plugin startup and install paths move to the cold
What changed. Plugin startup and install paths move to the cold persisted registry, cutting broad manifest scans while making plugin update, repair, provider discovery, and install metadata more deterministic.
Check it with. Check Plugin startup and install paths move to the cold with a known prompt and a disposable account. Save the selected route, reasoning setting, latency, and refusal or fallback result so another operator can reproduce it.
OpenTelemetry coverage expands across model calls, token
What changed. OpenTelemetry coverage expands across model calls, token usage, tool loops, harness runs, exec processes, outbound delivery, context assembly, and memory pressure with bounded low-cardinality attributes.
Check it with. Use OpenTelemetry coverage expands across model calls, token as a routing test: capture the destination before the send, interrupt the transport, and verify that retry logic did not duplicate or redirect the response.
Browser automation gets safer tab URLs, iframe-aware
What changed. Browser automation gets safer tab URLs, iframe-aware role snapshots, CDP readiness tuning, headless one-shot launch, and deeper browser doctor probes for slow hosts.
Check it with. A successful click does not establish Browser automation gets safer tab URLs, iframe-aware. Compare the state before and after a reload, then verify that a user can tell what happened without reading internal logs.
Details behind the headline
Control UI and setup flows add PWA/Web Push support
Control UI and setup flows add PWA/Web Push support, Crestodian first-run repair, TUI setup, context mode selection, and a shorter startup greeting.
Test Control UI and setup flows add PWA/Web Push support at the edges of the interface: clean start, reload, reconnect, and a refused or unavailable action. Keep the final screen and error message with the release note.
TTS/WhatsApp
add /tts latest read-aloud support with duplicate suppression and /tts chat on|off|default session-scoped auto-TTS overrides, completing the on-demand voice-note UX for current-chat replies. Fixes #66032.
For TTS/WhatsApp, delivery is only proven when identity survives an interruption. Keep a disposable channel, send one request, and check for a single reply in the intended thread.
TTS/channels
resolve channel and account TTS overrides generically, enabling Feishu and QQBot accounts to deep-merge channels.<channel>.accounts.<id>.tts over global and per-agent TTS config.
TTS/channels lives at the handoff between the Gateway and a conversation. Send one harmless message, reconnect once, and compare the account, thread, sender, and final transcript.
Test this release without widening the boundary
- Note the current version, host, provider, and workspace before exercising Voice replies get a full TTS upgrade.
- Keep a tested backup beside the release record if the update can touch configuration, sessions, or a database.
- Send one harmless message through the named account and save the account, thread, and sender identifiers.
- Compare the transcript before and after reconnect, including delivery state and any visible error.
- Stop if the observed behavior falls outside the official note, and link the log or screenshot to the version record.
openclaw --version
openclaw gateway status
openclaw models
Record what the release actually changed
Keep the version, source URL, test identity, and rollback decision together. If this tag is pre-release, leave it isolated; if it is stable, record the migration and rollback result before reconnecting every channel.
Corrections worth replaying
Auto-reply. poison inbound message dedupe after replay-unsafe provider/runtime failures so retries stay safe before visible progress but cannot duplicate messages after block output, tool side effects, or session progress. Fixes #69303; keeps #58549 and #64606 as duplicate validation. Keep the reproduction and the post-fix result together in the acceptance record.
Logging/sessions. apply configured redaction patterns to persisted session transcript text and accept escaped character classes in safe custom redaction regexes, so transcript JSONL no longer keeps matching sensitive text in the clear. Fixes #42982. Record the failure that this correction addresses before declaring the upgrade complete.
Use the complete OpenClaw v2026.4.25 release notes for the exact change list, then cross-check the official release index and the model provider reference before acting.
Reference Trail
Sources and further reading
- complete OpenClaw v2026.4.25 release notesgithub.com
- official release indexgithub.com
- model provider referencedocs.openclaw.ai