Tags: NVIDIA/NemoClaw
Tags
# NemoClaw v0.0.117 release brief ## Release range - Previous release: `v0.0.116` at `b12bede8bfa5bc7a8c083f54fc79a4f5663b81df` - Candidate: `95ff29e5df737aa02e25df7eddee79d5da61896a` - Candidate selection: current-main - Commits: 37 - Risky files detected: 365 ## QA context ### Risky areas - Workflow / enforcement - Sandbox / policy / SSRF - Installer / bootstrap - Credentials / inference - Onboarding / host glue ### Suggested test focus - Fresh install and upgrade paths - Onboarding wizard and sandbox creation - Policy enforcement, network egress, and SSRF protections - CI checks, pre-commit hooks, and DCO declarations - Credential storage and inference provider routing ## Canonical release entry - Path: `docs/changelog/2026-08-31.mdx` - Entry: ## v0.0.117 NemoClaw v0.0.117 makes OpenShell the sole durable network-policy authority. It improves fail-closed recovery for sandboxes, Shields, the installer, Portable runtimes, and messaging channels. It also removes the deprecated Brev deploy wrapper and adds contributor and maintainer analysis tools. - OpenShell is now the sole durable source of sandbox policy state. NemoClaw policy commands and Shields operate on the live OpenShell policy without storing a second desired-policy copy, while rebuild carries the current policy through one private, temporary handoff. Legacy policy fields are removed from NemoClaw state without changing the live policy. Related change: [PR #10515](#10515). - Failed onboarding cleanup now retains immutable sandbox, gateway, policy, and create-attempt evidence. While OpenShell still reports the sandbox live, `destroy` preserves recovery instead of deleting by mutable name. After OpenShell confirms absence, NemoClaw removes only containers that match the retained immutable identity and verifies their absence before clearing recovery state. Related change: [PR #10571](#10571). - The OpenClaw memory secret scanner now covers writes under absolute named-workspace paths such as `/sandbox/.openclaw/workspace-main/`. Project directories whose names start with `workspace-` remain outside the memory-path classification unless they are under the OpenClaw state directory. Related change: [PR #10527](#10527). - Hermes activation and Shields recovery now bind release acknowledgement, writer rescans, root-broker cleanup, and completed auto-restore lock retirement to exact process and transaction identities. Transient replaced writers are reconsidered under fresh identity, while live, foreign, durable, or ambiguous identity remains denied. Related changes: [PR #10272](#10272), [PR #10597](#10597), and [PR #10603](#10603). - macOS upgrades can retire an identity-verified legacy OpenShell gateway or Homebrew service before selecting the checksum-verified replacement binaries. Managed startup also transfers protected receipts through read-only Docker volumes, so VM-backed Docker daemons such as Colima do not need access to a client-only temporary path. Failed verification retains the recovery receipts, and successful finalization reports any exact volume that cleanup cannot remove. Related changes: [PR #10484](#10484) and [PR #10534](#10534). - Hermes Portable `connect --probe-only` now recovers published Ollama only for the `ollama-local` provider. Descriptor-backed compatible endpoints keep verification-only routing without requiring an Ollama receipt. Routine recovery reuses a healthy published runtime or performs one lifecycle recovery for a stopped runtime before it proves published Ollama readiness. Onboarding and explicit deep validation retain generated completion, tool-call, and model-placement qualification. OpenClaw Portable recovery uses one bounded in-sandbox gateway observer and a shorter OpenShell registration poll while preserving the existing readiness statuses and outer lifecycle deadline. Related changes: [PR #10556](#10556), [PR #10612](#10612), and [PR #10614](#10614). - Experimental OpenClaw WeChat setup now writes the exact revision-scoped OpenShell placeholder to the Tencent plugin account file and binds both authorized iLink endpoints to the channel provider. Channel removal clears durable account state before provider, policy, or registry teardown, and raw bot tokens remain outside sandbox files, process arguments, and diagnostics. Related change: [PR #10601](#10601). - The deprecated `nemoclaw deploy` Brev compatibility command has been removed. Remote hosts use their provisioning workflow, the hosted installer, and `nemoclaw onboard`; `deploy` is now available as a sandbox name. Related change: [PR #10576](#10576). - `nemoclaw <name> logs` now labels OpenClaw gateway lines with `[gateway]` and keeps existing OpenShell source tags unchanged. Follow mode bounds incomplete-line memory, honors output backpressure, waits for accepted writes, and reports source failures. Related change: [PR #10342](#10342). - Contributors with a prepared checkout can run the checked-in PR Review Advisor specialists on committed and working-tree changes with `npm run review:local` before PR publication. The [local-run prerequisites](https://github.com/NVIDIA/NemoClaw/blob/main/tools/pr-review-advisor/README.md#local-run) name the required host tools, the `origin/main` trust base, and the credential boundary. Hosted specialist jobs publish completed analyses in their GitHub job summaries. Maintainer analysis now emits bounded slow-test evidence and Perfetto-compatible PR lifetime traces with revision, readiness, review-request, workflow, job, and step timelines. Related changes: [PR #10581](#10581), [PR #10604](#10604), [PR #10608](#10608), [PR #10611](#10611), [PR #10616](#10616), [PR #10617](#10617), and [PR #10623](#10623). - Development qualification now contains a provider-owned record and dormant executor for the OpenShell v0.0.24 and MXC v0.7.0-rc1 checkpoint on physical Windows. NemoClaw does not register or select MXC, expose Windows onboarding, activate this executor, or treat the checkpoint as an accepted stable distribution. Related changes: [PR #10591](#10591) and [PR #10596](#10596). ## Documentation coverage - Latest included cumulative docs PR: [#10642](#10642), `docs: prepare v0.0.117 documentation`. - Final PR commit and merge commit: `054133e6140f9951b278b8d2aff97d431b30a697`; merge `7291b44e0887ece716a9e567503eb6f7e88e67d5`. - Final automated refresh coverage commit: `b6b593e7e868cf213858d8c3afa5c400e010b368`. - Later commits and merged PRs: - `7291b44e0887ece716a9e567503eb6f7e88e67d5` — [#10642](#10642), cumulative v0.0.117 documentation. - `521032482ae177f52ac62920ebb5ff23604aaaf6` — [#10662](#10662), monitoring recovery guidance. - `2cf1ecd69e81ce12a44b8bd60dca8f4b7d76a7b9` — [#10666](#10666), auth-proxy recovery distinction. - `ce4bb354905e611371da1615ccb9cf3878fa8ffa` — [#10230](#10230), narrow doctor diagnostic fix with its owning `docs/reference/commands.mdx` update. - `95ff29e5df737aa02e25df7eddee79d5da61896a` — [#10673](#10673), final WSL/auth-proxy documentation qualification. - Changed paths: #10642 changed only allowed documentation paths: `docs/changelog/2026-08-31.mdx` and `docs/monitoring/monitor-sandbox-activity.mdx`. - Review and checks: #10642 was `APPROVED`; its recorded head matches the final PR commit. All 40 checks completed: 29 successful (`ShellCheck`; release-target labeling; all PR Review Advisor discovery, publication, and nine specialists; CI changes, checks, and docs-only checks; three CodeQL analyses; docs preview; growth guardrails; title lint; maintainer-edits; DCO; JavaScript/TypeScript and Python security scanning; ShellCheck SARIF; OpenShell SDK packaging; installer-hash verification), 10 skipped (`request`, `build-typecheck`, `cli-test-shards`, `cli-tests`, `installer-integration`, `openshell-sdk-package`, `plugin-tests`, `reviewed-npm-audit`, `static-checks`, `wechat-runtime-audit`), and one neutral (`CodeQL`). No check failed or remained pending. - Open managed docs PRs: None. - Maintainer decision: Proceed with the candidate as shown. ## Base and managed image evidence - Base-image candidate: `95ff29e5df737aa02e25df7eddee79d5da61896a` - Evidence: [E2E run 33391782401, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401), event `push`, branch `main`, workflow `.github/workflows/e2e.yaml`; successful [base-image-publication job 99489600246](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401/job/99489600246), completed `2026-08-31T12:37:44Z` and bound to the candidate SHA. ## General E2E decision - Exact-candidate push run: [33391782401, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401), candidate `95ff29e5df737aa02e25df7eddee79d5da61896a`, created and started `2026-08-31T12:26:40Z`, last updated `2026-08-31T12:44:53Z`, completed successfully. The required [base-image-publication](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401/job/99489600246), selected [jetson-nvmap-gpu](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401/job/99490279296), and aggregate [Relevant E2E](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401/job/99491667584) jobs succeeded. No job failed, was cancelled, or remained unresolved; unselected matrix jobs were skipped. - Newest identifiable full manual run: [33350578179, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179), tested `0ac27fc96694c4bf97b2fd51c3d29642855cecd4`, which does not match the candidate. It was created and started `2026-08-31T02:24:33Z`, last updated `2026-08-31T03:55:08Z`, and was 10 hours, 15 minutes, 58 seconds old at the `2026-08-31T12:40:31Z` inspection. The workflow completed with failure. Failed jobs were [messaging-providers](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408336), [openclaw-plugin-runtime-exdev](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408483), [Exact staging Brev Launchable](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408536), [Pi AMD64](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409714), [Pi ARM64](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409768), [OpenClaw channel preservation](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363410557), [Hermes channel preservation](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363410850), and [Release qualification](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99376267845). Selector or aggregate skips were [package-openshell-sdk](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363021634), [Launchable identity](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408697), [retired selector compatibility](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408754), [Jetson](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408907), [native-runtime producer plan](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409083), [external gateway](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409195), [DGX Spark plan](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409247), [Podman toolchain](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409990), [protected llama.cpp](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363411918), [matrix job](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363413031), [native-runtime aggregate](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363415608), and [Relevant E2E](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99376268344). No job was queued, running, or cancelled at inspection. - Maintainer-cited run: [33385261471, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/33385261471), tested `b6b593e7e868cf213858d8c3afa5c400e010b368`, which does not match the candidate. It was created and started `2026-08-31T11:04:29Z`, last updated `2026-08-31T12:36:43Z`, had nine failed messaging, Pi, and installation jobs, and was force-cancelled at the maintainer's request while its final protected GPU/local-inference job was running. - Maintainer choice: Proceed with the status as shown. Exceptions: Exact-candidate base-image publication passed. Changes after the last tested product commit are documentation plus PR #10230's narrow doctor diagnostic fix, which passed focused tests and complete CI. We accept the older mismatched full-run failures for this release decision.
# NemoClaw v0.0.117 release brief ## Release range - Previous release: `v0.0.116` at `b12bede8bfa5bc7a8c083f54fc79a4f5663b81df` - Candidate: `95ff29e5df737aa02e25df7eddee79d5da61896a` - Candidate selection: current-main - Commits: 37 - Risky files detected: 365 ## QA context ### Risky areas - Workflow / enforcement - Sandbox / policy / SSRF - Installer / bootstrap - Credentials / inference - Onboarding / host glue ### Suggested test focus - Fresh install and upgrade paths - Onboarding wizard and sandbox creation - Policy enforcement, network egress, and SSRF protections - CI checks, pre-commit hooks, and DCO declarations - Credential storage and inference provider routing ## Canonical release entry - Path: `docs/changelog/2026-08-31.mdx` - Entry: ## v0.0.117 NemoClaw v0.0.117 makes OpenShell the sole durable network-policy authority. It improves fail-closed recovery for sandboxes, Shields, the installer, Portable runtimes, and messaging channels. It also removes the deprecated Brev deploy wrapper and adds contributor and maintainer analysis tools. - OpenShell is now the sole durable source of sandbox policy state. NemoClaw policy commands and Shields operate on the live OpenShell policy without storing a second desired-policy copy, while rebuild carries the current policy through one private, temporary handoff. Legacy policy fields are removed from NemoClaw state without changing the live policy. Related change: [PR #10515](#10515). - Failed onboarding cleanup now retains immutable sandbox, gateway, policy, and create-attempt evidence. While OpenShell still reports the sandbox live, `destroy` preserves recovery instead of deleting by mutable name. After OpenShell confirms absence, NemoClaw removes only containers that match the retained immutable identity and verifies their absence before clearing recovery state. Related change: [PR #10571](#10571). - The OpenClaw memory secret scanner now covers writes under absolute named-workspace paths such as `/sandbox/.openclaw/workspace-main/`. Project directories whose names start with `workspace-` remain outside the memory-path classification unless they are under the OpenClaw state directory. Related change: [PR #10527](#10527). - Hermes activation and Shields recovery now bind release acknowledgement, writer rescans, root-broker cleanup, and completed auto-restore lock retirement to exact process and transaction identities. Transient replaced writers are reconsidered under fresh identity, while live, foreign, durable, or ambiguous identity remains denied. Related changes: [PR #10272](#10272), [PR #10597](#10597), and [PR #10603](#10603). - macOS upgrades can retire an identity-verified legacy OpenShell gateway or Homebrew service before selecting the checksum-verified replacement binaries. Managed startup also transfers protected receipts through read-only Docker volumes, so VM-backed Docker daemons such as Colima do not need access to a client-only temporary path. Failed verification retains the recovery receipts, and successful finalization reports any exact volume that cleanup cannot remove. Related changes: [PR #10484](#10484) and [PR #10534](#10534). - Hermes Portable `connect --probe-only` now recovers published Ollama only for the `ollama-local` provider. Descriptor-backed compatible endpoints keep verification-only routing without requiring an Ollama receipt. Routine recovery reuses a healthy published runtime or performs one lifecycle recovery for a stopped runtime before it proves published Ollama readiness. Onboarding and explicit deep validation retain generated completion, tool-call, and model-placement qualification. OpenClaw Portable recovery uses one bounded in-sandbox gateway observer and a shorter OpenShell registration poll while preserving the existing readiness statuses and outer lifecycle deadline. Related changes: [PR #10556](#10556), [PR #10612](#10612), and [PR #10614](#10614). - Experimental OpenClaw WeChat setup now writes the exact revision-scoped OpenShell placeholder to the Tencent plugin account file and binds both authorized iLink endpoints to the channel provider. Channel removal clears durable account state before provider, policy, or registry teardown, and raw bot tokens remain outside sandbox files, process arguments, and diagnostics. Related change: [PR #10601](#10601). - The deprecated `nemoclaw deploy` Brev compatibility command has been removed. Remote hosts use their provisioning workflow, the hosted installer, and `nemoclaw onboard`; `deploy` is now available as a sandbox name. Related change: [PR #10576](#10576). - `nemoclaw <name> logs` now labels OpenClaw gateway lines with `[gateway]` and keeps existing OpenShell source tags unchanged. Follow mode bounds incomplete-line memory, honors output backpressure, waits for accepted writes, and reports source failures. Related change: [PR #10342](#10342). - Contributors with a prepared checkout can run the checked-in PR Review Advisor specialists on committed and working-tree changes with `npm run review:local` before PR publication. The [local-run prerequisites](https://github.com/NVIDIA/NemoClaw/blob/main/tools/pr-review-advisor/README.md#local-run) name the required host tools, the `origin/main` trust base, and the credential boundary. Hosted specialist jobs publish completed analyses in their GitHub job summaries. Maintainer analysis now emits bounded slow-test evidence and Perfetto-compatible PR lifetime traces with revision, readiness, review-request, workflow, job, and step timelines. Related changes: [PR #10581](#10581), [PR #10604](#10604), [PR #10608](#10608), [PR #10611](#10611), [PR #10616](#10616), [PR #10617](#10617), and [PR #10623](#10623). - Development qualification now contains a provider-owned record and dormant executor for the OpenShell v0.0.24 and MXC v0.7.0-rc1 checkpoint on physical Windows. NemoClaw does not register or select MXC, expose Windows onboarding, activate this executor, or treat the checkpoint as an accepted stable distribution. Related changes: [PR #10591](#10591) and [PR #10596](#10596). ## Documentation coverage - Latest included cumulative docs PR: [#10642](#10642), `docs: prepare v0.0.117 documentation`. - Final PR commit and merge commit: `054133e6140f9951b278b8d2aff97d431b30a697`; merge `7291b44e0887ece716a9e567503eb6f7e88e67d5`. - Final automated refresh coverage commit: `b6b593e7e868cf213858d8c3afa5c400e010b368`. - Later commits and merged PRs: - `7291b44e0887ece716a9e567503eb6f7e88e67d5` — [#10642](#10642), cumulative v0.0.117 documentation. - `521032482ae177f52ac62920ebb5ff23604aaaf6` — [#10662](#10662), monitoring recovery guidance. - `2cf1ecd69e81ce12a44b8bd60dca8f4b7d76a7b9` — [#10666](#10666), auth-proxy recovery distinction. - `ce4bb354905e611371da1615ccb9cf3878fa8ffa` — [#10230](#10230), narrow doctor diagnostic fix with its owning `docs/reference/commands.mdx` update. - `95ff29e5df737aa02e25df7eddee79d5da61896a` — [#10673](#10673), final WSL/auth-proxy documentation qualification. - Changed paths: #10642 changed only allowed documentation paths: `docs/changelog/2026-08-31.mdx` and `docs/monitoring/monitor-sandbox-activity.mdx`. - Review and checks: #10642 was `APPROVED`; its recorded head matches the final PR commit. All 40 checks completed: 29 successful (`ShellCheck`; release-target labeling; all PR Review Advisor discovery, publication, and nine specialists; CI changes, checks, and docs-only checks; three CodeQL analyses; docs preview; growth guardrails; title lint; maintainer-edits; DCO; JavaScript/TypeScript and Python security scanning; ShellCheck SARIF; OpenShell SDK packaging; installer-hash verification), 10 skipped (`request`, `build-typecheck`, `cli-test-shards`, `cli-tests`, `installer-integration`, `openshell-sdk-package`, `plugin-tests`, `reviewed-npm-audit`, `static-checks`, `wechat-runtime-audit`), and one neutral (`CodeQL`). No check failed or remained pending. - Open managed docs PRs: None. - Maintainer decision: Proceed with the candidate as shown. ## Base and managed image evidence - Base-image candidate: `95ff29e5df737aa02e25df7eddee79d5da61896a` - Evidence: [E2E run 33391782401, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401), event `push`, branch `main`, workflow `.github/workflows/e2e.yaml`; successful [base-image-publication job 99489600246](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401/job/99489600246), completed `2026-08-31T12:37:44Z` and bound to the candidate SHA. ## General E2E decision - Exact-candidate push run: [33391782401, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401), candidate `95ff29e5df737aa02e25df7eddee79d5da61896a`, created and started `2026-08-31T12:26:40Z`, last updated `2026-08-31T12:44:53Z`, completed successfully. The required [base-image-publication](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401/job/99489600246), selected [jetson-nvmap-gpu](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401/job/99490279296), and aggregate [Relevant E2E](https://github.com/NVIDIA/NemoClaw/actions/runs/33391782401/job/99491667584) jobs succeeded. No job failed, was cancelled, or remained unresolved; unselected matrix jobs were skipped. - Newest identifiable full manual run: [33350578179, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179), tested `0ac27fc96694c4bf97b2fd51c3d29642855cecd4`, which does not match the candidate. It was created and started `2026-08-31T02:24:33Z`, last updated `2026-08-31T03:55:08Z`, and was 10 hours, 15 minutes, 58 seconds old at the `2026-08-31T12:40:31Z` inspection. The workflow completed with failure. Failed jobs were [messaging-providers](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408336), [openclaw-plugin-runtime-exdev](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408483), [Exact staging Brev Launchable](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408536), [Pi AMD64](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409714), [Pi ARM64](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409768), [OpenClaw channel preservation](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363410557), [Hermes channel preservation](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363410850), and [Release qualification](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99376267845). Selector or aggregate skips were [package-openshell-sdk](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363021634), [Launchable identity](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408697), [retired selector compatibility](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408754), [Jetson](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363408907), [native-runtime producer plan](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409083), [external gateway](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409195), [DGX Spark plan](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409247), [Podman toolchain](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363409990), [protected llama.cpp](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363411918), [matrix job](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363413031), [native-runtime aggregate](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99363415608), and [Relevant E2E](https://github.com/NVIDIA/NemoClaw/actions/runs/33350578179/job/99376268344). No job was queued, running, or cancelled at inspection. - Maintainer-cited run: [33385261471, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/33385261471), tested `b6b593e7e868cf213858d8c3afa5c400e010b368`, which does not match the candidate. It was created and started `2026-08-31T11:04:29Z`, last updated `2026-08-31T12:36:43Z`, had nine failed messaging, Pi, and installation jobs, and was force-cancelled at the maintainer's request while its final protected GPU/local-inference job was running. - Maintainer choice: Proceed with the status as shown. Exceptions: Exact-candidate base-image publication passed. Changes after the last tested product commit are documentation plus PR #10230's narrow doctor diagnostic fix, which passed focused tests and complete CI. We accept the older mismatched full-run failures for this release decision.
# NemoClaw v0.0.116 release brief ## Release range - Previous release: `v0.0.115` at `324a886fd05b01f6756bae0371ea503c651fbd11` - Candidate: `b12bede8bfa5bc7a8c083f54fc79a4f5663b81df` - Candidate selection: current-main - Commits: 41 - Risky files detected: 142 ## QA context ### Risky areas - Sandbox / policy / SSRF - Workflow / enforcement - Installer / bootstrap - Credentials / inference - Onboarding / host glue ### Suggested test focus - Fresh install and upgrade paths - Onboarding wizard and sandbox creation - Policy enforcement, network egress, and SSRF protections - CI checks, pre-commit hooks, and DCO declarations - Credential storage and inference provider routing ## Canonical release entry - Path: `docs/changelog/2026-08-28.mdx` - Entry: ## v0.0.116 NemoClaw v0.0.116 improves compatible endpoint validation, Portable Hermes inference recovery, sandbox lifecycle safety, managed images, Windows Subsystem for Linux (WSL) onboarding, managed local inference, and experimental Hermes channel credentials. It also preserves recorded network-policy intent during sandbox reuse and rebuild. - OpenClaw compatible endpoint onboarding now validates `inference.local` from inside the sandbox even when no messaging channel is selected, and an unreachable route stops onboarding before final deployment verification. `inference set` can reuse a recorded loopback no-auth endpoint without replacing its provider, and reasoning-only responses receive one bounded larger-budget content attempt before failure. Related changes: [PR #10458](#10458), [PR #10531](#10531), and [PR #10540](#10540). - `nemohermes <name> recover` and `nemohermes <name> connect --probe-only` now recover only the published receipt-owned Portable Ollama runner. They verify an already-running runner without restarting it, resume the recorded stopped runner once, and require a final in-sandbox route proof. If a later check fails, recovery attempts to return the stopped runner and registry to their prior state and reports when either restoration cannot be proved. Related change: [PR #10505](#10505). - Uninstall now creates fresh snapshots for eligible registered non-Portable sandboxes before deletion unless `--destroy-user-data` is selected. It honors `NEMOCLAW_OPENSHELL_GATEWAY_STATE_DIR`, preserves abandoned Portable configuration without treating it as lifecycle authority, and stops before cleanup when backup, lifecycle-lock, ownership, or registration checks fail. Related changes: [PR #10231](#10231), [PR #10550](#10550), and [PR #10562](#10562). - Sandbox creation and reuse now retain verified sandbox identity, policy, provider, credential, and lifecycle authority across retries and process restarts. Same-name replacements and authority drift stop mutation, while managed-image registration tolerates a transient non-`Ready` report only when durable sandbox identity still matches. Related changes: [PR #10510](#10510) and [PR #10512](#10512). - Sandbox destruction can recover an expired Shields auto-restore timer only when its process is gone or its recorded start identity no longer matches. Live or unverifiable timer ownership remains fail-closed, and destruction skips pre-delete hardening only after Docker proves the sandbox container is absent. Related change: [PR #10225](#10225). - Hermes Portable images now select the reviewed multi-platform base that matches their OpenSSL 3.5.7 package inventory, and OpenClaw images install checksum-pinned libevent 2.1.13 on AMD64 and ARM64. Related changes: [PR #10532](#10532) and [PR #10526](#10526). - On WSL, public managed image pulls, generated image builds, GPU probes, and local inference probe pulls use a temporary credential-free Docker configuration when the default Docker Desktop credential helper is unavailable. Managed local inference now waits for disposable Podman probe identities to disappear after one removal command, and llama.cpp image-pull failures report a fixed layer, code, and exit status without exposing raw pull output. Related changes: [PR #10470](#10470), [PR #10554](#10554), and [PR #10561](#10561). - Re-onboarding or rebuilding an OpenClaw sandbox with a recorded Balanced or Open tier now keeps an already-applied `brave` preset when web search is disabled or switched to Tavily Search. Restricted and unknown tiers, unsupported agents, and custom preset ownership retain their existing fail-closed reconciliation behavior. Related change: [PR #10457](#10457). - For the experimental Hermes WeChat and Microsoft Teams channels, managed startup now maps revision-scoped OpenShell credential placeholders to the environment names Hermes reads. Only matching revision-scoped placeholders are copied. Raw or identityless runtime values are ignored, while malformed or channel-unbound aliases stop startup; both channels remain experimental. Related change: [PR #10563](#10563). ## Documentation coverage - Latest included cumulative docs PR: [#10530](#10530), `docs: prepare v0.0.116 documentation`. - Final PR commit and merge commit: `61863724a1714f00e8fb9e3eea4444c8e0a724a5` and `b12bede8bfa5bc7a8c083f54fc79a4f5663b81df`. - Final automated refresh coverage commit: `cf72805feee92b2f76d9a5d0d1944eff35be843e`, selected from verified workflow commit `9e8fb9ff782ed93699a2be7fe46e9b47cf122689`. - Later commits and merged PRs: - `344b679539f6c5ee24f667a1f747b6d88df3ec05` — [PR #10420](#10420), `docs(skills): require direct pre-push validation`. - `8c42560869ca7003b652217b769831b6b8b342d4` — [PR #10457](#10457), `fix(onboard): keep tier-default Brave egress on re-onboard reuse`. - `ebb4c973501e5cc145f6f67e9cddd703ac17363c` — [PR #10593](#10593), `docs: catch up post-merge runtime guidance`. - `b12bede8bfa5bc7a8c083f54fc79a4f5663b81df` — [PR #10530](#10530), `docs: prepare v0.0.116 documentation`. - Changed paths: only `docs/changelog/2026-08-28.mdx`, `docs/inference/understand-provider-validation.mdx`, `docs/manage-sandboxes/recover-rebuild-sandboxes.mdx`, and `docs/reference/commands.mdx`; all are allowed documentation paths. - Review and checks: `APPROVED`; the independent review found no findings for exact diff SHA-256 `c6f61a964d1b406a4516f30b5cc76b6cbb7fff7ebab8fb5b108bec4db6e0ec1d`; 31 checks succeeded, 10 path-inapplicable checks were skipped, and none failed or remained pending. `npm run docs` and `npm run validate:pr` passed locally. - Open managed docs PRs: None. - Maintainer decision: Proceed with the candidate as shown. ## Base and managed image evidence - Base-image candidate: `b12bede8bfa5bc7a8c083f54fc79a4f5663b81df` - Evidence: [E2E workflow run 33240224023, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/33240224023), bound to the candidate on `main` and triggered by its push, completed successfully. Its [base-image-publication job 99068177545](https://github.com/NVIDIA/NemoClaw/actions/runs/33240224023/job/99068177545) ran from `2026-08-29T07:10:43Z` through `2026-08-29T07:11:41Z` and concluded `success`. ## General E2E decision - Inspection at `2026-08-29T07:12:53Z` found no identifiable full manual `main` run in the prescribed 100-run window. Run ID, tested SHA, attempt, workflow timestamps, workflow URL, `Release qualification` job URL, and candidate match were therefore unavailable. No legacy job scan was performed. - Requested runs: None. The maintainer directed that E2E not be rerun. - Maintainer choice: Proceed with the status as shown. Exceptions: No recent identifiable full manual `main` run was found; the maintainer accepted the previously displayed failures as transient issues and directed no rerun.
# NemoClaw v0.0.115 release brief ## Release range - Previous release: `v0.0.114` at `ffb09d2596fb2658f8dff881d5e1e425dd1767d6` - Candidate: `324a886fd05b01f6756bae0371ea503c651fbd11` - Candidate selection: current-main - Commits: 198 - Risky files detected: 571 ## QA context ### Risky areas - Sandbox / policy / SSRF - Workflow / enforcement - Installer / bootstrap - Credentials / inference - Onboarding / host glue ### Suggested test focus - Fresh install and upgrade paths - Onboarding wizard and sandbox creation - Policy enforcement, network egress, and SSRF protections - CI checks, pre-commit hooks, and DCO declarations - Credential storage and inference provider routing ## Canonical release entry - Path: `docs/changelog/2026-08-28.mdx` - Entry: ## v0.0.115 NemoClaw v0.0.115 strengthens Portable Hermes recovery, sandbox lifecycle authority, managed messaging credentials, and installer recovery. It also improves managed local inference and adds bounded experimental planning for an externally managed OpenShell target. - Portable Hermes recovery now revalidates the exact receipt-owned Podman container, OpenShell gateway, executable, policy, route, and runtime identities before each operation. If recovery starts a stopped receipt-owned container and authenticated Hermes health remains unavailable, it launches the receipt-recorded `nemoclaw-start` command once and waits for authenticated health. If the container was already running, recovery only waits for authenticated health and does not launch another startup process. A failed recovery rolls back only the exact container that recovery started. Related changes: [PR #10315](#10315), [PR #10376](#10376), [PR #10441](#10441), [PR #10456](#10456), and [PR #10499](#10499). - Stock Docker-driver onboarding for OpenClaw, Hermes, and LangChain Deep Agents Code now requires the release's exact managed image. Registry or catalog failures stop before sandbox creation instead of falling back to a local stock-image build; explicit custom Dockerfiles remain separate. Existing and recreated sandboxes retain exact image, policy, route-reservation, and lifecycle authority checks. Related changes: [PR #10113](#10113), [PR #10320](#10320), [PR #10321](#10321), [PR #10322](#10322), [PR #10332](#10332), [PR #10396](#10396), and [PR #10422](#10422). - Messaging setup now binds revision-scoped credentials to canonical OpenShell providers before sandbox creation or rebuild. This restores runtime credential delivery for maintained Slack, Discord, Google Chat, and Telegram paths while preserving endpoint-specific policy matching and fail-closed provider ownership. Related changes: [PR #10170](#10170), [PR #10271](#10271), [PR #10273](#10273), [PR #10275](#10275), [PR #10277](#10277), [PR #10307](#10307), and [PR #10314](#10314). - The Hermes installer accepts `--defer-onboarding` or `NEMOCLAW_DEFER_ONBOARDING=1` only for NVIDIA-hosted inference when no supported credential and no sandbox exist. It installs NemoClaw and Hermes without creating a provider, sandbox, or completed onboarding state; any credential or existing sandbox keeps the normal validation and recovery path. Related change: [PR #10299](#10299). - The experimental managed llama.cpp path now offers NVIDIA Nemotron 3 Nano 30B-A3B on qualified DGX Spark Arm64 and Linux x86_64 NVIDIA GPU hosts and recommends it during onboarding. Meta Muse Glimmer remains available on DGX Spark only by explicit selection, and existing Muse-owned installations are not migrated. Local NVIDIA NIM selection now enforces the documented usable-memory limit, including the DGX Spark unified-memory cap. Related changes: [PR #10122](#10122) and [PR #10292](#10292). - `nemoclaw upgrade-sandboxes --check` now exits nonzero when it reports actionable stale, unknown-version, backup-recovery, or missing-sandbox state. Sandbox destruction and stale-container cleanup have bounded waits and preserve registry or lifecycle authority when deletion cannot be confirmed. Non-portable managed Hermes uninstall also removes its exact owned state volume and stops before state retirement on Docker failure. Related changes: [PR #10128](#10128), [PR #10133](#10133), and [PR #10224](#10224). - The experimental direct blueprint runner can validate and sanitize a plan for an externally managed OpenShell target. Planning validates the HTTPS endpoint, workspace, expected release range, CA bundle, and authentication-file metadata without reading credential contents, connecting to the gateway, authenticating, or applying changes. Related change: [PR #10045](#10045). - Security and diagnostics now reject config reads through a symlinked config directory, redact URL userinfo credentials in debug bundles, bind sandbox mutations and cancellation recovery to durable exact identity, and classify incomplete onboarding without reporting success. Related changes: [PR #10041](#10041), [PR #10127](#10127), [PR #10146](#10146), and [PR #10396](#10396). ## Documentation coverage - Latest included cumulative docs PR: [#10055](#10055), merged 2026-08-28T03:21:03Z as `324a886fd05b01f6756bae0371ea503c651fbd11`; final PR commit `6f0dd20be3a732b913b7feb6a4bc62564f07b035`. - Final PR commit and merge commit: `6f0dd20be3a732b913b7feb6a4bc62564f07b035` and `324a886fd05b01f6756bae0371ea503c651fbd11`. - Final automated refresh coverage commit: `4e0e663a9a4cf6bac8df8972ea23dfc26ce3c309`. - Later commits and merged PRs: none between the documentation merge and planned candidate. - Changed paths: `docs/changelog/2026-08-23.mdx`, `docs/changelog/2026-08-28.mdx`, `docs/get-started/quickstart-hermes.mdx`, `docs/inference/choose-local-inference-server.mdx`, `docs/inference/set-up-llama-cpp.mdx`, `docs/manage-sandboxes/recover-rebuild-sandboxes.mdx`, and `docs/reference/commands.mdx`. - Review and checks: approved human review; all required checks passed; independent documentation review passed; exact-head Advisor run [33138139204](https://github.com/NVIDIA/NemoClaw/actions/runs/33138139204) succeeded. - Open managed docs PRs: none observed at decision time. - Maintainer decision: Proceed with the candidate as shown. ## Base and managed image evidence - Base-image candidate: `324a886fd05b01f6756bae0371ea503c651fbd11` - Evidence: exact-candidate E2E run [33138704569](https://github.com/NVIDIA/NemoClaw/actions/runs/33138704569), successful `base-image-publication` job [98744468178](https://github.com/NVIDIA/NemoClaw/actions/runs/33138704569/job/98744468178), completed 2026-08-28T03:23:41Z. ## General E2E decision - Displayed full run: [33111284865](https://github.com/NVIDIA/NemoClaw/actions/runs/33111284865), attempt 1; SHA `7409b8fcef5749fda938fcd09072bd50ba90fe73` (different from candidate); created and started 2026-08-27T20:01:28Z; last updated 2026-08-27T21:34:16Z; about 7h 46m old at inspection; completed with failure. - Release qualification: failed, [job 98679841227](https://github.com/NVIDIA/NemoClaw/actions/runs/33111284865/job/98679841227), started 2026-08-27T21:33:35Z and completed 2026-08-27T21:33:42Z. - Non-success results: OpenShell dev artifact; MCP bridge for Deep Agents, Hermes, and OpenClaw; Hermes GPU startup variants; Exact staging Brev Launchable; Shields recovery; Arm64 and x86-64 upgrade; Pi AMD64 and ARM64 candidates; OpenClaw rebuild; plus skipped non-selected jobs. - Requested reruns: none. - Maintainer choice: Proceed with the status as shown. Exceptions: The newest full E2E run failed on a different commit; the maintainer is approving the release with some failing E2E tests after manual validation.
# NemoClaw v0.0.114 release brief ## Release range - Previous release: `v0.0.113` at `34cad8f2a896efbff8852f92190ad73395d62538` - Candidate: `ffb09d2596fb2658f8dff881d5e1e425dd1767d6` - Candidate selection: current-main - Commits: 135 - Risky files detected: 293 ## QA context ### Risky areas - Workflow and enforcement - Sandbox, policy, and SSRF - Credentials and inference - Installer and bootstrap - Onboarding and host integration ### Suggested test focus - Fresh install and upgrade paths - Onboarding and sandbox creation - Policy enforcement, network egress, and SSRF protections - CI checks, pre-commit hooks, and DCO declarations - Credential storage and inference provider routing ## Canonical release entry - Path: `docs/changelog/2026-08-23.mdx` - Entry: ## v0.0.114 NemoClaw v0.0.114 adds deterministic read-only MCP tool calls for LangChain Deep Agents Code and per-stage launch-readiness probe timing. It strengthens destructive-operation warnings, session export cleanup, sealed configuration recovery, and installation verification. It also improves managed local inference, Portable and Hermes onboarding, image provenance, and release documentation automation. - Managed LangChain Deep Agents Code automation can invoke one uniquely registered, coherently read-only MCP tool with `dcode tools call-read-only TOOL --json` without model participation. - `nemoclaw <name> connect --probe-only`, `nemohermes <name> connect --probe-only`, and `nemo-deepagents <name> connect --probe-only` now report credential-free elapsed time for each readiness stage. - Sandbox destruction warns before terminating active SSH sessions, and OpenClaw session export reports retained staging artifacts when cleanup fails. - Snapshot restore preserves sealed OpenClaw configuration, rebuild verifies final configuration integrity, and Shields timer authority retires after lifecycle gates complete. - Installation fails closed when no SHA-256 verifier is available, and Hermes retries throttled source archive downloads. - Managed vLLM restores Station model selection, supports explicit host-GPU selection, validates effective GPU-memory requirements, and preserves selected intent across resume. - Managed llama.cpp images bind lifecycle receipts to published software bill of materials files and isolate platform-specific receipt pulls. - Ordinary Docker-driver onboarding selects immutable managed-image digests for stock agents, with reviewed Dockerfile fallback when catalog availability prevents selection. - Static messaging credentials use validated endpointless profiles; stopped Hermes Discord retains only its exact required provider without starting the channel. - Deep Agents Code progressive disclosure derives loaded MCP tools from the pinned executable catalog and rejects duplicate loaded implementations. - Portable lifecycle recovery reports fixed-stage timing, and OpenClaw pairing settlement handles missing and already-pending canonical scope upgrades without duplicate approval. - The maintained `nemoclaw update` request and every redirect require HTTPS. The repository source entry contains the complete detailed bullets, links, and related PR references. ## Documentation coverage - Latest included cumulative docs PR: [#10061](#10061), `docs: complete v0.0.114 release coverage`. - Final PR commit and merge commit: `d6dcdef0aeaf8d57b980c13b1148516249a1840e` and `ffb09d2596fb2658f8dff881d5e1e425dd1767d6`. - Final automated refresh coverage commit: `43b4094c5ad3808df7b8a410dc4495b5a502cb3b`, the current-main parent used by the final documentation PR. - Later commits and merged PRs: only the docs merge `ffb09d2596fb2658f8dff881d5e1e425dd1767d6`; it adds no uncovered product code. - Changed paths: seven paths, all under `docs/**`. - Review and checks: PR Review Advisor reported 0 blockers, 0 warnings, and 0 suggestions; CodeRabbit reported no remaining actionable comments; docs validation, preview, CLI parity, CodeQL, sandbox image checks, DCO, commit lint, and repository checks passed. GitHub recorded no submitted human approval, so `reviewDecision` remained `REVIEW_REQUIRED` when a maintainer merged the PR. - Open managed docs PRs: none. - Maintainer decision: Proceed with the candidate as shown. ## Base and managed image evidence - Base-image candidate: `ffb09d2596fb2658f8dff881d5e1e425dd1767d6` - Evidence: [base-image-publication job 97329796029](https://github.com/NVIDIA/NemoClaw/actions/runs/32692932460/job/97329796029), run 32692932460 attempt 1, completed successfully at `2026-08-24T05:17:58Z` for the candidate. ## General E2E decision - Newest full run: [run 32684776781](https://github.com/NVIDIA/NemoClaw/actions/runs/32684776781), attempt 1, created `2026-08-24T02:57:43Z`, last updated `2026-08-24T04:25:26Z`, tested `67aab7ef57a8e479da9fe560b3f5e69d7d993370`, completed with failure. [Release qualification](https://github.com/NVIDIA/NemoClaw/actions/runs/32684776781/job/97321614529) failed. The run recorded 21 successful jobs, 73 substantive failed jobs, and 10 skipped jobs. - Positive jobs in that full run included base-image publication, buildless managed-image onboarding, amd64 and arm64 protected managed-image startup, vLLM Docker storage, OpenClaw plugin EXDEV lifecycle, protected managed-image GPU and local inference, v0.0.36, v0.0.74, and v0.0.89 upgrades, and OpenClaw, Hermes, and Deep Agents MCP development paths. - Focused positive remediation evidence: - [Run 32687775153](https://github.com/NVIDIA/NemoClaw/actions/runs/32687775153): v0.0.55 x86-64 and Arm64 upgrade jobs passed. - [Run 32681278628](https://github.com/NVIDIA/NemoClaw/actions/runs/32681278628): inference-routing job passed for PR #10031. - [Run 32656039658](https://github.com/NVIDIA/NemoClaw/actions/runs/32656039658): vLLM Docker storage job passed for PR #10019. - [Run 32533617900](https://github.com/NVIDIA/NemoClaw/actions/runs/32533617900): interrupted onboarding resume job passed. - [Run 32504364196](https://github.com/NVIDIA/NemoClaw/actions/runs/32504364196): OpenClaw rebuild and gateway-token rotation job passed. - [Run 32484559396](https://github.com/NVIDIA/NemoClaw/actions/runs/32484559396): OpenClaw channel stop/start job passed. - [Run 32445300907](https://github.com/NVIDIA/NemoClaw/actions/runs/32445300907): Docker-backed post-reboot recovery job passed. - [Run 32297362244](https://github.com/NVIDIA/NemoClaw/actions/runs/32297362244): native, compatibility-only, and fallback Hermes GPU startup modes passed. - Maintainer choice: Proceed with the status as shown. Exceptions: Proceed because focused E2E jobs across the release range passed for managed images, buildless onboarding, inference routing, vLLM storage, lifecycle recovery, messaging lifecycle, MCP development, protected GPU inference, and legacy upgrades. The maintainer accepts the remaining failed general full-suite results and the absence of one successful full run for the final candidate for this tag.
# NemoClaw v0.0.113 release brief ## Release range - Previous release: `v0.0.112` at `bed2590be34617f75185499e46e584a3a6c39f5e` - Candidate: `34cad8f2a896efbff8852f92190ad73395d62538` - Commits: 37 - Risky files detected: 96 ## QA context ### Risky areas - Workflow / enforcement - Sandbox / policy / SSRF - Credentials / inference - Installer / bootstrap - Onboarding / host glue ### Suggested test focus - Fresh install and upgrade paths - Onboarding wizard and sandbox creation - Policy enforcement, network egress, and SSRF protections - CI checks, pre-commit hooks, and DCO declarations - Credential storage and inference provider routing ## Canonical release entry - Path: `docs/changelog/2026-08-20.mdx` - Entry: ## v0.0.113 NemoClaw v0.0.113 improves sandbox and onboarding recovery across interactive connections, Hermes, Portable, policy changes, and local adapters. It adds experimental Hermes Google Chat support while keeping the service-account private key outside the sandbox. It also changes the Google Gemini default, strengthens managed image publication, and improves E2E diagnostics. - Interactive `connect` now releases the lifecycle lock before it waits for the shell, so other commands can use the same sandbox during the session. An explicit sandbox start tolerates a bounded initial OpenShell `Error` phase while the sandbox returns to `Ready`. Hermes onboarding probes the API port recorded for the sandbox, and onboarding bounds each sandbox readiness observation. Portable onboarding uses `10.87.0.0/24` for its sandbox network and preserves credential-redacted image-pull diagnostics. Experimental NemoCUA now uses the standard lifecycle for terminal agents with an operator-prepared sandbox image. For more information, refer to the [NemoClaw CLI Commands Reference](/user-guide/openclaw/reference/commands) and [Set Up an OpenAI-Compatible Endpoint](/user-guide/openclaw/inference/custom-endpoints/set-up-openai-compatible-endpoint). Related changes: [PR #9657](#9657), [PR #9755](#9755), [PR #9747](#9747), [PR #9758](#9758), [PR #9715](#9715), [PR #9714](#9714), and [PR #9723](#9723). - Policy changes now preserve the authoritative OpenShell exit status and leave rejected or unconfirmed mutations out of NemoClaw state. The Hermes tool gateway broker refuses a healthy listener unless the recorded live process is the NemoClaw broker. Shields commands can recover expired timer state, and full uninstall stops verified NemoClaw-owned Bedrock Runtime adapters before it removes their lifecycle evidence. For more information, refer to [Troubleshooting](/user-guide/openclaw/reference/troubleshooting) and [Uninstall NemoClaw](/user-guide/openclaw/manage-sandboxes/operate-sandboxes/uninstall-nemoclaw). Related changes: [PR #9238](#9238), [PR #9593](#9593), [PR #9749](#9749), and [PR #9576](#9576). - Google Gemini onboarding now offers and defaults to `gemini-3.6-flash` while retaining manual model entry. Failed Bedrock Runtime adapter startup now removes its process and stale state. Managed MCP add operations republish the credential-free provider revision after delayed credential absence and require a fresh projected revision before commit. Regression evidence now requires exactly one credential refresh across concurrent add operations. Managed llama.cpp publication can create its GitHub Container Registry package during the first platform publish and validates the two-platform candidate against exact platform manifests. Managed Hermes images include and validate the frozen `agent-client-protocol` package required by the existing `hermes-acp` entry point, but this release does not add an Agent Client Protocol (ACP) session workflow. For more information, refer to [Use Google Gemini](/user-guide/openclaw/inference/hosted-inference/use-google-gemini) and [Manage MCP Servers](/user-guide/openclaw/manage-sandboxes/mcp-servers/manage-mcp-servers). Related changes: [PR #9640](#9640), [PR #9769](#9769), [PR #9771](#9771), [PR #9772](#9772), [PR #9794](#9794), [PR #9766](#9766), and [PR #9795](#9795). - Experimental Google Chat support now includes Hermes. Hermes pulls events from a configured Google Cloud Pub/Sub subscription and sends replies through the Google Chat API. OpenShell keeps the service-account private key outside the sandbox and replaces the in-sandbox credential placeholder at the approved request boundary. For more information, refer to [Manage Messaging Channels](/user-guide/hermes/manage-sandboxes/messaging-channels/manage-messaging-channels). Related change: [PR #9393](#9393). - E2E support now preserves final-handoff diagnostics, stops scheduling later inference-routing tests after the first failure, and shortens token-rotation coverage without removing its credential checks. It completes Portable fixture cleanup before it publishes an injected failure record, reports each Launchable provenance mismatch, and retries one exact protected BuildKit transport failure only after the revision tag is confirmed absent. PR Review Advisor now reports all actionable submission validation errors together so its single repair attempt can address them. Related changes: [PR #9559](#9559), [PR #9713](#9713), [PR #9752](#9752), [PR #9757](#9757), [PR #9765](#9765), and [PR #9767](#9767). ## Pi documentation evidence - Pi candidate: `34cad8f2a896efbff8852f92190ad73395d62538` - Workflow: [Docs / Post-Merge Catch-Up run 32438491844, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/32438491844) - Publish job: [Publish documentation catch-up](https://github.com/NVIDIA/NemoClaw/actions/runs/32438491844/job/96644918130), successful - Artifact: `post-merge-docs-approved` - Review: `{"mainSha":"34cad8f2a896efbff8852f92190ad73395d62538","outcome":"approved","patchSha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","repository":"NVIDIA/NemoClaw","version":1}` - Managed candidate documentation PR and branch: absent ## Base and managed image evidence - Base-image candidate: `34cad8f2a896efbff8852f92190ad73395d62538` - Workflow: [E2E run 32438492164, attempt 1](https://github.com/NVIDIA/NemoClaw/actions/runs/32438492164) - Job: [base-image-publication](https://github.com/NVIDIA/NemoClaw/actions/runs/32438492164/job/96644329939), successful ## General E2E decision - Candidate SHA: `34cad8f2a896efbff8852f92190ad73395d62538` - Newest identifiable full main E2E SHA: `bed2590be34617f75185499e46e584a3a6c39f5e` - Run: [E2E full main run 32378489657, attempt 2](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/attempts/2) - Created: `2026-08-20T14:09:57Z`; started: `2026-08-20T21:11:36Z` - Last updated: `2026-08-20T22:44:13Z`, 11 hours 59 minutes old at inspection on `2026-08-21T02:09:00Z` - Status: completed; conclusion: failure - Release qualification: [failed](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96606611897), started `2026-08-20T22:43:35Z`, completed `2026-08-20T22:43:44Z` - Failed jobs: [openshell-credential-generation-window](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583887116), [mcp-bridge for Deep Agents](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583887165), [mcp-bridge for Hermes](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583887205), [mcp-bridge for OpenClaw](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583887271), [messaging-providers](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583887442), [Exact staging Brev Launchable](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583890229), [Brave search result and key isolation](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583890665), [balanced egress](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583890739), [Hermes Discord rebuild](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583890883), [Hermes Slack credential isolation](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583890884), [OpenClaw Discord pairing](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583890927), [OpenClaw Slack pairing](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583891240), [Shields restore](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583891548), [v0.0.89 upgrade](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583891808), and [Release qualification](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96606611897). - Skipped jobs: [native-runtime qualification producer plan](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583888376), [protected llama.cpp DGX Spark plan](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583888383), [retired-selector compatibility](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583888449), [Jetson nvmap GPU](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583888632), [protected llama.cpp on DGX Spark](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583894242), [pinned native Podman toolchain](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583894292), [matrix job](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583899900), [aggregate native-runtime qualification](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96583903345), and [Relevant E2E](https://github.com/NVIDIA/NemoClaw/actions/runs/32378489657/job/96606612673). - Requested reruns: none - Maintainer choice: proceed with the status shown. Exceptions: The newest identifiable full main E2E tested `bed2590be34617f75185499e46e584a3a6c39f5e`, not the release candidate, and had the accepted morning E2E failures listed above. Rebecca Sliter directed the release to proceed without another full run because those failures are accepted for this cut, while the candidate's separate required documentation and base-image publication gates passed.
# NemoClaw v0.0.111 release brief ## Release Range - Previous release: `v0.0.110` at `9ab3cd3a569e6d01aef26dee876461d281aef06a` - Candidate: `29c031c3813e41623df277442061f7961ea161e5` - Commits: 68 - Risky files detected: 182 ## QA Context ### Risky Areas - Workflow / enforcement - Credentials / inference - Installer / bootstrap - Sandbox / policy / SSRF - Onboarding / host glue ### Suggested Test Focus - Fresh install and upgrade paths - Onboarding wizard and sandbox creation - Policy enforcement, network egress, and SSRF protections - CI checks, pre-commit hooks, and DCO declarations - Credential storage and inference provider routing ## Canonical Release Entry - Path: `docs/changelog/2026-08-18.mdx` - Entry: ## v0.0.111 NemoClaw v0.0.111 extends the explicit experimental Portable profile with receipt-owned Hermes lifecycle authority and a fixed host-gateway and registry network topology. It makes Shields recovery, sandbox rebuilds, provider routing, and messaging bootstrap more diagnosable and less likely to leave ambiguous state. It also improves headless and local-inference onboarding, managed gateway recovery, uninstall cleanup, and release qualification. - Experimental Portable Hermes onboarding now publishes `pending`, `configuring`, and `active` lifecycle receipts that bind the selected rootless Podman socket, exact container, startup command, policy, and registry identity. An active receipt supports `launch`, `connect`, `recover`, `start`, `stop`, `status`, and read-only `doctor` without falling back to Docker; incomplete receipts direct operators to resume onboarding, and unsupported commands fail before effects. Portable onboarding also keeps every agent off Docker-labeled recreation, requires the exact stopped container to reach its terminal `exited` state, accepts the managed Hermes startup command through the root helper, and settles receipt-owned Portable uninstall in one invocation. The Portable network now configures `169.254.1.2/32` as the OpenShell host gateway and attaches the managed registry at the distinct `169.254.1.3` address. For more information, refer to the [NemoHermes CLI Commands Reference](/user-guide/hermes/reference/commands), [Set Up an OpenAI-Compatible Endpoint](/user-guide/hermes/inference/custom-endpoints/set-up-openai-compatible-endpoint), and [Uninstall NemoClaw](/user-guide/hermes/manage-sandboxes/operate-sandboxes/uninstall-nemoclaw). Related changes: [PR #9424](#9424), [PR #9447](#9447), [PR #9476](#9476), [PR #9509](#9509), [PR #9511](#9511), and [PR #9513](#9513). - OpenClaw `connect` now reports a Shields auto-relock that occurs during the active terminal session, keeps the session open, and prints the exact host command to lower Shields again. `backup-all` recovers lockdown from its trusted policy snapshot and stops before processing another sandbox when it cannot restore the prior Shields state. Rebuild carries read-only host mounts into the recreate session and fails closed on an older journal that cannot prove the original host-mount identity. OpenClaw rebuild also verifies the final `openclaw.json` and `.config-hash` pair, restores Shields, and exits nonzero when it cannot confirm config integrity. Uninstall removes package-owned `nemoclaw`, `nemohermes`, and `nemo-deepagents` binaries and aliases installed under NVM, including binaries that point through a linked npm package, while preserving foreign entries and the linked package source. Managed MCP credential reservations now make `credentials add --from-existing` fail before gateway mutation; operators can provide explicit credential keys or remove the reserving MCP servers. For more information, refer to [Create and Restore Snapshots](/user-guide/openclaw/manage-sandboxes/state-and-backups/create-and-restore-snapshots), [Recover and Rebuild Sandboxes](/user-guide/openclaw/manage-sandboxes/operate-sandboxes/recover-and-rebuild-sandboxes), and the [NemoClaw CLI Commands Reference](/user-guide/openclaw/reference/commands). Related changes: [PR #9508](#9508), [PR #9510](#9510), [PR #9471](#9471), [PR #9532](#9532), [PR #9502](#9502), and [PR #9546](#9546). - Headless onboarding now warns before image pulls when Docker Desktop's `desktop` credential store is selected from a session where the helper is unavailable, and provides an isolated `DOCKER_CONFIG` recovery path. Hermes Local Ollama validation distinguishes a daemon context setting from a model's native context cap and tells operators either to restart the daemon with the required value or select a larger model. Windows-host Ollama discovery validates the response body and rejects non-object model entries, provider validation rejects replies whose only message field is null, and incomplete or converging OpenShell routes receive bounded, actionable diagnostics. Deep Agents Code onboarding now accepts OpenRouter's native provider and model identity during fresh and resumed final validation instead of reporting false selection drift. NemoClaw reports an OpenClaw-only `NEMOCLAW_OPENCLAW_OTEL*` variable as unsupported for Hermes or Deep Agents Code instead of reporting a missing Dockerfile `ARG`. Station Express preserves the selected managed-vLLM provider state, onboarding traces record the flag that activated collection, and setup reports a dropped corporate CA import or a modified OpenShell migration instead of continuing with incomplete authority. For more information, refer to [Use Ollama](/user-guide/hermes/inference/local-inference/set-up-ollama), [Configure Model Limits](/user-guide/hermes/inference/manage-inference/configure-model-limits), and [Troubleshooting](/user-guide/hermes/reference/troubleshooting). Related changes: [PR #9459](#9459), [PR #9460](#9460), [PR #9482](#9482), [PR #9518](#9518), [PR #9488](#9488), [PR #9473](#9473), [PR #9481](#9481), [PR #9561](#9561), [PR #9507](#9507), [PR #9526](#9526), [PR #9516](#9516), [PR #9410](#9410), and [PR #9405](#9405). - Managed messaging bootstrap now completes Discord setup, accepts reviewed per-agent credential placeholder aliases and the WeChat account token placeholder, and preserves the selected managed agent identity when onboarding reuses an existing sandbox. The Open network-policy tier documentation also lists the experimental Microsoft Teams preset alongside the other messaging presets. For more information, refer to [Enable Channels During Onboarding](/user-guide/openclaw/manage-sandboxes/messaging-channels/enable-channels-during-onboarding) and [Network Policies Reference](/user-guide/openclaw/reference/network-policies). Related changes: [PR #9474](#9474), [PR #9477](#9477), [PR #9478](#9478), [PR #9479](#9479), and [PR #9504](#9504). - Managed sandbox recovery now waits through exact bounded gateway startup states, stops downstream connect or launch work after a direct recovery failure, and preserves sanitized diagnostics when rollback or replacement identity cannot be confirmed. Onboarding releases its temporary dashboard port reservation before the host forward starts, so the selected port remains available for that forward and later onboarding work. Hermes GPU fallback rollback can restore the shared-state directory's setgid mode after ownership changes. If restoration still fails, NemoClaw revalidates both container identities before removing only the transaction-owned replacement and leaving the original container stopped for cleanup. Identity drift stops rollback without container mutation. Docker replacement failures include the exact transaction-owned container identity, exit state, and a bounded redacted log tail, while the shared private-network boundary keeps inference and managed MCP target validation consistent. New migration snapshots now use the canonical directory name and matching manifest identity so the documented list, prune, and delete retention commands can manage them. Failed skill installation also removes its temporary SSH configuration, and NemoClaw recognizes the OpenShell `0.0.106` manifest contract used by the release. For more information, refer to [Recover and Rebuild Sandboxes](/user-guide/openclaw/manage-sandboxes/operate-sandboxes/recover-and-rebuild-sandboxes), [Custom Endpoint Security](/user-guide/openclaw/inference/custom-endpoints/custom-endpoint-security), and [Troubleshooting](/user-guide/openclaw/reference/troubleshooting). Related changes: [PR #9449](#9449), [PR #9480](#9480), [PR #9475](#9475), [PR #9569](#9569), [PR #9512](#9512), [PR #9445](#9445), [PR #9432](#9432), [PR #9434](#9434), and [PR #9224](#9224). - Release and E2E automation now treats staging Launchable as advisory context, binds PR evidence to the shipped managed-image cohort, minimizes guard-chain evidence export, and aligns typed target titles and coverage inventory. Provider-reservation contract coverage now verifies that a failed credential gateway mutation removes its provisional provider, while contributor automation limits each author to five concurrent PRs. The contributor doctor accepts every Git boolean spelling that enables `commit.gpgsign` and continues to reject disabled, unset, or invalid values. The cumulative documentation catch-up records the changed recovery, inference, Portable, policy, and troubleshooting contracts. Related changes: [PR #9463](#9463), [PR #9469](#9469), [PR #9472](#9472), [PR #9484](#9484), [PR #9496](#9496), [PR #9498](#9498), [PR #9491](#9491), [PR #9514](#9514), [PR #9517](#9517), [PR #9536](#9536), [PR #9550](#9550), and [PR #9566](#9566). ## Pi Documentation Evidence - Pi candidate: `29c031c3813e41623df277442061f7961ea161e5` - Workflow: https://github.com/NVIDIA/NemoClaw/actions/runs/32252532844 - Attempt: 1 - Publish job: https://github.com/NVIDIA/NemoClaw/actions/runs/32252532844/job/96067996364 - Artifact: `post-merge-docs-approved` - Review: `{"mainSha":"29c031c3813e41623df277442061f7961ea161e5","outcome":"approved","patchSha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","repository":"NVIDIA/NemoClaw","version":1}` - Managed candidate PR: absent. - Managed candidate branch: absent. ## Base and Managed Image Evidence - Base-image candidate: `29c031c3813e41623df277442061f7961ea161e5` - Workflow: https://github.com/NVIDIA/NemoClaw/actions/runs/32252533527 - Attempt: 1 - `base-image-publication` job: https://github.com/NVIDIA/NemoClaw/actions/runs/32252533527/job/96066626058 ## General E2E Decision - Mode: Full manual `main` run. - Selectors: Full suite. - Release candidate: `29c031c3813e41623df277442061f7961ea161e5`. - Tested commit: `dba453fd125d202fb4fbd84ff6df269034b798d1`. - Candidate match: No. - Workflow: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944 - Attempt: 1. - Created: `2026-08-18T07:03:11Z`. - Started: `2026-08-18T07:03:11Z`. - Last updated: `2026-08-18T08:34:42Z`. - Inspected: `2026-08-19T12:33:36Z`. - Age at inspection: 1 day, 5 hours, 30 minutes, and 25 seconds. - Workflow result: completed with failure. - Release qualification: completed with failure from `2026-08-18T08:34:10Z` through `2026-08-18T08:34:17Z` at https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95648791037. - Failed jobs: - `base-image-publication`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626046177 - `hermes-gpu-startup (fallback, e2e-hgpu-fallback, Fallback GPU startup reaches the stable Ready ro...)`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626383603 - `Exact staging Brev Launchable`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384624 - `Messaging: adds and removes Telegram configuration / no provider credential`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626385679 - `Inference: rejects unsafe routes and proves runtime identities / no provider credential`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626385862 - `Snapshot: restores selected sandbox state without credential leaks / no provider credential`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626385899 - `Onboarding: reuses the gateway and preserves sibling sandboxes / no provider credential`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386100 - `Networking: OpenClaw answers through balanced egress / Brave and NVIDIA inference API keys`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386126 - `Search: OpenClaw returns a Brave result without exposing its key / Brave and NVIDIA inference API keys`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386148 - `Gateway: restores the guard chain after recreation / NVIDIA inference API key`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386548 - `OpenClaw: installs, onboards, and completes an agent turn / NVIDIA inference API key`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386797 - `Security: OpenClaw retains the required sandbox posture / NVIDIA inference API key`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386927 - Skipped jobs: - `Compile protected llama.cpp DGX Spark plan`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384087 - `retired-selector-compatibility`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384092 - `native-runtime-qualification-producer-plan`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384263 - `jetson-nvmap-gpu`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384461 - `Build pinned native Podman toolchain / ${{ matrix.architecture }}`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386999 - `Protected llama.cpp on NVIDIA DGX Spark`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626387434 - `matrix.jobName`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626391296 - `Aggregate native runtime qualification evidence`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626395816 - `live`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95628219728 - `Relevant E2E`: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95648792390 - Cancelled, queued, or active jobs: None. - Maintainer choice: Proceed with the status as shown. Exceptions: The newest full E2E run failed and tested `dba453fd125d202fb4fbd84ff6df269034b798d1` instead of release candidate `29c031c3813e41623df277442061f7961ea161e5`; the maintainer is proceeding because general E2E is advisory for tag cutting, and the candidate's required documentation and base-image publication evidence passed.
# NemoClaw v0.0.110 release brief ## Release range - Previous release: `v0.0.109` at `d027b770d7130685d020964c4811211baf3d5f31` - Candidate: `9ab3cd3a569e6d01aef26dee876461d281aef06a` - Commits: 180 - Risky files detected: 518 ## QA context ### Risky areas - Workflow / enforcement - Sandbox / policy / SSRF - Credentials / inference - Installer / bootstrap - Onboarding / host glue ### Suggested test focus - Fresh install and upgrade paths - Onboarding wizard and sandbox creation - Policy enforcement, network egress, and SSRF protections - CI checks, pre-commit hooks, and DCO declarations - Credential storage and inference provider routing ## Canonical release entry - Path: `docs/changelog/2026-08-17.mdx` - Entry: ## v0.0.110 NemoClaw v0.0.110 adds an Experimental managed llama.cpp profile for Meta Muse Glimmer 30B on one DGX Spark and requires native tool-use evidence from custom Anthropic-compatible endpoints. It strengthens the explicit experimental Portable OpenClaw path with rootless Podman lifecycle authority, CPU-delegation preflight, and receipt-bound uninstall. It also improves onboarding recovery, local inference diagnostics, messaging and policy cleanup, backup and uninstall safety, and release qualification. - Managed llama.cpp onboarding now recommends the compatible Meta Muse Glimmer 30B profile on one DGX Spark while retaining NVIDIA Nemotron as a lower-priority choice. Profile selection is deterministic, exact recipe selection remains available for automation, and typed recipe contracts constrain templates and reasoning settings. The Experimental managed vLLM Muse Glimmer profile now uses its qualified pinned runtime, and `onboard --profile` selects the provider required by the requested serving profile instead of falling through to the provider menu. Local inference setup also distinguishes a probe-image pull failure from a networking failure, reuses a positively identified Windows-host Ollama daemon under WSL mirrored networking, and completes a required Ollama upgrade before continuing. For more information, refer to [Set Up llama.cpp](/user-guide/openclaw/inference/local-inference/set-up-llama-cpp), [Set Up vLLM](/user-guide/openclaw/inference/local-inference/set-up-vllm), and [Use Ollama](/user-guide/openclaw/inference/local-inference/set-up-ollama). Related changes: [PR #8711](#8711), [PR #9099](#9099), [PR #9319](#9319), [PR #9311](#9311), [PR #9345](#9345), and [PR #9284](#9284). - Custom endpoint onboarding, `inference set`, and rebuild recovery now reject unsafe URL characters and unsupported URL components before network or state mutation. OpenClaw onboarding for a custom Anthropic-compatible endpoint requires a native streaming `tool_use` block and matching stop reason instead of accepting JSON-shaped assistant text. Google Gemini diagnostics distinguish a Chat Completions route `404` from native model-catalog validation, while sandbox status preserves the recorded API family when only the model drifts. Hermes route changes fail when the in-sandbox configuration cannot synchronize, and Model Router setup and teardown serialize lifecycle work across the current user's gateways so destroy cannot stop a replacement router or overwrite a concurrent onboarding session. For more information, refer to [Custom Endpoint Security](/user-guide/openclaw/inference/custom-endpoints/custom-endpoint-security), [Set Up an Anthropic-Compatible Endpoint](/user-guide/openclaw/inference/custom-endpoints/set-up-anthropic-compatible-endpoint), [Use Google Gemini](/user-guide/openclaw/inference/hosted-inference/use-google-gemini), [Verify the Inference Route](/user-guide/openclaw/inference/validate-inference/verify-inference-route), and [Set Up Model Router](/user-guide/openclaw/inference/hosted-inference/set-up-model-router). Related changes: [PR #9320](#9320), [PR #9119](#9119), [PR #9236](#9236), [PR #9347](#9347), [PR #9307](#9307), [PR #9233](#9233), [PR #9185](#9185), and [PR #9112](#9112). - Fresh OpenClaw and Hermes onboarding now waits for a durable sandbox ID and a successful no-op command after OpenShell reports `Ready`. Deployment verification also probes a separate agent API host forward before reporting the sandbox ready, and names the exact forward recovery command when that endpoint is unavailable. An explicit `--recreate-sandbox` request bypasses stale saved build or policy fingerprints, and managed OpenClaw registration records its validated agent identity for later rebuild and restore authority. Readiness observations now age from collection completion, so slow probes do not immediately invalidate their own results, and rebuild recovery can defer an unanswered route query to authoritative onboarding while still rejecting a confirmed route mismatch. Reused onboarding passes the selected messaging dependencies, session reporting recognizes proxied `connect` processes, and recovery can use probe-only convergence without failing solely because platform evidence is absent. Legacy gateway upgrades preserve a proven gateway identity and scope cleanup to the exact selected gateway, while sandbox destroy removes only an identity-bound Docker orphan and preserves recovery state on any mismatch. The deprecated global `nemoclaw start` command exits successfully with migration guidance instead of starting a tunnel, leaving sandbox startup to `nemoclaw <sandbox> start` and tunnel startup to `nemoclaw tunnel start`. For more information, refer to [Recover and Rebuild Sandboxes](/user-guide/openclaw/manage-sandboxes/operate-sandboxes/recover-and-rebuild-sandboxes), the [NemoClaw CLI Commands Reference](/user-guide/openclaw/reference/commands), and [Troubleshooting](/user-guide/openclaw/reference/troubleshooting). Related changes: [PR #9229](#9229), [PR #9299](#9299), [PR #9318](#9318), [PR #9325](#9325), [PR #9352](#9352), [PR #9370](#9370), [PR #9366](#9366), [PR #9321](#9321), [PR #9285](#9285), [PR #9282](#9282), [PR #8920](#8920), [PR #9198](#9198), and [PR #9201](#9201). - The explicit experimental Portable OpenClaw profile now keeps sandbox lifecycle operations under the selected current-user rootless Podman socket and exact container identity, uses native OpenShell GPU injection, and preserves a sandbox whose identity cannot be verified. Portable onboarding verifies the cgroups v2 CPU controller at the root hierarchy, per-user slice, user manager, and `app.slice` before mutation, with documented administrator-owned Ubuntu 22.04 preparation and rollback. Portable OpenClaw onboarding publishes readiness only after paired-device and active-operator scopes settle against the current lifecycle receipt; connect, recovery, and launch preflight perform at most one bounded repair or report incomplete onboarding. Fresh Portable onboarding selects the Personal tier and requires `personal-open-internet`; explicit policy presets add to this required web authority instead of replacing it. It retains explicit model intent and waits for the exact receipt-owned container to reach `Running=false` with status `exited` after a stop succeeds or times out. Portable uninstall removes only receipt-owned Podman resources and NemoClaw-owned selectors, preserves ambiguous state for retry, and leaves ordinary Docker, model stores, and unrelated user resources unchanged. For more information, refer to [Platform Support](/user-guide/openclaw/reference/platform-support), [Network Policies Reference](/user-guide/openclaw/reference/network-policies), [Uninstall NemoClaw](/user-guide/openclaw/manage-sandboxes/operate-sandboxes/uninstall-nemoclaw), and [Troubleshooting](/user-guide/openclaw/reference/troubleshooting). Related changes: [PR #9176](#9176), [PR #9197](#9197), [PR #9289](#9289), [PR #9270](#9270), [PR #9339](#9339), [PR #9209](#9209), [PR #9186](#9186), [PR #9346](#9346), [PR #9376](#9376), and [PR #9441](#9441). - Later onboarding runs now record when the host stops configuring a messaging channel, remove its stale egress preset, and preserve in-sandbox QR-paired channels whose state the host cannot determine. Managed startup validation accepts schema-owned messaging package pins and approved credential placeholder assignments while continuing to reject raw credentials, mismatched keys, and malformed or misplaced values. `policy remove` can remove a preset enforced by the live gateway even when the local registry lacks it, and reports an unavailable gateway separately from a gateway that does not hold the preset. Experimental Google Chat pairing approval becomes active for the next message after direct approval, with managed restart recovery when activation partially commits. For more information, refer to [Enable Channels During Onboarding](/user-guide/openclaw/manage-sandboxes/messaging-channels/enable-channels-during-onboarding), [Set Up Google Chat](/user-guide/openclaw/manage-sandboxes/messaging-channels/set-up-google-chat), and [Apply Policy Presets](/user-guide/openclaw/network-policy/configure-policies/apply-policy-presets). Related changes: [PR #9296](#9296), [PR #9327](#9327), [PR #9306](#9306), [PR #9248](#9248), and [PR #9374](#9374). - Snapshot backup now accepts multiply linked regular package files in a Hermes sandbox while continuing to reject unsafe symbolic links and special files. `uninstall --destroy-user-data` removes installer-managed user-local CLI shims when sibling evidence does not require the shared package, and full Portable uninstall follows its separate receipt-bound cleanup contract. The experimental voice gateway reads startup credentials from fixed inherited file descriptors instead of accepting credential paths in process arguments, and Shields accepts only bounded native OpenClaw device-store modes while restoring mutable state. OpenClaw startup guard output now stays in a root-only child directory while the shared runtime directory remains traversable, preserving access to the root-owned managed CA bundle without exposing guard diagnostics to sandbox processes. For more information, refer to [Create and Restore Snapshots](/user-guide/openclaw/manage-sandboxes/state-and-backups/create-and-restore-snapshots), [Uninstall NemoClaw](/user-guide/openclaw/manage-sandboxes/operate-sandboxes/uninstall-nemoclaw), [Filesystem Controls](/user-guide/openclaw/security/security-controls/filesystem-controls), and the [NemoClaw CLI Commands Reference](/user-guide/openclaw/reference/commands). Related changes: [PR #9317](#9317), [PR #9288](#9288), [PR #9239](#9239), [PR #9269](#9269), and [PR #9371](#9371). - Release qualification again treats the trusted staging Launchable deployment as required evidence and retains bounded, secret-safe readiness diagnostics and transient collaborator-permission retries. The E2E workflow reports same-commit first-pass and retry reliability, retries only transient reads of the exact trusted contract artifact, executes the credential-free native-runtime qualification matrix without enabling production Podman selection, and documents canonical target selection and retry rules. Post-merge documentation catch-up now runs after merges through separated author, reviewer, and publisher boundaries, while release prep continues to require the dated changelog entry on `main` before tag planning. Related changes: [PR #9351](#9351), [PR #9350](#9350), [PR #9353](#9353), [PR #9226](#9226), [PR #9237](#9237), [PR #9232](#9232), [PR #9275](#9275), [PR #9234](#9234), and [PR #9365](#9365). ## Pi documentation evidence - Pi candidate: `9ab3cd3a569e6d01aef26dee876461d281aef06a` - Workflow run: https://github.com/NVIDIA/NemoClaw/actions/runs/32135160191 (attempt 1) - Publish job: https://github.com/NVIDIA/NemoClaw/actions/runs/32135160191/job/95705557107 - Artifact: `post-merge-docs-approved` - Approved-empty review: `{"mainSha":"9ab3cd3a569e6d01aef26dee876461d281aef06a","outcome":"approved","patchSha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","repository":"NVIDIA/NemoClaw","version":1}` - Candidate managed docs PR: absent - Candidate managed docs branch: absent ## Base and managed image evidence - Base-image candidate: `9ab3cd3a569e6d01aef26dee876461d281aef06a` - Workflow run: https://github.com/NVIDIA/NemoClaw/actions/runs/32135160741 (attempt 1, trusted `main` push) - Aggregate job: https://github.com/NVIDIA/NemoClaw/actions/runs/32135160741/job/95708965398 - Result: `base-image-publication` completed successfully for `9ab3cd3a569e6d01aef26dee876461d281aef06a` ## Exact staging Brev Launchable evidence - Launchable candidate: `9ab3cd3a569e6d01aef26dee876461d281aef06a` - Candidate push run: https://github.com/NVIDIA/NemoClaw/actions/runs/32135160741 - Candidate job: https://github.com/NVIDIA/NemoClaw/actions/runs/32135160741/job/95709328552 - Result: `Exact staging Brev Launchable` was skipped on the candidate push; no successful exact-candidate manual result exists. - Maintainer override: proceed without dispatching or requiring the exact-candidate Launchable result. ## General E2E decision - Candidate SHA: `9ab3cd3a569e6d01aef26dee876461d281aef06a` - Displayed full-run SHA: `dba453fd125d202fb4fbd84ff6df269034b798d1` (does not match candidate) - Workflow: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944 - Attempt: 1 - Created: `2026-08-18T07:03:11Z` - Started: `2026-08-18T07:03:11Z` - Last updated: `2026-08-18T08:34:42Z` - Inspected: `2026-08-18T12:41:38.951Z` (age 5h 38m) - Workflow result: completed/failure - Release qualification: https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95648791037 (completed/failure; `2026-08-18T08:34:10Z` to `2026-08-18T08:34:17Z`) - Requested reruns: none - Maintainer choice: proceed with the displayed status; do not dispatch another run. - Exceptional jobs: - `base-image-publication`: completed/failure; 2026-08-18T07:03:16Z to 2026-08-18T07:12:39Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626046177 - `hermes-gpu-startup (fallback, e2e-hgpu-fallback, Fallback GPU startup reaches the stable Ready ro...`: completed/failure; 2026-08-18T07:13:43Z to 2026-08-18T07:18:28Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626383603 - `Compile protected llama.cpp DGX Spark plan`: completed/skipped; 2026-08-18T07:04:40Z to 2026-08-18T07:04:40Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384087 - `retired-selector-compatibility`: completed/skipped; 2026-08-18T07:04:40Z to 2026-08-18T07:04:40Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384092 - `native-runtime-qualification-producer-plan`: completed/skipped; 2026-08-18T07:04:40Z to 2026-08-18T07:04:40Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384263 - `jetson-nvmap-gpu`: completed/skipped; 2026-08-18T07:04:40Z to 2026-08-18T07:04:40Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384461 - `Exact staging Brev Launchable`: completed/failure; 2026-08-18T07:04:43Z to 2026-08-18T08:34:07Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626384624 - `Messaging: adds and removes Telegram configuration / no provider credential`: completed/failure; 2026-08-18T07:04:43Z to 2026-08-18T07:24:33Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626385679 - `Inference: rejects unsafe routes and proves runtime identities / no provider credential`: completed/failure; 2026-08-18T07:04:44Z to 2026-08-18T07:17:44Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626385862 - `Snapshot: restores selected sandbox state without credential leaks / no provider credential`: completed/failure; 2026-08-18T07:04:43Z to 2026-08-18T07:24:14Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626385899 - `Onboarding: reuses the gateway and preserves sibling sandboxes / no provider credential`: completed/failure; 2026-08-18T07:04:44Z to 2026-08-18T07:32:54Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386100 - `Networking: OpenClaw answers through balanced egress / Brave and NVIDIA inference API keys`: completed/failure; 2026-08-18T07:04:44Z to 2026-08-18T07:05:46Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386126 - `Search: OpenClaw returns a Brave result without exposing its key / Brave and NVIDIA inference API keys`: completed/failure; 2026-08-18T07:04:44Z to 2026-08-18T07:05:26Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386148 - `Gateway: restores the guard chain after recreation / NVIDIA inference API key`: completed/failure; 2026-08-18T07:04:44Z to 2026-08-18T07:12:36Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386548 - `OpenClaw: installs, onboards, and completes an agent turn / NVIDIA inference API key`: completed/failure; 2026-08-18T07:04:43Z to 2026-08-18T07:15:11Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386797 - `Security: OpenClaw retains the required sandbox posture / NVIDIA inference API key`: completed/failure; 2026-08-18T07:04:43Z to 2026-08-18T07:14:48Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386927 - `Build pinned native Podman toolchain / ${{ matrix.architecture }}`: completed/skipped; 2026-08-18T07:04:41Z to 2026-08-18T07:04:40Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626386999 - `Protected llama.cpp on NVIDIA DGX Spark`: completed/skipped; 2026-08-18T07:04:41Z to 2026-08-18T07:04:40Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626387434 - `matrix.jobName`: completed/skipped; 2026-08-18T07:04:42Z to 2026-08-18T07:04:41Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626391296 - `Aggregate native runtime qualification evidence`: completed/skipped; 2026-08-18T07:04:43Z to 2026-08-18T07:04:42Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95626395816 - `live`: completed/skipped; 2026-08-18T07:12:40Z to 2026-08-18T07:12:40Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95628219728 - `Release qualification`: completed/failure; 2026-08-18T08:34:10Z to 2026-08-18T08:34:17Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95648791037 - `Relevant E2E`: completed/skipped; 2026-08-18T08:34:08Z to 2026-08-18T08:34:07Z; https://github.com/NVIDIA/NemoClaw/actions/runs/32109622944/job/95648792390 Exceptions: The maintainer chose to ship v0.0.110 now after the documentation and base-image checks passed, accepting that no successful exact-candidate Exact staging Brev Launchable result exists and that the newest full E2E run failed on a different commit; no rerun was requested.
PreviousNext