4efc4e8005
Python 3 has been unconditionally present since the Debian trixie upgrade (e58962a, Apr 13) — python3 3.13 ships as a transitive dependency of the trixie base image. python3-pip (e1029bb) and python3-venv (3a7ec45) were later added to the base layer on Apr 23 so Mason could install Python-based LSPs (ruff, ansible-lint) into venvs on nvim startup. MemPalace's pip install (b9c08c3) just piggybacks on what was already there. In other words, INSTALL_PYTHON=true has been a no-op reinstall of already-installed packages for two weeks before MemPalace existed. The flag is dead weight and the docs that advertise it as meaningful are misleading. Remove it everywhere. Users who want Python tooling should use the pre-installed uv/uvx.
170 lines
7.3 KiB
Markdown
170 lines
7.3 KiB
Markdown
# 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.
|
|
|
|
---
|
|
|
|
## Unreleased
|
|
|
|
- **Cleanup:** Remove dead `INSTALL_PYTHON` build arg. Python 3 + pip + venv have been unconditionally installed in the base layer since mempalace was added; the flag was a no-op. Users should use `uv` (pre-installed) or `uvx` for Python tooling.
|
|
|
|
## 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).
|
|
- **Feature:** Add official Gitea MCP server (`gitea-mcp`) to base image. Provides 50+ MCP tools for Gitea API (repos, issues, PRs, releases, Actions). Disabled by default — requires `GITEA_ACCESS_TOKEN` and `GITEA_HOST` env vars.
|
|
|
|
## 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.
|