Release v1.3.0
Highlights
-
Support for Opus 4.5
-
Improved reliability across the execution pipeline
More predictable webhook timing, stronger conversation start behavior, and refined FastAPI union handling. -
Better LLM interaction and observability
WebSocket-based LLM log streaming, reasoning-first messages, cleaner serialization, and a simple ask_agent API. -
Stronger evaluation workflow
CI eval job, improved stability, and aligned labeling tiers. -
Greater extensibility and structure
Predefined subagent support, event source filtering, new task status types, and import-dependency rule enforcement.
What's Changed
- Release 1.2.0 by @xingyaoww in #1191
- Fix webhook timer reset behavior for more predictable delivery by @tofarr in #1192
- fix: sanitize @OpenHands only in GitHub comments (backend) by @YakshithK in #1020
- fix: use user-specific cache directory for Jinja2 templates by @LuneZ99 in #1200
- Rename ExecuteBashAction/ExecuteBashObservation to TerminalAction/TerminalObservation by @xingyaoww in #1193
- Fix datetime.utcnow() deprecation warning by @malhotra5 in #1203
- Add force_string_serializer as LLM class argument by @xingyaoww in #1204
- APP-156 Set skill default trigger to None by @tofarr in #1212
- Rename
BrowserNavigateActionandBrowserTypeActionactions by @ryanhoangt in #1213 - Fix: more resilient conversation start by @tofarr in #1216
- Revert "Rename
BrowserNavigateActionandBrowserTypeActionactions" by @xingyaoww in #1225 - Prefix MCP tool action models to avoid kind collisions by @ryanhoangt in #1217
- Add source parameter to /search endpoint for event filtering by @malhotra5 in #1224
- feat: add eval job that runs on CI by @simonrosenberg in #1167
- Send reasoning first in the assistant message by @enyst in #1238
- Remove weekly typing improvements workflow by @simonrosenberg in #1243
- fix: incorrect file download API endpoint in remote_workspace_mixin by @hieptl in #1245
- docs: Add comments about system prompt customization options by @xingyaoww in #1220
- Fix run examples workflow failed on schedule run & use parallel execution with pytest by @ryanhoangt in #1229
- feat: fix eval workflow by @simonrosenberg in #1241
- Fix FastAPI discriminated union patch to be called consistently by @tofarr in #1256
- Revert "Fix FastAPI discriminated union patch to be called consistently" by @xingyaoww in #1257
- Fastapi discriminated union patch2 by @tofarr in #1258
- feat: allow delegator to spawn pre-defined subagents by @simonrosenberg in #1223
- Stream LLM logs and stats updates via WebSocket for RemoteConversation by @xingyaoww in #1159
- Add import dependency rules enforcement by @xingyaoww in #1259
- Investigate Claude model names: remove unsupported dotted variants (fixes #1260) by @enyst in #1261
- Add TaskTrackerStatusType type alias for task tracker status by @xingyaoww in #1263
- Align eval labels with benchmarks build tiers (1, 50, 200) by @simonrosenberg in #1254
- Claude Opus 4.5 as a reasoning model with custom effort param by @juanmichelini in #1250
- Add ask_agent method to conversation classes for simple LLM completions by @malhotra5 in #1227
- Fix: Condenser LLM should not pass extra_body (Fixes #1252) by @enyst in #1266
Full Changelog: v1.2.0...v1.3.0