From 555444f23939e8075738bc346b8a5ba8909c0f10 Mon Sep 17 00:00:00 2001 From: mamoodi Date: Wed, 5 Nov 2025 15:11:22 -0500 Subject: [PATCH] Release 0.61.0 (#11618) Co-authored-by: rohitvinodmalhotra@gmail.com --- Development.md | 2 +- README.md | 6 +-- containers/dev/compose.yml | 2 +- docker-compose.yml | 2 +- frontend/package-lock.json | 4 +- frontend/package.json | 2 +- openhands/runtime/impl/kubernetes/README.md | 2 +- poetry.lock | 47 +++++++-------------- pyproject.toml | 14 +++--- 9 files changed, 33 insertions(+), 48 deletions(-) diff --git a/Development.md b/Development.md index 62ac14ae45..0ab8d9a684 100644 --- a/Development.md +++ b/Development.md @@ -159,7 +159,7 @@ poetry run pytest ./tests/unit/test_*.py To reduce build time (e.g., if no changes were made to the client-runtime component), you can use an existing Docker container image by setting the SANDBOX_RUNTIME_CONTAINER_IMAGE environment variable to the desired Docker image. -Example: `export SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/openhands/runtime:0.60-nikolaik` +Example: `export SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/openhands/runtime:0.61-nikolaik` ## Develop inside Docker container diff --git a/README.md b/README.md index 3dc12c8534..d6632a503b 100644 --- a/README.md +++ b/README.md @@ -82,17 +82,17 @@ You'll find OpenHands running at [http://localhost:3000](http://localhost:3000) You can also run OpenHands directly with Docker: ```bash -docker pull docker.openhands.dev/openhands/runtime:0.60-nikolaik +docker pull docker.openhands.dev/openhands/runtime:0.61-nikolaik docker run -it --rm --pull=always \ - -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.openhands.dev/openhands/runtime:0.60-nikolaik \ + -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.openhands.dev/openhands/runtime:0.61-nikolaik \ -e LOG_ALL_EVENTS=true \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/.openhands:/.openhands \ -p 3000:3000 \ --add-host host.docker.internal:host-gateway \ --name openhands-app \ - docker.openhands.dev/openhands/openhands:0.60 + docker.openhands.dev/openhands/openhands:0.61 ``` diff --git a/containers/dev/compose.yml b/containers/dev/compose.yml index 8b472216f4..f001d63106 100644 --- a/containers/dev/compose.yml +++ b/containers/dev/compose.yml @@ -12,7 +12,7 @@ services: - SANDBOX_API_HOSTNAME=host.docker.internal - DOCKER_HOST_ADDR=host.docker.internal # - - SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-ghcr.io/openhands/runtime:0.60-nikolaik} + - SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-ghcr.io/openhands/runtime:0.61-nikolaik} - SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234} - WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace} ports: diff --git a/docker-compose.yml b/docker-compose.yml index d6fae391c6..304658fa07 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: image: openhands:latest container_name: openhands-app-${DATE:-} environment: - - SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-docker.openhands.dev/openhands/runtime:0.60-nikolaik} + - SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-docker.openhands.dev/openhands/runtime:0.61-nikolaik} #- SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234} # enable this only if you want a specific non-root sandbox user but you will have to manually adjust permissions of ~/.openhands for this user - WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace} ports: diff --git a/frontend/package-lock.json b/frontend/package-lock.json index ca51978802..feb13dcc3a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "openhands-frontend", - "version": "0.60.0", + "version": "0.61.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "openhands-frontend", - "version": "0.60.0", + "version": "0.61.0", "dependencies": { "@heroui/react": "^2.8.4", "@heroui/use-infinite-scroll": "^2.2.11", diff --git a/frontend/package.json b/frontend/package.json index 7ef94e1a05..5ad91c3636 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "openhands-frontend", - "version": "0.60.0", + "version": "0.61.0", "private": true, "type": "module", "engines": { diff --git a/openhands/runtime/impl/kubernetes/README.md b/openhands/runtime/impl/kubernetes/README.md index 6730231879..a6c1995309 100644 --- a/openhands/runtime/impl/kubernetes/README.md +++ b/openhands/runtime/impl/kubernetes/README.md @@ -40,7 +40,7 @@ Two configuration options are required to use the Kubernetes runtime: 2. **Runtime Container Image**: Specify the container image to use for the runtime environment ```toml [sandbox] - runtime_container_image = "docker.openhands.dev/openhands/runtime:0.60-nikolaik" + runtime_container_image = "docker.openhands.dev/openhands/runtime:0.61-nikolaik" ``` #### Additional Kubernetes Options diff --git a/poetry.lock b/poetry.lock index 4d20a26629..fa2f15ee71 100644 --- a/poetry.lock +++ b/poetry.lock @@ -7329,13 +7329,15 @@ llama = ["llama-index (>=0.12.29,<0.13.0)", "llama-index-core (>=0.12.29,<0.13.0 [[package]] name = "openhands-agent-server" -version = "1.0.0a5" +version = "1.0.0a6" description = "OpenHands Agent Server - REST/WebSocket interface for OpenHands AI Agent" optional = false python-versions = ">=3.12" groups = ["main"] -files = [] -develop = false +files = [ + {file = "openhands_agent_server-1.0.0a6-py3-none-any.whl", hash = "sha256:72b0da038ede018c55c64f0ac99bc5d991af173627efc63de87d54b3cd69134c"}, + {file = "openhands_agent_server-1.0.0a6.tar.gz", hash = "sha256:8c6fbceb07990e3caf7f8797082d1bb614b9f7339bd00576c24fd34a956a03b4"}, +] [package.dependencies] aiosqlite = ">=0.19" @@ -7348,22 +7350,17 @@ uvicorn = ">=0.31.1" websockets = ">=12" wsproto = ">=1.2.0" -[package.source] -type = "git" -url = "https://github.com/OpenHands/software-agent-sdk.git" -reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1" -resolved_reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1" -subdirectory = "openhands-agent-server" - [[package]] name = "openhands-sdk" -version = "1.0.0a5" +version = "1.0.0a6" description = "OpenHands SDK - Core functionality for building AI agents" optional = false python-versions = ">=3.12" groups = ["main"] -files = [] -develop = false +files = [ + {file = "openhands_sdk-1.0.0a6-py3-none-any.whl", hash = "sha256:0b0b579fc48a5b7eaa418ca66188206ba00f4d883997bc29291bc1745e0b7ddc"}, + {file = "openhands_sdk-1.0.0a6.tar.gz", hash = "sha256:01daff435c5f94037b9b4ba85054097ca6235982a9b0fee00341279d4c4b5a01"}, +] [package.dependencies] fastmcp = ">=2.11.3" @@ -7379,22 +7376,17 @@ websockets = ">=12" [package.extras] boto3 = ["boto3 (>=1.35.0)"] -[package.source] -type = "git" -url = "https://github.com/OpenHands/software-agent-sdk.git" -reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1" -resolved_reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1" -subdirectory = "openhands-sdk" - [[package]] name = "openhands-tools" -version = "1.0.0a5" +version = "1.0.0a6" description = "OpenHands Tools - Runtime tools for AI agents" optional = false python-versions = ">=3.12" groups = ["main"] -files = [] -develop = false +files = [ + {file = "openhands_tools-1.0.0a6-py3-none-any.whl", hash = "sha256:55b75016f7e3930e4365393a026726eeffae027363d03862a17a8cebc1aed670"}, + {file = "openhands_tools-1.0.0a6.tar.gz", hash = "sha256:4d5382f3e1cab9d23c1ef7ea8e36e821083886d6d4b019100cbf897e3b0cd3be"}, +] [package.dependencies] bashlex = ">=0.18" @@ -7406,13 +7398,6 @@ libtmux = ">=0.46.2" openhands-sdk = "*" pydantic = ">=2.11.7" -[package.source] -type = "git" -url = "https://github.com/OpenHands/software-agent-sdk.git" -reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1" -resolved_reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1" -subdirectory = "openhands-tools" - [[package]] name = "openpyxl" version = "3.1.5" @@ -16744,4 +16729,4 @@ third-party-runtimes = ["daytona", "e2b-code-interpreter", "modal", "runloop-api [metadata] lock-version = "2.1" python-versions = "^3.12,<3.14" -content-hash = "f55780dbb1931dcc442ef9d1f2198fa1c82e3b5881409953ac95de5501d5eeec" +content-hash = "57ed6b7f4613e668fd1d0e10a21f7c915cdbb9c7b906a0b71a8ba222733c082d" diff --git a/pyproject.toml b/pyproject.toml index 210b2a6b3f..c37bc0b2ee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ requires = [ [tool.poetry] name = "openhands-ai" -version = "0.60.0" +version = "0.61.0" description = "OpenHands: Code Less, Make More" authors = [ "OpenHands" ] license = "MIT" @@ -113,12 +113,12 @@ e2b-code-interpreter = { version = "^2.0.0", optional = true } pybase62 = "^1.0.0" # V1 dependencies -openhands-agent-server = { git = "https://github.com/OpenHands/software-agent-sdk.git", subdirectory = "openhands-agent-server", rev = "d5995c31c55e488d4ab0372d292973bc6fad71f1" } -openhands-sdk = { git = "https://github.com/OpenHands/software-agent-sdk.git", subdirectory = "openhands-sdk", rev = "d5995c31c55e488d4ab0372d292973bc6fad71f1" } -openhands-tools = { git = "https://github.com/OpenHands/software-agent-sdk.git", subdirectory = "openhands-tools", rev = "d5995c31c55e488d4ab0372d292973bc6fad71f1" } -#openhands-sdk = "1.0.0a5" -#openhands-agent-server = "1.0.0a5" -#openhands-tools = "1.0.0a5" +#openhands-agent-server = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-agent-server", rev = "be9725b459c0afabc18cfba89acf11dc756b42f0" } +#openhands-sdk = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-sdk", rev = "be9725b459c0afabc18cfba89acf11dc756b42f0" } +#openhands-tools = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-tools", rev = "be9725b459c0afabc18cfba89acf11dc756b42f0" } +openhands-sdk = "1.0.0a6" +openhands-agent-server = "1.0.0a6" +openhands-tools = "1.0.0a6" python-jose = { version = ">=3.3", extras = [ "cryptography" ] } sqlalchemy = { extras = [ "asyncio" ], version = "^2.0.40" } pg8000 = "^1.31.5"