v2026.4.9 arrived on 2026-04-09 with a change that matters during maintenance: control ui/dreaming. 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
Memory/dreaming; Control UI/dreaming; QA/lab
Publication date
2026-04-09
Before the package changes
Memory/dreaming
What changed. add a grounded REM backfill lane with historical rem-harness --path, diary commit/reset flows, cleaner durable-fact extraction, and live short-term promotion integration so old daily notes can replay into Dreams and durable memory without a second memory stack.
Check it with. The acceptance test for Memory/dreaming is idempotence under interruption: start once, stop the transport, resume, and compare the final record with the original request.
Control UI/dreaming
What changed. add a structured diary view with timeline navigation, backfill/reset controls, traceable dreaming summaries, and a grounded Scene lane with promotion hints plus a safe clear-grounded action for staged backfill signals.
Check it with. Test Control UI/dreaming 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.
QA/lab
What changed. add character-vibes evaluation reports with model selection and parallel runs so live QA can compare candidate behavior faster.
Check it with. Check QA/lab 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.
Browser/security
What changed. re-run blocked-destination safety checks after interaction-driven main-frame navigations from click, evaluate, hook-triggered click, and batched action flows, so browser interactions cannot bypass the SSRF quarantine when they land on forbidden URLs.
Check it with. Treat Browser/security as a boundary change. Exercise one permitted request and one refused request with a test identity, then keep both decisions in the log.
Details behind the headline
Security/dotenv
block runtime-control env vars plus browser-control override and skip-server env vars from untrusted workspace .env files, and reject unsafe URL-style browser control override specifiers before lazy loading.
Read Security/dotenv as an authorization checkpoint: prove who may act, what the action can reach, and how the rejected attempt is surfaced to the operator.
Test this release without widening the boundary
- Note the current version, host, provider, and workspace before exercising Memory/dreaming.
- Keep a tested backup beside the release record if the update can touch configuration, sessions, or a database.
- Run a read-only prompt with a known answer and save provider, model, reasoning, and latency details.
- Change only the candidate route, then confirm that a failed request returns a readable error and leaves the session intact.
- 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 security audit
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
Browser/security. re-run blocked-destination safety checks after interaction-driven main-frame navigations from click, evaluate, hook-triggered click, and batched action flows, so browser interactions cannot bypass the SSRF quarantine when they land on forbidden URLs. Keep the reproduction and the post-fix result together in the acceptance record.
Security/dotenv. block runtime-control env vars plus browser-control override and skip-server env vars from untrusted workspace .env files, and reject unsafe URL-style browser control override specifiers before lazy loading. Record the failure that this correction addresses before declaring the upgrade complete.
Use the complete OpenClaw v2026.4.9 release notes for the exact change list, then cross-check the official release index and the session concepts before acting.
Reference Trail
Sources and further reading
- complete OpenClaw v2026.4.9 release notesgithub.com
- official release indexgithub.com
- session conceptsdocs.openclaw.ai