The security lens for v2026.3.2 is its trust boundary. The official record describes an access, approval, or trust-boundary change; this reading keeps the exact tag visible and turns the source bullets into checks an operator can actually repeat.
Treat this as a stable maintenance checkpoint and keep the release record beside the backup and rollback evidence. A release tag describes the project change. Your Gateway's provider, channel, platform, and account support should be recorded separately.
Channel
Stable
Primary signals
Secrets/SecretRef coverage; Tools/PDF analysis; Outbound adapters/plugins
Publication date
2026-03-03
Boundary review
Secrets/SecretRef coverage
What changed. expand SecretRef support across the full supported user-supplied credential surface (64 targets total), including runtime collectors, openclaw secrets planning/apply/audit flows, onboarding SecretInput UX, and related docs; unresolved refs now fail fast on active surfaces while inactive surfaces report non-blocking diagnostics.
Check it with. Before widening access for Secrets/SecretRef coverage, replay a narrow allow and deny case. A readable denial and a revoked test credential are part of the acceptance record.
Tools/PDF analysis
What changed. add a first-class pdf tool with native Anthropic and Google PDF provider support, extraction fallback for non-native models, configurable defaults (agents.defaults.pdfModel, pdfMaxBytesMb, pdfMaxPages), and docs/tests covering routing, validation, and registration.
Check it with. Use Tools/PDF analysis 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.
Outbound adapters/plugins
What changed. add shared sendPayload support across direct-text-media, Discord, Slack, WhatsApp, Zalo, and Zalouser with multi-media iteration and chunk-aware text fallback.
Check it with. Use Outbound adapters/plugins 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.
Plugin command/runtime hardening
What changed. validate and normalize plugin command name/description at registration boundaries, and guard Telegram native menu normalization paths so malformed plugin command specs cannot crash startup (trim on undefined). Fixes #31944.
Check it with. The operator question around Plugin command/runtime hardening is where the reply lands after a restart. Record the conversation identifiers before testing and compare them after the channel is healthy again.
What the implementation list adds
Telegram
guard duplicate-token checks and gateway startup token normalization when account tokens are missing, preventing token.trim() crashes during status/start flows.
Telegram 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.
Operator checklist before rollout
- Before touching persistent state, capture the version, host, provider, and workspace for Secrets/SecretRef coverage.
- Read the linked release record and verify a backup whenever the change can alter configuration or session data.
- Interrupt one delivery after admission, reconnect the transport, and compare the final reply with the original conversation.
- Force a short transport interruption and verify that retry or recovery preserves the original thread and sender.
- Close the test with the evidence attached, and do not widen the rollout while a behavior remains unexplained.
openclaw --version
openclaw gateway status
openclaw security audit
Keep the source trail attached
Close the loop with an explicit next action: keep the candidate isolated, proceed with the staged upgrade, or stop and investigate. Do not treat a green install as proof that the runtime path is correct.
Regression cases from the source
Plugin command/runtime hardening. validate and normalize plugin command name/description at registration boundaries, and guard Telegram native menu normalization paths so malformed plugin command specs cannot crash startup (trim on undefined). Fixes #31944. Treat the fix as a boundary condition and retain the source wording beside your local result.
Telegram. guard duplicate-token checks and gateway startup token normalization when account tokens are missing, preventing token.trim() crashes during status/start flows. Keep the reproduction and the post-fix result together in the acceptance record.
This page is a practical reading of the v2026.3.2 source record; the release index and Gateway security guide remain the references to use for migrations and support boundaries.
Reference Trail
Sources and further reading
- v2026.3.2 source recordgithub.com
- release indexgithub.com
- Gateway security guidedocs.openclaw.ai