Skip to content

v1.12.0

Choose a tag to compare

@xingyaoww xingyaoww released this 05 Mar 19:22
6e1cedc
  • ACP / Agent Client Protocol landed end-to-end: new ACPAgent, visualization of ACP tool calls, and ask_agent support via fork_session.
  • Agent-server got more capable and safer: new endpoints for LLM models/providers, better WebSocket auth (headers), improved event search behavior, secrets handling fixes, and a Bedrock safety fix (don’t forward api_key).
  • Subagents + skills got a big upgrade: file-based agent definitions (Markdown + YAML frontmatter), built-in specialized agent types (Explore/Bash), support for skills/LLM profiles/max-iterations, and new install utilities for AgentSkills.
  • CI and quality gates tightened: stronger API breakage detection/reporting (incl. oasdiff + release gating + deprecation policy), PR review agent guardrails, and a code review rule to block version bumps.
  • DevEx + platform compatibility improvements: multiple terminal/tmux reliability fixes (incl. macOS heredoc hang + tmux socket isolation), Windows import guards, plus dependency/model config updates (e.g., Qwen, Gemini preview, GPT-* codex/variant detection, security CVE bumps).

What's Changed

  • feat: Add ACPAgent for Agent Client Protocol integration by @simonrosenberg in #2133
  • chore: add version bump blocking rule to code review guide by @xingyaoww in #2161
  • Release v1.11.5 by @all-hands-bot in #2160
  • Fix API breakage check robustness and reporting by @enyst in #2098
  • ci: skip api breakage check when prev lacks all by @enyst in #2165
  • Add ask_agent support to ACPAgent via fork_session by @simonrosenberg in #2145
  • feat(sdk): Add TestLLM class for testing without mocking LiteLLM by @VascoSch92 in #2016
  • DRAFT: docs(AGENTS): how to reply to GitHub inline review threads via REST API by @enyst in #2090
  • fix(terminal): avoid sending C-l in TmuxTerminal.clear_screen() by @rbren in #2166
  • fix(terminal): use dedicated tmux socket to isolate from user sessions by @rbren in #2167
  • fix(Makefile): help and pre-commit by @VascoSch92 in #2168
  • context: load project skills from git root by @enyst in #2164
  • fix: preserve conversation updated_at across server restarts by @rbren in #2172
  • ci: Gate API breakage failures on release PRs by @enyst in #2173
  • Visualize ACP tool calls by @simonrosenberg in #2162
  • Fix long heredoc commands hanging in SubprocessTerminal on macOS by @jpshackelford in #2182
  • fix: Include boto3 extra in agent-server Docker image by @rbren in #2188
  • Add LLM models and providers endpoints to agent-server by @rbren in #2187
  • Do not forward api_key to Bedrock calls by @enyst in #2195
  • feat(tools): task tool set by @VascoSch92 in #2143
  • fix(tools): remove BrowserToolSet from package init to reduce downstream bundle size by @malhotra5 in #2197
  • feat(delegate): File-based agent definitions with markdown + YAML frontmatter by @VascoSch92 in #2183
  • agent-server: support WebSocket auth via headers by @enyst in #1814
  • Add dashscope/qwen3.5-flash-2026-02-23 model configuration by @juanmichelini in #2207
  • chore(deps): bump python-multipart from 0.0.20 to 0.0.22 by @dependabot[bot] in #2210
  • chore(deps): bump werkzeug from 3.1.1 to 3.1.6 by @dependabot[bot] in #2214
  • chore(deps): bump cryptography from 46.0.3 to 46.0.5 by @dependabot[bot] in #2211
  • chore(deps): bump pyasn1 from 0.6.1 to 0.6.2 by @dependabot[bot] in #2212
  • Filter public skills by default marketplace by @neubig in #2205
  • chore(deps): bump pypdf from 6.1.1 to 6.7.2 by @dependabot[bot] in #2213
  • nit(tools): small refactoring test files by @VascoSch92 in #2215
  • chore(deps): bump authlib from 1.6.5 to 1.6.6 by @dependabot[bot] in #2219
  • chore(deps): bump virtualenv from 20.34.0 to 20.36.1 by @dependabot[bot] in #2220
  • ci: enforce agent-server REST API deprecation policy by @enyst in #2232
  • fix(sdk): handle newlines in JSON-stringified dict arguments by @VascoSch92 in #2217
  • fix(tools): merge subagents metrics (TaskToolSet) by @VascoSch92 in #2222
  • fix(tools): merge subagents metrics (DelegateTool) by @VascoSch92 in #2221
  • fix(tool): race condition in dynamic Action wrapper class creation by @VascoSch92 in #2224
  • Fix GLM-5 preflight check by filtering SDK-specific parameters by @juanmichelini in #2194
  • docs(subagent): document loader invariants for file-based agents by @enyst in #2231
  • refactoring(sdk): Remove hardcoded header from get_factory_info() by @VascoSch92 in #2234
  • fix(sdk): add gpt-5.2-codex, gpt-5.3-codex, and gpt-5.2 to model-variant detection by @enyst in #2238
  • ci: use oasdiff for agent-server REST API breakage detection by @enyst in #2240
  • fix: override server_image default to None in DockerDevWorkspace by @simonrosenberg in #2243
  • PR review agent: avoid approving eval-risk behavior changes by @enyst in #2246
  • Add server-base-path support for VSCode in path-based routing by @chuckbutkus in #2241
  • feat: autotitle conversations on first user message by @rbren in #2225
  • PR review agent: make eval-risk approval policy repo-specific by @enyst in #2254
  • fix: Include secrets in system prompt when added via update_secrets() by @rbren in #2171
  • Fix LiteLLM cost tracking for provider-prefixed models by @ShreySatapara in #2257
  • Set default temperature to None instead of 0.0 by @neubig in #1989
  • fix(tools): guard Unix-only imports in terminal package for Windows by @WolffM in #2096
  • feat(delegate): Built-in specialized agent types (Explore, Bash) by @VascoSch92 in #2201
  • Change eval_limit from choice to free-form string input by @simonrosenberg in #2261
  • fix: cap max_output_tokens when using max_tokens fallback by @csmith49 in #2264
  • docs: README for condenser module by @csmith49 in #2262
  • fix: use query parameters for git API endpoints to preserve path slashes by @chuckbutkus in #2249
  • chore(deps): bump mcp from 1.17.0 to 1.23.0 by @dependabot[bot] in #2226
  • chore(deps): bump pypdf from 6.7.2 to 6.7.4 by @dependabot[bot] in #2265
  • chore(deps): bump pypdf from 6.7.4 to 6.7.5 by @dependabot[bot] in #2267
  • Add gemini-3.1-pro-preview model to reasoning models #2269 by @mayeco in #2270
  • Show full dynamic context in SystemPromptEvent.visualize by @xingyaoww in #2273
  • fix(sdk/subagent): fix get_factory_info() by @VascoSch92 in #2271
  • Update orjson to 3.11.7 to address CVE-2025-67221 by @aivong-openhands in #2268
  • Fix: Security analyzer ignores LLM security_risk when no analyzer is configured by @juanmichelini in #2130
  • chore(deps): bump fastmcp from 2.12.4 to 2.14.0 by @dependabot[bot] in #2266
  • Add AGENTS.md for model addition guidance in .github/run-eval by @juanmichelini in #2284
  • Add explicit rules to prevent modifying existing models in AGENTS.md by @juanmichelini in #2288
  • Split AGENTS.md: Move model addition guide to ADDINGMODEL.md by @juanmichelini in #2291
  • add ability to run chrome as root by @rbren in #2169
  • Add gpt-5-3-codex model to resolve_model_config.py by @juanmichelini in #2292
  • Insist on integration tests on the model addition AGENTS.MD by @juanmichelini in #2293
  • feat(sdk/subagent): Support skills in file-based Agents by @VascoSch92 in #2260
  • feat(sdk/subagent): Support max_iteration_per_run in file-based agent definitions by @VascoSch92 in #2263
  • feat(plugin): Add installed plugins management utilities by @xingyaoww in #2031
  • Fix duplicate observations for same tool_call_id after crash recovery by @csmith49 in #2300
  • Fix API breakage workflow exit codes by @enyst in #2309
  • Fix prompt_cache_retention for Azure by @enyst in #2311
  • Disable prompt_cache_retention for Azure models by @enyst in #2312
  • fix(examples): example no. 41 by @VascoSch92 in #2314
  • nit(examples): example no. 40 by @VascoSch92 in #2315
  • fix(examples): example no. 25 by @VascoSch92 in #2313
  • fix(security): Upgrade fastmcp to v3 to address CVE-2025-69872 by @aivong-openhands in #2294
  • Fix: Add 'gpt5' to tool-preset argparse choices by @juanmichelini in #2306
  • feat(sdk/subagent): Support LLM profiles in subagents by @VascoSch92 in #2258
  • Normalize OpenAPI schema for oasdiff by @enyst in #2318
  • chore(deps): bump authlib from 1.6.6 to 1.6.7 by @dependabot[bot] in #2321
  • fix: events search API blocks during agent step (FIFOLock contention) by @rbren in #2296
  • fix(examples): example no.38 by @VascoSch92 in #2316
  • feat: add AgentSkills install utilities by @enyst in #2320
  • fix: set delete_on_close default to True by @xingyaoww in #2328
  • chore: add design-principles skill linking to SDK arch docs by @xingyaoww in #2329
  • Route ACP agents through LiteLLM proxy in CI by @simonrosenberg in #2326

New Contributors

Full Changelog: v1.11.5...v1.12.0