openclaw/CHANGELOG/2026.1.11.md
Hannes Rudolph 2227743f74
refactor: split release changelogs and synchronize docs mirrors (#145464)
* refactor: split release changelogs and synchronize docs mirrors

* fix: complete split changelog instructions and validation wiring

* fix: complete release changelog mirror integration

Regenerate existing docs mirrors within the docs-agent publication boundary, preserve one HTML release heading, and package links for oversized mirrors without changing frozen records. Update release publisher and test-routing fixtures for the shared changelog resolver.

* test: align docs agent Git ownership fixtures

Keep failure injection aligned with staged-index validation and mirror staging. Preserve native Git producer exit codes and verify both cached-index producers without weakening process-drain assertions.

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-09-11 21:19:18 -07:00

8.4 KiB

2026.1.11

Highlights

  • Plugins are now first-class: loader + CLI management, plus the new Voice Call plugin.
  • Config: modular $include support for split config files. (#731) - thanks @pasogott.
  • Agents/Pi: reserve compaction headroom so pre-compaction memory writes can run before auto-compaction.
  • Agents: automatic pre-compaction memory flush turn to store durable memories before compaction.

Changes

  • CLI/Onboarding: simplify MiniMax auth choice to a single M2.1 option.
  • CLI: configure section selection now loops until Continue.
  • Docs: explain MiniMax vs MiniMax Lightning (speed vs cost) and restore LM Studio example.
  • Docs: add Cerebras GLM 4.6/4.7 config example (OpenAI-compatible endpoint).
  • Onboarding/CLI: group model/auth choice by provider and label Z.AI as GLM 4.7.
  • Onboarding/Docs: add Moonshot AI (Kimi K2) auth choice + config example.
  • CLI/Onboarding: prompt to reuse detected API keys for Moonshot/MiniMax/Z.AI/Gemini/Anthropic/OpenCode.
  • Auto-reply: add compact /model picker (models + available providers) and show provider endpoints in /model status.
  • Control UI: add Config tab model presets (MiniMax M2.1, GLM 4.7, Kimi) for one-click setup.
  • Plugins: add extension loader (tools/RPC/CLI/services), discovery paths, and config schema + Control UI labels (uiHints).
  • Plugins: add openclaw plugins install (path/tgz/npm), plus list|info|enable|disable|doctor UX.
  • Plugins: voice-call plugin now real (Twilio/log), adds start/status RPC/CLI/tool + tests.
  • Docs: add plugins doc + cross-links from tools/skills/gateway config.
  • Docs: add beginner-friendly plugin quick start + expand Voice Call plugin docs.
  • Tests: add Docker plugin loader + tgz-install smoke test.
  • Tests: extend Docker plugin E2E to cover installing from local folders (plugins.load.paths) and file: npm specs.
  • Tests: add coverage for pre-compaction memory flush settings.
  • Tests: modernize live model smoke selection for current releases and enforce tools/images/thinking-high coverage. (#769).
  • Agents/Tools: add apply_patch tool for multi-file edits (experimental; gated by tools.exec.applyPatch; OpenAI-only).
  • Agents/Tools: rename the bash tool to exec (config alias maintained). (#748) - thanks @myfunc.
  • Agents: add pre-compaction memory flush config (agents.defaults.compaction.*) with a soft threshold + system prompt.
  • Config: add $include directive for modular config files. (#731) - thanks @pasogott.
  • Build: set pnpm minimum release age to 2880 minutes (2 days). (#718) - thanks @dan-dr.
  • macOS: prompt to install the global openclaw CLI when missing in local mode; install via openclaw.ai/install-cli.sh (no onboarding) and use external launchd/CLI instead of the embedded gateway runtime.
  • Docs: add gog calendar event color IDs from gog calendar colors. (#715) - thanks @mjrussell.
  • Cron/CLI: add --model flag to cron add/edit commands. (#711) - thanks @mjrussell.
  • Cron/CLI: trim model overrides on cron edits and document main-session guidance. (#711) - thanks @mjrussell.
  • Skills: bundle skill-creator to guide creating and packaging skills.
  • Providers: add per-DM history limit overrides (dmHistoryLimit) with provider-level config. (#728) - thanks @pkrmf.
  • Discord: expose channel/category management actions in the message tool. (#730) - thanks @NicholasSpisak.
  • Docs: rename README "macOS app" section to "Apps". (#733) - thanks @AbhisekBasu1.
  • Gateway: require client.id in WebSocket connect params; use client.instanceId for presence de-dupe; update docs/tests.
  • macOS: remove the attach-only gateway setting; local mode now always manages launchd while still attaching to an existing gateway if present.

Fixes

  • Models/Onboarding: configure MiniMax (minimax.io) via Anthropic-compatible /anthropic endpoint by default (keep minimax-api as a legacy alias).
  • Models: normalize Gemini 3 Pro/Flash IDs to preview names for live model lookups. (#769).
  • CLI: fix guardCancel typing for configure prompts. (#769).
  • Gateway/WebChat: include handshake validation details in the WebSocket close reason for easier debugging; preserve close codes.
  • Gateway/Auth: send invalid connect responses before closing the handshake; stabilize invalid-connect auth test.
  • Gateway: tighten gateway listener detection.
  • Control UI: hide onboarding chat when configured and guard the mobile chat sidebar overlay.
  • Auth: read Codex keychain credentials and make the lookup platform-aware.
  • macOS/Release: avoid bundling dist artifacts in relay builds and generate appcasts from zip-only sources.
  • Doctor: surface plugin diagnostics in the report.
  • Plugins: treat plugins.load.paths directory entries as package roots when they contain package.json + openclaw.extensions; load plugin packages from config dirs; extract archives without system tar.
  • Config: expand ~ in CLAWDBOT_CONFIG_PATH and common path-like config fields (including plugins.load.paths); guard invalid $include paths. (#731) - thanks @pasogott.
  • Memory/QMD: honor memorySearch.sync.watch and first-session warm sync for the QMD backend, so managed collections refresh after watched file changes and on the first search in a new session. (#47482) Thanks @Ryce and @vincentkoc.
  • Agents: stop pre-creating session transcripts so first user messages persist in JSONL history.
  • Agents: skip pre-compaction memory flush when the session workspace is read-only.
  • Auto-reply: ignore inline /status directives unless the message is directive-only.
  • Auto-reply: align /think default display with model reasoning defaults. (#751) - thanks @gabriel-trigo.
  • Auto-reply: flush block reply buffers on tool boundaries. (#750) - thanks @sebslight.
  • Auto-reply: allow sender fallback for command authorization when SenderId is empty (WhatsApp self-chat). (#755) - thanks @juanpablodlc.
  • Auto-reply: treat whitespace-only sender ids as missing for command authorization (WhatsApp self-chat). (#766).
  • Heartbeat: refresh prompt text for updated defaults.
  • Memory/QMD: prefer qmd collection add --glob for current QMD releases and fall back to legacy --mask when older builds reject it. (#55123) Thanks @ForceConstant and @vincentkoc.
  • Agents/Tools: use PowerShell on Windows to capture system utility output. (#748) - thanks @myfunc.
  • Docker: tolerate unset optional env vars in docker-setup.sh under strict mode. (#725) - thanks @petradonka.
  • CLI/Update: preserve base environment when passing overrides to update subprocesses. (#713) - thanks @danielz1z.
  • Agents: treat message tool errors as failures so fallback replies still send; require to + message for action=send. (#717) - thanks @theglove44.
  • Agents: preserve reasoning items on tool-only turns.
  • Agents/Subagents: wait for completion before announcing, align wait timeout with run timeout, and make announce prompts more emphatic.
  • Agents: route subagent transcripts to the target agent sessions directory and add regression coverage. (#708) - thanks @xMikeMickelson.
  • Agents/Tools: preserve action enums when flattening tool schemas. (#708) - thanks @xMikeMickelson.
  • Gateway/Agents: canonicalize main session aliases for store writes and add regression coverage. (#709) - thanks @xMikeMickelson.
  • Agents: reset sessions and retry when auto-compaction overflows instead of crashing the gateway.
  • Providers/Telegram: normalize command mentions for consistent parsing. (#729) - thanks @obviyus.
  • Providers: skip DM history limit handling for non-DM sessions. (#728) - thanks @pkrmf.
  • Sandbox: fix non-main mode incorrectly sandboxing the main DM session and align /status runtime reporting with effective sandbox state.
  • Sandbox/Gateway: treat agent:<id>:main as a main-session alias when session.mainKey is customized (backwards compatible).
  • Auto-reply: fast-path allowlisted slash commands (inline /help//commands//status//whoami stripped before model).

Installer

  • Postinstall: replace git apply with builtin JS patcher (works npm/pnpm/bun; no git dependency) plus regression tests.
  • Postinstall: skip pnpm patch fallback when the new patcher is active.
  • Installer tests: add root+non-root docker smokes, CI workflow to fetch openclaw.ai scripts and run install sh/cli with onboarding skipped.
  • Installer UX: support CLAWDBOT_NO_ONBOARD=1 for non-interactive installs; fix npm prefix on Linux and auto-install git.
  • Installer UX: add install.sh --help with flags/env and git install hint.
  • Installer UX: add --install-method git|npm and auto-detect source checkouts (prompt to update git checkout vs migrate to npm).