2026.11.3
Highlights
- Private task results: Keep private subagent completions out of streamed chat replies. (#188490) Thanks @fuller-stack-dev.
- Reliable child-task handoffs: Allow a parent to hand off to replacement work after cancelling a child, without leaving the cancelled child's completion receipt blocking the handoff. (#178893; related #178565) Thanks @brianmcguire and @letsc4.
- Visible tool failures: Report unanswered tool failures instead of silently ending a user-addressed turn as a success. (#182458; related #99645) Authored by @steipete. Thanks @rdleclerc.
- Bounded authentication: Stop stalled provider authentication at the run deadline and propagate cancellation through authentication work. (#189144) Thanks @amittell.
- Sandboxed image access: Keep required-sandbox image previews inside allowed folders, even in Full Access mode, while preserving explicit administrator image allowances. (#176203) Thanks @shakkernerd.
- Verified workspace connections: Preserve saved node certificate pins when an empty fingerprint is supplied, and verify workspace-transfer certificates before sending credentials or data. (#125646, #190002) Thanks @wanyongstar and @avelev99.
- Faster, responsive Gateway: Reduce startup module-file loading overhead and avoid stalls when abort-command detection encounters long punctuation runs. (#192217, #184433) Thanks @karkarl, @RomneyDa, @LeizhenZhang, and @obviyus.
Changes
No new configuration options or features.
Fixes
- Credential isolation: Keep reused and cached plugin results scoped to their connection credentials, and keep other plugins' transport hooks on the provider's origin. (#178444, #177974, #189423) Authored by @steipete. Thanks @obviyus.
- Search and memory credentials: Keep Firecrawl search and scrape keys with their scoped endpoints and embedding credentials with their destination. (#190706, #184966) Thanks @zhangguiping-xydt and @eleqtrizit.
- Credential redaction: Redact inline environment credentials from configuration reads and reflected search credentials from Exa errors. (#190618, #178745) Authored by @steipete. Thanks @yetval.
- Child-process environments: Prevent managed Signal daemons and bundled language servers from inheriting unrelated Gateway secrets. (#179198, #179415) Thanks @VACInc.
- Authentication errors: Surface credential-read failures rather than treating them as missing credentials, and reject explicitly selected auth profiles belonging to incompatible providers. (#173970, #181597) Authored by @steipete. Thanks @vincentkoc.
- Channel safety: Keep incoming Twitch IRC content out of parser error logs and require explicit request IDs when multiple Tlon approvals are pending. (#174552, #186243) Authored by @steipete. Thanks @mmaps.
- Scheduled jobs: Handle queued cron storage failures without exiting the Gateway, and clear one-shot cleanup when a job becomes recurring. (#175678, #168985) Authored by @steipete. Thanks @yxshee, @wangmiao0668000666, and @obviyus.
- Updates: Let profile-backed updates recognize their own maintenance lock and preserve cancellation when ledger writes are deferred. (#177792, #187998) Thanks @GrahamMcBain and @vincentkoc.
- Update recovery: Recover safely when the initial package-presence check times out, requiring a fresh valid directory identity before replacement and retaining rollback to the original package. (#181906) Authored by @steipete.
- Anthropic usage caps: Recognize exhausted plural usage-limit errors without spending the transient rate-limit retry budget. (#176186; related #176179) Thanks @sunlit-deng and @blue-dot-1.
- Terminal sessions: Forward /reset soft to the Gateway instead of hard-resetting the session. (#172431) Thanks @yetval and @obviyus.
- Git recovery: Preserve uncertain command failures during Git repair rather than treating an unconfirmed operation as successful. (#176006) Authored by @steipete.
- Memory provider selection: Accept mixed-case none and auto provider values. (#186310) Authored by @steipete. Thanks @sagealice2002-dotcom.
Complete contribution record
This audited record covers the complete v2026.11.2..abf11ef history: 34 in-range PRs + 0 retained seed-only PRs = 34 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Pull requests
- PR #192217 Thanks @karkarl and @RomneyDa.
- PR #172887 Authored by @steipete.
- PR #184433 Thanks @LeizhenZhang and @obviyus.
- PR #125646 Thanks @wanyongstar.
- PR #190002 Thanks @avelev99.
- PR #176203 Thanks @shakkernerd.
- PR #174552 Authored by @steipete.
- PR #179198 Thanks @VACInc.
- PR #186243 Thanks @mmaps.
- PR #190618 Thanks @yetval.
- PR #175678 Thanks @yxshee, @wangmiao0668000666, and @obviyus.
- PR #168985 Authored by @steipete.
- PR #188490 Thanks @fuller-stack-dev.
- PR #177792 Thanks @GrahamMcBain.
- PR #176006 Authored by @steipete.
- PR #189423 Thanks @obviyus.
- PR #179415 Thanks @VACInc.
- PR #190706 Thanks @zhangguiping-xydt.
- PR #184966 Thanks @eleqtrizit.
- PR #186310 Authored by @steipete. Thanks @sagealice2002-dotcom.
- PR #187998 Thanks @vincentkoc.
- PR #172431 Thanks @yetval and @obviyus.
- PR #178444 Authored by @steipete.
- PR #173970 Authored by @steipete.
- PR #181597 Thanks @vincentkoc.
- PR #195140 Thanks @RomneyDa.
- PR #177974 Authored by @steipete.
- PR #178745 Authored by @steipete.
- PR #182458 Related #99645. Authored by @steipete. Thanks @rdleclerc.
- PR #184791 Thanks @hannesrudolph.
- PR #189144 Thanks @amittell.
- PR #178893 Related #178565. Thanks @brianmcguire and @letsc4.
- PR #181906 Authored by @steipete.
- PR #176186 Related #176179. Thanks @sunlit-deng and @blue-dot-1.
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.11.3
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.11.3.tgz
- integrity:
sha512-FBq/q0TCaoA2b7qfdV0q81fHhI6RBB1zAQfJQREc1u2TlK5khVgCUsAlXskLWthyVqRz5PWEj+oOmfYgK58dHg== - release SHA:
847611dcaa3bf0e2783335f961dd1fd0580e4d9f - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.11.3/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/42873705304
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/42805216493
- full release validation: https://github.com/openclaw/openclaw/actions/runs/42804576583
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/42876183245
- plugin ClawHub publish: no normal OIDC candidates
- plugin ClawHub bootstrap: not needed
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/42858513909/attempts/2
- npm Telegram beta E2E: not supplied
- Android APK: monitor the native qualification and publication jobs at https://github.com/openclaw/openclaw/actions/runs/42873705304