Published November 5, 2026
| Version v1.60.0
Software
Open
OpenHands/software-agent-sdk: v1.60.0
Authors/Creators
- Xingyao Wang1
- Engel Nyst
- Graham Neubig2
- simonrosenberg
- Vasco Schiavo3
- Juan Pedro Michelini Jorge
- OpenHands Bot4
- Tim O'Farrell
- Rohit Malhotra5
- Robert Brennan4
- Calvin Smith
- Hiep
- John-Mason P. Shackelford3
- Ryan H. Tran
- Alona
- 🐾 smolpaws
- aivong-openhands
- Nelson Spence6
- Yu
- Onat Özmen
- Aman
- OpenHands7
- Dinmukhamed Mailibay8
- மனோஜ்குமார் பழனிச்சாமி
- PiteXChen9
- Shimada666
- chuckbutkus
- Lucio Baiocchi
- Jamie Chicago
- 1. OpenHands / All Hands AI
- 2. Carnegie Mellon University / OpenHands
- 3. @OpenHands
- 4. OpenHands
- 5. Carnegie Mellon University
- 6. @Project-Navi @Oxford-House-Inc
- 7. @all-hands-ai
- 8. @lmnr-ai
- 9. xxx
Description
What's Changed
- feat(workspace): clone Bitbucket Data Center repositories by @ak684 in https://github.com/OpenHands/software-agent-sdk/pull/6281
- feat: let Canvas App backends use explicitly approved secrets by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/6041
- fix(llm): temporarily map exact SGLang context overflow errors by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/6301
- fix(agent-server): preserve CORS headers on unhandled errors by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/6012
- fix(agent-server): re-check containment for directory index.html by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/6316
- fix(sdk): never send an LLM request that ends with the assistant turn by @hieptl in https://github.com/OpenHands/software-agent-sdk/pull/6309
- ci: run downstream test suites when upstream packages change by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/6320
- docs(agents): require a failure-path test for each changed behavior by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/6321
- feat(sdk): consume proxy-advertised request-parameter capabilities by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/5502
- test(cross): check LocalConversation and RemoteConversation parity by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/6323
- fix(sdk): distinguish validation loops from incremental repairs by @ak684 in https://github.com/OpenHands/software-agent-sdk/pull/6278
- test(sdk): drive pause tests with TestLLM instead of patching litellm by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/6322
- feat(sdk): make ThinkTool opt-in instead of a default tool by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/6159
- ci: remove review artifacts in the release PR by @smolpaws in https://github.com/OpenHands/software-agent-sdk/pull/6335
- chore: remove merged PR artifacts by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/6304
- Upgrade LiteLLM to 1.105.1 (PR 1 of #6015) by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/6030
- test(integration): ask for an executable script in t02_add_bash_hello by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/6333
- fix(tools): read the current page in browser_get_content by @ak684 in https://github.com/OpenHands/software-agent-sdk/pull/6329
- refactor(task_tracker): shorten the tool description by @ak684 in https://github.com/OpenHands/software-agent-sdk/pull/6330
- chore(deps): run dependabot version updates daily by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/6328
- feat(llm): add DecisionModel with OTEL tracing by @jpshackelford in https://github.com/OpenHands/software-agent-sdk/pull/6068
- feat(agent-server): load user hooks in POST /api/hooks by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/5734
- test(agent-server): synchronize the wedged-socket backpressure test by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/6352
- Add newly released LLM models to verified lists by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/6350
- fix(ts-client): bypass browser cache for workspace file downloads by @BORAN002 in https://github.com/OpenHands/software-agent-sdk/pull/6182
- fix(sdk): ignore stray files when counting persisted events by @NicoYang1984 in https://github.com/OpenHands/software-agent-sdk/pull/6349
- fix(sdk): mask the longest overlapping secret value first by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6356
- fix(tools): terminate an unterminated last line before inserting after it by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6357
- fix(tools): edit a symlink's target instead of replacing the link by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6358
- fix(agent-server): encrypt bash event files at rest (OHE-3812) by @hieptl in https://github.com/OpenHands/software-agent-sdk/pull/6343
- fix(sdk): accept the draft-07 tuple form of array items by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6373
- fix(tools): surface unreadable patch targets as tool errors by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6372
- fix(sdk): treat a zero history limit as no history by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6375
- fix(llm): send Codex session headers on subscription calls by @Octember in https://github.com/OpenHands/software-agent-sdk/pull/6364
- fix(tools): don't report exactly 100 glob matches as truncated by @BlueX888 in https://github.com/OpenHands/software-agent-sdk/pull/6342
- fix(sdk): parse git URLs consistently across schemes and suffixes by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6379
- fix(sdk): match in-memory store paths at a separator, not a raw prefix by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6374
- chore(deps): bump docker/login-action from 4.6.0 to 4.7.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6313
- chore(deps): bump google-cloud-aiplatform from 2.1.3 to 2.5.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6209
- chore(deps): bump sqlalchemy from 2.0.44 to 2.1.5 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6208
- chore(deps): bump actions/create-github-app-token from 3.2.0 to 3.3.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6002
- chore(deps): bump pytest-cov from 7.0.0 to 7.1.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/5595
- chore(deps): bump MishaKav/pytest-coverage-comment from 1.12.2 to 1.12.3 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/5596
- chore(deps): bump eslint from 10.11.0 to 10.13.0 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6207
- chore(deps): bump @vitest/coverage-v8 from 5.0.1 to 5.0.5 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6206
- chore(deps): bump vitest from 5.0.1 to 5.0.5 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6205
- chore(deps): bump @openrouter/sdk from 1.3.32 to 1.4.25 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6204
- chore(deps): bump globals from 17.12.0 to 17.13.0 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/5600
- fix(deps): run dependabot daily, not hourly by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/6391
- chore(deps): bump pytest-forked from 1.6.0 to 1.7.5 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/5593
- feat(agent-server): suspend idle Docker containers on terminal conversation state by @MdTanwer in https://github.com/OpenHands/software-agent-sdk/pull/5199
- fix(llm): preserve gpt-oss reasoning across tool calls by @Oliveryfaso in https://github.com/OpenHands/software-agent-sdk/pull/6111
- chore(deps): bump @typescript-eslint/parser from 8.71.0 to 8.72.1 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6401
- chore(deps): bump ws and @types/ws in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6400
- chore(deps): bump typescript-eslint from 8.71.0 to 8.72.1 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6398
- fix(sdk): preserve full title-generation inputs by @smolpaws in https://github.com/OpenHands/software-agent-sdk/pull/6337
- fix(sdk): report a non-UTF-8 .mcp.json as a skill validation error by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6430
- fix(sdk): normalize large sentiment logits without overflowing by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6384
- chore(deps): bump pycodestyle from 2.14.0 to 2.15.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6397
- chore(deps): bump @types/node from 26.6.3 to 26.6.5 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6399
- chore(deps): bump posthog from 7.60.0 to 7.75.11 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6396
- chore(deps): bump streamlit from 1.63.0 to 1.66.1 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6394
- chore(deps): bump eWaterCycle/setup-apptainer from 2 to 3 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6392
- chore(deps): bump MishaKav/pytest-coverage-comment from 1.12.3 to 1.13.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6393
- chore(deps): bump jsonschema from 4.23.0 to 4.26.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6395
- fix(sdk): normalize blank Chat Completions content across roles by @BORAN002 in https://github.com/OpenHands/software-agent-sdk/pull/4981
- fix(settings): preserve the MCP catalog across agent_kind switches by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/6436
- fix(sdk): skip auto-loaded plugins and installed extensions that fail to load by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/6439
- fix(llm): lead proxy calls with OpenHands identity; route vendor-prefixed models via proxy by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/6433
- fix(acp): emit agent text before the tool call it precedes by @smolpaws in https://github.com/OpenHands/software-agent-sdk/pull/6452
- fix(acp): keep Codex state in the conversation's durable CODEX_HOME by @smolpaws in https://github.com/OpenHands/software-agent-sdk/pull/6455
- fix(sdk): ignore a boolean max_iteration_per_run instead of reading it as 1 by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6428
- fix(git): keep file names verbatim in git changes and commit changes by @enyst in https://github.com/OpenHands/software-agent-sdk/pull/5782
- fix(sdk): match the URL scheme case-insensitively when redacting credentials by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6380
- fix(settings): keep server-wide settings across agent_kind switches by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/6441
- Add newly released LLM models to verified lists by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/4988
- chore(deps): bump prettier from 3.9.9 to 3.9.10 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6450
- chore(deps): bump pyinstaller from 6.22.2 to 6.22.3 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6448
- chore(deps): bump @openrouter/sdk from 1.4.25 to 1.5.14 in /clients/typescript by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6449
- fix(sdk): report auto-load marketplace and plugin failures to the user by @hieptl in https://github.com/OpenHands/software-agent-sdk/pull/6460
- chore(deps): bump libtmux from 0.53.0 to 0.62.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6445
- chore(deps): bump alembic from 1.17.0 to 1.20.1 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6446
- chore(deps): update pyright[nodejs] requirement from >=1.1.405 to >=1.1.414 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/6447
- fix(subagent): decrypt named LLM profiles with the conversation cipher by @hieptl in https://github.com/OpenHands/software-agent-sdk/pull/6461
- refactor(sdk): keep one TOOL_NAME_ALIASES table for both tool-call paths by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/6458
- fix(workspace): read the named MCP server map in OpenHandsCloudWorkspace.get_mcp_config by @ak684 in https://github.com/OpenHands/software-agent-sdk/pull/6478
- fix(agent-server): append env list items past the file list length by @yftx293 in https://github.com/OpenHands/software-agent-sdk/pull/6387
- fix(mcp): start each MCP server separately so one failing server drops only its own tools by @ak684 in https://github.com/OpenHands/software-agent-sdk/pull/6480
- Release v1.60.0 by @all-hands-bot in https://github.com/OpenHands/software-agent-sdk/pull/6410
New Contributors
- @NicoYang1984 made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/6349
- @yftx293 made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/6356
- @Octember made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/6364
- @BlueX888 made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/6342
- @Oliveryfaso made their first contribution in https://github.com/OpenHands/software-agent-sdk/pull/6111
Full Changelog: https://github.com/OpenHands/software-agent-sdk/compare/v1.59.0...v1.60.0
Files
OpenHands/software-agent-sdk-v1.60.0.zip
Additional details
Related works
- Is supplement to
- Software: https://github.com/OpenHands/software-agent-sdk/tree/v1.60.0 (URL)
Software
- Repository URL
- https://github.com/OpenHands/software-agent-sdk