feat(kiloclaw): bump openclaw to 2026.3.23#1678
Conversation
- Bump Dockerfile pin from 2026.3.22 to 2026.3.23 - Update .dev.vars.example and e2e doc version refs to 2026.3.23 - Remove dead CLAWDBOT_STATE_DIR env fallback (removed upstream in 2026.3.22) - Add streamchat to detectChannels() for telemetry completeness - Expand default Fly region list from eu,us to specific regions
The TODO was gated on config schema support (>= 2026.3.14), but the actual blocker is that OpenClaw's Pi MCP bridge only supports StdioClientTransport — no HTTP/SSE transport for remote servers like AgentCard and Linear.
| const sc = isRecord(ch.streamchat) ? ch.streamchat : {}; | ||
| const channels: string[] = []; | ||
| if (tg.enabled && tg.botToken) channels.push('telegram'); | ||
| if (dc.enabled && dc.token) channels.push('discord'); |
There was a problem hiding this comment.
Telemetry-only addition: streamchat was already configured as a channel in config-writer.ts but was missing from detectChannels(), so it wasn't being counted in the enabledChannels telemetry payload. This adds it alongside the existing telegram/discord/slack detection using the same pattern (enabled && apiKey). No runtime behavior change.
| * | ||
| * TODO: When OpenClaw's Pi MCP bridge gains HTTP/SSE transport, migrate these | ||
| * definitions into generateBaseConfig() using `config.mcp.servers` and remove | ||
| * mcporter. See PR #48611 in openclaw/openclaw. |
There was a problem hiding this comment.
mcporter is not bundled with OpenClaw — it's a separate npm package we pin at 0.7.3 in our Dockerfile (npm install -g mcporter@0.7.3). The config.mcp.servers schema exists in openclaw.json since v2026.3.14, but OpenClaw's embedded Pi MCP runtime only supports StdioClientTransport (no HTTP/SSE). Since AgentCard and Linear are remote HTTP endpoints, mcporter stays until OpenClaw adds HTTP transport. Config file lives at /root/.openclaw/workspace/config/mcporter.json.
| # Install OpenClaw | ||
| # Pin to specific version for reproducible builds | ||
| RUN npm install -g openclaw@2026.3.13 \ | ||
| RUN npm install -g openclaw@2026.3.23 \ |
There was a problem hiding this comment.
Upstream v2026.3.22 removed jq from the safe-bin allowlist. With our exec config (security: 'allowlist', ask: 'on-miss'), agents will now be prompted before running jq instead of it executing automatically. jq is still installed in the container — this is a UX change, not a breakage. We're accepting the new behavior rather than overriding the allowlist.
There was a problem hiding this comment.
THis needs to be removed
There was a problem hiding this comment.
this needs to be removed
Important Note
2026.03.22 was the initial target for this update, but it does not ship with the Control UI (it is broken).
Summary
CLAWDBOT_STATE_DIRenv fallback (removed upstream in v2026.3.22)detectChannels()for telemetry completeness.dev.vars.exampleande2e/docker-image-testing.mdUpstream release notes reviewed
Full setup/onboarding impact analysis performed across all three releases (~200 changes flagged, ~136 setup-related). Key findings:
Breaking changes (upstream)
CLAWDBOT_*/MOLTBOT_*removed — must useOPENCLAW_*(cleaned up in this PR)openclaw/extension-apiremoved, new surface isopenclaw/plugin-sdk/*jqremoved from safe-bin: agents now get prompted before runningjq(we're accepting this behavior —jqis still installed in the container, exec security isallowlist+on-missso it's a prompt, not a block)Verified safe
openclaw/plugin-sdk, unique channel ID,peerDependencies: openclaw >=2026.2.130.7.3in our Dockerfile, unaffected by the bumpBenefits from upgrade (no code changes needed)
dist/extensions)Unknown modelon first message)openclaw configureno longer stallsmemory-coreimplicit slot)plugins.allowIDs now warnings instead of fatal errors (v2026.3.23)Deferred
config.mcp.servers: schema exists but OpenClaw's Pi MCP bridge only supportsStdioClientTransport— no HTTP/SSE transport for remote servers (AgentCard, Linear). mcporter stays until upstream adds HTTP transport. TODO comment updated.Test plan
openclaw --versionreports2026.3.23jqafter approval prompt