> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yambr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Release history for Open Computer Use.

Live at [github.com/Yambr/open-computer-use/releases](https://github.com/Yambr/open-computer-use/releases) and [CHANGELOG.md](https://github.com/Yambr/open-computer-use/blob/main/CHANGELOG.md). Summary of recent breaking changes and noteworthy shifts:

## v4.x

* **v4.1.0** — `PREVIEW_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.example` — `PUBLIC_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

* [CHANGELOG.md](https://github.com/Yambr/open-computer-use/blob/main/CHANGELOG.md) — per-commit history
* [Releases](https://github.com/Yambr/open-computer-use/releases) — GitHub release notes with assets
