# Changelog All notable changes to the opencode-devbox container image. Tags follow `v{opencode_version}[letter]` — bare tag for the first build on a new opencode release, letter suffix (`b`, `c`, …) for container-level rebuilds on the same version. See [AGENTS.md](AGENTS.md#versioning-scheme) for details. --- ## v1.14.28b — 2026-04-27 - **Feature:** Add MemPalace local-first AI memory system to base image. Provides 29 MCP tools for semantic search over conversation history, knowledge graph queries, and agent diaries. Palace data persists via optional `devbox-palace` named volume, ChromaDB embedding model cache via `devbox-chroma-cache`. No API keys required. - **Feature:** Auto-register mempalace MCP server in generated opencode.json (when mempalace is installed and config is auto-generated from OPENCODE_PROVIDER). ## v1.14.28 — 2026-04-26 Bump opencode to 1.14.28. ## v1.14.25 — 2026-04-25 Bump opencode to 1.14.25. Also includes container-level changes since v1.14.22b: - Add `python3-pip` and `python3-venv` to base image (fixes Mason LSP installs). - Add `devbox-nvim-data` named volume for neovim plugin/Mason persistence. - Add `devbox-zoxide` named volume for zoxide directory history persistence. - Bake devbox-shell bridge line into `/etc/skel-devbox/.bash_aliases`. - Add CHANGELOG.md with full release history. ## v1.14.22b — 2026-04-23 **Fix Mason LSP installs, persist nvim data, devbox-shell bridge.** - **Fix:** Add `python3-pip` and `python3-venv` to base image. Mason creates a Python venv per LSP package and pip-installs into it; Debian trixie ships python3 without ensurepip, so venv creation failed and every Mason Python package (ruff, ansible-lint) errored on every nvim start. - **Feature:** Add `devbox-nvim-data` named volume at `~/.local/share/nvim` — Lazy plugin cache and Mason LSP installs now persist across `--force-recreate`. - **Feature:** Add `devbox-zoxide` named volume at `~/.local/share/zoxide` — zoxide directory history persists across recreates. - **Feature:** Bake the devbox-shell bridge line into `/etc/skel-devbox/.bash_aliases` — hosts using the `~/.config/devbox-shell/` directory-mount pattern get automatic sourcing without manual setup after recreate. ## v1.14.22 — 2026-04-23 Bump opencode to 1.14.22. ## v1.14.21 — 2026-04-23 **Opencode 1.14.21 + zoxide persistence + multi-user fixes.** - Bump opencode to 1.14.21. - Fix single-file bind-mount caveat: document the kernel-level inode issue (affects all platforms, not just Docker Desktop). - Pin project name in default `docker-compose.yml` — directory renames no longer orphan named volumes. - Fix volume collision in shared-machine compose: scope project name by `SIGNUM`. - Auto-detect OS username (`$USER`) for volume isolation in own-account mode. - Document the upgrade ritual for reconciling VM compose files. - Add multi-user setup pointer in DOCKER_HUB.md. ## v1.14.20b — 2026-04-21 **Fix `[devbox]` prompt marker lost on `exec bash`.** - The PS1 prefix guard used an exported env var that survived `exec bash`, but PS1 itself doesn't — so the new shell skipped adding the prefix. Replaced with a substring check on PS1 itself. - Clarify tag-letter convention in AGENTS.md: suffix is the build ordinal, `a` is never used. ## v1.14.20 — 2026-04-21 **Opencode 1.14.20 + PROMPT_COMMAND/zoxide fix.** - Bump opencode to 1.14.20. - Fix `PROMPT_COMMAND` collision with zoxide: `history -a;` followed by zoxide's `;__zoxide_hook` produced `;;` which bash rejected on every prompt. Moved history-flush after zoxide init, using newline separator. - Includes all v1.14.19c shell-defaults work (baked `.bash_aliases`/`.inputrc` via `/etc/skel-devbox/`, skel-copy on first run, `devbox-shell-history` named volume). ## v1.14.19d — 2026-04-21 *Superseded by v1.14.20 before building. Tagged but never built.* ## v1.14.19c — 2026-04-21 **Bash history persistence, shell defaults, GID auto-detect.** - **Feature:** Bash history persists across `--force-recreate` via `devbox-shell-history` named volume at `~/.cache/bash`. - **Feature:** Quality-of-life shell defaults shipped in `/etc/skel-devbox/` and copied to `~/` only if absent: prefix history search on Up/Down, 100k-entry timestamped dedup history, coloured case-insensitive tab completion, eza/bat aliases, zoxide/fzf integrations, `[devbox]` prompt marker. - **Feature:** Skel-copy pattern — host bind-mounts and in-container customizations are never overwritten on upgrade. - **Fix:** Entrypoint now detects workspace UID and GID independently. Hosts with UID 1000 but non-1000 GID (e.g. Debian's `useradd` default GID 1001) get correct group remapping. - **Docs:** SSH banner-timeout troubleshooting (CGNAT), shell defaults section, skel restore/diff commands. ## v1.14.19b — 2026-04-20 **Ownership fixes and config/docs refresh.** - **Fix:** Root-owned parent dirs left behind by nested named-volume mounts. Entrypoint now chowns `.local`, `.local/share`, `.local/state`, `.config` before leaf mount points. - **Fix:** `deploy/sync-to-vm.sh` no longer preserves host GIDs (`rsync -a` → `-rlptDz`). - Default model IDs refreshed (claude-sonnet-4-6, gpt-5.4, global Bedrock inference profile). - Documentation gates oh-my-opencode-slim references to the OMOS variant. ## v1.14.19 — 2026-04-20 Bump opencode to 1.14.19. ## v1.14.18 — 2026-04-19 Fix Bun download URL: remove non-existent LATEST file fetch. ## v1.4.17 — 2026-04-19 Bump opencode to v1.4.17, add `file` utility to base image. ## v1.4.12 — 2026-04-18 Bump opencode to v1.4.12. ## v1.4.11 — 2026-04-18 Bump opencode to v1.4.11. ## v1.4.7 — 2026-04-17 Bump opencode to v1.4.7. ## v1.4.6 — 2026-04-15 Bump opencode to v1.4.6. ## v1.4.3k — 2026-04-13 Fix Bedrock config: add `AWS_PROFILE` to generated config, add `.agents/skills` to volume ownership fix. ## v1.4.3j — 2026-04-13 Upgrade base image from Debian bookworm to trixie (current stable). Bookworm EOL June 2026; trixie supported until 2028/LTS 2030. ## v1.4.3i — 2026-04-12 Add rustup for on-demand Rust support, document JS/TS development. ## v1.4.3h — 2026-04-12 Add uv package manager to base image for on-demand Python support. ## v1.4.3g — 2026-04-12 Fix IPv6 connectivity failures: force IPv4 preference in CI builds. ## v1.4.3f — 2026-04-11 Add error handling to Docker Hub description update step. ## v1.4.3e — 2026-04-10 Fix CVEs: install git-lfs from GitHub (Go 1.25), document Go versions for gosu/fzf. ## v1.4.3d — 2026-04-10 Fix CVEs: install gosu 1.19 and fzf 0.71.0 from GitHub releases instead of Debian packages. ## v1.4.3c — 2026-04-10 Fix CVEs: install gosu from GitHub release instead of Debian package (Go 1.19.8 → current). ## v1.4.3b — 2026-04-10 Fix entrypoint crash on read-only SSH mount. ## v1.4.3 — 2026-04-10 Bump opencode to 1.4.3. ## v1.4.2 — 2026-04-10 Initial release. Fix CI: use vars for username, secrets for token.