Skip to main content
Live at github.com/Yambr/open-computer-use/releases and CHANGELOG.md. Summary of recent breaking changes and noteworthy shifts:

v4.x

  • v4.1.0PREVIEW_MODE="artifact" and "both" removed. outlet() no longer emits a fenced <iframe> block; only the markdown preview link + fix_preview_url_detection patch. Saved "artifact" / "both" Valve values now fail Pydantic validation — re-seed after upgrade.
  • v4.0.0 — Public-URL ownership moved to the server. The Open WebUI filter lost FILE_SERVER_URL and SYSTEM_PROMPT_URL Valves — replaced by a single ORCHESTRATOR_URL Valve (internal) plus the X-Public-Base-URL response header. The tool’s FILE_SERVER_URL Valve was renamed to ORCHESTRATOR_URL. init.sh re-seeds the new names.

v3.x

  • v3.4.0 — Removed the three legacy v3.2.0 boolean Valves (ENABLE_PREVIEW_ARTIFACT, ENABLE_PREVIEW_BUTTON, ENABLE_ARCHIVE_BUTTON) and their migration bridge. PREVIEW_MODE and ARCHIVE_BUTTON are the only knobs.
  • v3.3.0 — Collapsed three boolean Valves into two Literal Valves (PREVIEW_MODE, ARCHIVE_BUTTON). Transparent migration via @model_validator(mode="after").
  • v3.2.0 — Added ENABLE_PREVIEW_ARTIFACT (default True), ENABLE_PREVIEW_BUTTON (default False), and PREVIEW_BUTTON_TEXT Valves. outlet() began emitting an inline iframe artifact alongside the archive button.
  • v3.1.0 — Removed the hardcoded ~460-line system prompt f-string; server became the single source of truth. HTTP fetch + LRU cache + stale-cache fallback. SYSTEM_PROMPT_URL Valve (removed in v4.0.0); non-http(s) schemes rejected.
  • v3.0.2 — Last hardcoded-prompt revision.

Upgrade notes

From < v4.0.0
  1. Re-read .env.examplePUBLIC_BASE_URL is now the single source of truth for the public URL.
  2. Re-seed Valves: docker compose -f docker-compose.webui.yml exec open-webui rm /app/backend/data/.computer-use-initialized then restart the container.
  3. Rebuild the patched Open WebUI image if you changed COMPUTER_USE_SERVER_URL — it’s a build arg, compiled into minified Svelte chunks; not read at runtime.
From < v4.1.0
  1. If you had PREVIEW_MODE="artifact" or "both" saved, Pydantic will now reject it — delete the value from the function’s Valves and let it default to "button".
  2. Expect slightly different chat rendering: the preview is now a single markdown link (stock) or auto-iframe (patched), never a raw code fence.

Canonical source