Skip to content

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 03 Nov 11:21
· 7 commits to main since this release
0c329cc

Install the CLI with npm install -g apexo-code@1.1.1, or download a standalone CLI archive below. Keep the CLI and its workflow interpreter together.

Desktop installers are available for macOS Apple Silicon, Linux x64, and Windows x64. The current macOS build uses an ad-hoc signature without notarization; the Windows build has no publisher certificate.

Detailed installation guide · Release automation guide

Verify downloads using the attached SHA256SUMS.

Highlights & Recent Changes (v1.1.0 → v1.1.1)

1. V2 Session Execution, Forking & Guardrails

  • V2 Execution Recovery & Durable Job Fencing (#191): Persist V2 session execution ownership, recover post-crash continuations safely, fence durable background jobs, and stabilize shell wakeups and native attach flows.
  • V2 Session Fork (SessionV2.fork) (#197): Fork sessions at any message boundary across the V2 HTTP API, SDK, CLI, Fullscreen/Mini TUI (/fork), and Desktop UI, preserving initial configuration slices and transcript history.
  • Parallel Candidate Attempts & apexo apply (#195, #196): Run isolated worktree candidate attempts in parallel (--attempts <n>) and inspect or apply attempt diffs back to the workspace with apexo apply.
  • Headless Execution Guardrails & Doom-Loop Protection (#194, #196): Enforce turn and budget limits (--max-turns, --max-budget-usd) during headless runs and automatically detect and halt repetitive V2 tool call doom loops.

2. Command Sandbox Catalog, Domain Proxy & Interactive Selection

  • Command Sandbox Profile Catalog (#197): Built-in sandbox profile catalog (off, workspace, pkg-install, ci-verify, devbox) backed by Seatbelt (macOS) and Bubblewrap (Linux), plus shell environment credential scrubbing (#194).
  • Sandbox Domain Proxy (#195): Enforce per-profile outbound domain allowlists and network policies through the local sandbox proxy.
  • Interactive Sandbox Selection (/sandbox & --sandbox) (#199): Select and switch sandbox profiles interactively in Fullscreen TUI, Mini TUI, and Desktop UI, with strict profile validation and session-level persistence.

3. CLI Commands, MCP & Structured Output

  • Native Structured Output (--json-schema) (#199): End-to-end native JSON Schema structured output across OpenAI, Anthropic, Gemini (including tool-enabled requests), and xAI providers.
  • Project Onboarding (apexo init) (#199): Detect repository stacks (JS/TS/Bun/Node, Python pyproject.toml/uv/poetry/requirements.txt, Rust, Go) and generate tailored AGENTS.md and .apexo/sandbox.toml configurations.
  • Diagnostics & Code Review CLIs (apexo doctor, apexo review) (#193, #195): Diagnose installation, provider, sandbox, and environment health with apexo doctor, and run automated code reviews from the CLI with apexo review.
  • V2 MCP Code Mode, Deferred Tool Search & apexo mcp serve (#193, #194): Execute multi-step MCP tool compositions in V2 mcp_code mode, discover large tool catalogs on demand with tool_search, and expose Apexo as an MCP server via apexo mcp serve.

4. Bug Fixes

  • Gateway Nested Error Message Extraction (#198, #200): Extract nested error.message before string-valued error in ProviderError.parseAPICallError so object-shaped gateway errors display their inner message while keeping HTTP status codes, retry decisions, and context_overflow classification unchanged.

Pull Requests Included

  • feat(core): persist V2 execution recovery and fencing by @cluster1900 in #191
  • feat: add v2 mcp code mode, deferred tool search, and review cli by @cluster1900 in #193
  • feat: add mcp serve, shell env scrubbing, and v2 doom loop guard by @cluster1900 in #194
  • feat: add doctor, sandbox domain proxy, parallel attempts, and v2 hardening by @cluster1900 in #195
  • feat: add apply command and headless execution guardrails by @cluster1900 in #196
  • feat(session): add V2 session fork and command sandbox catalog by @cluster1900 in #197
  • feat(apexo): add native structured output, apexo init, and sandbox selection by @cluster1900 in #199
  • fix(apexo): extract nested provider error messages (#198) by @cluster1900 in #200

Full Changelog: v1.1.0...v1.1.1