OpenClaw #86971 โ manual backup restore docs
Added a fail-closed restore flow so operators can recover a backup without inventing dangerous steps.
Landed upstream
A verified record of what we helped shipโnot open PRs, hopeful drafts, or rรฉsumรฉ fog. Every entry below landed upstream and links to its public receipt.
Public receipts
Added a fail-closed restore flow so operators can recover a backup without inventing dangerous steps.
Made thread_broadcast events behave like regular inbound messages. Landed through a maintainer implementation with contributor credit.
Prevented direct-message routing from ignoring the configured DM scope. Landed through a maintainer rewrite with credit.
Clarified how bots become members of multi-person DMs and which actor must perform the invite.
Routed poll answers into the correct sessions, backed by direct-chat and forum-topic proof.
Documented Twilio A2P registration and delivery requirements so real SMS deployments do not fail silently.
Replaced a misleading single-choice summary with the authoritative full poll-selection snapshot.
Made history and watch output show complete poll selections while keeping structured JSON compatible.
Added an exact attempt identity for bridge-backed sends so callers can reconcile a lost response without unsafe retries or fuzzy history matching.
Moved outbound iMessage text onto OpenClaw's canonical delivery-sanitization path.
Isolated validated webhook quotas by sender so one phone cannot consume another sender's allowance.
Preserved URL inline buttons through the Telegram delivery pipeline instead of dropping them.
Supplied prior art, implementation feedback, and live proof that helped OpenClaw's native SMS channel land.
Closed hardening gaps found during live native-channel proof and landed with explicit maintainer credit.
Kept daemon retry diagnostics off JSON stdout so MCP and QMD consumers receive parseable output.
Added Venice API balance support and earned official contributor credit in Peter Steinberger's CodexBar.
Classified claude-cli as Anthropic-family so QA Lab applies the correct live-turn timeout bucket.
Added a channel hook for new pairing requests, enabling plugins and workflows to react cleanly.
Normalized RCS sender addresses so replies target the real phone identity instead of a transport-prefixed value.
Made text slash commands respect native SMS authorization instead of bypassing the channel boundary.
Turned unusable node execution-directory failures into direct, actionable diagnostics.
Added selectable embedding providers instead of hard-wiring one backend, with positive maintainer review.
Fixed the current-week analytics test so timing boundaries no longer produce unreliable results.
Added exclude_channels so operators can skip selected Slack channels without patching source.
Added an auto_join switch so operators control whether crawls automatically join channels.
Surfaced Spotify rate-limit cooldowns so users know when to retry instead of seeing an opaque failure.
No landed contribution matches that search.