mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 09:39:25 +00:00
* 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>
8.4 KiB
8.4 KiB
2026.1.11
Highlights
- Plugins are now first-class: loader + CLI management, plus the new Voice Call plugin.
- Config: modular
$includesupport 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
/modelpicker (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), pluslist|info|enable|disable|doctorUX. - 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) andfile: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_patchtool 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
$includedirective 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
openclawCLI when missing in local mode; install viaopenclaw.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
--modelflag 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-creatorto 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.idin WebSocket connect params; useclient.instanceIdfor 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
/anthropicendpoint by default (keepminimax-apias 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.pathsdirectory entries as package roots when they containpackage.json+openclaw.extensions; load plugin packages from config dirs; extract archives without system tar. - Config: expand
~inCLAWDBOT_CONFIG_PATHand common path-like config fields (includingplugins.load.paths); guard invalid$includepaths. (#731) - thanks @pasogott. - Memory/QMD: honor
memorySearch.sync.watchand 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
/statusdirectives unless the message is directive-only. - Auto-reply: align
/thinkdefault 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
SenderIdis 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 --globfor current QMD releases and fall back to legacy--maskwhen 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+messageforaction=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
/statusruntime reporting with effective sandbox state. - Sandbox/Gateway: treat
agent:<id>:mainas a main-session alias whensession.mainKeyis customized (backwards compatible). - Auto-reply: fast-path allowlisted slash commands (inline
/help//commands//status//whoamistripped before model).
Installer
- Postinstall: replace
git applywith 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=1for non-interactive installs; fix npm prefix on Linux and auto-install git. - Installer UX: add
install.sh --helpwith flags/env and git install hint. - Installer UX: add
--install-method git|npmand auto-detect source checkouts (prompt to update git checkout vs migrate to npm).