|
2 | 2 |
|
3 | 3 | ## 2026.1.11 |
4 | 4 |
|
| 5 | +### Highlights |
| 6 | +- Plugins are now first-class: loader + CLI management, plus the new Voice Call plugin. |
| 7 | +- Config: modular `$include` support for split config files. (#731) — thanks @pasogott. |
| 8 | +- Agents/Pi: reserve compaction headroom so pre-compaction memory writes can run before auto-compaction. |
| 9 | +- Agents: automatic pre-compaction memory flush turn to store durable memories before compaction. |
| 10 | + |
5 | 11 | ### Changes |
6 | 12 | - CLI: simplify configure section selection (single-select with optional add-more). |
7 | 13 | - Onboarding/CLI: group model/auth choice by provider and label Z.AI as GLM 4.7. |
|
12 | 18 | - Docs: add beginner-friendly plugin quick start + expand Voice Call plugin docs. |
13 | 19 | - Tests: add Docker plugin loader + tgz-install smoke test. |
14 | 20 | - Tests: extend Docker plugin E2E to cover installing from local folders (`plugins.load.paths`) and `file:` npm specs. |
| 21 | +- Tests: add coverage for pre-compaction memory flush settings. |
15 | 22 | - Agents/Tools: add `apply_patch` tool for multi-file edits (experimental; gated by tools.exec.applyPatch; OpenAI-only). |
16 | 23 | - Agents/Tools: rename the bash tool to exec (config alias maintained). (#748) — thanks @myfunc. |
| 24 | +- Agents: add pre-compaction memory flush config (`agents.defaults.compaction.*`) with a soft threshold + system prompt. |
17 | 25 | - Config: add `$include` directive for modular config files. (#731) — thanks @pasogott. |
18 | 26 | - Build: set pnpm minimum release age to 2880 minutes (2 days). (#718) — thanks @dan-dr. |
19 | 27 | - macOS: prompt to install the global `clawdbot` CLI when missing in local mode; install via `clawd.bot/install-cli.sh` (no onboarding) and use external launchd/CLI instead of the embedded gateway runtime. |
20 | 28 | - Docs: add gog calendar event color IDs from `gog calendar colors`. (#715) — thanks @mjrussell. |
| 29 | +- Cron/CLI: add `--model` flag to cron add/edit commands. (#711) — thanks @mjrussell. |
21 | 30 | - Cron/CLI: trim model overrides on cron edits and document main-session guidance. (#711) — thanks @mjrussell. |
22 | 31 | - Skills: bundle `skill-creator` to guide creating and packaging skills. |
23 | | -- Discord: expose channel/category management actions in the message tool. (#730) — thanks @NicholasSpisak |
| 32 | +- Providers: add per-DM history limit overrides (`dmHistoryLimit`) with provider-level config. (#728) — thanks @pkrmf. |
| 33 | +- Discord: expose channel/category management actions in the message tool. (#730) — thanks @NicholasSpisak. |
24 | 34 | - Docs: rename README “macOS app” section to “Apps”. (#733) — thanks @AbhisekBasu1. |
25 | 35 | - Gateway: require `client.id` in WebSocket connect params; use `client.instanceId` for presence de-dupe; update docs/tests. |
26 | 36 | - macOS: remove the attach-only gateway setting; local mode now always manages launchd while still attaching to an existing gateway if present. |
27 | 37 |
|
28 | 38 | ### Installer |
29 | 39 | - Postinstall: replace `git apply` with builtin JS patcher (works npm/pnpm/bun; no git dependency) plus regression tests. |
| 40 | +- Postinstall: skip pnpm patch fallback when the new patcher is active. |
30 | 41 | - Installer tests: add root+non-root docker smokes, CI workflow to fetch clawd.bot scripts and run install sh/cli with onboarding skipped. |
31 | 42 | - Installer UX: support `CLAWDBOT_NO_ONBOARD=1` for non-interactive installs; fix npm prefix on Linux and auto-install git. |
32 | 43 | - Installer UX: add `install.sh --help` with flags/env and git install hint. |
33 | 44 | - Installer UX: add `--install-method git|npm` and auto-detect source checkouts (prompt to update git checkout vs migrate to npm). |
34 | 45 |
|
35 | 46 | ### Fixes |
36 | 47 | - Models/Onboarding: configure MiniMax (minimax.io) via Anthropic-compatible `/anthropic` endpoint by default (keep `minimax-api` as a legacy alias). |
37 | | -- Gateway/WebChat: include handshake validation details in the WebSocket close reason for easier debugging. |
| 48 | +- Gateway/WebChat: include handshake validation details in the WebSocket close reason for easier debugging; preserve close codes. |
38 | 49 | - Gateway/Auth: send invalid connect responses before closing the handshake; stabilize invalid-connect auth test. |
| 50 | +- Gateway: tighten gateway listener detection. |
| 51 | +- Control UI: hide onboarding chat when configured and guard the mobile chat sidebar overlay. |
| 52 | +- Auth: read Codex keychain credentials and make the lookup platform-aware. |
| 53 | +- macOS/Release: avoid bundling dist artifacts in relay builds and generate appcasts from zip-only sources. |
39 | 54 | - Doctor: surface plugin diagnostics in the report. |
40 | | -- Plugins: treat `plugins.load.paths` directory entries as package roots when they contain `package.json` + `clawdbot.extensions`. |
41 | | -- Config: expand `~` in `CLAWDBOT_CONFIG_PATH` and common path-like config fields (including `plugins.load.paths`). |
| 55 | +- Plugins: treat `plugins.load.paths` directory entries as package roots when they contain `package.json` + `clawdbot.extensions`; load plugin packages from config dirs; extract archives without system tar. |
| 56 | +- Config: expand `~` in `CLAWDBOT_CONFIG_PATH` and common path-like config fields (including `plugins.load.paths`); guard invalid `$include` paths. (#731) — thanks @pasogott. |
42 | 57 | - Agents: stop pre-creating session transcripts so first user messages persist in JSONL history. |
43 | 58 | - Auto-reply: align `/think` default display with model reasoning defaults. (#751) — thanks @gabriel-trigo. |
44 | 59 | - Auto-reply: flush block reply buffers on tool boundaries. (#750) — thanks @sebslight. |
| 60 | +- Heartbeat: refresh prompt text for updated defaults. |
| 61 | +- Agents/Tools: use PowerShell on Windows to capture system utility output. (#748) — thanks @myfunc. |
45 | 62 | - Docker: tolerate unset optional env vars in docker-setup.sh under strict mode. (#725) — thanks @petradonka. |
46 | 63 | - CLI/Update: preserve base environment when passing overrides to update subprocesses. (#713) — thanks @danielz1z. |
47 | 64 | - Agents: treat message tool errors as failures so fallback replies still send; require `to` + `message` for `action=send`. (#717) — thanks @theglove44. |
| 65 | +- Agents: preserve reasoning items on tool-only turns. |
| 66 | +- Agents/Subagents: wait for completion before announcing, align wait timeout with run timeout, and make announce prompts more emphatic. |
48 | 67 | - Agents: route subagent transcripts to the target agent sessions directory and add regression coverage. (#708) — thanks @xMikeMickelson. |
49 | 68 | - Agents/Tools: preserve action enums when flattening tool schemas. (#708) — thanks @xMikeMickelson. |
50 | 69 | - Gateway/Agents: canonicalize main session aliases for store writes and add regression coverage. (#709) — thanks @xMikeMickelson. |
51 | 70 | - Agents: reset sessions and retry when auto-compaction overflows instead of crashing the gateway. |
| 71 | +- Providers/Telegram: normalize command mentions for consistent parsing. (#729) — thanks @obviyus. |
| 72 | +- Providers: skip DM history limit handling for non-DM sessions. (#728) — thanks @pkrmf. |
52 | 73 | - Sandbox: fix non-main mode incorrectly sandboxing the main DM session and align `/status` runtime reporting with effective sandbox state. |
53 | 74 | - Sandbox/Gateway: treat `agent:<id>:main` as a main-session alias when `session.mainKey` is customized (backwards compatible). |
54 | 75 |
|
|
74 | 95 | - Docker: allow optional home volume + extra bind mounts in `docker-setup.sh`. (#679) — thanks @gabriel-trigo. |
75 | 96 |
|
76 | 97 | ### Fixes |
77 | | -- Agents/Pi: raise compaction `reserveTokens` floor to 20k to leave enough headroom for pre-compaction “memory write” turns. |
78 | 98 | - Auto-reply: suppress draft/typing streaming for `NO_REPLY` (silent system ops) so it doesn’t leak partial output. |
79 | 99 | - CLI/Status: expand tables to full terminal width; clarify provider setup vs runtime warnings; richer per-provider detail; token previews in `status` while keeping `status --all` redacted; add troubleshooting link footer; keep log tails pasteable; show gateway auth used when reachable; surface provider runtime errors (Signal/iMessage/Slack); harden `tailscale status --json` parsing; make `status --all` scan progress determinate; and replace the footer with a 3-line “Next steps” recommendation (share/debug/probe). |
80 | 100 | - CLI/Gateway: clarify that `clawdbot gateway status` reports RPC health (connect + RPC) and shows RPC failures separately from connect failures. |
|
0 commit comments