Release 0.61.0 (#11618)

Co-authored-by: rohitvinodmalhotra@gmail.com <rohitvinodmalhotra@gmail.com>
This commit is contained in:
mamoodi
2025-11-05 15:11:22 -05:00
committed by GitHub
parent d99c7827d8
commit 555444f239
9 changed files with 33 additions and 48 deletions

View File

@@ -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 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. 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 ## Develop inside Docker container

View File

@@ -82,17 +82,17 @@ You'll find OpenHands running at [http://localhost:3000](http://localhost:3000)
You can also run OpenHands directly with Docker: You can also run OpenHands directly with Docker:
```bash ```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 \ 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 \ -e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \ -v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands:/.openhands \ -v ~/.openhands:/.openhands \
-p 3000:3000 \ -p 3000:3000 \
--add-host host.docker.internal:host-gateway \ --add-host host.docker.internal:host-gateway \
--name openhands-app \ --name openhands-app \
docker.openhands.dev/openhands/openhands:0.60 docker.openhands.dev/openhands/openhands:0.61
``` ```
</details> </details>

View File

@@ -12,7 +12,7 @@ services:
- SANDBOX_API_HOSTNAME=host.docker.internal - SANDBOX_API_HOSTNAME=host.docker.internal
- DOCKER_HOST_ADDR=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} - SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234}
- WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace} - WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace}
ports: ports:

View File

@@ -7,7 +7,7 @@ services:
image: openhands:latest image: openhands:latest
container_name: openhands-app-${DATE:-} container_name: openhands-app-${DATE:-}
environment: 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 #- 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} - WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace}
ports: ports:

View File

@@ -1,12 +1,12 @@
{ {
"name": "openhands-frontend", "name": "openhands-frontend",
"version": "0.60.0", "version": "0.61.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "openhands-frontend", "name": "openhands-frontend",
"version": "0.60.0", "version": "0.61.0",
"dependencies": { "dependencies": {
"@heroui/react": "^2.8.4", "@heroui/react": "^2.8.4",
"@heroui/use-infinite-scroll": "^2.2.11", "@heroui/use-infinite-scroll": "^2.2.11",

View File

@@ -1,6 +1,6 @@
{ {
"name": "openhands-frontend", "name": "openhands-frontend",
"version": "0.60.0", "version": "0.61.0",
"private": true, "private": true,
"type": "module", "type": "module",
"engines": { "engines": {

View File

@@ -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 2. **Runtime Container Image**: Specify the container image to use for the runtime environment
```toml ```toml
[sandbox] [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 #### Additional Kubernetes Options

47
poetry.lock generated
View File

@@ -7329,13 +7329,15 @@ llama = ["llama-index (>=0.12.29,<0.13.0)", "llama-index-core (>=0.12.29,<0.13.0
[[package]] [[package]]
name = "openhands-agent-server" name = "openhands-agent-server"
version = "1.0.0a5" version = "1.0.0a6"
description = "OpenHands Agent Server - REST/WebSocket interface for OpenHands AI Agent" description = "OpenHands Agent Server - REST/WebSocket interface for OpenHands AI Agent"
optional = false optional = false
python-versions = ">=3.12" python-versions = ">=3.12"
groups = ["main"] groups = ["main"]
files = [] files = [
develop = false {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] [package.dependencies]
aiosqlite = ">=0.19" aiosqlite = ">=0.19"
@@ -7348,22 +7350,17 @@ uvicorn = ">=0.31.1"
websockets = ">=12" websockets = ">=12"
wsproto = ">=1.2.0" 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]] [[package]]
name = "openhands-sdk" name = "openhands-sdk"
version = "1.0.0a5" version = "1.0.0a6"
description = "OpenHands SDK - Core functionality for building AI agents" description = "OpenHands SDK - Core functionality for building AI agents"
optional = false optional = false
python-versions = ">=3.12" python-versions = ">=3.12"
groups = ["main"] groups = ["main"]
files = [] files = [
develop = false {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] [package.dependencies]
fastmcp = ">=2.11.3" fastmcp = ">=2.11.3"
@@ -7379,22 +7376,17 @@ websockets = ">=12"
[package.extras] [package.extras]
boto3 = ["boto3 (>=1.35.0)"] 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]] [[package]]
name = "openhands-tools" name = "openhands-tools"
version = "1.0.0a5" version = "1.0.0a6"
description = "OpenHands Tools - Runtime tools for AI agents" description = "OpenHands Tools - Runtime tools for AI agents"
optional = false optional = false
python-versions = ">=3.12" python-versions = ">=3.12"
groups = ["main"] groups = ["main"]
files = [] files = [
develop = false {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] [package.dependencies]
bashlex = ">=0.18" bashlex = ">=0.18"
@@ -7406,13 +7398,6 @@ libtmux = ">=0.46.2"
openhands-sdk = "*" openhands-sdk = "*"
pydantic = ">=2.11.7" 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]] [[package]]
name = "openpyxl" name = "openpyxl"
version = "3.1.5" version = "3.1.5"
@@ -16744,4 +16729,4 @@ third-party-runtimes = ["daytona", "e2b-code-interpreter", "modal", "runloop-api
[metadata] [metadata]
lock-version = "2.1" lock-version = "2.1"
python-versions = "^3.12,<3.14" python-versions = "^3.12,<3.14"
content-hash = "f55780dbb1931dcc442ef9d1f2198fa1c82e3b5881409953ac95de5501d5eeec" content-hash = "57ed6b7f4613e668fd1d0e10a21f7c915cdbb9c7b906a0b71a8ba222733c082d"

View File

@@ -6,7 +6,7 @@ requires = [
[tool.poetry] [tool.poetry]
name = "openhands-ai" name = "openhands-ai"
version = "0.60.0" version = "0.61.0"
description = "OpenHands: Code Less, Make More" description = "OpenHands: Code Less, Make More"
authors = [ "OpenHands" ] authors = [ "OpenHands" ]
license = "MIT" license = "MIT"
@@ -113,12 +113,12 @@ e2b-code-interpreter = { version = "^2.0.0", optional = true }
pybase62 = "^1.0.0" pybase62 = "^1.0.0"
# V1 dependencies # V1 dependencies
openhands-agent-server = { git = "https://github.com/OpenHands/software-agent-sdk.git", subdirectory = "openhands-agent-server", rev = "d5995c31c55e488d4ab0372d292973bc6fad71f1" } #openhands-agent-server = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-agent-server", rev = "be9725b459c0afabc18cfba89acf11dc756b42f0" }
openhands-sdk = { git = "https://github.com/OpenHands/software-agent-sdk.git", subdirectory = "openhands-sdk", rev = "d5995c31c55e488d4ab0372d292973bc6fad71f1" } #openhands-sdk = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-sdk", rev = "be9725b459c0afabc18cfba89acf11dc756b42f0" }
openhands-tools = { git = "https://github.com/OpenHands/software-agent-sdk.git", subdirectory = "openhands-tools", rev = "d5995c31c55e488d4ab0372d292973bc6fad71f1" } #openhands-tools = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-tools", rev = "be9725b459c0afabc18cfba89acf11dc756b42f0" }
#openhands-sdk = "1.0.0a5" openhands-sdk = "1.0.0a6"
#openhands-agent-server = "1.0.0a5" openhands-agent-server = "1.0.0a6"
#openhands-tools = "1.0.0a5" openhands-tools = "1.0.0a6"
python-jose = { version = ">=3.3", extras = [ "cryptography" ] } python-jose = { version = ">=3.3", extras = [ "cryptography" ] }
sqlalchemy = { extras = [ "asyncio" ], version = "^2.0.40" } sqlalchemy = { extras = [ "asyncio" ], version = "^2.0.40" }
pg8000 = "^1.31.5" pg8000 = "^1.31.5"