This is a gateway-only extended-stable release, which is our current equivalent to LTS. This release is OpenClaw from the end of September 2026, plus critical security updates, reliability and performance fixes, and features like new model support. The latest version of OpenClaw at the time of this release is 2026.10.8
2026.9.36
Highlights
- Failed updates stay recoverable: a failed npm rollback no longer leaves the installed package missing, and update checks keep Doctor recovery guidance, stop recopying private rehearsal databases, and no longer reopen candidate-migrated state. Fixes #184889. (#185160, #186177) Thanks @syxscott, @LiuwqGit, and @RomneyDa.
- Workspace restrictions reach Gateway-built tools: with
tools.fs.workspaceOnly,openclawdelegates built through Gateway loopback and skill dispatch now require approval as intended, and media tools stay inside the workspace. (#185094) Thanks @eleqtrizit and @RomneyDa. - Microsoft Teams allowlists stay restrictive: name-keyed
teamsorgroupAllowFromentries that do not resolve now grant nothing instead of opening the bot to every team or group. (#184989) Thanks @eleqtrizit, @RomneyDa, and @shakkernerd. - Untrusted input is bounded: malformed media metadata, inbound mail addresses, TOML, URIs, oversized collections in custom A2UI schemas and Discord's embedded SDK, and response-controlled Microsoft authentication routing can no longer cause unbounded work or alter identity. (#187288, #187282, #187283, #187305, #187289, #187287) Thanks @RomneyDa and @cyyynthia.
- Replies keep their text: comparison prose after emoji and other astral characters is no longer stripped from outbound replies. (#187415) Thanks @RomneyDa.
Changes
- Certificate trust and Docker images: the eMudhra trust remediation is applied, and Docker release images carry source/version-bound evidence with more reliable architecture builds. (#186639) Thanks @RomneyDa.
Fixes
- Credential and content boundaries: derive the filesystem policy for Gateway-built OpenClaw tools, keep unresolved Microsoft Teams allowlists closed, and scope the patched MSAL to the affected Teams and Azure Identity consumers. (#185094, #184989, #187287) Thanks @eleqtrizit, @RomneyDa, and @shakkernerd.
- Untrusted parsing: bound Matrix media metadata and IMAP mail parsing, the TOML key parser, URI parsing, and oversized Zod collections in custom A2UI schemas and Discord's embedded SDK. (#187288, #187282, #187283, #187305, #187289) Thanks @RomneyDa and @cyyynthia.
- Reply delivery: keep comparison prose after astral characters in the outbound sanitizer. (#187415) Thanks @RomneyDa.
- xAI: allow
offfor older models without configurable reasoning effort instead of rejecting it as an invalid thinking level. (#187425) Thanks @RomneyDa. - Update, install, and Doctor: restore the installed package root after a denied rollback rename, keep Doctor recovery guidance and migration rollback restrictions, preserve cleanup uncertainty in buffered command results, keep the update compatibility inventory out of published packages, and stop retrying broken worktree metadata on every cleanup sweep. Fixes #184889, #184237. (#185160, #186177, #184270, #187424, #187475) Thanks @syxscott, @shakkernerd, @LiuwqGit, and @RomneyDa.
- Node uploads: recheck cancellation after opening a staged upload snapshot so a cancelled upload no longer surfaces an
AbortError. (#162567) Thanks @RomneyDa. - Dependencies: update the ClawHub
undicipin, Vercel toolchain packages, and the Vitest cohort on this line. (#187261, #187258, #187275) Thanks @RomneyDa.
Complete contribution record
This audited record covers the complete v2026.9.35..d04a9be history: 28 in-range PRs + 0 retained seed-only PRs = 28 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Pull requests
- PR #185537 Thanks @RomneyDa.
- PR #186639 Thanks @RomneyDa.
- PR #186643 Thanks @RomneyDa.
- PR #162567 Thanks @RomneyDa.
- PR #186177 Thanks @RomneyDa.
- PR #187258 Thanks @RomneyDa.
- PR #187261 Thanks @RomneyDa.
- PR #185160 Related #184889. Thanks @LiuwqGit and @RomneyDa and @syxscott.
- PR #184270 Related #184237. Thanks @shakkernerd and @RomneyDa.
- PR #187283 Thanks @RomneyDa.
- PR #187289 Thanks @RomneyDa.
- PR #187282 Thanks @RomneyDa and @cyyynthia.
- PR #187288 Thanks @RomneyDa.
- PR #187275 Thanks @RomneyDa.
- PR #185094 Thanks @eleqtrizit and @RomneyDa.
- PR #184989 Thanks @eleqtrizit and @RomneyDa and @shakkernerd.
- PR #185484 Thanks @shakkernerd and @RomneyDa and @eleqtrizit.
- PR #187287 Thanks @RomneyDa.
- PR #187305 Thanks @RomneyDa.
- PR #187424 Thanks @RomneyDa.
- PR #187425 Thanks @RomneyDa.
- PR #187415 Thanks @RomneyDa.
- PR #187472 Thanks @RomneyDa.
- PR #187471 Thanks @RomneyDa.
- PR #187475 Thanks @RomneyDa.
- PR #187518 Thanks @RomneyDa.
- PR #187476 Thanks @RomneyDa.
- PR #161504
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.9.36
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.9.36.tgz
- integrity:
sha512-lf5bdnWiPleye2eGaaN6HIOI2g96rFJnNFqwuEPVdz+AHlOya8nTSSaXN9Ql9xlkYBCE3ANV6jqhPvJzCpXqVw== - release SHA:
70c40e4bdcbc4e9952d30121e8de86eeb0781618 - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.9.36/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/40943247206
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/40908158349
- full release validation: https://github.com/openclaw/openclaw/actions/runs/40907200138
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/40944417335
- plugin ClawHub publish: no normal OIDC candidates
- plugin ClawHub bootstrap: not needed
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/40938440703/attempts/1
- npm Telegram beta E2E: not supplied