Skip to content

v1.13.0

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Aug 14:50

Fixed

  • exec into bash/sh used an 80-column TTY and overwrote the current line instead of wrapping. Stdin is fd 0, but size handling treated 0 as "unset", so the host window size was never applied. The host size is now set on create/attach, applied again after the process starts (with retries), and updated on SIGWINCH.
  • cp within the same container hung: the engine holds a filesystem lock for archive GET and PUT, so streaming the source into the destination on one container deadlocked. Same-container copies now drain the source archive (via a temp file) and close it before writing.

Added

  • upgrade: replace this binary with a newer GitHub release. No flags installs the latest stable tag when it is greater than the current version. --version=v1.2.4 pins a tag (refused when it is not greater). --version=devel follows the rolling main-branch pre-release and compares the remote commit (from the release body) to this binary's devel-<sha> so the same devel build is not downloaded again. --check reports without replacing (exit 3 if an update is available). CLI-only.
  • cp NAME:SRC DEST / cp SRC NAME:DEST / cp SRC_NAME:SRC DEST_NAME:DEST: copy files and directories between a managed container and the host, or between two managed containers (docker-cp semantics). Distinct containers stream a tar through the engine; same-container copies drain to a host temp file first to avoid an engine deadlock. Works on running or stopped containers. Flags: -a/--archive (preserve uid/gid when copying into a container), -L/--follow-link (follow a symlink at SRC_PATH), --overwrite (allow replacing a directory with a file in the container), -q/--quiet. - streams a tar archive to stdout or from stdin. The web terminal allows cp only when serve.exec.enabled is set; host-path copies are rejected there (stream with -, or copy container-to-container). Both containers must be in serve.exec.allowed when that list is set.