-
v1.14.19c — bash history persistence, shell defaults, GID auto-detect
released this
2026-04-21 19:47:16 +02:00 | 117 commits to main since this releaseContainer-level release on top of opencode 1.14.19.
Features
- Bash history now persists across 'docker compose up --force-recreate'
via a new named volume 'devbox-shell-history' mounted at ~/.cache/bash.
HISTFILE points there; no setup required. - Quality-of-life shell defaults are shipped in /etc/skel-devbox/ and
copied to ~/ only if absent. Gives new containers prefix history
search on Up/Down, 100k-entry timestamped dedup history, coloured
case-insensitive tab completion, 'ls'/'cat' aliased to eza/bat,
zoxide and fzf integrations, and a [devbox] prompt marker. - Host bind-mounts or in-container customizations are never overwritten
on upgrade — the entrypoint copies from skel only when the target
file does not already exist. Defaults remain discoverable at
/etc/skel-devbox/ for anyone who wants to diff or reset.
Fixes
- entrypoint.sh now detects workspace UID and GID independently. If the
host user has UID 1000 but a non-1000 primary group (e.g. GID 1001
from useradd), the container's developer group is remapped correctly
instead of leaving files with a numeric GID the container can't
resolve.
Docs
- deploy/README.md gained a Troubleshooting section on SSH banner-timeout
symptoms caused by residential CGNAT (Tele2, Comhem, Telia) and the
ControlMaster fix that eliminates them. - README.md and DOCKER_HUB.md document the new Shell defaults section
and the /etc/skel-devbox/ restore/diff commands.
Upgrade safety
- All host bind-mounts (~/.config/opencode, ~/.aws, ~/.ssh, workspace)
untouched. - Existing named volumes (devbox-data, devbox-state, devbox-uv,
devbox-vscode) preserved. - Bash history in the container writable layer is lost on recreate as
always, but going forward the new devbox-shell-history volume makes
future history survive recreation.
Downloads
- Bash history now persists across 'docker compose up --force-recreate'