46 wires and counting

$ follow OpenClaw

Keep up with OpenClaw in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-05-15
stories 110

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

OpenClaw centralizes provider drift policy and hardens config repair forensics

By RepoJournal · Filed · About OpenClaw

Provider drift classification is now a shared policy across live tests, plus a config-repair fix closes a gap where the latest broken config copy was silently dropped.

OpenClaw consolidated its live-test provider drift classification for auth, billing, rate-limit, timeout, model-not-found, and transient provider-unavailable cases into one shared policy [1]. The same pull request splits cache live direct-model resolution into a stable single-fixture API and an explicit key-pool API for Anthropic retry rotation, and updates the live model, gateway model, CLI backend, and cache regression lanes to use the shared policy [1].

When OpenClaw repairs a broken config, it saves the broken version for operators to inspect, but on hosts with many past repairs it could hit the saved-copy limit and stop saving the latest broken version [2]. This change keeps rotating clobber snapshots at the cap, so the forensic copy of the most recent incident is preserved [2].

Telegram send fallback behavior changes when the API rejects an HTML parse-mode send and no caller-provided `plainText` exists [3]. It used to retry with literal `<a href=...>` markup; it now derives readable plain text from the rendered HTML, preserving anchor targets as `label (url)` and stripping or decoding supported Telegram tags and entities [3].

On the Windows node, an exec-approval security gap was closed: ExecApprovalEvaluator had no branch for `ask=Deny`, so `security=Full` plus `ask=Deny` with no decision fell through to Allow [4]. The fix adds a step that denies when `ask=Deny` and approvalDecision is null and the allowlist is not satisfied; calling it a fix, "fix(exec-approvals): address Shanselman review on PR #327" [4]. Also, shell wrapper detection now uses `NormalizedBasename`, which strips path, lowercases, and removes the `.exe` suffix, so variants like `zsh.exe`, `dash.exe`, and `fish.exe` are recognized as shell wrappers automatically [5].

Action items

References

  1. [1] refactor: centralize live provider drift policy ↗ openclaw/openclaw
  2. [2] fix(config): rotate clobber snapshots at cap ↗ openclaw/openclaw
  3. [3] [codex] Harden Telegram HTML parse fallback ↗ openclaw/openclaw
  4. [4] fix(exec-approvals): address Shanselman review on PR #327 ↗ openclaw/openclaw-windows-node
  5. [5] fix(exec-shell): use NormalizedBasename so .exe variants are covered automatically ↗ openclaw/openclaw-windows-node

Quick answers

What shipped in OpenClaw on May 15, 2026?
Provider drift classification is now a shared policy across live tests, plus a config-repair fix closes a gap where the latest broken config copy was silently dropped. In total, 92 commits and 18 pull requests landed.
Who contributed to OpenClaw on May 15, 2026?
7 developers shipped this update, including steipete, samzong, Kaspre, alexph-dev, openclaw-docs-sync[bot], kenehong, and Ranjesh Jaganathan.
What were the notable OpenClaw updates?
refactor: centralize live provider drift policy, fix(config): rotate clobber snapshots at cap, and [codex] Harden Telegram HTML parse fallback.