Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/run-eval.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ on:
sdk_ref:
description: SDK commit/ref to evaluate (must be a semantic version like v1.0.0 unless 'Allow unreleased branches' is checked)
required: true
default: v1.16.1
default: v1.17.0




Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
PR_NUMBER: ${{ github.event.pull_request.number }}
REPO_OWNER: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }}
GITHUB_SHA: ${{ github.event.pull_request.head.sha }}
SDK_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
OPENHANDS_CLOUD_API_KEY: ${{ secrets.ALLHANDS_BOT_OPENHANDS_SAAS_API_KEY }}
# ACP agents (Claude Code, Codex) route through LiteLLM proxy
ANTHROPIC_BASE_URL: https://llm-proxy.app.all-hands.dev
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@ def get_server_image():
"""Get the server image tag, using PR-specific image in CI."""
platform_str = detect_platform()
arch = "arm64" if "arm64" in platform_str else "amd64"
# If GITHUB_SHA is set (e.g. running in CI of a PR), use that to ensure consistency
# Otherwise, use the latest image from main
github_sha = os.getenv("GITHUB_SHA")
if github_sha:
return f"ghcr.io/openhands/agent-server:{github_sha[:7]}-python-{arch}"
# SDK_SHA is the canonical commit SHA set by CI workflows (avoids the
# built-in GITHUB_SHA which resolves to the merge-commit on PRs).
sha = os.getenv("SDK_SHA") or os.getenv("GITHUB_SHA")
if sha:
return f"ghcr.io/openhands/agent-server:{sha[:7]}-python-{arch}"
return "ghcr.io/openhands/agent-server:latest-python"


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ def get_server_image():
"""Get the server image tag, using PR-specific image in CI."""
platform_str = detect_platform()
arch = "arm64" if "arm64" in platform_str else "amd64"
# If GITHUB_SHA is set (e.g. running in CI of a PR), use that to ensure consistency
# Otherwise, use the latest image from main
github_sha = os.getenv("GITHUB_SHA")
if github_sha:
return f"ghcr.io/openhands/agent-server:{github_sha[:7]}-python-{arch}"
# SDK_SHA is the canonical commit SHA set by CI workflows (avoids the
# built-in GITHUB_SHA which resolves to the merge-commit on PRs).
sha = os.getenv("SDK_SHA") or os.getenv("GITHUB_SHA")
if sha:
return f"ghcr.io/openhands/agent-server:{sha[:7]}-python-{arch}"
return "ghcr.io/openhands/agent-server:latest-python"


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@
exit(1)


# If GITHUB_SHA is set (e.g. running in CI of a PR), use that to ensure consistency
# Otherwise, use the latest image from main
server_image_sha = os.getenv("GITHUB_SHA") or "main"
# SDK_SHA is the canonical commit SHA set by CI workflows (avoids the
# built-in GITHUB_SHA which resolves to the merge-commit on PRs).
server_image_sha = os.getenv("SDK_SHA") or os.getenv("GITHUB_SHA") or "main"
server_image = f"ghcr.io/openhands/agent-server:{server_image_sha[:7]}-python-amd64"
logger.info(f"Using server image: {server_image}")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ def get_server_image():
"""Get the server image tag, using PR-specific image in CI."""
platform_str = detect_platform()
arch = "arm64" if "arm64" in platform_str else "amd64"
# If GITHUB_SHA is set (e.g. running in CI of a PR), use that to ensure consistency
# Otherwise, use the latest image from main
github_sha = os.getenv("GITHUB_SHA")
if github_sha:
return f"ghcr.io/openhands/agent-server:{github_sha[:7]}-python-{arch}"
# SDK_SHA is the canonical commit SHA set by CI workflows (avoids the
# built-in GITHUB_SHA which resolves to the merge-commit on PRs).
sha = os.getenv("SDK_SHA") or os.getenv("GITHUB_SHA")
if sha:
return f"ghcr.io/openhands/agent-server:{sha[:7]}-python-{arch}"
return "ghcr.io/openhands/agent-server:latest-python"


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@ def get_server_image():
"""Get the server image tag, using PR-specific image in CI."""
platform_str = detect_platform()
arch = "arm64" if "arm64" in platform_str else "amd64"
# If GITHUB_SHA is set (e.g. running in CI of a PR), use that to ensure consistency
# Otherwise, use the latest image from main
github_sha = os.getenv("GITHUB_SHA")
if github_sha:
return f"ghcr.io/openhands/agent-server:{github_sha[:7]}-python-{arch}"
# SDK_SHA is the canonical commit SHA set by CI workflows (avoids the
# built-in GITHUB_SHA which resolves to the merge-commit on PRs).
sha = os.getenv("SDK_SHA") or os.getenv("GITHUB_SHA")
if sha:
return f"ghcr.io/openhands/agent-server:{sha[:7]}-python-{arch}"
return "ghcr.io/openhands/agent-server:latest-python"


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@
runtime_api_key = os.getenv("RUNTIME_API_KEY")
assert runtime_api_key, "RUNTIME_API_KEY required"

# If GITHUB_SHA is set (e.g. running in CI of a PR), use that to ensure consistency
# Otherwise, use the latest image from main
server_image_sha = os.getenv("GITHUB_SHA") or "main"
# SDK_SHA is the canonical commit SHA set by CI workflows (avoids the
# built-in GITHUB_SHA which resolves to the merge-commit on PRs).
server_image_sha = os.getenv("SDK_SHA") or os.getenv("GITHUB_SHA") or "main"
server_image = f"ghcr.io/openhands/agent-server:{server_image_sha[:7]}-python-amd64"
logger.info(f"Using server image: {server_image}")

Expand Down
2 changes: 1 addition & 1 deletion openhands-agent-server/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "openhands-agent-server"
version = "1.16.1"
version = "1.17.0"
description = "OpenHands Agent Server - REST/WebSocket interface for OpenHands AI Agent"

requires-python = ">=3.12"
Expand Down
2 changes: 1 addition & 1 deletion openhands-sdk/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "openhands-sdk"
version = "1.16.1"
version = "1.17.0"
description = "OpenHands SDK - Core functionality for building AI agents"

requires-python = ">=3.12"
Expand Down
7 changes: 4 additions & 3 deletions openhands-tools/openhands/tools/browser_use/logging_fix.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@

warn_cleanup(
"Monkey patching to prevent browser_use logging interference",
cleanup_by="1.17.0",
cleanup_by="1.19.0",
details=(
"This workaround should be removed once browser_use fixes the "
"problematic logging configuration code. The upstream PR #3717 "
"(https://github.com/browser-use/browser-use/pull/3717) was closed "
"without merge. Check if a newer browser_use release resolves the "
"logging interference issue."
"without merge. As of browser_use 0.11.9 the module-level "
"basicConfig(force=True) and _ensure_all_loggers_use_stderr() "
"are still present. Re-evaluate on each release."
),
)

Expand Down
2 changes: 1 addition & 1 deletion openhands-tools/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "openhands-tools"
version = "1.16.1"
version = "1.17.0"
description = "OpenHands Tools - Runtime tools for AI agents"

requires-python = ">=3.12"
Expand Down
2 changes: 1 addition & 1 deletion openhands-workspace/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "openhands-workspace"
version = "1.16.1"
version = "1.17.0"
description = "OpenHands Workspace - Docker and container-based workspace implementations"

requires-python = ">=3.12"
Expand Down
10 changes: 5 additions & 5 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading