> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openhands.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenHands Enterprise 0.28.0

> Release notes for OpenHands Enterprise version 0.28.0

# OpenHands Enterprise 0.28.0

Released July 21, 2026.

## Highlights

* **Agent Canvas Embedded** — New `/canvas` endpoint available; will coexist with current Enterprise interface while teams experiment and provide feedback
* **Helm Chart Improvements** — Better validation and more configuration options for easier installs
* **Stability & Maintenance** — Focus on fixes and improvements across the platform

## Features

#### OpenHands Cloud (Helm Chart)

* feat(openhands): PLTF-3256 add values.schema.json for chart values validation by @aivong-openhands in [https://github.com/OpenHands/OpenHands-Cloud/pull/920](https://github.com/OpenHands/OpenHands-Cloud/pull/920)
* feat(openhands): PLTF-3257 add NOTES.txt post-install output to the openhands chart by @aivong-openhands in [https://github.com/OpenHands/OpenHands-Cloud/pull/922](https://github.com/OpenHands/OpenHands-Cloud/pull/922)
* feat: mount Agent Canvas under /canvas by @malhotra5 in [https://github.com/OpenHands/OpenHands-Cloud/pull/900](https://github.com/OpenHands/OpenHands-Cloud/pull/900)
* feat: Added environment variable for RUNTIME\_API\_BASE\_URL by @tofarr in [https://github.com/OpenHands/OpenHands-Cloud/pull/926](https://github.com/OpenHands/OpenHands-Cloud/pull/926)
* feat(openhands): PLTF-3258 add fail guard for ingress.enabled without ingress.host by @aivong-openhands in [https://github.com/OpenHands/OpenHands-Cloud/pull/923](https://github.com/OpenHands/OpenHands-Cloud/pull/923)
* feat: route Integrations Hub on the primary OpenHands host by @neubig in [https://github.com/OpenHands/OpenHands-Cloud/pull/899](https://github.com/OpenHands/OpenHands-Cloud/pull/899)
* feat: expose sandbox ephemeral-storage as a configurable field by @ak684 in [https://github.com/OpenHands/OpenHands-Cloud/pull/930](https://github.com/OpenHands/OpenHands-Cloud/pull/930)

## Bug Fixes

#### Enterprise Server

* fix: retry idempotent runtime-api reads once on timeout by @ak684 in [https://github.com/OpenHands/OpenHands/pull/15266](https://github.com/OpenHands/OpenHands/pull/15266)
* fix(agent-profiles): honor profile settings in cloud launches by @simonrosenberg in [https://github.com/OpenHands/OpenHands/pull/15228](https://github.com/OpenHands/OpenHands/pull/15228)
* fix: Fix CVE-2026-53571: Update vite to 8.0.16, 7.3.5, 6.4.3 by @mamoodi in [https://github.com/OpenHands/OpenHands/pull/14982](https://github.com/OpenHands/OpenHands/pull/14982)
* fix: restore automations login redirects by @malhotra5 in [https://github.com/OpenHands/OpenHands/pull/15295](https://github.com/OpenHands/OpenHands/pull/15295)
* fix: Avoid logout on transient provider get\_user errors by @malhotra5 in [https://github.com/OpenHands/OpenHands/pull/15305](https://github.com/OpenHands/OpenHands/pull/15305)
* fix: treat Integrations Hub as a cross-app route by @malhotra5 in [https://github.com/OpenHands/OpenHands/pull/15324](https://github.com/OpenHands/OpenHands/pull/15324)
* fix: add managed LLM key refresh endpoint by @neubig in [https://github.com/OpenHands/OpenHands/pull/15023](https://github.com/OpenHands/OpenHands/pull/15023)
* fix(app-server): restore previous DB pool\_size default by @dylan-openhands in [https://github.com/OpenHands/OpenHands/pull/15333](https://github.com/OpenHands/OpenHands/pull/15333)
* fix: Debounce last\_used\_at writes in ApiKeyStore.validate\_api\_key by @tofarr in [https://github.com/OpenHands/OpenHands/pull/15331](https://github.com/OpenHands/OpenHands/pull/15331)
* fix(jira): allow conversations without repositories by @tofarr in [https://github.com/OpenHands/OpenHands/pull/15328](https://github.com/OpenHands/OpenHands/pull/15328)

#### Runtime API

* fix: recycle pooled DB connections and bound pg8000 socket reads by @ak684 in [https://github.com/OpenHands/runtime-api/pull/640](https://github.com/OpenHands/runtime-api/pull/640)
* fix(cleanup): paginate deployment listing to stop OOM in cleanup job by @rbren in [https://github.com/OpenHands/runtime-api/pull/642](https://github.com/OpenHands/runtime-api/pull/642)
* fix(cleanup): hold archive concurrency slot until worker finishes (#643) by @aivong-openhands in [https://github.com/OpenHands/runtime-api/pull/644](https://github.com/OpenHands/runtime-api/pull/644)

#### OpenHands Cloud (Helm Chart)

* fix(release): make lint pass --app \[PLTF-3195] by @dylan-openhands in [https://github.com/OpenHands/OpenHands-Cloud/pull/898](https://github.com/OpenHands/OpenHands-Cloud/pull/898)
* fix: preserve Integrations Hub API auth responses by @neubig in [https://github.com/OpenHands/OpenHands-Cloud/pull/933](https://github.com/OpenHands/OpenHands-Cloud/pull/933)

## Maintenance

#### Runtime API

* perf(cleanup): batch PVC snapshot waits instead of blocking serially by @jlav in [https://github.com/OpenHands/runtime-api/pull/648](https://github.com/OpenHands/runtime-api/pull/648)
* build(deps): bump python-multipart from 0.0.27 to 0.0.31 by @dependabot\[bot] in [https://github.com/OpenHands/runtime-api/pull/652](https://github.com/OpenHands/runtime-api/pull/652)
* build(deps): bump cryptography from 46.0.7 to 48.0.1 by @dependabot\[bot] in [https://github.com/OpenHands/runtime-api/pull/651](https://github.com/OpenHands/runtime-api/pull/651)

#### OpenHands Cloud (Helm Chart)

* chore(postgres): remove obsolete emptyDir-to-PVC migration by @jlav in [https://github.com/OpenHands/OpenHands-Cloud/pull/919](https://github.com/OpenHands/OpenHands-Cloud/pull/919)

## Full Changelog

* [Enterprise Server releases](https://github.com/OpenHands/enterprise/releases)
* [Software Agent SDK releases](https://github.com/OpenHands/software-agent-sdk/releases)
* [Runtime API releases](https://github.com/OpenHands/runtime-api/releases)
* [Automation releases](https://github.com/OpenHands/automation/releases)
* [OpenHands Cloud releases](https://github.com/OpenHands/OpenHands-Cloud/releases)
