v1.25.0
What's Changed
- feat(hooks): add HookType.AGENT for agent-based hook evaluation by @burakkeless in #3052
- Upgrade LiteLLM to 1.84.1 by @neubig in #3233
- fix(terminal): reduce tmux session viewport by @serejaris in #3394
- [codex] Accept ACP user messages during async turns by @neubig in #3376
- Register claude-opus-4-8 in SDK model lists by @juanmichelini in #3424
- fix(llm): strip temperature/top_p for claude-opus-4-8 by @juanmichelini in #3427
- fix: drop invalid bare claude-opus-4-5 from OpenHands verified models by @hieptl in #3421
- Fix RemoteConversation FINISHED stop-hook race by @neubig in #3191
- ci(agent-server): add stress-test job; fix sub-second bash event ordering by @VascoSch92 in #3203
- docs(sdk): document FIFOLock held across arun()'s await (Q4 of #3341) by @VascoSch92 in #3400
- fix(acp): decrypt dict-shaped secrets on cipher round-trip + consolidate by @simonrosenberg in #3422
- chore(deps): bump idna from 3.10 to 3.15 by @dependabot[bot] in #3337
- feat(sdk): deprecate no-op _return_metrics LLM param (Q1 of #3341) by @VascoSch92 in #3432
- feat(agent-server): RFC 7386 merge-patch unset for PATCH /api/settings by @simonrosenberg in #3431
- test(stress): bump concurrent conversations wall_time_factor to 4.0 by @VascoSch92 in #3434
- Revert "fix(llm): strip temperature/top_p for claude-opus-4-8 (#3427)" by @juanmichelini in #3441
- fix(sdk): count tools for condenser token limits by @neubig in #3445
- chore: remove dead async title generation helpers by @VascoSch92 in #3447
- Add nemotron-3-ultra-550b-a55b model config by @juanmichelini in #3251
- fix(release-binaries): use macos-15-intel and make publishing resilient by @VascoSch92 in #3454
- fix(sdk): add missing @observe spans on async agent/conversation paths by @VascoSch92 in #3451
- fix(sdk): keep cancelled token observable after arun() interrupt by @VascoSch92 in #3395
- chore(sdk): remove dead Tool.acall method (Q1 of #3341) by @VascoSch92 in #3456
- refactor(llm): dedupe _transport_call/_atransport_call twins (#3341 Q5.iii) by @VascoSch92 in #3455
- feat: send x-litellm-session-id header for conversation-level routing affinity by @csmith49 in #3437
- fix(sdk): use dedicated ThreadPoolExecutor per aexecute_batch (Q3 of #3341) by @VascoSch92 in #3419
- Lazy watermark-based View cache on ConversationState by @csmith49 in #3335
- Revert removal of ToolDefinition.acall by @enyst in #3466
- fix(acp): surface structured errors on ACP spawn/auth/init failure by @simonrosenberg in #3462
- refactor(acp): dedup tool-call progress at the source (O(n²)→O(1)) by @simonrosenberg in #3465
- fix(acp): route provider creds through secret_registry; deprecate acp_env by @simonrosenberg in #3464
- Fix nemotron-3-ultra-550b-a55b LiteLLM proxy model name by @juanmichelini in #3468
- Add MiniMax M3 model configuration by @juanmichelini in #3460
- docs(run-eval): guide reviewer/QA bot to not block on transient 'Invalid model name' preflight by @juanmichelini in #3473
- Remove amber-vector-3542 from resolve model config by @juanmichelini in #3471
- Add gpt-oss-120b model by @juanmichelini in #3058
- fix(agent-server): bump pinned codex-acp 0.11.1 → 0.15.0 by @simonrosenberg in #3478
- fix(acp): mask injected secrets in tool-call output and streamed text by @simonrosenberg in #3463
- fix: prevent deep-merge when switching agent_kind settings variant by @simonrosenberg in #3483
- feat(acp): materialise reserved file-content auth secrets (Codex auth.json, Gemini Vertex SA) by @simonrosenberg in #3474
- perf(sdk): cache deserialized events in EventLog to eliminate O(N²) per-step cost by @csmith49 in #3263
- fix(sdk): avoid switch_llm deadlock when the run loop holds the state lock by @VascoSch92 in #3486
- docs(run-eval): require maintainer approval before editing verified_models.py by @juanmichelini in #3479
- feat(acp): per-conversation CLI data-dir isolation for grouped sandboxes by @simonrosenberg in #3492
- fix(acp): set codex base URL via openai_base_url config (codex ignores OPENAI_BASE_URL) by @simonrosenberg in #3493
- feat(run-eval): add gemini-3.5-flash model configuration by @juanmichelini in #3481
- fix(step-3.7-flash): stretch retry envelope to weather StepFun 10 RPM cap by @juanmichelini in #3497
- docs(agents): add explicit comments policy to AGENTS.md by @juanmichelini in #3502
- feat(acp): launch pinned pre-installed CLI binary instead of npx by @simonrosenberg in #3490
- feat(acp): acp_resume_session_id (durable resume) + acp_isolate_data_dir on ACPAgentSettings by @simonrosenberg in #3506
- feat(sdk): forward MCP servers to the ACP subprocess by @simonrosenberg in #3458
- feat(settings): add verification.critic_api_key with fallback to LLM key by @xingyaoww in #3494
- fix: remove the LLM settings->profile auto-migration by @VascoSch92 in #3507
- fix(conversation): run ACP cold-start off the event loop in arun() by @simonrosenberg in #3510
- Release v1.25.0 by @all-hands-bot in #3509
New Contributors
- @burakkeless made their first contribution in #3052
- @serejaris made their first contribution in #3394
Full Changelog: v1.24.0...v1.25.0