Skip to content

Release history

sandbox releases

All-in-One Sandbox for AI Agents that combines Browser, Shell, File, MCP and VSCode Server in a single Docker container.

All releases

18 shown

No immediate action
v1.9.3 New feature

Built-in AIO CLI + Bash execution + File Watch

v1.0.0.152 New feature
Notable features
  • AIO Sandbox evaluation framework with reports
  • Service disable capability via DISABLE_JUPYTER and DISABLE_CODE_SERVER
  • X-Forwarded-Prefix header support in /v1/browser/info
v1.0.0.151 Mixed
Notable features
  • Stateless /mcp requests eliminate the need for session initialization
  • AIO_SKILLS_PATH environment variable for mounting and registering Skills at startup with automatic dependency parsing
Full changelog
  • Fixed the issue where the homepage showed a 404 error after deploying AIO via a subpath.
  • Added the AIO_SKILLS_PATH environment variable to support mounting/registering Skills during service startup, while also parsing the installation commands for Skill dependencies.
  • /mcp now supports stateless requests, eliminating the need to call initialize first to establish a session.

  • 修复通过子路径部署 AIO 后,首页 404 无法展示问题
  • 新增AIO_SKILLS_PATH环境变量,支持服务启动时挂载/注册 Skills,同时解析出 Skill 依赖安装命令。
  • /mcp 支持无状态请求,无须先调用 initialize 来建立 Session
v1.0.0.150 Mixed
⚠ Upgrade required
  • Chrome DevTools MCP tools now hidden by default; accessible via /mcp?search=chrome_devtools parameter
Notable features
  • Claude Skills API: registration, mounting, retrieval, and deletion of custom skills in sandbox environment
  • QR code generation support
Full changelog
  • Optimized service startup time, reducing duration from 16s to 8s for 1c2g configuration, and from 11s to 4s for 2c4g configuration.
  • The system now supports registration, mounting, retrieval, and deletion of /v1/skills/*(API) Claude Skills. Users can upload and mount skills to the sandbox environment, integrating seamlessly with the existing Sandbox API.
  • The number of /mcp tools has been reduced (from 60 to 30). Methods from chrome-devtools-mcp are hidden by default but can be accessed via /mcp?search=chrome_devtools.
  • Added QR code generation qrcode dependency

  • 优化服务启动时长,1c2g 配置耗时从 16s → 8s,2c4g 从 11s → 4s
  • 新增 /v1/skills/*API) Claude Skills 注册/挂载/获取/删除,支持注册、挂载、查询与删除,可将 Skills 上传/挂载到沙箱环境,与现有 Sandbox API 结合使用。
  • /mcp tools 数量压缩(从 60 → 30) ,默认隐藏 chrome-devtools-mcp 工具方法,可通过 /mcp?search=chrome_devtools 使用;
  • 新增二维码生成 qrcode 依赖
v1.0.0.144 Mixed
⚠ Upgrade required
  • New system dependencies (ffmpeg, latex, graphics libraries) required for manim video generation features
Security fixes
  • --no-sandbox browser parameter removed to enhance security
Notable features
  • System dependencies added for ffmpeg, latex, and graphics rendering to support manim video generation
  • User-level executable directory ~/.local/bin appended to PATH
  • Code examples for AIO usage added
Full changelog
  • Fixed proxy log file could not be written
  • Append user-level executable directory '~/.local/bin' to'PATH '
  • Security enhancements, removal of browser '--no-sandbox' parameter
  • Added system dependencies related to ffmpeg, latex, and graphics rendering, which can be used to generate video animations using manim
  • Added some code examples used by AIO examples

  • 修复 proxy 日志文件无法写入问题
  • 追加用户级可执行目录 ~/.local/binPATH
  • 安全性增强,移除浏览器 --no-sandbox 参数
  • 增加 ffmpeg、latex、图形渲染相关的系统依赖,可使用 manim 于生成视频动画
  • 新增 AIO 使用的一些代码示例 examples
v1.0.0.143 Mixed
Notable features
  • Added pyecharts dependency with DejaVu Sans font support
Full changelog
  • Add pyecharts dependency and include the DejaVu Sans font.
  • Fixed error reported after container restart mv: No such file or directory

  • 增加 pyecharts 依赖,新增 DejaVu Sans 字体
  • 修复容器重启后报错 mv: No such file or directory 问题
v1.0.0.142 Mixed
Notable features
  • New timeout parameter for POST /v1/shell/exec (soft timeout behavior)
  • Fixed exec_dir not taking effect in shell execution
  • Fixed PROXY_SERVER environment variable not being applied
Full changelog
  • POST /v1/shell/exec
    • Add a timeout parameter, which triggers a soft exit on timeout (returns status: running)
    • Fix the issue where exec_dir (execution directory) was not taking effect.
  • POST /v1/shell/wait
    • Fix the inconsistency between the status and success return values for running tasks
  • Fix the problem where the browser proxy PROXY_SERVER environment variable was not taking effect

  • POST /v1/shell/exec
    • 增加 timeout 参数,超时软退出(返回 status: running
    • 修复 exec_dir(执行目录)无法生效的问题。
  • POST /v1/shell/wait
    • 修复运行中任务的 statussuccess 返回值不一致问题
  • 修复浏览器代理PROXY_SERVER环境变量不生效问题
v1.0.0.140 New feature
Notable features
  • Session-level Python code execution via `/v1/jupyter/sessions/create` with dynamic dependency installation
  • Runtime browser resolution configuration via `/v1/browser/config` endpoint and `DISPLAY_WIDTH`/`DISPLAY_HEIGHT` environment variables
  • Container startup time reduced from 11s to 5s on 2-core/4GB configurations
Full changelog
  • Added /v1/browser/config to set browser resolution at runtime, and also supports environment variables DISPLAY_WIDTH and DISPLAY_HEIGHT.
  • Added sandbox context information /v1/sandbox with structured data detail.
  • Added Python code execution to create a session_id via /v1/jupyter/sessions/create.
  • Optimized container service ready time; on low‑spec (2c4g) configurations, reduced from 11s → 5s.
  • Added a code_execute_example: Session‑level Python code execution, with command‑line dependency installation.

  • 新增 /v1/browser/config 在运行时设置浏览器分辨率,同时也支持环境变量DISPLAY_WIDTHDISPLAY_HEIGHT设置
  • 新增沙盒上下文信息/v1/sandbox 结构化数据 detail
  • 增加 Python 代码执行创建 session_id /v1/jupyter/sessions/create
  • 优化容器服务 ready 耗时,低配置(2c4g)下从 11s → 5s
  • 增加一个 code_execute_example 代码示例:Session 会话维度 Python 代码执行,同时命令行安装依赖
v1.0.0.139 Bugfix

Fixed deployment error with BROWSER_EXTRA_ARGS format string expansion.

v1.0.0.138 Mixed
Notable features
  • VolcEngine CLI (`ve`) integration support
  • Built-in PyPI dependencies: numpy, fastapi, scipy, xlsxwriter, seaborn, httpx, docx2txt, python-pptx, uvicorn, lxml
  • str_replace_editor `/v1/file/str_replace_editor` with `view` now returns original file content in `old_content`
Full changelog
  • Supports the VolcEngine CLI ve
  • Fixed the issue where ulimit could not be modified
  • Added built‑in PyPI dependencies: numpy, fastapi, scipy, xlsxwriter, seaborn, httpx, docx2txt, python-pptx, uvicorn, lxml
  • Fixed the problem of query parameters not being passed through on the /index.html Dashboard page
  • Fixed the file type error in str_replace_editor view markdown files
  • Fixed permission issues with tmux temporary directories
  • When using /v1/file/str_replace_editor with view, returns the original file content in old_content
  • Fixed the MCP Tool get_browser_info issue

  • 支持火山引擎 cli ve
  • 修复 ulimit 不可修改问题
  • 增加内置 pypi 依赖:numpy, fastapi, scipy, xlsxwriter, seaborn, httpx, docx2txt, python-pptx, uvicorn, lxml
  • 修复 /index.html Dashboard 页 query 参数不透传问题
  • 修复 str_replace_editor view markdown 文件类型错误问题
  • 修复 tmux 临时目录的权限问题
  • 支持 /v1/file/str_replace_editor 使用 view时在 old_content返回原始文件内容
  • 修复 MCP Tool get_browser_info 问题
v1.0.0.132 Breaking risk
Breaking changes
  • MCP Tools reduced from 27 to 10
Notable features
  • /v1/util/convert_to_markdown endpoint
  • OpenSSH client support
v1.0.0.128 Breaking risk
Breaking changes
  • browser.get_browser_info → browser.get_info
  • browser.take_screenshot → browser.screenshot
  • shell.view_shell → shell.view
Full changelog
  • Fixed the issue where the /v1/file/str_replace_editor interface could not undo edits (undo_edit).
  • [BreakChange] Simplified SDK method names and optimized the MCP tool name.
    • browser
      • browser.get_browser_infobrowser.get_info
      • browser.take_screenshotbrowser.screenshot
    • shell
      • shell.view_shellshell.view
    • code
      • code.infocode.get_info
      • nodejs.execute_nodejs_codenodejs.execute_code
      • nodejs.infonodejs.get_info
      • jupyter.execute_jupyter_codejupyter.execute_code
      • jupyter.infojupyter.get_info
    • sandbox
      • sandbox.get_sandbox_contextsandbox.get_context
      • sandbox.python_packagessandbox.get_python_packages
      • sandbox.nodejs_packagessandbox.get_nodejs_packages

  • 修复 /v1/file/str_replace_editor 接口无法撤销编辑 undo_edit的问题
  • [BreakChange] SDK 方法名简化变更,同时优化 MCP 工具名称
    • browser
      • browser.get_browser_infobrowser.get_info
      • browser.take_screenshotbrowser.screenshot
    • shell
      • shell.view_shellshell.view
    • code
      • code.infocode.get_info
      • nodejs.execute_nodejs_codenodejs.execute_code
      • nodejs.infonodejs.get_info
      • jupyter.execute_jupyter_codejupyter.execute_code
      • jupyter.infojupyter.get_info
    • sandbox
      • sandbox.get_sandbox_contextsandbox.get_context
      • sandbox.python_packagessandbox.get_python_packages
      • sandbox.nodejs_packagessandbox.get_nodejs_packages
v1.0.0.127 New feature
Notable features
  • `/v1/code/execute` endpoint for executing Python and Node.js code
  • Internal service port configuration via environment variable for runtime conflict avoidance
  • AIO MCP tool list optimization removing unnecessary tools
Full changelog
  • The internal service port is configured via an environment variable, allowing the startup port to be changed at runtime to avoid port conflicts. See the detailed variable names in docker-compose.yaml.
  • Added /v1/code/execute integration for executing Python and Node.js code.
  • Optimized the AIO MCP tool list by removing excessive unnecessary tools.
  • Upgraded chrome-devtools-mcp from 0.4 to 0.6.

  • 内部服务端口使用环境变量,可运行时修改启动端口,避免端口冲突。详细变量名见 docker-compose.yaml
  • 增加 /v1/code/execute 集成 Python、Node.js 代码执行
  • 优化 AIO MCP 工具列表,移除过多不必要的工具。
  • 升级 chrome-devtools-mcp 从 0.40.6
v1.0.0.126 Breaking risk
⚠ Upgrade required
  • Applications consuming /v1/ validation error responses must update error handling code to expect { "errors": [...], "data": null } structure
Breaking changes
  • /v1/ validation error response structure changed from { "data": [{ loc: ... }] } to { "errors": [{ loc: ... }], "data": null }
Notable features
  • Added `/mcp?search=` parameter to filter MCP servers by keyword (e.g., ?search=chrome_devtools)
Full changelog
  • [BreakChange] The data structure for validation errors in the /v1/ interface has changed from { "data": [{ loc: ... }] } to { "errors": [{ loc: ... }], "data": null }. @ycjcl868
  • Added support for filtering with /mcp?search=MCP Server, e.g., ?search=chrome_devtools will list only the Chrome DevTools MCP Server. @ycjcl868
  • Fixed an error that occurred when the /opt/gem/bashrc file existed by @HashWarlock

  • [BreakChange] /v1/ 接口在校验错误的数据结构由 { "data": [{ loc: ... }] } 变更为 { "errors": [{ loc: ... }], "data": null }
  • 支持 /mcp?search= MCP Server 过滤筛选功能,例如 ?search=chrome_devtools 则只列举 Chrome DevTools MCP Server。
  • 修复 /opt/gem/bashrc 文件存在时的报错。
v1.0.0.125 New feature
Notable features
  • Added chrome-devtools-mcp MCP tool with chrome_devtools_ prefixed endpoints
  • Shell API `/v1/shell/sessions/create` supports custom session ID generation rules
  • Sandbox startup speed optimized by ~1 second
Full changelog
  • Added chrome-devtools-mcp; any /mcp endpoint prefixed with chrome_devtools_ belongs to this MCP tool.
  • The Shell API /v1/shell/sessions/create now supports custom id generation rules for session_id.
  • Optimized sandbox startup speed, reducing the delay by roughly 1 second.

  • 新增 chrome-devtools-mcp/mcpchrome_devtools_ 前缀的都是该 MCP 工具
  • Shell API /v1/shell/sessions/create支持 id 自定义 session_id 生成规则
  • 优化沙盒启动速度,大概减少 1s 左右
v1.0.0.123 New feature

Adds MOVE_REL, DRAG_REL, WAIT actions to browser API and screenshot response headers with pixel dimensions.

Beta — feedback welcome: [email protected]