automation: Docs update for OpenHands v1.21.0 release
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Active
- Domain
- documentation
Research direction
Start with the release checklist and review the mentioned docs: canvas-extensions.mdx, docker-execution.mdx, conversations.mdx, and environment-variables.mdx. Compare each confirmed user-facing change with its current documentation, especially the full browser tree URL support for app installation. Done means updating only confirmed documentation gaps and verifying the affected pages remain accurate.
Written by the indexing model from the issue text.
Description
Release
- Version: v1.21.0
- Published: 2026-09-22T01:50:44Z
- URL: https://github.com/OpenHands/OpenHands/releases/tag/v1.21.0
- Prerelease: no
Release summary
OpenHands v1.21.0 contains one feature, seven bug fixes, two documentation changes to the OpenHands repository's own contributor docs, and eight maintenance items. The feature teaches the Agent Canvas client to read the agent server's advertised execution_runtime from /server_info and explicitly request a DockerExecutionWorkspace when Docker execution is available, keeping LocalWorkspace as the default for local and older servers. The fixes address stale conversation-history merges, routing Forgejo PR/issue lists to the Forgejo host, accepting git-host folder/tree URLs as an app source, disabling PostHog autocapture, keeping the local static server serving current assets after a Canvas rebuild, presenting non-resumable local conversations as archived, and advertising host services to Docker conversations. Maintenance bumps the default runtime versions twice (SDK/Agent Server/TypeScript client 1.49.2 then 1.49.3; Automation 1.13.2 then 1.13.3) and adds or strengthens several test suites. @Harsh23Kashyap is credited as a new contributor.
Documentation review checklist
- feat: request Docker execution workspaces from Docker servers (PR #17177) — needs maintainer confirmation. The agent-server adapter now reads
execution_runtimefrom/server_infoand explicitly requestsDockerExecutionWorkspacewhen a Docker server advertises Docker execution, preservingLocalWorkspaceas the default for local/older servers. The Docker-execution docs page (/openhands/usage/agent-canvas/backend-setup/docker-execution) already states that Agent Server creates aDockerExecutionWorkspaceper conversation, so it is unclear whether the client-side request changes any documented operator procedure. Source: https://github.com/OpenHands/OpenHands/pull/17177 - fix: prevent stale conversation history merges (PR #16913) — probably no documentation change. Discards stale older-events responses using a per-load marker and event-store ownership check so a request started in one conversation cannot merge into another after navigation. Internal correctness fix to conversation history loading; no documented procedure changed. Source: https://github.com/OpenHands/OpenHands/pull/16913
- fix: query the Forgejo host for Forgejo PR and issue lists (PR #17486) — needs maintainer confirmation.
listPullRequests/listIssuespreviously routed Forgejo requests throughfetchGithubJson(hardcodedapi.github.com), so a Forgejo-backed conversation's overview panel showed an error or another repository's items. The fix adds a Gitea-style fetch against{baseUrl}/api/v1authenticated withAuthorization: token <FORGEJO_TOKEN>. Forgejo is only mentioned inenvironment-variables.mdxfor theALLOW_INSECURE_GIT_ACCESSvariable; triage whether git-provider docs describe the overview PR/issue panel for Forgejo. Source: https://github.com/OpenHands/OpenHands/pull/17486 - fix(apps): accept GitHub tree URLs as app source (PR #17504) — documentation needed. Pasting a git host's browser folder/tree URL (GitHub, GitLab, Bitbucket, Gitea/Forgejo) into
Customize → Apps → Add app → App sourcenow installs the app; the modal splits the URL intosource,ref, andrepo_pathbefore callingPOST /api/canvas-extensions/install. The Canvas Extensions "Install an App" section (/openhands/usage/agent-canvas/canvas-extensions) documents entering a Git source such asgithub:owner/repositoryand a separateRepo path, but does not mention that a full browser tree URL is accepted. Source: https://github.com/OpenHands/OpenHands/pull/17504 - fix: Disable PostHog autocapture (PR #17502) — probably no documentation change. Sets
autocapture: falsein the namedagent-canvasPostHog init config (src/services/telemetry.ts). Telemetry/analytics consent behavior is not documented on a user-facing page (the only related docs are historical release notes). Note for reviewer: this reduces client-side click telemetry; consider whether any analytics/consent docs should mention it. Source: https://github.com/OpenHands/OpenHands/pull/17502 - fix(static-server): serve current assets after rebuilding Canvas (PR #17402) — probably no documentation change. Switches the local static server to filesystem lookup mode so a rebuild's hashed assets are served instead of the stale startup inventory. Internal local-development tooling fix; no documented procedure changed. Source: https://github.com/OpenHands/OpenHands/pull/17402
- fix: show non-resumable local conversations as archived (PR #17500) — needs maintainer confirmation. After an installation switches from host-local conversation runtimes to Docker runtimes, historical local conversations have no Docker provisioning identity; Canvas now presents them using the existing archived-conversation UI, skips WebSocket connections, and continues loading persisted event history over REST. Depends on agent-sdk #5128. The
conversations.mdxarchive section describes archiving as a user action stored per backend; triage whether the runtime-switch archiving behavior warrants a note. Source: https://github.com/OpenHands/OpenHands/pull/17500 - fix: advertise host services to Docker conversations (PR #17518) — probably no documentation change. Changes the local dev launcher (
scripts/dev-with-automation.mjs) to advertise host services throughhost.docker.internaland route Automation traffic through the Canvas ingress in Docker mode. Affects a developer script, not a documented user procedure. Source: https://github.com/OpenHands/OpenHands/pull/17518 - docs: refresh AGENTS.md guidance (PR #17590) — probably no documentation change. Documentation-only correction to
AGENTS.mdin the OpenHands repository (an internal contributor guide), not user-facing product documentation in OpenHands/docs. Source: https://github.com/OpenHands/OpenHands/pull/17590 - docs(codereview): clarify Agent Canvas checkpoints (PR #17523) — probably no documentation change. Reorganizes
.agents/skills/custom-codereview-guide.mdandAGENTS.mdin the OpenHands repository (internal reviewer guidance), not user-facing product documentation. Source: https://github.com/OpenHands/OpenHands/pull/17523 - chore: consume SDK 1.49.2 and Automation 1.13.2 (PR #17515) — needs maintainer confirmation. Bumps default runtime version pins in
config/defaults.json,package.json, and related scripts. If docs reference specific default runtime versions or compatibility minimums, they may need updating; the current docs version references found are release-notes text. Source: https://github.com/OpenHands/OpenHands/pull/17515 - chore: consume SDK 1.49.3 and Automation 1.13.3 (PR #17600) — needs maintainer confirmation. Second default-runtime bump within this release (supersedes the 1.49.2/1.13.2 pin from #17515). Confirm the intended final defaults against the release's
config/defaults.jsonbefore documenting any version. Source: https://github.com/OpenHands/OpenHands/pull/17600 - test: cover draft persistence (PR #17334) — probably no documentation change. Test-only change (
__tests__/hooks/use-draft-persistence.test.tsx). Source: https://github.com/OpenHands/OpenHands/pull/17334 - test: strengthen LLM profile configuration (PR #17338) — probably no documentation change. Test-only change. Source: https://github.com/OpenHands/OpenHands/pull/17338
- test: strengthen shared utility behavior (PR #17341) — probably no documentation change. Test-only change. Source: https://github.com/OpenHands/OpenHands/pull/17341
- test: cover MCP config utilities (PR #17344) — probably no documentation change. Test-only change. Source: https://github.com/OpenHands/OpenHands/pull/17344
- chore: remove merged PR artifacts (PR #17507) — probably no documentation change. Housekeeping of PR-only image artifacts; no file changes. Source: https://github.com/OpenHands/OpenHands/pull/17507
- refactor(shadcn-lint): map
--oh-*tokens into the Tailwind theme (PR #17435) — probably no documentation change. Internal linting/theming refactor across many Canvas components; no documented behavior or configuration change identified. Source: https://github.com/OpenHands/OpenHands/pull/17435
Pull request review
- https://github.com/OpenHands/OpenHands/pull/17177 — Reads
execution_runtimefrom/server_infoand requestsDockerExecutionWorkspacewhen the server advertises Docker execution; changed files are Canvassrc/api/agent-server-adapter.ts(plus tests) andagent-server-compatibility.ts. Documentation impact: verify whetherdocker-execution.mdxshould describe client-requested Docker workspaces. - https://github.com/OpenHands/OpenHands/pull/16913 — Adds a stale older-events load guard in
src/hooks/use-load-older-events.tsandchat-interface.tsxwith tests. Internal correctness fix; no documented procedure changed. - https://github.com/OpenHands/OpenHands/pull/17486 — Adds
fetchForgejoJsonand routes Forgejo PR/issue list calls through it insrc/api/git-provider-items-service.ts, with tests. Documentation impact: any git-provider overview documentation for Forgejo; otherwise no user-facing procedure changed. - https://github.com/OpenHands/OpenHands/pull/17504 — Adds
src/utils/parse-git-tree-url.tsand updatesadd-canvas-extension-modal.tsxso git-host folder/tree URLs install as apps. Documentation impact:canvas-extensions.mdx"Install an App" should mention accepting a browser tree URL. - https://github.com/OpenHands/OpenHands/pull/17502 — Sets
autocapture: falseinsrc/services/telemetry.tswith an updated test assertion. Documentation impact: only if analytics/consent docs describe autocapture (none found in OpenHands/docs). - https://github.com/OpenHands/OpenHands/pull/17402 — Reconfigures
scripts/static-server.mjsto serve current assets; local dev tooling. No documented procedure changed. - https://github.com/OpenHands/OpenHands/pull/17500 — Normalizes optional runtime metadata and presents non-resumable local conversations as archived (
agent-server-adapter.ts,agent-server-conversation-service.api.ts,websocket-provider-wrapper.tsx) with tests. Documentation impact: possible note inconversations.mdxabout runtime-switch archiving. - https://github.com/OpenHands/OpenHands/pull/17518 — Updates the dev launcher
scripts/dev-with-automation.mjsto advertise host services viahost.docker.internalin Docker mode. Developer tooling; no user-facing documentation impact found. - https://github.com/OpenHands/OpenHands/pull/17590 — One-line correction to
AGENTS.mdin the OpenHands repo (internal contributor guide). No user-facing documentation impact found. - https://github.com/OpenHands/OpenHands/pull/17523 — Reorganizes
.agents/skills/custom-codereview-guide.mdandAGENTS.mdin the OpenHands repo. Internal reviewer guide; no user-facing documentation impact found. - https://github.com/OpenHands/OpenHands/pull/17515 — Default version pins (
config/defaults.json,package.json, scripts). Documentation impact limited to any docs referencing default runtime versions. - https://github.com/OpenHands/OpenHands/pull/17600 — Second default version bump (
config/defaults.json,package.json, scripts); supersedes 1.49.2/1.13.2. Confirm final defaults before documenting. - https://github.com/OpenHands/OpenHands/pull/17334, #17338, #17341, #17344 — Test-only changes. No user-facing documentation impact found.
- https://github.com/OpenHands/OpenHands/pull/17507 — Removes merged PR artifacts; no file changes. No documentation impact.
- https://github.com/OpenHands/OpenHands/pull/17435 — Internal Tailwind/
--oh-*token refactor across Canvas components. No documented behavior change identified.
Human testing required
- Docker execution workspace request (PR #17177): Point Canvas at an agent server whose
/server_infoadvertises Docker execution and start a new conversation. Expected: the conversation runs in aDockerExecutionWorkspacewith/workspaceas its working directory. Then point Canvas at a local or older server and expected:LocalWorkspaceremains the default. - Forgejo PR/issue lists (PR #17486): With a Forgejo-backed repository and
FORGEJO_TOKENconfigured, open a Forgejo conversation's overview panel. Expected: it lists that repository's PRs and issues fetched from the Forgejo host (no error state, and no same-named GitHub repository's items). A control case is a GitHub/GitLab repo, whose behavior should be unchanged. - Git tree URL as app source (PR #17504): Paste a git host's browser folder URL (e.g.
https://github.com/OpenHands/canvas-apps/tree/main/conversation-search-sidecar) intoCustomize → Apps → Add app → App source. Expected: install succeeds, splitting the URL into source/ref/repo_path. Repeat for GitLab, Bitbucket, and Gitea/Forgejo folder URLs. - Archived non-resumable local conversations (PR #17500): After switching an installation to Docker runtime, open a conversation created before Docker provisioning metadata existed. Expected: it is presented as archived, its persisted event history is readable over REST, and no WebSocket connection is attempted.
- Runtime default versions (PR #17515, PR #17600): Confirm the intended default Agent Server/SDK/TypeScript client and Automation versions against the release's
config/defaults.json, and check whether any published docs page references specific default runtime versions that now need updating.
Suggested documentation locations
/openhands/usage/agent-canvas/release-notes/— Add a newv1.21.0.mdxpage following the existing format (seev1.20.0.mdx) and add the matching entry to the Agent Canvas release-notes group indocs.json. Rationale: this version has no release-notes page, unlike every prior release./openhands/usage/agent-canvas/canvas-extensions.mdx(Install an App) — Note that a git host's browser folder/tree URL is accepted as the App source, in addition to thegithub:owner/repositoryshorthand andRepo path. Rationale: PR #17504 changes that user-facing install flow./openhands/usage/agent-canvas/backend-setup/docker-execution.mdx— Verify whether the client-side request ofDockerExecutionWorkspacefrom Docker servers needs documentation. Rationale: PR #17177 changes how Canvas selects the execution workspace./openhands/usage/agent-canvas/conversations.mdx(archive section) — Consider noting that non-resumable local conversations appear archived after a runtime switch. Rationale: PR #17500./openhands/usage/environment-variables.mdxor a git-provider page — Triage Forgejo PR/issue list behavior (PR #17486) and any default-runtime version references (PR #17515, PR #17600). Needs maintainer triage for the exact location.
Source links
- https://github.com/OpenHands/OpenHands/releases/tag/v1.21.0
- https://github.com/OpenHands/OpenHands/pull/17177
- https://github.com/OpenHands/OpenHands/pull/16913
- https://github.com/OpenHands/OpenHands/pull/17486
- https://github.com/OpenHands/OpenHands/pull/17504
- https://github.com/OpenHands/OpenHands/pull/17502
- https://github.com/OpenHands/OpenHands/pull/17402
- https://github.com/OpenHands/OpenHands/pull/17500
- https://github.com/OpenHands/OpenHands/pull/17518
- https://github.com/OpenHands/OpenHands/pull/17590
- https://github.com/OpenHands/OpenHands/pull/17523
- https://github.com/OpenHands/OpenHands/pull/17515
- https://github.com/OpenHands/OpenHands/pull/17600
- https://github.com/OpenHands/OpenHands/pull/17334
- https://github.com/OpenHands/OpenHands/pull/17338
- https://github.com/OpenHands/OpenHands/pull/17341
- https://github.com/OpenHands/OpenHands/pull/17344
- https://github.com/OpenHands/OpenHands/pull/17507
- https://github.com/OpenHands/OpenHands/pull/17435
This issue was created by an AI agent (OpenHands) on behalf of the user.
- Dominant language
- MDX
- Stars
- 14
- Forks
- 61
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 58
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenHands/docs
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
Moonshot provider documentation references a deprecated model, setup fails per doc recommendationsOpen
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
OpenHands/docs#658 · 2 comments ·
Maintainers usually reply within 1 day
-
ready-for-human
Difficulty 4/5 3-5 days Newbie friendliness 48/100
OpenHands/docs#903 · 1 comment ·
Maintainers usually reply within 1 day
-
Document SDK-owned browser conversation event streamsPossibly taken @neubig claimed this 23 days ago. Open
OpenHands/docs#794 · 1 assignee ·
Maintainers usually reply within 1 day
Similar issues
-
Code Cleanup Dev Environment
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ProjectSidewalk/SidewalkWebpage#5699 ·
Maintainers usually reply within 1 day
-
area/install documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
community documentation first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 70/100
lingdojo/kana-dojo#31864 · 1 comment · 5 reactions ·
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
climate-analytics-lab/jax-gcm#1057 ·
Maintainers usually reply within 1 day