Skip to content

v0.22.0

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Nov 04:30
· 1 commit to main since this release
1ed28f2

Highlights: Patch security advisories in glob, minimatch, qs, and re2js; add Goose, DeepSeek Harness, and experimental Ante support; expose ACP message observation, configure models per flow node, and improve session reliability and shell diagnostics.

Changes

  • Agents: add Goose as a built-in native ACP agent through goose acp.

  • Agents: add the native deepseek-harness profile using dsh --profile acp.

  • Agents: add experimental ante support through ante acp; requires Ante and the separate ante-acp adapter, with no session reopening after disconnect.

  • Runtime/embedding: expose an optional best-effort ACP message observer for owned session clients, including setup, reconnects, cold controls, and session discard, while retaining elicitation and replay filtering.

  • Flows: select per-node models and ordered ACP configuration options before the first prompt, with run defaults, persistent-handle conflict checks, same-session replay, and requested/accepted settings in run bundles. Thanks @superbiche.

  • Docs/Grok Build: distinguish the local ACP profile from Grok Bot cloud routines and explain webhook acceptance versus results.

  • Docs: add a complete supported-agent catalog with logos and setup links, render local images on the docs site, and clarify prerequisites, session identity, and reconnect behavior.

Fixes

  • Dependencies: patch the glob AbortSignal bypass and the minimatch, qs, and re2js denial-of-service advisories in the pinned development toolchain overrides; update the guarded filesystem runtime and development tooling. Thanks @hxy91819.

  • Flows/shell: identify missing executable paths and working directories in shell-action startup errors while preserving the original ENOENT details. Thanks @KrasimirKralev.

  • Docs/prompting: list -s, --session and --no-wait as options of prompt and the bare form only; exec rejects them with unknown option. Thanks @KrasimirKralev.

  • CLI: unknown options and other usage errors on subcommands (acpx codex exec --bogus, acpx sessions list --bogus) now exit with code 2 as documented, and --format json reports them as a JSON-RPC error instead of plain text only; they used to exit 1. Thanks @KrasimirKralev.

  • Agents/launch: start npm-backed built-in adapters (pi, codex, claude, kilocode, mux, opencode) when acpx itself runs under npx and the Node-relative npm bridge is unavailable, instead of exiting with code 127 before initialize. Thanks @kanzaki-chiya.

  • Docs/Qwen Code: clarify text filesystem delegation, native file discovery, and that --no-fs does not sandbox native file access; distinguish the CLI from QwenWork.

  • Agents/launch: add best-effort executable and working-directory hints to missing-path errors using the actual child launch context, while retaining the ambiguous-case checklist. Thanks @odrobnik.

  • Docs/site: label the homepage badges as curated examples and use the primary Pi, OpenClaw, Codex, and Claude order.

  • Qoder: preserve native startup options, shutdown grace, and cleanup-message filtering when a custom command uses qoder --acp instead of qodercli --acp.

  • Sessions/controls: set model, set-mode and other session-control failures now show the adapter's data.message reason in text output (pro-model requires a Pro plan instead of Internal error (ACP -32603)), preferring data.details as before. Thanks @KrasimirKralev.

  • Runtime/embedding: apply independent setup deadlines to session creation, load and resume requests, cleaning up stalled clients without replacing explicitly resumed sessions.

  • Runtime/embedding: keep explicit resumeSessionId attachments strict across matching local-record reuse and later prompt/control reconnects without resetting history or saved configuration. Same-record aliases retain the constraint; adding it to unfinished untargeted work refuses until that work settles.