openhands
6ec03098ad
fix: add integration tests, store prompt in config, remove AST extraction, extract pagination helper, simplify update
...
- Thread 1: Added integration tests using real SQLite database (aiosqlite)
that exercise actual SQL queries for list, get, create, delete, pagination
- Thread 3: Store prompt in config JSON column so DB is source of truth,
not the generated file
- Thread 4: Removed _extract_prompt_from_file (AST extraction) entirely
- Thread 5: Extracted _paginate() helper used by search_automations and
list_automation_runs
- Thread 6: Simplified update endpoint - reads prompt from config instead
of parsing file content
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-11 18:01:25 +00:00
openhands
20e0ebacf0
fix: address PR review feedback for automation CRUD API
...
- Fix pagination cursor bug: next_page_id now points to rows[limit]
(first item of next page) instead of rows[limit-1] in both
search_automations and list_automation_runs
- Simplify update endpoint: use model_dump(exclude_unset=True) to
extract changed fields and set intersection for regen detection
- Add user isolation security tests: verify user B cannot GET, PATCH,
DELETE, or search user A's automations
- Move automation_router import to top of saas_server.py with other
router imports
- Consistent error handling: capture file_store_key before session
close in delete endpoint
- Safe isoformat() calls: guard against None timestamps in
_automation_to_response and _run_to_response
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-11 08:23:20 +00:00
openhands
3230813a95
[Automations Phase 1] Task 2: CRUD API
...
Implement REST API for creating, reading, updating, and deleting
automations. Simple mode only for Phase 1 (form input → generated file).
New files:
- enterprise/server/routes/automation_models.py: Pydantic request/response models
- enterprise/server/routes/automations.py: FastAPI router with 8 endpoints
- enterprise/storage/automation.py: SQLAlchemy models (stub for Task 1)
- enterprise/storage/automation_event.py: SQLAlchemy model (stub for Task 1)
- enterprise/services/: Config, file generator, event publisher stubs
Endpoints:
- POST /api/v1/automations — Create automation
- GET /api/v1/automations/search — List automations (paginated)
- GET /api/v1/automations/{id} — Get automation
- PATCH /api/v1/automations/{id} — Update automation
- DELETE /api/v1/automations/{id} — Delete automation and runs
- POST /api/v1/automations/{id}/run — Manual trigger
- GET /api/v1/automations/{id}/runs — List runs (paginated)
- GET /api/v1/automations/{id}/runs/{run_id} — Get run detail
Part of RFC: https://github.com/OpenHands/OpenHands/issues/13275
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-10 18:45:48 +00:00
Juan Michelini
5e5950b091
Add Gemini-3.1-Pro-Preview model support to frontend ( #13253 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
Co-authored-by: Ray Myers <ray.myers@gmail.com >
2026-03-10 16:18:13 +00:00
John-Mason P. Shackelford
c7ff560465
Fix getGitPath to handle nested GitLab group paths ( #13006 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-10 11:12:08 -05:00
Joe Laverty
3432bbbb88
fix: Remove N+1 request from Bitbucket Data Center integration ( #13281 )
2026-03-10 11:08:30 -05:00
Hiep Le
fc24be2627
fix(frontend): preserve login_method param to enable session re-authentication ( #13310 )
2026-03-10 22:52:40 +07:00
Hiep Le
bc72b38d6e
fix(backend): propagate LLM settings to all org members when admin saves settings ( #13326 )
2026-03-10 22:52:01 +07:00
Dream
145f1266e6
feat(frontend): create a separate UI tab for monitoring tasks ( #13065 )
...
Co-authored-by: hieptl <hieptl.developer@gmail.com >
2026-03-10 22:31:38 +07:00
Rohit Malhotra
e12dd924ce
feat(slack): implement repo selection with external_select for pagination ( #13273 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-09 16:04:49 -04:00
Tim O'Farrell
598b381e3d
Added fallback for sandbox spec service ( #13317 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-09 12:21:52 -06:00
Ray Myers
698cfc2520
fix: sanitize file_path in git diff shell commands to prevent command injection ( #13051 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-09 17:29:25 +00:00
Xingyao Wang
8356170193
Fix stale Docker image tags & add version consistency CI + update-sdk skill ( #13315 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-09 17:23:30 +00:00
mamoodi
fe2e50fc7d
Use tag version instead of commit for agent server image ( #13312 )
2026-03-09 10:46:21 -04:00
aivong-openhands
ef840b046a
remove mcp version check for cve_2025_66416 ( #13277 )
2026-03-09 09:38:44 -05:00
Tim O'Farrell
c8fe39b176
Upgrading SDK to 1.12.0 ( #13248 )
2026-03-09 21:06:12 +07:00
Ray Myers
8c46df6b59
fix: asyncpg, device key timestamp without timezone, error reporting ( #13301 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-08 12:56:59 -05:00
Engel Nyst
b37adbc1e6
Remove deprecated reset-settings endpoint ( #13298 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-08 13:11:35 +01:00
Tim O'Farrell
3ec999e88a
Fix LiteLLM key management and user migration SQL queries ( #13279 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-06 21:48:19 -07:00
Jamie Chicago
d1c2185d99
[fix] update welcome email to new cloud sign ups ( #13254 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-06 15:24:55 -06:00
Joe Laverty
ede203add3
feat(enterprise): Bitbucket Data Center Integration ( #13228 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-06 10:49:20 -06:00
aivong-openhands
b0cdd0358f
fix: add mcp>=1.25 constraint and CVE-2025-66416 tests ( #13247 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-03-06 10:31:46 -06:00
Tim O'Farrell
6186685ebc
Refactor user authorization: Replace domain blocklist with flexible whitelist/blacklist pattern matching ( #13207 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-06 09:10:59 -07:00
jpelletier1
2d7362bf26
refactor: update skills to Agent Skills format ( #13267 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-06 09:22:28 -05:00
Povo43
1f1fb5a954
fix(i18n): correct Japanese translation strings ( #13261 )
2026-03-06 14:15:27 +04:00
Chris Bagwell
41d8bd28e9
fix: preserve llm_base_url when saving MCP server config ( #13225 )
2026-03-06 02:39:58 +01:00
Rohit Malhotra
6c394cc415
Add rate limiting to verification emails during OAuth flow ( #13255 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-05 19:10:25 -05:00
Rohit Malhotra
4c380e5a58
feat: Add timeout handling for Slack repo query ( #13249 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-06 00:02:04 +00:00
Chris Bagwell
ded0363e36
fix: ensure VSCode tab popout works for V1 ( #13118 )
2026-03-06 00:53:15 +01:00
Juan Michelini
d8444ef626
Add Qwen3-Coder-Next model support to frontend ( #13222 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-05 19:34:06 -03:00
Juan Michelini
64e96b7c3c
Add Kimi-K2.5 model support to frontend ( #13227 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-05 19:33:59 -03:00
aivong-openhands
dcef5ae1f1
Fix CVE-2026-0540: Override dompurify to version 3.3.2 ( #13230 )
...
Co-authored-by: OpenHands CVE Fix Bot <openhands@all-hands.dev >
2026-03-05 14:42:20 -06:00
aivong-openhands
cfbf29f6e8
chore: downgrade fastmcp to 2.12.4 in uv.lock ( #13240 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
Co-authored-by: OpenHands Bot <contact@all-hands.dev >
2026-03-05 14:42:01 -06:00
sp.wack
59b369047f
Revert "Fix dark background in chat status row hiding message content" ( #13239 )
2026-03-05 19:40:06 +04:00
Hiep Le
07468e39f7
feat(frontend): disable the create a plan button when users are using the planning agent ( #13234 )
2026-03-05 22:19:50 +07:00
Hiep Le
0b0bfdff05
feat(frontend): add the build button to the planner tab ( #13235 )
2026-03-05 22:19:14 +07:00
aivong-openhands
42b0a89366
Fix CVE-2026-28802: Update authlib to 1.6.7 ( #13229 )
...
Co-authored-by: OpenHands CVE Fix Bot <openhands@all-hands.dev >
2026-03-05 08:56:47 -06:00
layla
e78d7de0c0
Fix dark background in chat status row hiding message content ( #13236 )
2026-03-05 18:47:11 +04:00
Juan Michelini
6751bba939
Add GLM-5 model support to frontend ( #13213 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
Co-authored-by: OpenHands Bot <contact@all-hands.dev >
2026-03-05 18:44:33 +04:00
aivong-openhands
039e966dad
update mcp to 1.25.0 in uv lock ( #13231 )
2026-03-05 07:42:24 -06:00
Juan Michelini
a1f73bb4c6
Add Claude-Sonnet-4-6 model support to frontend ( #13224 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-04 21:13:30 -03:00
Rohit Malhotra
bf769d1744
Handle deleted GitHub issues (410 error) gracefully ( #13217 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-04 15:50:37 -05:00
Tim O'Farrell
15e9435b35
Remove ExperimentManager concept from codebase ( #13215 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-04 13:41:18 -07:00
Rohit Malhotra
3e15b849a3
Downgrade solvability disabled log from warning to info ( #13216 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-04 15:26:21 -05:00
Rohit Malhotra
c32934ed2f
Improve budget exceeded error handling in V1 callback processors ( #13219 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-04 15:25:46 -05:00
Hiep Le
518fb2ee24
fix(frontend): hide add team members button when anonymous analytics is disabled ( #13209 )
2026-03-05 02:03:47 +07:00
Hiep Le
eeac9f14a3
fix(backend): allow deleting an organization after recent changes ( #13200 )
2026-03-05 01:52:33 +07:00
Rohit Malhotra
039e208167
Fix enterprise mypy type checking to catch type mismatches ( #13140 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-04 13:43:46 -05:00
Hiep Le
6f8bf24226
feat: hide the users, billing, and integration pages for self-hosted customers ( #13199 )
2026-03-05 01:24:06 +07:00
Rohit Malhotra
6e9e906946
Remove dead test code for non-existent update_common_room_signal function ( #13211 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-03-04 13:20:25 -05:00