You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
images [name...] — positional arguments now filter images by name or tag substring.
NO_COLOR environment variable is now honoured in addition to --no-color.
images, volumes, networks, and prune no longer require a stack.yaml to be present. The runtime is determined from --runtime/--socket flags (defaulting to Docker). If a stack file is found it is still used for runtime/socket settings; images --unused and prune --images will also cross-reference stack declarations when a file is present.
Web terminal now supports color themes: dark (default), light, and auto (follows system prefers-color-scheme). A toggle button (◐/☾/☼) is available in the top bar; the choice is persisted in localStorage and applies to the terminal (xterm), editor (CodeMirror), and login page.
Fixed
Critical:containerctl.config-hash labels were non-deterministic for any container using env: or labels: (map key iteration order in JSON). This caused unnecessary container recreation on every apply after a tool restart. Hash computation is now stable across runs.
Container names were missing from tab completion in the web terminal (regression after syntax highlighting was added). Internal status --output json calls used for completion now always receive clean JSON.
Expired or invalid sessions on long-lived WebSocket connections (terminal, exec, logs) now properly redirect the browser to /login?error=expired with a clear message instead of showing a stuck error.
Changed
--output flag default value changed from text to console (-o console|json|yaml). The behaviour is identical; console better describes the formatted table output.
check-update renamed to update — shorter and less redundant (it already implies checking).
upgrade renamed to repull — unambiguous: force-pulls the image and recreates the container without consulting the config hash.
stop, start, restart Use strings updated to <name...> | --all to make it clear that at least one name or --all is required.
restart Short description updated to "Recreate containers from current config (stop, remove, create, start)".
start Short description updated to "Start stopped containers without reconciling".
stop Short description updated to "Stop containers; they stay on disk and restart on next apply".
logs --tail default changed from 0 to -1; semantics are now -1 = all lines (default), 0 = no lines, N = last N lines. Previously 0 meant all, which was counter-intuitive.
--interval on status now returns an error when used without --watch.
prune Short and Long descriptions now say "host-wide" to make clear the command is not project-scoped.
volumes --size description leads with the cost ("triggers a daemon-side scan; may be slow") rather than burying it.
serve --address description now includes usage examples (:8080 or 127.0.0.1:9090).
Removed phantom --verbose / -v flag (was registered but never acted on).
Web terminal help text and command allowlist updated to reflect renames (check-update → update, upgrade → repull).
Web terminal UI/UX improvements: active stack filename now shown in top bar, better initial spacing, improved focus styles, reconnect link on disconnect, more informative login error messages (including session expiry), and various polish.