From e32cdc4e3184c0ed09036ce8bc39ff85bfe4fd4a Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 16 Jul 2026 13:32:44 +0000 Subject: [PATCH 01/10] Add Enterprise 0.24.0 release notes page Aggregate release notes from enterprise-server (cloud-1.41.0 through cloud-1.46.2) and runtime-api (v0.4.0, v0.5.0) into a single Enterprise release notes page under the Enterprise tab. Co-authored-by: openhands --- docs.json | 3 +- enterprise/release-notes.mdx | 212 +++++++++++++++++++++++++++++++++++ 2 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 enterprise/release-notes.mdx diff --git a/docs.json b/docs.json index 907a13cb..16dd0bfd 100644 --- a/docs.json +++ b/docs.json @@ -483,7 +483,8 @@ "enterprise/docker-in-sandbox", "enterprise/analytics", "enterprise/external-postgres", - "enterprise/plugin-marketplace" + "enterprise/plugin-marketplace", + "enterprise/release-notes" ] }, { diff --git a/enterprise/release-notes.mdx b/enterprise/release-notes.mdx new file mode 100644 index 00000000..281b02fc --- /dev/null +++ b/enterprise/release-notes.mdx @@ -0,0 +1,212 @@ +--- +title: Release Notes +description: Release notes for OpenHands Enterprise +icon: clipboard-list +--- + +## 0.24.0 + +### Component Versions + +| Component | Previous Version | New Version | +|-----------|-----------------|-------------| +| automations | 1.1.5 | 1.1.5 | +| enterprise-server | cloud-1.40.1 | 1.46.2 | +| runtime-api | 0.3.1 | 0.50 | + +--- + +### Enterprise Server + +#### 1.46.2 (2026-07-15) + +##### Bug Fixes +* fix(frontend): restore cross-domain PostHog tracking by aligning client/server distinct_id (WIP) by @lilagrc in https://github.com/OpenHands/OpenHands/pull/15100 +* fix(app-server): lower DB pool defaults and make them env-tunable by @dylan-openhands in https://github.com/OpenHands/OpenHands/pull/15270 +* fix(mcp): preserve MCP auth secrets stripped by settings GET round-trip by @jlav in https://github.com/OpenHands/OpenHands/pull/15285 + +##### Maintenance +* chore: Update README.md by @rbren in https://github.com/OpenHands/OpenHands/pull/15271 + +**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.46.1...cloud-1.46.2 + +--- + +#### 1.46.1 (2026-07-14) + +##### Bug Fixes +* fix(app-server): preserve conversation created_at across lifecycle webhooks by @Sujit-1509 in https://github.com/OpenHands/OpenHands/pull/15243 +* fix(mcp): preserve SaaS credentials with encrypted storage by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15257 + +##### Maintenance +* ci: wait for the docker build before retagging images by @jlav in https://github.com/OpenHands/OpenHands/pull/15213 +* chore: bump SDK packages to v1.35.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15240 +* chore: bump SDK packages to v1.36.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15256 + +**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.46.0...cloud-1.46.1 + +--- + +#### 1.46.0 (2026-07-10) + +##### Features +* feat(app-server): enrich final archive manifests and remove initial snapshots by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15058 +* feat(enterprise): make BYOR key alias pattern configurable by @tofarr in https://github.com/OpenHands/OpenHands/pull/15232 + +##### Bug Fixes +* fix(frontend): mention SMTP env vars for budget alerts by @saurya in https://github.com/OpenHands/OpenHands/pull/15218 +* fix(enterprise): cascade-delete conversation_cost_events on conversation delete by @tofarr in https://github.com/OpenHands/OpenHands/pull/15220 +* fix: Enable LIFO database connection pooling by @tofarr in https://github.com/OpenHands/OpenHands/pull/15225 +* fix(app-server): preserve observability context metadata by @hxaxd in https://github.com/OpenHands/OpenHands/pull/15215 + +##### Maintenance +* ci: PLTF-2960 sync chart appVersion with cloud image tag by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15219 + +**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.45.1...cloud-1.46.0 + +--- + +#### 1.45.1 (2026-07-09) + +##### Maintenance +* chore(main): release 1.11.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15202 + +**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.45.0...cloud-1.45.1 + +--- + +#### 1.45.0 (2026-07-09) + +##### Features +* feat(enterprise): Agent Profiles on the cloud/SaaS backend (#15044) by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15060 +* feat(backend): Add Budgets dashboard and expand Usage Dashboard by @saurya in https://github.com/OpenHands/OpenHands/pull/15149 +* feat: budgets and usage monitoring UI by @saurya in https://github.com/OpenHands/OpenHands/pull/15186 +* feat: surface email enabled for smtp/resend by @saurya in https://github.com/OpenHands/OpenHands/pull/15214 + +##### Bug Fixes +* fix: prevent webhook-driven DB connection leaks by @tofarr in https://github.com/OpenHands/OpenHands/pull/15212 + +**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.44.0...cloud-1.45.0 + +--- + +#### 1.44.0 (2026-07-09) + +##### Features +* feat: pass repository metadata to observability traces by @neubig in https://github.com/OpenHands/OpenHands/pull/14431 + +##### Maintenance +* chore: bump SDK packages to v1.34.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15200 + +**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.43.0...cloud-1.44.0 + +--- + +#### 1.43.0 (2026-07-08) + +##### Features +* feat: rename admin dashboard to usage & monitoring by @saurya in https://github.com/OpenHands/OpenHands/pull/15146 +* feat: add SMTP email service by @saurya in https://github.com/OpenHands/OpenHands/pull/15144 +* feat: track user login timestamps by @saurya in https://github.com/OpenHands/OpenHands/pull/15148 +* feat: surface email enabled for smtp/resend by @saurya in https://github.com/OpenHands/OpenHands/pull/15185 + +##### Bug Fixes +* fix(app-server): pass index columns as a list in migration 013 by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/15176 +* fix: default ENABLE_ACP on so ACP agent settings show in OH Cloud by @hieptl in https://github.com/OpenHands/OpenHands/pull/15183 +* fix: send authenticated marketplace URLs to agent-server by @hieptl in https://github.com/OpenHands/OpenHands/pull/15187 + +##### Maintenance +* chore(main): release 1.9.2 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15171 +* chore: bump SDK packages to v1.33.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15177 +* chore(main): release 1.9.3 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15179 + +**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.42.0...cloud-1.43.0 + +--- + +#### 1.42.0 (2026-07-07) + +##### Features +* feat(enterprise/auth): super-admin management endpoint (grant/revoke/list) by @jpshackelford in https://github.com/OpenHands/OpenHands/pull/15006 + +##### Bug Fixes +* fix: settings page scroll layout by @saurya in https://github.com/OpenHands/OpenHands/pull/15147 +* fix(app_server): pass flat mcp_config shape to SDK Agent by @tofarr in https://github.com/OpenHands/OpenHands/pull/15159 +* fix: scroll settings sidebar so Skills is reachable in orgs by @hieptl in https://github.com/OpenHands/OpenHands/pull/15138 +* fix(frontend): read SDK 1.31.x flat mcp_config wire format by @tofarr in https://github.com/OpenHands/OpenHands/pull/15165 +* fix(app_server): derive agent server image from package version by @tofarr in https://github.com/OpenHands/OpenHands/pull/15168 + +##### Maintenance +* chore: bump SDK packages to v1.31.2 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15156 +* chore: bump SDK packages to v1.32.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15157 +* ci: PLTF-2960 open a chart image-tag bump PR on cloud release by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15166 +* chore(main): release 1.9.1 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15142 + +**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.41.0...cloud-1.42.0 + +--- + +#### 1.41.0 (2026-07-06) + +##### Features +* feat: implement semantic file chunking using tree-sitter AST parsing by @ysinghc in https://github.com/OpenHands/OpenHands/pull/14699 +* feat(org): Add organization conversation admin dashboard by @saurya in https://github.com/OpenHands/OpenHands/pull/14846 +* feat(app-server): capture production workspace state — initial snapshot at start + archive before delete (APP-2403) by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/14953 +* feat(device-verify): align warning, button color, and add workspace dropdown by @tofarr in https://github.com/OpenHands/OpenHands/pull/15031 +* feat(enterprise/auth): add super roles via user.role_id with permission fallback by @chuckbutkus in https://github.com/OpenHands/OpenHands/pull/14937 +* feat(org): expose caller permissions on GET /organizations/{id}/me by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/15048 +* feat(api-keys): add optional active window (not_before & expires_at) by @tofarr in https://github.com/OpenHands/OpenHands/pull/15085 +* feat(app-server): add repo/branch to Laminar trace metadata by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15059 +* feat: add parallel tool calls (tool_concurrency_limit) to agent settings by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/14929 +* feat(api-keys): make 'unbound' org scope an explicit, first-class option by @tofarr in https://github.com/OpenHands/OpenHands/pull/15096 +* feat(jira-dc): fix the integration panel so members get guidance, not the admin setup form by @ak684 in https://github.com/OpenHands/OpenHands/pull/15040 +* feat: Add dynamic marketplace support for plugin registration by @HeyItsChloe in https://github.com/OpenHands/OpenHands/pull/14887 +* feat(saas-auth): accept api_key cookie as a fallback credential by @tofarr in https://github.com/OpenHands/OpenHands/pull/15101 + +##### Bug Fixes +* fix(jira): make Jira Cloud and Jira DC HTTP timeouts configurable and consistent by @ak684 in https://github.com/OpenHands/OpenHands/pull/15012 +* fix: Fix CVE-2026-44681: Update authlib to >=1.6.12 by @mamoodi in https://github.com/OpenHands/OpenHands/pull/14983 +* fix: don't switch LLM profile before the conversation UUID exists (avoids 422) by @ak684 in https://github.com/OpenHands/OpenHands/pull/14900 +* fix(enterprise): log automation HTTP response failures as errors by @wgu9 in https://github.com/OpenHands/OpenHands/pull/15004 +* fix(enterprise): add alembic migration for execution_status column by @tofarr in https://github.com/OpenHands/OpenHands/pull/15030 +* fix(jira-dc): more forgiving repo + mention resolution for Data Center by @ak684 in https://github.com/OpenHands/OpenHands/pull/15034 +* fix(device-verify): rename 'Workspace' dropdown to 'Organization' by @tofarr in https://github.com/OpenHands/OpenHands/pull/15057 +* fix(jira-dc): don't org-gate a personal-workspace Jira DC integration by @ak684 in https://github.com/OpenHands/OpenHands/pull/15036 +* fix: stream LLM tokens for cloud conversations and profile switches by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/15021 +* fix: set email person property in PostHog during onboarding completion by @lilagrc in https://github.com/OpenHands/OpenHands/pull/15070 +* fix: Timezones stored in the db do not have a timezone by @tofarr in https://github.com/OpenHands/OpenHands/pull/15092 +* fix: add test for InMemoryRateLimiter.__init__ to prevent duplicate assignment regression by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/14729 +* fix(frontend): stop streamed deltas rendering twice and fragmenting in V1 chat by @shanemort1982 in https://github.com/OpenHands/OpenHands/pull/15108 +* fix: crash when request.client is None in InMemoryRateLimiter by @rakshith1928 in https://github.com/OpenHands/OpenHands/pull/15119 +* fix(sandbox-spec): fall back to defaults when runtime-api has no warm runtimes by @tofarr in https://github.com/OpenHands/OpenHands/pull/15141 + +##### Maintenance +* chore: bump SDK and agent-server to 1.30.0 by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15079 +* build: pin dependency versions exactly by @rbren in https://github.com/OpenHands/OpenHands/pull/14384 +* ci: add release ready gate by @enyst in https://github.com/OpenHands/OpenHands/pull/14987 +* chore: bump SDK packages to v1.31.1 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15127 + +**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.40.0...cloud-1.41.0 + +--- + +### Runtime API + +#### 0.5.0 (2026-07-10) + +##### Features +* feat(cleanup): enrich final workspace archive manifests by @simonrosenberg in https://github.com/OpenHands/runtime-api/pull/630 + +**Full Changelog**: https://github.com/OpenHands/runtime-api/compare/v0.4.0...v0.5.0 + +--- + +#### 0.4.0 (2026-07-09) + +##### Features +* feat(logging): emit exc_info and stack_info as JSON arrays by @tofarr in https://github.com/OpenHands/runtime-api/pull/635 + +##### Bug Fixes +* fix: prevent DetachedInstanceError on Runtime accessed after session close by @tofarr in https://github.com/OpenHands/runtime-api/pull/636 + +**Full Changelog**: https://github.com/OpenHands/runtime-api/compare/v0.3.1...v0.4.0 From 8920cc99c8ecc5b52d709bd0404a200a62bcc84f Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 16 Jul 2026 13:39:08 +0000 Subject: [PATCH 02/10] Consolidate release notes into single flat sections by category Remove component version table, per-component sections, and per-version subsections. All entries are now grouped under Features, Bug Fixes, and Maintenance within the 0.24.0 release. Co-authored-by: openhands --- enterprise/release-notes.mdx | 220 ++++++++--------------------------- 1 file changed, 50 insertions(+), 170 deletions(-) diff --git a/enterprise/release-notes.mdx b/enterprise/release-notes.mdx index 281b02fc..ba943f81 100644 --- a/enterprise/release-notes.mdx +++ b/enterprise/release-notes.mdx @@ -6,149 +6,7 @@ icon: clipboard-list ## 0.24.0 -### Component Versions - -| Component | Previous Version | New Version | -|-----------|-----------------|-------------| -| automations | 1.1.5 | 1.1.5 | -| enterprise-server | cloud-1.40.1 | 1.46.2 | -| runtime-api | 0.3.1 | 0.50 | - ---- - -### Enterprise Server - -#### 1.46.2 (2026-07-15) - -##### Bug Fixes -* fix(frontend): restore cross-domain PostHog tracking by aligning client/server distinct_id (WIP) by @lilagrc in https://github.com/OpenHands/OpenHands/pull/15100 -* fix(app-server): lower DB pool defaults and make them env-tunable by @dylan-openhands in https://github.com/OpenHands/OpenHands/pull/15270 -* fix(mcp): preserve MCP auth secrets stripped by settings GET round-trip by @jlav in https://github.com/OpenHands/OpenHands/pull/15285 - -##### Maintenance -* chore: Update README.md by @rbren in https://github.com/OpenHands/OpenHands/pull/15271 - -**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.46.1...cloud-1.46.2 - ---- - -#### 1.46.1 (2026-07-14) - -##### Bug Fixes -* fix(app-server): preserve conversation created_at across lifecycle webhooks by @Sujit-1509 in https://github.com/OpenHands/OpenHands/pull/15243 -* fix(mcp): preserve SaaS credentials with encrypted storage by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15257 - -##### Maintenance -* ci: wait for the docker build before retagging images by @jlav in https://github.com/OpenHands/OpenHands/pull/15213 -* chore: bump SDK packages to v1.35.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15240 -* chore: bump SDK packages to v1.36.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15256 - -**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.46.0...cloud-1.46.1 - ---- - -#### 1.46.0 (2026-07-10) - -##### Features -* feat(app-server): enrich final archive manifests and remove initial snapshots by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15058 -* feat(enterprise): make BYOR key alias pattern configurable by @tofarr in https://github.com/OpenHands/OpenHands/pull/15232 - -##### Bug Fixes -* fix(frontend): mention SMTP env vars for budget alerts by @saurya in https://github.com/OpenHands/OpenHands/pull/15218 -* fix(enterprise): cascade-delete conversation_cost_events on conversation delete by @tofarr in https://github.com/OpenHands/OpenHands/pull/15220 -* fix: Enable LIFO database connection pooling by @tofarr in https://github.com/OpenHands/OpenHands/pull/15225 -* fix(app-server): preserve observability context metadata by @hxaxd in https://github.com/OpenHands/OpenHands/pull/15215 - -##### Maintenance -* ci: PLTF-2960 sync chart appVersion with cloud image tag by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15219 - -**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.45.1...cloud-1.46.0 - ---- - -#### 1.45.1 (2026-07-09) - -##### Maintenance -* chore(main): release 1.11.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15202 - -**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.45.0...cloud-1.45.1 - ---- - -#### 1.45.0 (2026-07-09) - -##### Features -* feat(enterprise): Agent Profiles on the cloud/SaaS backend (#15044) by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15060 -* feat(backend): Add Budgets dashboard and expand Usage Dashboard by @saurya in https://github.com/OpenHands/OpenHands/pull/15149 -* feat: budgets and usage monitoring UI by @saurya in https://github.com/OpenHands/OpenHands/pull/15186 -* feat: surface email enabled for smtp/resend by @saurya in https://github.com/OpenHands/OpenHands/pull/15214 - -##### Bug Fixes -* fix: prevent webhook-driven DB connection leaks by @tofarr in https://github.com/OpenHands/OpenHands/pull/15212 - -**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.44.0...cloud-1.45.0 - ---- - -#### 1.44.0 (2026-07-09) - -##### Features -* feat: pass repository metadata to observability traces by @neubig in https://github.com/OpenHands/OpenHands/pull/14431 - -##### Maintenance -* chore: bump SDK packages to v1.34.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15200 - -**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.43.0...cloud-1.44.0 - ---- - -#### 1.43.0 (2026-07-08) - -##### Features -* feat: rename admin dashboard to usage & monitoring by @saurya in https://github.com/OpenHands/OpenHands/pull/15146 -* feat: add SMTP email service by @saurya in https://github.com/OpenHands/OpenHands/pull/15144 -* feat: track user login timestamps by @saurya in https://github.com/OpenHands/OpenHands/pull/15148 -* feat: surface email enabled for smtp/resend by @saurya in https://github.com/OpenHands/OpenHands/pull/15185 - -##### Bug Fixes -* fix(app-server): pass index columns as a list in migration 013 by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/15176 -* fix: default ENABLE_ACP on so ACP agent settings show in OH Cloud by @hieptl in https://github.com/OpenHands/OpenHands/pull/15183 -* fix: send authenticated marketplace URLs to agent-server by @hieptl in https://github.com/OpenHands/OpenHands/pull/15187 - -##### Maintenance -* chore(main): release 1.9.2 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15171 -* chore: bump SDK packages to v1.33.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15177 -* chore(main): release 1.9.3 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15179 - -**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.42.0...cloud-1.43.0 - ---- - -#### 1.42.0 (2026-07-07) - -##### Features -* feat(enterprise/auth): super-admin management endpoint (grant/revoke/list) by @jpshackelford in https://github.com/OpenHands/OpenHands/pull/15006 - -##### Bug Fixes -* fix: settings page scroll layout by @saurya in https://github.com/OpenHands/OpenHands/pull/15147 -* fix(app_server): pass flat mcp_config shape to SDK Agent by @tofarr in https://github.com/OpenHands/OpenHands/pull/15159 -* fix: scroll settings sidebar so Skills is reachable in orgs by @hieptl in https://github.com/OpenHands/OpenHands/pull/15138 -* fix(frontend): read SDK 1.31.x flat mcp_config wire format by @tofarr in https://github.com/OpenHands/OpenHands/pull/15165 -* fix(app_server): derive agent server image from package version by @tofarr in https://github.com/OpenHands/OpenHands/pull/15168 - -##### Maintenance -* chore: bump SDK packages to v1.31.2 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15156 -* chore: bump SDK packages to v1.32.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15157 -* ci: PLTF-2960 open a chart image-tag bump PR on cloud release by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15166 -* chore(main): release 1.9.1 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15142 - -**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.41.0...cloud-1.42.0 - ---- - -#### 1.41.0 (2026-07-06) - -##### Features +### Features * feat: implement semantic file chunking using tree-sitter AST parsing by @ysinghc in https://github.com/OpenHands/OpenHands/pull/14699 * feat(org): Add organization conversation admin dashboard by @saurya in https://github.com/OpenHands/OpenHands/pull/14846 * feat(app-server): capture production workspace state — initial snapshot at start + archive before delete (APP-2403) by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/14953 @@ -162,8 +20,22 @@ icon: clipboard-list * feat(jira-dc): fix the integration panel so members get guidance, not the admin setup form by @ak684 in https://github.com/OpenHands/OpenHands/pull/15040 * feat: Add dynamic marketplace support for plugin registration by @HeyItsChloe in https://github.com/OpenHands/OpenHands/pull/14887 * feat(saas-auth): accept api_key cookie as a fallback credential by @tofarr in https://github.com/OpenHands/OpenHands/pull/15101 +* feat(enterprise/auth): super-admin management endpoint (grant/revoke/list) by @jpshackelford in https://github.com/OpenHands/OpenHands/pull/15006 +* feat: rename admin dashboard to usage & monitoring by @saurya in https://github.com/OpenHands/OpenHands/pull/15146 +* feat: add SMTP email service by @saurya in https://github.com/OpenHands/OpenHands/pull/15144 +* feat: track user login timestamps by @saurya in https://github.com/OpenHands/OpenHands/pull/15148 +* feat: surface email enabled for smtp/resend by @saurya in https://github.com/OpenHands/OpenHands/pull/15185 +* feat: pass repository metadata to observability traces by @neubig in https://github.com/OpenHands/OpenHands/pull/14431 +* feat(enterprise): Agent Profiles on the cloud/SaaS backend (#15044) by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15060 +* feat(backend): Add Budgets dashboard and expand Usage Dashboard by @saurya in https://github.com/OpenHands/OpenHands/pull/15149 +* feat: budgets and usage monitoring UI by @saurya in https://github.com/OpenHands/OpenHands/pull/15186 +* feat: surface email enabled for smtp/resend by @saurya in https://github.com/OpenHands/OpenHands/pull/15214 +* feat(app-server): enrich final archive manifests and remove initial snapshots by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15058 +* feat(enterprise): make BYOR key alias pattern configurable by @tofarr in https://github.com/OpenHands/OpenHands/pull/15232 +* feat(logging): emit exc_info and stack_info as JSON arrays by @tofarr in https://github.com/OpenHands/runtime-api/pull/635 +* feat(cleanup): enrich final workspace archive manifests by @simonrosenberg in https://github.com/OpenHands/runtime-api/pull/630 -##### Bug Fixes +### Bug Fixes * fix(jira): make Jira Cloud and Jira DC HTTP timeouts configurable and consistent by @ak684 in https://github.com/OpenHands/OpenHands/pull/15012 * fix: Fix CVE-2026-44681: Update authlib to >=1.6.12 by @mamoodi in https://github.com/OpenHands/OpenHands/pull/14983 * fix: don't switch LLM profile before the conversation UUID exists (avoids 422) by @ak684 in https://github.com/OpenHands/OpenHands/pull/14900 @@ -179,34 +51,42 @@ icon: clipboard-list * fix(frontend): stop streamed deltas rendering twice and fragmenting in V1 chat by @shanemort1982 in https://github.com/OpenHands/OpenHands/pull/15108 * fix: crash when request.client is None in InMemoryRateLimiter by @rakshith1928 in https://github.com/OpenHands/OpenHands/pull/15119 * fix(sandbox-spec): fall back to defaults when runtime-api has no warm runtimes by @tofarr in https://github.com/OpenHands/OpenHands/pull/15141 +* fix: settings page scroll layout by @saurya in https://github.com/OpenHands/OpenHands/pull/15147 +* fix(app_server): pass flat mcp_config shape to SDK Agent by @tofarr in https://github.com/OpenHands/OpenHands/pull/15159 +* fix: scroll settings sidebar so Skills is reachable in orgs by @hieptl in https://github.com/OpenHands/OpenHands/pull/15138 +* fix(frontend): read SDK 1.31.x flat mcp_config wire format by @tofarr in https://github.com/OpenHands/OpenHands/pull/15165 +* fix(app_server): derive agent server image from package version by @tofarr in https://github.com/OpenHands/OpenHands/pull/15168 +* fix(app-server): pass index columns as a list in migration 013 by @VascoSch92 in https://github.com/OpenHands/OpenHands/pull/15176 +* fix: default ENABLE_ACP on so ACP agent settings show in OH Cloud by @hieptl in https://github.com/OpenHands/OpenHands/pull/15183 +* fix: send authenticated marketplace URLs to agent-server by @hieptl in https://github.com/OpenHands/OpenHands/pull/15187 +* fix: prevent webhook-driven DB connection leaks by @tofarr in https://github.com/OpenHands/OpenHands/pull/15212 +* fix(frontend): mention SMTP env vars for budget alerts by @saurya in https://github.com/OpenHands/OpenHands/pull/15218 +* fix(enterprise): cascade-delete conversation_cost_events on conversation delete by @tofarr in https://github.com/OpenHands/OpenHands/pull/15220 +* fix: Enable LIFO database connection pooling by @tofarr in https://github.com/OpenHands/OpenHands/pull/15225 +* fix(app-server): preserve observability context metadata by @hxaxd in https://github.com/OpenHands/OpenHands/pull/15215 +* fix(app-server): preserve conversation created_at across lifecycle webhooks by @Sujit-1509 in https://github.com/OpenHands/OpenHands/pull/15243 +* fix(mcp): preserve SaaS credentials with encrypted storage by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15257 +* fix(frontend): restore cross-domain PostHog tracking by aligning client/server distinct_id (WIP) by @lilagrc in https://github.com/OpenHands/OpenHands/pull/15100 +* fix(app-server): lower DB pool defaults and make them env-tunable by @dylan-openhands in https://github.com/OpenHands/OpenHands/pull/15270 +* fix(mcp): preserve MCP auth secrets stripped by settings GET round-trip by @jlav in https://github.com/OpenHands/OpenHands/pull/15285 +* fix: prevent DetachedInstanceError on Runtime accessed after session close by @tofarr in https://github.com/OpenHands/runtime-api/pull/636 -##### Maintenance +### Maintenance * chore: bump SDK and agent-server to 1.30.0 by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15079 * build: pin dependency versions exactly by @rbren in https://github.com/OpenHands/OpenHands/pull/14384 * ci: add release ready gate by @enyst in https://github.com/OpenHands/OpenHands/pull/14987 * chore: bump SDK packages to v1.31.1 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15127 - -**Full Changelog**: https://github.com/OpenHands/OpenHands/compare/cloud-1.40.0...cloud-1.41.0 - ---- - -### Runtime API - -#### 0.5.0 (2026-07-10) - -##### Features -* feat(cleanup): enrich final workspace archive manifests by @simonrosenberg in https://github.com/OpenHands/runtime-api/pull/630 - -**Full Changelog**: https://github.com/OpenHands/runtime-api/compare/v0.4.0...v0.5.0 - ---- - -#### 0.4.0 (2026-07-09) - -##### Features -* feat(logging): emit exc_info and stack_info as JSON arrays by @tofarr in https://github.com/OpenHands/runtime-api/pull/635 - -##### Bug Fixes -* fix: prevent DetachedInstanceError on Runtime accessed after session close by @tofarr in https://github.com/OpenHands/runtime-api/pull/636 - -**Full Changelog**: https://github.com/OpenHands/runtime-api/compare/v0.3.1...v0.4.0 +* chore: bump SDK packages to v1.31.2 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15156 +* chore: bump SDK packages to v1.32.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15157 +* ci: PLTF-2960 open a chart image-tag bump PR on cloud release by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15166 +* chore(main): release 1.9.1 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15142 +* chore(main): release 1.9.2 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15171 +* chore: bump SDK packages to v1.33.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15177 +* chore(main): release 1.9.3 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15179 +* chore: bump SDK packages to v1.34.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15200 +* chore(main): release 1.11.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15202 +* ci: PLTF-2960 sync chart appVersion with cloud image tag by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15219 +* ci: wait for the docker build before retagging images by @jlav in https://github.com/OpenHands/OpenHands/pull/15213 +* chore: bump SDK packages to v1.35.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15240 +* chore: bump SDK packages to v1.36.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15256 +* chore: Update README.md by @rbren in https://github.com/OpenHands/OpenHands/pull/15271 From d9eef249a75c1b10a144be913b21b69a562275d2 Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 16 Jul 2026 13:40:35 +0000 Subject: [PATCH 03/10] Remove SDK bump and release chore lines from release notes Co-authored-by: openhands --- enterprise/release-notes.mdx | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/enterprise/release-notes.mdx b/enterprise/release-notes.mdx index ba943f81..86644c9a 100644 --- a/enterprise/release-notes.mdx +++ b/enterprise/release-notes.mdx @@ -72,21 +72,9 @@ icon: clipboard-list * fix: prevent DetachedInstanceError on Runtime accessed after session close by @tofarr in https://github.com/OpenHands/runtime-api/pull/636 ### Maintenance -* chore: bump SDK and agent-server to 1.30.0 by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15079 * build: pin dependency versions exactly by @rbren in https://github.com/OpenHands/OpenHands/pull/14384 * ci: add release ready gate by @enyst in https://github.com/OpenHands/OpenHands/pull/14987 -* chore: bump SDK packages to v1.31.1 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15127 -* chore: bump SDK packages to v1.31.2 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15156 -* chore: bump SDK packages to v1.32.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15157 * ci: PLTF-2960 open a chart image-tag bump PR on cloud release by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15166 -* chore(main): release 1.9.1 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15142 -* chore(main): release 1.9.2 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15171 -* chore: bump SDK packages to v1.33.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15177 -* chore(main): release 1.9.3 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15179 -* chore: bump SDK packages to v1.34.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15200 -* chore(main): release 1.11.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands/pull/15202 * ci: PLTF-2960 sync chart appVersion with cloud image tag by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15219 * ci: wait for the docker build before retagging images by @jlav in https://github.com/OpenHands/OpenHands/pull/15213 -* chore: bump SDK packages to v1.35.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15240 -* chore: bump SDK packages to v1.36.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/15256 * chore: Update README.md by @rbren in https://github.com/OpenHands/OpenHands/pull/15271 From fbb4dd5e4138e80f9ad283d1eaec4e38a5af8574 Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 16 Jul 2026 13:44:54 +0000 Subject: [PATCH 04/10] Add OpenHands-Cloud release notes (0.13.3 through 0.24.0) Merge features, bug fixes, and maintenance items from 21 OpenHands-Cloud releases into the consolidated Enterprise 0.24.0 release notes. Co-authored-by: openhands --- enterprise/release-notes.mdx | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/enterprise/release-notes.mdx b/enterprise/release-notes.mdx index 86644c9a..6e248cdb 100644 --- a/enterprise/release-notes.mdx +++ b/enterprise/release-notes.mdx @@ -34,6 +34,21 @@ icon: clipboard-list * feat(enterprise): make BYOR key alias pattern configurable by @tofarr in https://github.com/OpenHands/OpenHands/pull/15232 * feat(logging): emit exc_info and stack_info as JSON arrays by @tofarr in https://github.com/OpenHands/runtime-api/pull/635 * feat(cleanup): enrich final workspace archive manifests by @simonrosenberg in https://github.com/OpenHands/runtime-api/pull/630 +* feat(runtime-api): bump image tag to 0.4.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands-Cloud/pull/819 +* feat(openhands): bump image tag to cloud-1.45.1 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands-Cloud/pull/820 +* feat: upgrade embedded cluster to 2.19.2+k8s-1.34 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/821 +* feat: upgrade embedded cluster to 2.19.2+k8s-1.35 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/822 +* feat: upgrade embedded cluster to 2.19.2+k8s-1.36 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/826 +* feat(sysbox): default sandbox isolation on the embedded cluster by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/770 +* feat: PLTF-3196 Configure global OpenHands resolver label by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/807 +* feat: PLTF-2960 sync metadata with image tag bumps by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/828 +* feat(openhands): bump image tag to cloud-1.46.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands-Cloud/pull/834 +* feat: Add replicated vendor portal links in release workflows by @dylan-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/833 +* feat(runtime-api): bump image tag to 0.5.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands-Cloud/pull/863 +* feat: bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/877 +* feat: PLTF-3198 enable the Replicated SDK by default for helm installs by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/895 +* feat: bump agent-server to 1.36.1-python, enterprise to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/901 +* feat(replicated): add OEM User Creation Flow advanced option by @jpshackelford in https://github.com/OpenHands/OpenHands-Cloud/pull/914 ### Bug Fixes * fix(jira): make Jira Cloud and Jira DC HTTP timeouts configurable and consistent by @ak684 in https://github.com/OpenHands/OpenHands/pull/15012 @@ -70,6 +85,33 @@ icon: clipboard-list * fix(app-server): lower DB pool defaults and make them env-tunable by @dylan-openhands in https://github.com/OpenHands/OpenHands/pull/15270 * fix(mcp): preserve MCP auth secrets stripped by settings GET round-trip by @jlav in https://github.com/OpenHands/OpenHands/pull/15285 * fix: prevent DetachedInstanceError on Runtime accessed after session close by @tofarr in https://github.com/OpenHands/runtime-api/pull/636 +* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/884 +* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/903 +* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/909 +* fix(backport): bump image tag to cloud-1.46.0 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/850 +* fix(backport): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/852 +* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/885 +* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/902 +* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/910 +* fix(backport): bump image tag to cloud-1.46.0 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/851 +* fix(backport): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/853 +* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/886 +* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/906 +* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/911 +* fix(backport): bump image tag to cloud-1.46.0 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/854 +* fix(backport): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/855 +* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/887 +* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/904 +* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/912 +* fix(postgres): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/829 +* fix(backport): bump image tag to cloud-1.46.0 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/849 +* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/888 +* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/905 +* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/913 +* fix: improve integrations-hub Datadog and probe configuration by @neubig in https://github.com/OpenHands/OpenHands-Cloud/pull/862 +* fix(openhands): stop warm-runtimes job pods matching the runtime-api Service selector by @ak684 in https://github.com/OpenHands/OpenHands-Cloud/pull/867 +* fix(openhands): mirror agentServerEnv into warm-runtime env so warm pools stay claimable by @ak684 in https://github.com/OpenHands/OpenHands-Cloud/pull/866 +* fix: set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/908 ### Maintenance * build: pin dependency versions exactly by @rbren in https://github.com/OpenHands/OpenHands/pull/14384 @@ -78,3 +120,8 @@ icon: clipboard-list * ci: PLTF-2960 sync chart appVersion with cloud image tag by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15219 * ci: wait for the docker build before retagging images by @jlav in https://github.com/OpenHands/OpenHands/pull/15213 * chore: Update README.md by @rbren in https://github.com/OpenHands/OpenHands/pull/15271 +* ci: PLTF-2920 dispatch staging chart bumps after publish by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/801 +* refactor(openhands): rename gitlab webhook install cronjob by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/865 +* ci: PLTF-3193 dispatch development chart bumps after publish by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/843 +* test: PLTF-1257 helm-unittest setup by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/894 +* chore: add CODEOWNERS by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/878 From b5559dfe46289f6f79bf48d245cb3b292e5e5d6b Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 16 Jul 2026 13:47:27 +0000 Subject: [PATCH 05/10] Remove backport fixes and version bump lines from release notes Co-authored-by: openhands --- enterprise/release-notes.mdx | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/enterprise/release-notes.mdx b/enterprise/release-notes.mdx index 6e248cdb..1fc9ae77 100644 --- a/enterprise/release-notes.mdx +++ b/enterprise/release-notes.mdx @@ -34,20 +34,14 @@ icon: clipboard-list * feat(enterprise): make BYOR key alias pattern configurable by @tofarr in https://github.com/OpenHands/OpenHands/pull/15232 * feat(logging): emit exc_info and stack_info as JSON arrays by @tofarr in https://github.com/OpenHands/runtime-api/pull/635 * feat(cleanup): enrich final workspace archive manifests by @simonrosenberg in https://github.com/OpenHands/runtime-api/pull/630 -* feat(runtime-api): bump image tag to 0.4.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands-Cloud/pull/819 -* feat(openhands): bump image tag to cloud-1.45.1 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands-Cloud/pull/820 * feat: upgrade embedded cluster to 2.19.2+k8s-1.34 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/821 * feat: upgrade embedded cluster to 2.19.2+k8s-1.35 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/822 * feat: upgrade embedded cluster to 2.19.2+k8s-1.36 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/826 * feat(sysbox): default sandbox isolation on the embedded cluster by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/770 * feat: PLTF-3196 Configure global OpenHands resolver label by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/807 * feat: PLTF-2960 sync metadata with image tag bumps by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/828 -* feat(openhands): bump image tag to cloud-1.46.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands-Cloud/pull/834 * feat: Add replicated vendor portal links in release workflows by @dylan-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/833 -* feat(runtime-api): bump image tag to 0.5.0 by @openhands-release-bot[bot] in https://github.com/OpenHands/OpenHands-Cloud/pull/863 -* feat: bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/877 * feat: PLTF-3198 enable the Replicated SDK by default for helm installs by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/895 -* feat: bump agent-server to 1.36.1-python, enterprise to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/901 * feat(replicated): add OEM User Creation Flow advanced option by @jpshackelford in https://github.com/OpenHands/OpenHands-Cloud/pull/914 ### Bug Fixes @@ -85,29 +79,7 @@ icon: clipboard-list * fix(app-server): lower DB pool defaults and make them env-tunable by @dylan-openhands in https://github.com/OpenHands/OpenHands/pull/15270 * fix(mcp): preserve MCP auth secrets stripped by settings GET round-trip by @jlav in https://github.com/OpenHands/OpenHands/pull/15285 * fix: prevent DetachedInstanceError on Runtime accessed after session close by @tofarr in https://github.com/OpenHands/runtime-api/pull/636 -* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/884 -* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/903 -* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/909 -* fix(backport): bump image tag to cloud-1.46.0 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/850 -* fix(backport): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/852 -* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/885 -* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/902 -* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/910 -* fix(backport): bump image tag to cloud-1.46.0 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/851 -* fix(backport): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/853 -* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/886 -* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/906 -* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/911 -* fix(backport): bump image tag to cloud-1.46.0 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/854 -* fix(backport): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/855 -* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/887 -* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/904 -* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/912 * fix(postgres): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/829 -* fix(backport): bump image tag to cloud-1.46.0 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/849 -* fix(backport): bump agent-server to 1.36.0-python and enterprise-server to cloud-1.46.1 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/888 -* fix(backport): bump agent-server to 1.36.1-python and enterprise-server to cloud-1.46.2 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/905 -* fix(backport): set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/913 * fix: improve integrations-hub Datadog and probe configuration by @neubig in https://github.com/OpenHands/OpenHands-Cloud/pull/862 * fix(openhands): stop warm-runtimes job pods matching the runtime-api Service selector by @ak684 in https://github.com/OpenHands/OpenHands-Cloud/pull/867 * fix(openhands): mirror agentServerEnv into warm-runtime env so warm pools stay claimable by @ak684 in https://github.com/OpenHands/OpenHands-Cloud/pull/866 From 72e45793053f48f24e41c6b705d77b16ec501224 Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 16 Jul 2026 13:54:13 +0000 Subject: [PATCH 06/10] Add ohe-release-notes skill for Enterprise release notes generation Co-authored-by: openhands --- .agents/skills/ohe-release-notes.md | 147 ++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 .agents/skills/ohe-release-notes.md diff --git a/.agents/skills/ohe-release-notes.md b/.agents/skills/ohe-release-notes.md new file mode 100644 index 00000000..7443b297 --- /dev/null +++ b/.agents/skills/ohe-release-notes.md @@ -0,0 +1,147 @@ +--- +name: ohe-release-notes +description: Generate consolidated OpenHands Enterprise release notes from multiple component repos +triggers: + - ohe-release-notes +--- + +# OpenHands Enterprise Release Notes Generator + +Generate a consolidated release notes page for an OpenHands Enterprise release by collecting and +merging GitHub release notes from all component repositories into a single page under `enterprise/`. + +## When to use + +Use this skill when asked to create or update Enterprise release notes. The user provides version +ranges for four components. If any are missing, ask before proceeding. + +## Required inputs + +Ask the user for **all four** component version ranges and the **Enterprise release version**: + +| Input | Example | Description | +|-------|---------|-------------| +| Enterprise release version | `0.24.0` | The version number for the `## X.X.X` heading | +| automations | `1.1.5 to 1.1.5` | Previous → new version (same = no changes) | +| enterprise-server | `cloud-1.40.1 to 1.46.2` | Tags in `OpenHands/OpenHands` repo | +| runtime-api | `0.3.1 to 0.50` | Tags in `OpenHands/runtime-api` repo (prefixed `v` in GitHub) | +| OpenHands-Cloud | `0.13.3 to 0.24.0` | Tags in `OpenHands/OpenHands-Cloud` repo (prefixed `openhands/`) | + +If the user omits any of these, ask: + +> To generate the Enterprise release notes I need the previous and new version for each component: +> - **automations**: previous → new +> - **enterprise-server**: previous → new (tags are `cloud-X.Y.Z` in OpenHands/OpenHands) +> - **runtime-api**: previous → new (tags are `vX.Y.Z` in OpenHands/runtime-api) +> - **OpenHands-Cloud**: previous → new (tags are `openhands/X.Y.Z` in OpenHands/OpenHands-Cloud) +> - **Enterprise release version**: the version number for the heading (e.g. `0.25.0`) + +## Component repositories and tag formats + +| Component | GitHub Repo | Tag format | Example tags | +|-----------|-------------|------------|--------------| +| enterprise-server | `OpenHands/OpenHands` | `cloud-X.Y.Z` | `cloud-1.41.0`, `cloud-1.46.2` | +| runtime-api | `OpenHands/runtime-api` | `vX.Y.Z` | `v0.4.0`, `v0.5.0` | +| OpenHands-Cloud | `OpenHands/OpenHands-Cloud` | `openhands/X.Y.Z` | `openhands/0.14.0`, `openhands/0.24.0` | +| automations | *(no repo — version noted only)* | — | — | + +## Step-by-step procedure + +### 1. Identify releases in range + +For each component repo, list all GitHub releases and identify which fall **after** the previous +version and **up to and including** the new version. + +Use the GitHub API to list releases: + +```bash +curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ + "https://api.github.com/repos/{owner}/{repo}/releases?per_page=100" \ + | python3 -c "import json,sys; [print(r['tag_name']) for r in json.load(sys.stdin)]" +``` + +If the "previous" tag doesn't exist as a release, use the nearest earlier tag as the boundary. + +### 2. Fetch release notes + +For each release in range, fetch the body: + +```bash +curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ + "https://api.github.com/repos/{owner}/{repo}/releases/tags/{tag}" \ + | python3 -c "import json,sys; print(json.load(sys.stdin).get('body',''))" +``` + +### 3. Categorize and merge + +Collect every bullet point from all releases across all repos and sort them into three sections: + +- **Features** — lines starting with `* feat` +- **Bug Fixes** — lines starting with `* fix` +- **Maintenance** — lines starting with `* chore`, `* ci`, `* build`, `* refactor`, `* test`, etc. + +### 4. Filter out noise + +Remove these automated/housekeeping lines that don't add value to customer-facing release notes: + +| Pattern | Reason | +|---------|--------| +| `chore(main): release X.X.X` | Automated release PRs | +| `chore: bump SDK packages to vX.X.X` | Automated dependency bumps | +| `chore: bump SDK and agent-server to X.X.X` | Automated dependency bumps | +| `fix(backport): ...` | Backport cherry-picks (the original fix is already listed) | +| `feat: bump agent-server to ...` | Version bump PRs, not user-facing features | +| `feat: bump image tag to ...` | Version bump PRs, not user-facing features | +| `feat(openhands): bump image tag to ...` | Version bump PRs, not user-facing features | +| `feat(runtime-api): bump image tag to ...` | Version bump PRs, not user-facing features | + +### 5. Write the page + +Create or update `enterprise/release-notes.mdx`. Prepend the new release at the top of the file +(after the frontmatter), so the most recent release appears first. + +**Page structure:** + +```mdx +--- +title: Release Notes +description: Release notes for OpenHands Enterprise +icon: clipboard-list +--- + +## X.Y.Z + +### Features +* feat: ... by @author in https://github.com/... +* feat(...): ... by @author in https://github.com/... + +### Bug Fixes +* fix: ... by @author in https://github.com/... +* fix(...): ... by @author in https://github.com/... + +### Maintenance +* ci: ... by @author in https://github.com/... +* chore: ... by @author in https://github.com/... + +## (previous release heading, if any) +... +``` + +**Key formatting rules:** +- One flat list per category — do NOT split by component or sub-version +- Keep the exact bullet text from the original release notes (author, PR link) +- Order within each section doesn't matter (by component grouping or chronological are both fine) +- If a category has zero items after filtering, omit the heading entirely + +### 6. Update navigation + +Ensure `enterprise/release-notes` is listed in `docs.json` under the Enterprise tab. It should +appear in the `"OpenHands Enterprise"` group. If it's already there (from a previous release), +no change is needed. + +### 7. Commit + +```bash +git add enterprise/release-notes.mdx docs.json +git commit -m "Add Enterprise X.Y.Z release notes" +``` From e1ec6a1ee9dd3b1927b735badac605b3623bfd7a Mon Sep 17 00:00:00 2001 From: openhands Date: Fri, 17 Jul 2026 13:22:22 +0000 Subject: [PATCH 07/10] Split release notes by component, add software-agent-sdk section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restructure release notes into per-component sections (Enterprise Server, Software Agent SDK, Runtime API, OpenHands Cloud). Add SDK release notes derived from the agent-server image tag in the OpenHands-Cloud Helm chart (v1.34.0 → v1.36.0). Update skill with SDK derivation procedure and per-component output format. Co-authored-by: openhands --- .agents/skills/ohe-release-notes.md | 104 ++++++++++++++++++++++++---- enterprise/release-notes.mdx | 87 +++++++++++++++++------ 2 files changed, 156 insertions(+), 35 deletions(-) diff --git a/.agents/skills/ohe-release-notes.md b/.agents/skills/ohe-release-notes.md index 7443b297..07e938a5 100644 --- a/.agents/skills/ohe-release-notes.md +++ b/.agents/skills/ohe-release-notes.md @@ -27,7 +27,10 @@ Ask the user for **all four** component version ranges and the **Enterprise rele | runtime-api | `0.3.1 to 0.50` | Tags in `OpenHands/runtime-api` repo (prefixed `v` in GitHub) | | OpenHands-Cloud | `0.13.3 to 0.24.0` | Tags in `OpenHands/OpenHands-Cloud` repo (prefixed `openhands/`) | -If the user omits any of these, ask: +**software-agent-sdk** is derived automatically — you do NOT ask the user for it. See the +"Deriving the software-agent-sdk version range" section below. + +If the user omits any of the four inputs above, ask: > To generate the Enterprise release notes I need the previous and new version for each component: > - **automations**: previous → new @@ -43,6 +46,7 @@ If the user omits any of these, ask: | enterprise-server | `OpenHands/OpenHands` | `cloud-X.Y.Z` | `cloud-1.41.0`, `cloud-1.46.2` | | runtime-api | `OpenHands/runtime-api` | `vX.Y.Z` | `v0.4.0`, `v0.5.0` | | OpenHands-Cloud | `OpenHands/OpenHands-Cloud` | `openhands/X.Y.Z` | `openhands/0.14.0`, `openhands/0.24.0` | +| software-agent-sdk | `OpenHands/software-agent-sdk` | `vX.Y.Z` | `v1.35.0`, `v1.36.0` | | automations | *(no repo — version noted only)* | — | — | ## Step-by-step procedure @@ -72,10 +76,50 @@ curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ | python3 -c "import json,sys; print(json.load(sys.stdin).get('body',''))" ``` -### 3. Categorize and merge +### 2b. Derive the software-agent-sdk version range + +The `software-agent-sdk` version is pinned in the OpenHands-Cloud Helm chart. To find the range: + +1. Fetch `charts/openhands/values.yaml` from the OpenHands-Cloud repo at the **old** OpenHands-Cloud + tag (the "previous" version) and the **new** tag. +2. In each file, find the `global:` → `agentServerImage:` → `tag:` value (e.g. `1.34.0-python`). +3. Strip the `-python` suffix to get the SDK version number (e.g. `1.34.0`). +4. The SDK release range is everything after `v{old_version}` up to and including `v{new_version}` + in the `OpenHands/software-agent-sdk` repo. + +```bash +# Fetch the tag from a specific OpenHands-Cloud version +curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ + "https://api.github.com/repos/OpenHands/OpenHands-Cloud/contents/charts/openhands/values.yaml?ref=openhands/{version}" \ + | python3 -c " +import json, sys, base64 +data = json.load(sys.stdin) +content = base64.b64decode(data['content']).decode() +lines = content.split('\n') +in_global = False +in_agent = False +for line in lines: + if line.startswith('global:'): + in_global = True + if in_global and 'agentServerImage' in line: + in_agent = True + if in_agent and 'tag:' in line: + print(line.strip()) + break +" +``` + +### 3. Categorize by component + +Group bullet points **by component section**, with each section having its own Features, Bug Fixes, +and Maintenance sub-headings. The component sections are: -Collect every bullet point from all releases across all repos and sort them into three sections: +1. **Enterprise Server** — from `OpenHands/OpenHands` +2. **Software Agent SDK** — from `OpenHands/software-agent-sdk` +3. **Runtime API** — from `OpenHands/runtime-api` +4. **OpenHands Cloud (Helm Chart)** — from `OpenHands/OpenHands-Cloud` +Within each section, sort items into: - **Features** — lines starting with `* feat` - **Bug Fixes** — lines starting with `* fix` - **Maintenance** — lines starting with `* chore`, `* ci`, `* build`, `* refactor`, `* test`, etc. @@ -94,6 +138,8 @@ Remove these automated/housekeeping lines that don't add value to customer-facin | `feat: bump image tag to ...` | Version bump PRs, not user-facing features | | `feat(openhands): bump image tag to ...` | Version bump PRs, not user-facing features | | `feat(runtime-api): bump image tag to ...` | Version bump PRs, not user-facing features | +| `Release vX.Y.Z` | Automated release PRs in software-agent-sdk | +| `Verify ... model` | Model verification entries in software-agent-sdk | ### 5. Write the page @@ -111,27 +157,55 @@ icon: clipboard-list ## X.Y.Z -### Features -* feat: ... by @author in https://github.com/... -* feat(...): ... by @author in https://github.com/... +### Enterprise Server + +#### Features +* feat: ... by @author in https://github.com/OpenHands/OpenHands/pull/... + +#### Bug Fixes +* fix: ... by @author in https://github.com/OpenHands/OpenHands/pull/... + +#### Maintenance +* ci: ... by @author in https://github.com/OpenHands/OpenHands/pull/... + +--- + +### Software Agent SDK + +#### Features +* feat: ... by @author in https://github.com/OpenHands/software-agent-sdk/pull/... + +#### Bug Fixes +* fix: ... by @author in https://github.com/OpenHands/software-agent-sdk/pull/... + +--- + +### Runtime API + +#### Features +* feat: ... by @author in https://github.com/OpenHands/runtime-api/pull/... + +--- + +### OpenHands Cloud (Helm Chart) -### Bug Fixes -* fix: ... by @author in https://github.com/... -* fix(...): ... by @author in https://github.com/... +#### Features +* feat: ... by @author in https://github.com/OpenHands/OpenHands-Cloud/pull/... -### Maintenance -* ci: ... by @author in https://github.com/... -* chore: ... by @author in https://github.com/... +#### Bug Fixes +* fix: ... by @author in https://github.com/OpenHands/OpenHands-Cloud/pull/... ## (previous release heading, if any) ... ``` **Key formatting rules:** -- One flat list per category — do NOT split by component or sub-version +- Split by component section — each component gets its own `### Heading` +- Within each component, group by `#### Features`, `#### Bug Fixes`, `#### Maintenance` +- Separate component sections with `---` horizontal rules - Keep the exact bullet text from the original release notes (author, PR link) -- Order within each section doesn't matter (by component grouping or chronological are both fine) -- If a category has zero items after filtering, omit the heading entirely +- If a category has zero items after filtering, omit that sub-heading entirely +- Also filter out `Release vX.Y.Z` and `Verify ... model` lines from SDK notes ### 6. Update navigation diff --git a/enterprise/release-notes.mdx b/enterprise/release-notes.mdx index 1fc9ae77..9068c23f 100644 --- a/enterprise/release-notes.mdx +++ b/enterprise/release-notes.mdx @@ -6,7 +6,9 @@ icon: clipboard-list ## 0.24.0 -### Features +### Enterprise Server + +#### Features * feat: implement semantic file chunking using tree-sitter AST parsing by @ysinghc in https://github.com/OpenHands/OpenHands/pull/14699 * feat(org): Add organization conversation admin dashboard by @saurya in https://github.com/OpenHands/OpenHands/pull/14846 * feat(app-server): capture production workspace state — initial snapshot at start + archive before delete (APP-2403) by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/14953 @@ -32,19 +34,8 @@ icon: clipboard-list * feat: surface email enabled for smtp/resend by @saurya in https://github.com/OpenHands/OpenHands/pull/15214 * feat(app-server): enrich final archive manifests and remove initial snapshots by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/15058 * feat(enterprise): make BYOR key alias pattern configurable by @tofarr in https://github.com/OpenHands/OpenHands/pull/15232 -* feat(logging): emit exc_info and stack_info as JSON arrays by @tofarr in https://github.com/OpenHands/runtime-api/pull/635 -* feat(cleanup): enrich final workspace archive manifests by @simonrosenberg in https://github.com/OpenHands/runtime-api/pull/630 -* feat: upgrade embedded cluster to 2.19.2+k8s-1.34 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/821 -* feat: upgrade embedded cluster to 2.19.2+k8s-1.35 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/822 -* feat: upgrade embedded cluster to 2.19.2+k8s-1.36 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/826 -* feat(sysbox): default sandbox isolation on the embedded cluster by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/770 -* feat: PLTF-3196 Configure global OpenHands resolver label by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/807 -* feat: PLTF-2960 sync metadata with image tag bumps by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/828 -* feat: Add replicated vendor portal links in release workflows by @dylan-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/833 -* feat: PLTF-3198 enable the Replicated SDK by default for helm installs by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/895 -* feat(replicated): add OEM User Creation Flow advanced option by @jpshackelford in https://github.com/OpenHands/OpenHands-Cloud/pull/914 -### Bug Fixes +#### Bug Fixes * fix(jira): make Jira Cloud and Jira DC HTTP timeouts configurable and consistent by @ak684 in https://github.com/OpenHands/OpenHands/pull/15012 * fix: Fix CVE-2026-44681: Update authlib to >=1.6.12 by @mamoodi in https://github.com/OpenHands/OpenHands/pull/14983 * fix: don't switch LLM profile before the conversation UUID exists (avoids 422) by @ak684 in https://github.com/OpenHands/OpenHands/pull/14900 @@ -78,20 +69,76 @@ icon: clipboard-list * fix(frontend): restore cross-domain PostHog tracking by aligning client/server distinct_id (WIP) by @lilagrc in https://github.com/OpenHands/OpenHands/pull/15100 * fix(app-server): lower DB pool defaults and make them env-tunable by @dylan-openhands in https://github.com/OpenHands/OpenHands/pull/15270 * fix(mcp): preserve MCP auth secrets stripped by settings GET round-trip by @jlav in https://github.com/OpenHands/OpenHands/pull/15285 -* fix: prevent DetachedInstanceError on Runtime accessed after session close by @tofarr in https://github.com/OpenHands/runtime-api/pull/636 -* fix(postgres): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/829 -* fix: improve integrations-hub Datadog and probe configuration by @neubig in https://github.com/OpenHands/OpenHands-Cloud/pull/862 -* fix(openhands): stop warm-runtimes job pods matching the runtime-api Service selector by @ak684 in https://github.com/OpenHands/OpenHands-Cloud/pull/867 -* fix(openhands): mirror agentServerEnv into warm-runtime env so warm pools stay claimable by @ak684 in https://github.com/OpenHands/OpenHands-Cloud/pull/866 -* fix: set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/908 -### Maintenance +#### Maintenance * build: pin dependency versions exactly by @rbren in https://github.com/OpenHands/OpenHands/pull/14384 * ci: add release ready gate by @enyst in https://github.com/OpenHands/OpenHands/pull/14987 * ci: PLTF-2960 open a chart image-tag bump PR on cloud release by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15166 * ci: PLTF-2960 sync chart appVersion with cloud image tag by @aivong-openhands in https://github.com/OpenHands/OpenHands/pull/15219 * ci: wait for the docker build before retagging images by @jlav in https://github.com/OpenHands/OpenHands/pull/15213 * chore: Update README.md by @rbren in https://github.com/OpenHands/OpenHands/pull/15271 + +--- + +### Software Agent SDK + +#### Features +* feat(agent-server): expose repository metadata for workspace archives by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/3932 +* feat: commit-history API — list commits and per-commit diffs by @hieptl in https://github.com/OpenHands/software-agent-sdk/pull/4075 +* feat(security): add ToolShieldLLMSecurityAnalyzer by @xli04 in https://github.com/OpenHands/software-agent-sdk/pull/2911 + +#### Bug Fixes +* fix(skills): match keyword triggers on whole words only by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/4008 +* fix(sdk): reconnect remote conversation websocket by @bozhnyukAlex in https://github.com/OpenHands/software-agent-sdk/pull/3987 +* fix(security): add a secret-disclosure consent rule to the agent security policy by @warmjademe in https://github.com/OpenHands/software-agent-sdk/pull/3823 +* fix(sdk): keep legacy history on resume when the stored tail is a non-tree artifact by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/4068 +* fix: support GPT-5.6 across Codex authentication by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/4056 +* fix: pick a display base ref that keeps committed work visible by @hieptl in https://github.com/OpenHands/software-agent-sdk/pull/4065 +* fix(mcp): validate secrets after parsing by @simonrosenberg in https://github.com/OpenHands/software-agent-sdk/pull/4099 +* fix(skills): make marketplaces additive to public skills by @rsd-darshan in https://github.com/OpenHands/software-agent-sdk/pull/4087 +* fix(mcp): preserve nested object properties in LLM-facing tool schema by @ixchio in https://github.com/OpenHands/software-agent-sdk/pull/4011 +* [codex] fix ACP prompt argument order by @neubig in https://github.com/OpenHands/software-agent-sdk/pull/3996 + +#### Maintenance +* ci(version-bump-prs): make PR-creation steps independent by @VascoSch92 in https://github.com/OpenHands/software-agent-sdk/pull/4051 +* ci: add release security-scan by @smolpaws in https://github.com/OpenHands/software-agent-sdk/pull/4042 +* chore(deps): bump MishaKav/pytest-coverage-comment from 1.7.2 to 1.10.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/4046 +* chore(deps): bump docker/setup-buildx-action from 4.0.0 to 4.2.0 by @dependabot[bot] in https://github.com/OpenHands/software-agent-sdk/pull/4045 + +--- + +### Runtime API + +#### Features +* feat(logging): emit exc_info and stack_info as JSON arrays by @tofarr in https://github.com/OpenHands/runtime-api/pull/635 +* feat(cleanup): enrich final workspace archive manifests by @simonrosenberg in https://github.com/OpenHands/runtime-api/pull/630 + +#### Bug Fixes +* fix: prevent DetachedInstanceError on Runtime accessed after session close by @tofarr in https://github.com/OpenHands/runtime-api/pull/636 + +--- + +### OpenHands Cloud (Helm Chart) + +#### Features +* feat: upgrade embedded cluster to 2.19.2+k8s-1.34 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/821 +* feat: upgrade embedded cluster to 2.19.2+k8s-1.35 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/822 +* feat: upgrade embedded cluster to 2.19.2+k8s-1.36 by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/826 +* feat(sysbox): default sandbox isolation on the embedded cluster by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/770 +* feat: PLTF-3196 Configure global OpenHands resolver label by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/807 +* feat: PLTF-2960 sync metadata with image tag bumps by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/828 +* feat: Add replicated vendor portal links in release workflows by @dylan-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/833 +* feat: PLTF-3198 enable the Replicated SDK by default for helm installs by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/895 +* feat(replicated): add OEM User Creation Flow advanced option by @jpshackelford in https://github.com/OpenHands/OpenHands-Cloud/pull/914 + +#### Bug Fixes +* fix(postgres): raise embedded postgres memory limit to avoid OOM by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/829 +* fix: improve integrations-hub Datadog and probe configuration by @neubig in https://github.com/OpenHands/OpenHands-Cloud/pull/862 +* fix(openhands): stop warm-runtimes job pods matching the runtime-api Service selector by @ak684 in https://github.com/OpenHands/OpenHands-Cloud/pull/867 +* fix(openhands): mirror agentServerEnv into warm-runtime env so warm pools stay claimable by @ak684 in https://github.com/OpenHands/OpenHands-Cloud/pull/866 +* fix: set default agent-server tag back to 1.36.0-python by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/908 + +#### Maintenance * ci: PLTF-2920 dispatch staging chart bumps after publish by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/801 * refactor(openhands): rename gitlab webhook install cronjob by @jlav in https://github.com/OpenHands/OpenHands-Cloud/pull/865 * ci: PLTF-3193 dispatch development chart bumps after publish by @aivong-openhands in https://github.com/OpenHands/OpenHands-Cloud/pull/843 From 5b8e6aaaed2d8050c457787a42d37a37b38d3f66 Mon Sep 17 00:00:00 2001 From: mamoodi Date: Fri, 17 Jul 2026 10:20:40 -0400 Subject: [PATCH 08/10] Simplify SKILL a bit --- .agents/skills/ohe-release-notes.md | 53 +++++++++++------------------ 1 file changed, 20 insertions(+), 33 deletions(-) diff --git a/.agents/skills/ohe-release-notes.md b/.agents/skills/ohe-release-notes.md index 07e938a5..f1055541 100644 --- a/.agents/skills/ohe-release-notes.md +++ b/.agents/skills/ohe-release-notes.md @@ -2,7 +2,7 @@ name: ohe-release-notes description: Generate consolidated OpenHands Enterprise release notes from multiple component repos triggers: - - ohe-release-notes + - /ohe-release-notes --- # OpenHands Enterprise Release Notes Generator @@ -19,13 +19,13 @@ ranges for four components. If any are missing, ask before proceeding. Ask the user for **all four** component version ranges and the **Enterprise release version**: -| Input | Example | Description | -|-------|---------|-------------| -| Enterprise release version | `0.24.0` | The version number for the `## X.X.X` heading | -| automations | `1.1.5 to 1.1.5` | Previous → new version (same = no changes) | -| enterprise-server | `cloud-1.40.1 to 1.46.2` | Tags in `OpenHands/OpenHands` repo | -| runtime-api | `0.3.1 to 0.50` | Tags in `OpenHands/runtime-api` repo (prefixed `v` in GitHub) | -| OpenHands-Cloud | `0.13.3 to 0.24.0` | Tags in `OpenHands/OpenHands-Cloud` repo (prefixed `openhands/`) | +| Input | Example | Description | +|----------------------------|--------------------------------|------------------------------------------------------------------| +| Enterprise release version | `0.24.0` | The version number for the `## X.X.X` heading | +| automations | `1.1.5 to 1.1.7` | Tags in `OpenHands/automation` repo | +| enterprise-server | `cloud-1.40.1 to cloud-1.46.2` | Tags in `OpenHands/OpenHands` repo | +| runtime-api | `0.3.1 to 0.5.0` | Tags in `OpenHands/runtime-api` repo (prefixed `v` in GitHub) | +| OpenHands-Cloud | `0.13.3 to 0.24.0` | Tags in `OpenHands/OpenHands-Cloud` repo (prefixed `openhands/`) | **software-agent-sdk** is derived automatically — you do NOT ask the user for it. See the "Deriving the software-agent-sdk version range" section below. @@ -39,16 +39,6 @@ If the user omits any of the four inputs above, ask: > - **OpenHands-Cloud**: previous → new (tags are `openhands/X.Y.Z` in OpenHands/OpenHands-Cloud) > - **Enterprise release version**: the version number for the heading (e.g. `0.25.0`) -## Component repositories and tag formats - -| Component | GitHub Repo | Tag format | Example tags | -|-----------|-------------|------------|--------------| -| enterprise-server | `OpenHands/OpenHands` | `cloud-X.Y.Z` | `cloud-1.41.0`, `cloud-1.46.2` | -| runtime-api | `OpenHands/runtime-api` | `vX.Y.Z` | `v0.4.0`, `v0.5.0` | -| OpenHands-Cloud | `OpenHands/OpenHands-Cloud` | `openhands/X.Y.Z` | `openhands/0.14.0`, `openhands/0.24.0` | -| software-agent-sdk | `OpenHands/software-agent-sdk` | `vX.Y.Z` | `v1.35.0`, `v1.36.0` | -| automations | *(no repo — version noted only)* | — | — | - ## Step-by-step procedure ### 1. Identify releases in range @@ -64,8 +54,6 @@ curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ | python3 -c "import json,sys; [print(r['tag_name']) for r in json.load(sys.stdin)]" ``` -If the "previous" tag doesn't exist as a release, use the nearest earlier tag as the boundary. - ### 2. Fetch release notes For each release in range, fetch the body: @@ -128,18 +116,18 @@ Within each section, sort items into: Remove these automated/housekeeping lines that don't add value to customer-facing release notes: -| Pattern | Reason | -|---------|--------| -| `chore(main): release X.X.X` | Automated release PRs | -| `chore: bump SDK packages to vX.X.X` | Automated dependency bumps | -| `chore: bump SDK and agent-server to X.X.X` | Automated dependency bumps | -| `fix(backport): ...` | Backport cherry-picks (the original fix is already listed) | -| `feat: bump agent-server to ...` | Version bump PRs, not user-facing features | -| `feat: bump image tag to ...` | Version bump PRs, not user-facing features | -| `feat(openhands): bump image tag to ...` | Version bump PRs, not user-facing features | -| `feat(runtime-api): bump image tag to ...` | Version bump PRs, not user-facing features | -| `Release vX.Y.Z` | Automated release PRs in software-agent-sdk | -| `Verify ... model` | Model verification entries in software-agent-sdk | +| Pattern | Reason | +|---------------------------------------------|------------------------------------------------------------| +| `chore(main): release X.X.X` | Automated release PRs | +| `chore: bump SDK packages to vX.X.X` | Automated dependency bumps | +| `chore: bump SDK and agent-server to X.X.X` | Automated dependency bumps | +| `fix(backport): ...` | Backport cherry-picks (the original fix is already listed) | +| `feat: bump agent-server to ...` | Version bump PRs, not user-facing features | +| `feat: bump image tag to ...` | Version bump PRs, not user-facing features | +| `feat(openhands): bump image tag to ...` | Version bump PRs, not user-facing features | +| `feat(runtime-api): bump image tag to ...` | Version bump PRs, not user-facing features | +| `Release vX.Y.Z` | Automated release PRs in software-agent-sdk | +| `Verify ... model` | Model verification entries in software-agent-sdk | ### 5. Write the page @@ -205,7 +193,6 @@ icon: clipboard-list - Separate component sections with `---` horizontal rules - Keep the exact bullet text from the original release notes (author, PR link) - If a category has zero items after filtering, omit that sub-heading entirely -- Also filter out `Release vX.Y.Z` and `Verify ... model` lines from SDK notes ### 6. Update navigation From 33463ee46ab12a32c81ec9d91f8a92525c107b05 Mon Sep 17 00:00:00 2001 From: openhands Date: Fri, 17 Jul 2026 11:13:03 -0400 Subject: [PATCH 09/10] Add summary release notes --- enterprise/release-notes.mdx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/enterprise/release-notes.mdx b/enterprise/release-notes.mdx index 9068c23f..1448394f 100644 --- a/enterprise/release-notes.mdx +++ b/enterprise/release-notes.mdx @@ -6,6 +6,10 @@ icon: clipboard-list ## 0.24.0 +This release introduces a **Usage & Monitoring** dashboard, giving enterprise administrators visibility into AI spend and adoption across the organization. The new **Budgets** feature -- also enabled for organization admins -- enables org-level spending limits with configurable alert thresholds (e.g., 80%, 90%, 100%) delivered via email or Slack. Default budgets and override budgets allow administrators to manage individual user spending limits. The expanded Usage Dashboard provides high-level reports showing conversation counts, active sessions, and cost-per-conversation metrics, along with detailed conversation, user, and model-level breakdowns to help teams measure efficiency and ROI. + +The **Settings → Agent** page enables the use of third-party agents -- like Claude Code or Codex -- on OpenHands Enterprise sandboxes through the ACP (Agent Canvas Protocol) framework. + ### Enterprise Server #### Features From 7756aa08fea7d0b18df6e3af3b04eb6fc234ff36 Mon Sep 17 00:00:00 2001 From: openhands Date: Fri, 17 Jul 2026 11:28:57 -0400 Subject: [PATCH 10/10] Added Jira notes --- enterprise/release-notes.mdx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/enterprise/release-notes.mdx b/enterprise/release-notes.mdx index 1448394f..7e80a6bf 100644 --- a/enterprise/release-notes.mdx +++ b/enterprise/release-notes.mdx @@ -6,10 +6,14 @@ icon: clipboard-list ## 0.24.0 -This release introduces a **Usage & Monitoring** dashboard, giving enterprise administrators visibility into AI spend and adoption across the organization. The new **Budgets** feature -- also enabled for organization admins -- enables org-level spending limits with configurable alert thresholds (e.g., 80%, 90%, 100%) delivered via email or Slack. Default budgets and override budgets allow administrators to manage individual user spending limits. The expanded Usage Dashboard provides high-level reports showing conversation counts, active sessions, and cost-per-conversation metrics, along with detailed conversation, user, and model-level breakdowns to help teams measure efficiency and ROI. +This release introduces a **Usage & Monitoring** dashboard, giving organization administrators visibility into AI spend and adoption across the organization. This dashboard provides high-level reports showing conversation counts, active sessions, and cost-per-conversation metrics, along with detailed conversation, user, and model-level breakdowns to help teams measure efficiency and ROI. + +The new **Budgets** feature -- also enabled for organization admins -- enables org-level spending limits with configurable alert thresholds (e.g., 80%, 90%, 100%) delivered via email or Slack. Default budgets and override budgets allow administrators to manage individual user spending limits. The **Settings → Agent** page enables the use of third-party agents -- like Claude Code or Codex -- on OpenHands Enterprise sandboxes through the ACP (Agent Canvas Protocol) framework. +Several additional Jira Cloud and Data CEnter enhancements have been made to improve overall integration experience. + ### Enterprise Server #### Features