Published April 27, 2026
| Version v1.19.0
Software
Open
OpenHands/software-agent-sdk: v1.19.0
Authors/Creators
- Xingyao Wang1
- Engel Nyst
- simonrosenberg
- Graham Neubig2
- Tim O'Farrell
- Juan Michelini
- Vasco Schiavo
- Rohit Malhotra3
- Robert Brennan4
- Ryan H. Tran
- Calvin Smith
- OpenHands Bot
- John-Mason P. Shackelford5
- Hiep Le
- cid
- aivong-openhands
- OpenHands6
- மனோஜ்குமார் பழனிச்சாமி
- PiteXChen7
- Jamie Chicago
- Alona
- Cesar Garcia
- Chris Bagwell
- Dinmukhamed Mailibay8
- Ray Myers5
- chuckbutkus
- Wang Siyuan9
- Mario Young
- LuneZ9910
- 1. OpenHands / All Hands AI
- 2. Carnegie Mellon University / OpenHands
- 3. Carnegie Mellon University
- 4. Fairwinds
- 5. @OpenHands
- 6. @all-hands-ai
- 7. xxx
- 8. @lmnr-ai
- 9. Shanghai Jiao Tong University
- 10. -
Description
What's Changed
- Enable ACPAgent on RemoteRuntime API by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2190
- Make API breakage workflows fail loudly by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2432
- Clarify REST contract deprecation policy by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2433
- Highlight API breakage check comments more clearly by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2434
- Enforce REST deprecation deadlines by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2435
- Remove stale Python API workflow env by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2442
- Run API breakage checks on push to main by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2443
- Add rich package version 14.3.3 to dependency constraints by @yitao-li in https://github.com/OpenHands/software-agent-sdk/pull/2414
- Export TokenUsage, page_iterator, and AsyncRemoteWorkspace as public SDK APIs by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2445
- Fix apptainer workspace cleanup: kill zombie child processes. by @adityasoni9998 in https://github.com/OpenHands/software-agent-sdk/pull/2450
- chore(deps): bump pyjwt from 2.11.0 to 2.12.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2448
- Add docstring guidelines and fix key docstrings for MDX compatibility by @rbren in https://github.com/OpenHands/software-agent-sdk/pull/2452
- ci: guard package version bumps outside release PRs by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2457
- Fix: Add tags to root endpoint for OpenAPI spec by @rbren in https://github.com/OpenHands/software-agent-sdk/pull/2458
- Fix Python selection in version-bump PR workflow by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2430
- Revert PR #2190: Enable ACPAgent on RemoteRuntime API by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2451
- test(sdk): reproduce delegate resume compatibility regression by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2382
- Enforce REST API deprecation runway in breakage checks by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2464
- Use version tag for agent server image in version bump prs by @aivong-openhands in https://github.com/OpenHands/software-agent-sdk/pull/2427
- Enable ACPAgent on RemoteRuntime API via ACP conversation endpoints by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2465
- Refine temperature/top_p handling for reasoning models by @mayeco in https://github.com/OpenHands/software-agent-sdk/pull/2277
- chore(deps): bump authlib from 1.6.7 to 1.6.9 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2475
- feat(prompt): add AI disclosure policy for external service communications by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2476
- feat(build): add OPENHANDS_BUILDKIT_CACHE_MODE env var to control cache export by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2479
- fix: preflight check now validates reasoning_content for thinking models by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2420
- Migrate PR review plugin to extensions repository by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2324
- Remove multiswebench from CI eval workflow options by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2483
- chore(deps): bump pyasn1 from 0.6.2 to 0.6.3 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2484
- Add GPT-5.4 to verified models by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2487
- fix: synchronize ACP telemetry and refresh remote final state by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2460
- refactor(sdk/subagent): showing tools each subagent has by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2480
- feat: workspace.get_llm() and get_secrets() for OpenHandsCloudWorkspace credential inheritance by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2409
- fix: cherry-pick cache_export_seconds telemetry fix to main by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2493
- Add MiniMax-M2.7 to resolve_model_config.py by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2500
- chore(deps): bump pypdf from 6.8.0 to 6.9.1 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2497
- fix(workflow): remove unused DATASET/SPLIT env vars from run-eval workflow by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2504
- fix(ci): ignore Field deprecated metadata in API breakage check by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2508
- chore: add Dependabot configuration for GitHub Actions updates by @aivong-openhands in https://github.com/OpenHands/software-agent-sdk/pull/2501
- chore(deps): bump docker/login-action from 3 to 4 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2520
- chore(deps): bump actions/download-artifact from 6 to 8 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2517
- chore(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2519
- chore(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2521
- chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2518
- fix(examples): make the LLM profile store example directory-based by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2507
- refactor(llm): use litellm params for reasoning support by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/1990
- Expose terminalbench in run-eval workflow by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2360
- fix(tools): return browser timeout as observation by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2455
- Add Google Gemini 3.1 verify models by @mayeco in https://github.com/OpenHands/software-agent-sdk/pull/2276
- feat(workflow): Expected instance_ids format (no spaces) by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2502
- feat(sdk/agent): Parallel Tool Call Execution by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2390
- fix(ci): ignore added Field metadata in SDK API breakage check by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2524
- fix(workflow): Normalize instance_ids by stripping spaces instead of failing by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2529
- feat(websocket): add after_timestamp filter for bi-directional event loading by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/1880
- build: move SDK SHA args after expensive layers for cache reuse by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2522
- Fix Qwen3.5-Flash low submission rate: improve JSON arg parsing and add corrective feedback by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2512
- feat(docker): make ACP npm package installation optional via build arg by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2535
- feat(docker): make boto3 installation optional via build arg by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2536
- feat(docker): add extra_build_args to BuildOptions by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2541
- feat(plugin): Add entry_command field to PluginManifest by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/2230
- Add
urlfield to PluginAuthor to match Claude Code schema by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/2546 - feat(sdk): Add browser tool usage guidelines to system prompt by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2547
- fix: use asyncio.Event() for thread-safe initialization state by @ixchio in https://github.com/OpenHands/software-agent-sdk/pull/2383
- fix(sdk): stop sending reasoning_effort to Kimi thinking by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2549
- fix: add diagnostics for preflight proxy failures by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2557
- Fix run-eval to use locked LiteLLM dependency by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2559
- fix(sdk): pin LiteLLM version exactly by @rbren in https://github.com/OpenHands/software-agent-sdk/pull/2558
- fix(ci): rename PAT secret to PAT_TOKEN by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2561
- fix(ci): use /v1/models for proxy health check instead of /health by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2563
- feat: support pre-built base images for faster rebuilds by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2542
- fix(ci): handle dict-valued json_schema_extra in API breakage checker by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2568
- feat(sdk/subagent): Resolve ${VAR} env variables in all MCP server config fields by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2492
- feat(sdk): allow acp_model for codex-acp by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2562
- fix(ci): allow additive response oneOf expansion in oasdiff checker by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2572
- refactor(tools): remove max_run by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2491
- Release v1.15.0 by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/2567
- feat: pass partial_archive_url to evaluation workflow for resume support by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2540
- feat: add local_agent_server_mode to OpenHandsCloudWorkspace by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2490
- chore(deps): bump lewagon/wait-on-check-action from 1.4.1 to 1.5.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2581
- refactor(tools/task): change task tool description by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2513
- chore(deps): bump dawidd6/action-download-artifact from 6 to 19 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2580
- chore(deps): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2579
- feat(sdk): add ResourceLockManager for parallel tool execution safety by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2560
- Add trusted-by logos to README by @jamiechicago312 in https://github.com/OpenHands/software-agent-sdk/pull/2591
- Pass workflow run ID to evaluation job by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2594
- feat(workspace): add get_mcp_config() to OpenHandsCloudWorkspace by @malhotra5 in https://github.com/OpenHands/software-agent-sdk/pull/2595
- fix: Send ConversationErrorEvent when MCP connection fails and improve error handling by @tofarr in https://github.com/OpenHands/software-agent-sdk/pull/2556
- Add tags support to conversations API by @rbren in https://github.com/OpenHands/software-agent-sdk/pull/2454
- docs: document existing uv and deno skills by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2602
- Fix symlinked CLAUDE.md → AGENTS.md causing duplicate content in system prompt by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2601
- feat: switch default base images to nikolaik slim variant by @aivong-openhands in https://github.com/OpenHands/software-agent-sdk/pull/2551
- sdk: centralize programmatic settings schema by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2361
- Warn users when tmux is not installed for better terminal stability by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2590
- chore: remove outdated INSTALL_ACP example from build.py docstring by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2608
- feat(observability): support custom ports for self-hosted Laminar by @Shimada666 in https://github.com/OpenHands/software-agent-sdk/pull/2447
- Deprecate RUNTIME_URL in favor of OH_WEB_URL by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2429
- Adjust RUNTIME_URL deprecation metadata for v1.15.0 by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2612
- Add sdk-release skill to guide through the release process by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2611
- fix(ci): switch Gemini defaults to 3.1 Pro by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2615
- Release v1.16.0 by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/2614
- (security fix) validate random branch inputs by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2621
- docs: update README trusted-by logos for dark mode by @jamiechicago312 in https://github.com/OpenHands/software-agent-sdk/pull/2625
- feat(sdk): Support additional AWS Bedrock authentication methods by @sjathin in https://github.com/OpenHands/software-agent-sdk/pull/2598
- feat(acp): add Gemini CLI as supported ACP server by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2619
- fix(workspace): avoid logging forwarded env values by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2630
- Add minimax-m2.7 to verified models by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2627
- fix: too short skill description sent in the prompt by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2635
- fix(conversation): sanitize remote error logging by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2631
- feat(tools/grep): declare resources for parallel execution by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2640
- feat(tools/glob): declare resources for parallel execution by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2639
- chore(uv): add 7-day exclude-newer guardrail by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2648
- docs(review): flag too-new package uploads in reviewer prompt by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2650
- chore(deps): bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2647
- fix(terminal): filter terminal query sequences from captured output by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/2334
- Add converse-nemotron-super-3-120b to resolve_model_config.py by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2645
- chore(deps): bump docker/build-push-action from 6 to 7 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2577
- feat(tool/file_editor): file editor resources by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2638
- feat(tools/list_directory): declare resources for parallel execution by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2641
- fix: add httpx[socks] dependency for SOCKS proxy support by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2664
- feat(skill): add manage-evals skill for evaluation triggering and comparison by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2634
- fix(agent-server): avoid blocking event loop on state lock by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2622
- feat(tools/tom_consult): declare resources for parallel execution by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2663
- fix(acp): install Node 22 for ACP and defer remote ACP init until run by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2656
- Release v1.16.1 by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/2665
- chore(deps): bump cryptography from 46.0.5 to 46.0.6 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2672
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2661
- fix(tools): prevent duplicate WithRisk/WithSummary Action classes in sub-agent conversations by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2649
- fix: propagate acp_model to metrics for accurate cost attribution by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2677
- Add dashscope/qwen3.6-plus to resolve_model_config.py by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2681
- fix(sdk): use AI agent in disclosure example by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2675
- Add contributors section to README by @jamiechicago312 in https://github.com/OpenHands/software-agent-sdk/pull/2658
- feat: add automation context tags to conversations by @malhotra5 in https://github.com/OpenHands/software-agent-sdk/pull/2632
- chore(deps): bump lewagon/wait-on-check-action from 1.5.0 to 1.6.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2660
- feat(security): defense-in-depth security analyzers by @Fieldnote-Echo in https://github.com/OpenHands/software-agent-sdk/pull/2472
- feat(skills): add shell command execution in frontmatter for dynamic context by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2582
- Apptainer gpu passthrough by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2695
- fix(acp): add activity heartbeat to prevent idle runtime kill during conn.prompt() by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2698
- feat(sdk): add redact_url_params() for URL query parameter redaction by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2700
- fix(agent-server): sanitize 422 error responses to prevent secret leakage by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2679
- fix(acp): retry transient ACP server errors (JSON-RPC -32603) by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2699
- Add instruction to verify PR status before pushing by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2696
- Bump pytest to >=9.0.0 to unblock Dependabot by @aivong-openhands in https://github.com/OpenHands/software-agent-sdk/pull/2705
- Fix auto-title race condition: extract message before background task by @rbren in https://github.com/OpenHands/software-agent-sdk/pull/2599
- docs: add cross-repo testing skill for SDK ↔ OH Cloud e2e workflow by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2477
- Fix _extract_summary popping real tool parameters named "summary" by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2633
- fix(deps): upgrade litellm to fix fastapi import bug in Responses API by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2714
- fix: ERROR when agent finishes on final iteration (#2659) by @trayanmomkov in https://github.com/OpenHands/software-agent-sdk/pull/2720
- feat(agent-server): expose settings schema by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2651
- Migrate Claude ACP package name by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2702
- fix: Incremental view construction by @csmith49 in https://github.com/OpenHands/software-agent-sdk/pull/2586
- fix(sdk): recover malformed tool history via condensation by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2613
- chore(deps): bump slackapi/slack-github-action from 2.1.1 to 3.0.1 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2578
- feat(agent-server): register builtin agents on startup by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2710
- Deprecate DelegateTool in favor of TaskToolSet by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2668
- chore(deps): bump pygments from 2.19.2 to 2.20.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2731
- chore(deps): bump fastmcp from 3.1.0 to 3.2.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2643
- chore(deps): bump aiohttp from 3.13.3 to 3.13.4 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2732
- chore(test): update docstring link to correct PR (#2264) by @kushalsai-01 in https://github.com/OpenHands/software-agent-sdk/pull/2733
- refactor(tools): built-in agents by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2511
- fix(sdk): Use concise error message for tool validation errors by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2748
- fix(llm): cap auto-detected max_output_tokens when it fills the entire context window by @csmith49 in https://github.com/OpenHands/software-agent-sdk/pull/2747
- feat(tools/task): make TaskManager thread-safe for parallel execution by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2719
- fix: add prompt-level defense against repo context injection attacks by @sumleo in https://github.com/OpenHands/software-agent-sdk/pull/2543
- fix(sdk): recover dict/list args with trailing garbage in tool calls by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2753
- chore(deps): bump litellm from 1.82.6 to 1.83.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2750
- feat(tools/gemini): declare file-path resources for parallel execution by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2723
- Add trinity-large-thinking to resolve_model_config.py by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2760
- Update PR template to match OpenHands/OpenHands repository by @jamiechicago312 in https://github.com/OpenHands/software-agent-sdk/pull/2730
- feat(tools/terminal): tmux pane pool for parallel terminal execution by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2669
- feat: add experimental QA changes workflow by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2717
- feat: Expose agent final response via REST API endpoint by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2690
- chore(deps): bump pypdf from 6.9.1 to 6.9.2 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2646
- Add openrouter/z-ai/glm-5.1 to resolve_model_config (fixes #2768) by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2769
- fix(agent-server): await conversation teardown in EventService.close() by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2734
- Add support for EXTENSIONS_REF environment variable by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2607
- docs: document gh workflow run for integration tests in ADDINGMODEL.md by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2783
- Unify skills modules: move context/skills to sdk/skills by @csmith49 in https://github.com/OpenHands/software-agent-sdk/pull/2774
- Move marketplace definitions to openhands.sdk.marketplace module by @csmith49 in https://github.com/OpenHands/software-agent-sdk/pull/2786
- fix(sdk): metrics desync between LLM and Telemetry after restore by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2736
- fix: restore self-contained /agent-server with uv-managed Python by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2765
- Skip PyPI publishing for GitHub pre-releases by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2800
- fix: use GITHUB_SHA env var for image tag in server workflow by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2799
- test: add additional regression tests for restore_metrics telemetry sync (#13843) by @Jinhaooo in https://github.com/OpenHands/software-agent-sdk/pull/2793
- fix(ci): keep REST release-based and enforce SDK deprecation runway by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2802
- Fix remaining tmux session leaks in agent-server startup and task cleanup by @rbren in https://github.com/OpenHands/software-agent-sdk/pull/2805
- refactor(settings): split agent and conversation settings schemas by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2789
- feat: Extensions module by @csmith49 in https://github.com/OpenHands/software-agent-sdk/pull/2801
- fix: redact sensitive credentials from command logs by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2815
- Release v1.17.0 by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/2812
- fix: override exclude-newer in version-bump-prs workflow by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2817
- fix: normalize Anthropic-style tool calls in the SDK agent path by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2685
- feat(observability): add init_laminar_for_external helper for webhook integrations by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2820
- test(agent-server): add regression test for tags forwarding on conversation create by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2822
- feat(agent-server): expose model switching (switch_profile) in agent-server REST API by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2795
- feat(sdk): accept inline
system_promptkwarg on Agent by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2826 - Enforce test directory allowlist and fix orphaned tests by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2836
- chore(deps): bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2832
- chore(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2833
- Integrate GraySwan security changes by @MadhaviSG in https://github.com/OpenHands/software-agent-sdk/pull/2787
- chore(ci): bump poetry version to 2.3.3 in version-bump-prs workflow by @aivong-openhands in https://github.com/OpenHands/software-agent-sdk/pull/2831
- fix: strip deployment prefixes from LiteLLM proxy model names by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/2693
- fix(sdk): preserve security policy filename contract by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2838
- chore(deps): bump dawidd6/action-download-artifact from 19 to 20 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2764
- feat(pr-review): enable sub-agent delegation for file-level reviews by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2839
- chore(ci): use GITHUB_TOKEN for label and stale workflows by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2844
- chore(deps-dev): bump pytest from 9.0.2 to 9.0.3 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2834
- Add claude-opus-4-7 model support by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2852
- feat(terminal): standardize send_keys special key support across backends by @sjathin in https://github.com/OpenHands/software-agent-sdk/pull/2807
- Persist ACP session id across agent-server restarts by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2869
- feat(sdk/tools): add explicit invoke_skill tool for progressive-disclosure skills by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2835
- reduce noise in laminar observability by @dinmukhamedm in https://github.com/OpenHands/software-agent-sdk/pull/2871
- feat(sdk): split AgentSettings into LLM/ACP discriminated union by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2861
- feat(acp): stream ACPToolCallEvents live from session_update by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2868
- Make confirmation mode critical in conversation schema by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2870
- chore(deps): bump lewagon/wait-on-check-action from 1.6.0 to 1.7.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2842
- chore(deps): bump actions/github-script from 8 to 9 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2843
- refactor(sdk): extract LLM response classification and dispatch from Agent.step() by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2743
- feat: add title_llm_profile support for auto-titling by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2515
- fix(acp): show the real model in logs and serialized state by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2881
- feat: add Conversation.fork() as a first-class SDK primitive by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2841
- fix(sdk): reorder schema properties so security_risk precedes content fields by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2745
- feat(workspace): make health_check_timeout configurable on DockerWorkspace and ApptainerWorkspace by @ixchio in https://github.com/OpenHands/software-agent-sdk/pull/2688
- ci: use MAINTAINERS as reviewer assignment fallback by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2875
- fix(ci): pass extensions-version so sub-agent review script is used by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2890
- Add kimi-k2.6 model to resolve_model_config.py by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2894
- fix(sdk/llm): Codex subscription mode: empty responses, rejected params, and reasoning item 404s by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2798
- chore: use OPENHANDS_BOT_GITHUB_PAT_EVAL_DISPATCH for eval dispatch by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2895
- chore: use OPENHANDS_BOT_GITHUB_PAT_PUBLIC in public-repo workflows by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2898
- Change llm.base_url prominence from CRITICAL to MAJOR by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2899
- fix(llm): pass stream_options to preserve cache token metrics in streaming mode by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2897
- test: use default agent preset for integration tests by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/1996
- feat(agent-server): add token-level streaming support to agent server WebSocket by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2751
- fix(skills): Load installed skills in load_user_skills() by @sjathin in https://github.com/OpenHands/software-agent-sdk/pull/2884
- chore(deps): bump python-multipart from 0.0.22 to 0.0.26 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2878
- Add encryption support for mcp_config field in AgentBase by @tofarr in https://github.com/OpenHands/software-agent-sdk/pull/2900
- Release v1.18.0 by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/2908
- fix(tools): Gracefully handle missing PS1 metadata instead of crashing by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2742
- fix(llm): pin prompt_cache_key to conversation id by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2907
- fix(llm): preserve Responses function_call.id for byte-identical repl… by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2916
- fix(conversation): repin prompt_cache_key on switch_profile by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2920
- Add cancel-eval workflow to kill evaluation jobs by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2914
- feat: add repository cloning and skill loading methods to OpenHandsCloudWorkspace by @malhotra5 in https://github.com/OpenHands/software-agent-sdk/pull/2912
- fix(sdk): add security_risk to prompt-based tool calling example by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2746
- feat: Add secrets support for MCP config variable expansion by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/2873
- Fix CVE-2026-34444: Update lupa to 2.8 by @aivong-openhands in https://github.com/OpenHands/software-agent-sdk/pull/2925
- fix: pin ACP npm package versions in agent-server Dockerfile by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2927
- fix(security): first-message WebSocket auth to prevent token leakage by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/2790
- chore: point pr-review workflow to extensions@main by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2928
- Release v1.18.1 by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/2929
- nit(sdk/critic): delete dead code by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2938
- docs(sdk): clarify tool call matching invariants by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2942
- fix(state): warn when falling back to InMemoryFileStore without persistence_dir by @StatPan in https://github.com/OpenHands/software-agent-sdk/pull/2936
- Add device-code login for OpenAI subscriptions by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2945
- ci: rename eval dispatch token env vars by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2933
- ci: support fork PR review workflows by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2931
- feat(settings): add from_persisted loaders by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2949
- Add OpenHands issue duplicate automation workflow by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/2909
- docs: align README setup notes with current repo workflow by @smolpaws in https://github.com/OpenHands/software-agent-sdk/pull/2952
- fix: handle Pydantic MCP server objects in expand_mcp_variables by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/2962
- chore(deps): bump lxml from 6.0.2 to 6.1.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/2961
- fix(sdk/conversation): preserve prompt_cache_key for sub-agent LLMs by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/2973
- Add GPT-5.5 model configuration by @juanmichelini in https://github.com/OpenHands/software-agent-sdk/pull/2975
- feat(settings): add enable_sub_agents toggle to LLMAgentSettings by @xingyaoww in https://github.com/OpenHands/software-agent-sdk/pull/2948
- Release v1.19.0 by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/2974
New Contributors
- @yitao-li made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2414
- @Shimada666 made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2447
- @sjathin made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2598
- @Fieldnote-Echo made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2472
- @trayanmomkov made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2720
- @kushalsai-01 made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2733
- @sumleo made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2543
- @Jinhaooo made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2793
- @MadhaviSG made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2787
- @StatPan made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/2936
Full Changelog: https://github.com/OpenHands/software-agent-sdk/compare/v1.14.0...v1.19.0
Files
OpenHands/software-agent-sdk-v1.19.0.zip
Additional details
Related works
- Is supplement to
- Software: https://github.com/OpenHands/software-agent-sdk/tree/v1.19.0 (URL)
Software
- Repository URL
- https://github.com/OpenHands/software-agent-sdk