Skip to content

Releases: spin-stack/devcontainer-cli

Go CLI 20260713.01

Go CLI 20260713.01 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Jul 03:15

Dev Container CLI (Go)

This is the Go rewrite of the @devcontainers/cli. Supported platform: Linux (amd64, arm64).

Installation

Download the binary for your platform and add it to your PATH:

# Linux amd64
curl -Lo devcontainer.tar.gz https://github.com/spin-stack/devcontainer-cli/releases/download/v20260713.01/devcontainer_20260713.01_linux_amd64.tar.gz
tar xzf devcontainer.tar.gz
chmod +x devcontainer
sudo mv devcontainer /usr/local/bin/

# Linux arm64
curl -Lo devcontainer.tar.gz https://github.com/spin-stack/devcontainer-cli/releases/download/v20260713.01/devcontainer_20260713.01_linux_arm64.tar.gz
tar xzf devcontainer.tar.gz
chmod +x devcontainer
sudo mv devcontainer /usr/local/bin/

Changelog

Features

  • 65b78b8 feat(build): --secrets-file → build secrets de BuildKit (divergencia Go-only)
  • ef16b7b feat(build): cablear --docker-compose-path + ajustar 2 diferidos (RW-004/RW-005)
  • eed5a80 feat(build): cablear config.build.cacheFrom (campo muerto)
  • a37a721 feat(build): puente de credenciales del CLI hacia el subproceso docker build
  • 556fb24 feat(changelog): enhance changelog configuration with categorized groups and regex filters
  • 3d18593 feat(check): add SELinux enforcing preflight
  • c4245ff feat(cli): add devcontainer open to launch VS Code in the dev container
  • 6c57d01 feat(cli): add stop and down for workspace lifecycle
  • 676bd97 feat(cli): disambiguate multiple devcontainer.json configs by config_file
  • 3f527a3 feat(config): deep-merge de --override-config (divergencia de paridad aprobada)
  • 51d23aa feat(config): implement --mount-git-worktree-common-dir
  • d1f12c8 feat(coverage): add coverage tasks for E2E and parity contract, update README and .gitignore
  • 0ea5308 feat(coverage): add parity runtime and publish tasks, update README and Taskfile
  • f1a1d1b feat(docker): stream build/compose progress live instead of on exit
  • ab790e0 feat(doctor): comandos check/setup de diagnóstico del host
  • a9f2bee feat(features): make direct-tarball download match the TS CLI
  • 77d354b feat(features): publish reports version; add hermetic publish parity test
  • b8f20a9 feat(features): unificar el grafo de dependencias (RW-002) + override en install (RW-001)
  • 9df1f86 feat(http/cli): contexto+redirects en httpx.Do y tee de --log-file a archivo (RW-014)
  • 1e75c5d feat(image): distribuir el CLI como imagen OCI multi-arch (RW-016)
  • 389b796 feat(oci): RW-007/006/008 — retire dead index types, metadata interop, hermetic auth tests
  • 72d4edd feat(parity): implement sharding for parallel CI jobs and add tests for partitioning
  • 7db986e feat(read-configuration): --cache-key content-addressed (Go-only, aditivo)
  • f0774c5 feat(release): T7 pipeline Linux-only + tag workflow + perf metrics
  • 77975f5 feat(up): --cache-image para arrancar de imagen prebuildeada (Go-only)
  • eccb57f feat: enhance feature installation with transitive dependency resolution and cycle detection
  • 2f2ae79 feat: port upstream #1225 (Dockerfile metadata), #1078 (feature build secrets), #1241 (up --platform)
  • 2ed07f9 feat: resolve upstream bugs #8, #319, #876, #881

Bug fixes

  • 745781b fix(build): defer --output/--push to feature build for Dockerfile configs
  • 373f35a fix(build): omitir BUILDKIT_INLINE_CACHE=1 cuando --cache-to es inline
  • e5d5688 fix(build): preserve sibling .dockerignore on rename (#969)
  • 7d56d5e fix(build): registrar --no-lockfile/--frozen-lockfile públicos + mutua-exclusión
  • c8caff1 fix(ci): correct merged-coverage artifact path + log merged lanes
  • 911cefa fix(cli): 0.88 parity — workspace-folder defaults to cwd, error-path alignment
  • 232f2ac fix(cli): flags hidden/alias faltantes (paridad TS) — cierra hallazgos RW-013
  • 190bc20 fix(cli): restore up parity flags + gate the inventory against the oracle
  • 467b748 fix(config): omit workspaceMount consistency= on Linux (0.88)
  • 4a02ef0 fix(config): port upstream #1213 (colon defaults) and #1261 (worktree custom mount)
  • 64aeee3 fix(config): preserve portsAttributes.protocol and requireLocalPort (spec)
  • 87da481 fix(docker): default the base-image ARG in updateUID.Dockerfile (#1242)
  • ff07003 fix(dockerfile): unbound ARG shadowing ENV, and dockerfile:1 build-context support
  • 878e592 fix(features test): chmod -R 777 the test workspace (parity with TS)
  • 34474cc fix(features): _REMOTE_USER_HOME per-RUN and ${localEnv} in Feature metadata
  • 34e8af3 fix(features): consecutiveId = _ (paridad read-configuration)
  • e705ff0 fix(features): emit dependency mermaid graph for resolve-dependencies
  • e8a4abc fix(features): emit devcontainer-collection.json with preserved key order
  • e86774c fix(features): features test — cd into workspace, match TS report format
  • 4b8c756 fix(features): match TS features-info text rendering (box, tags, manifest order)
  • 67c065b fix(features): omit user/group names in packaged tarballs; document mtime limit
  • 4131c3a fix(features): package single-feature folder (product gap con TS)
  • 2f0e327 fix(features): parse local feature metadata as JSONC
  • c93a2a3 fix(features): resolve-dependencies defaults --workspace-folder to cwd (0.88)
  • 5eff5e7 fix(features): test imprime banner + error de src/test faltante en STDOUT
  • df20932 fix(features,templates): rewrite generate-docs to match TS byte-for-byte
  • c5c1420 fix(http): transporte compartido con proxy + CA uniforme en todos los paths
  • fffa6b3 fix(imagemeta): correct four metadata merge rules to match the spec
  • 4e354a4 fix(lifecycle): stop surfacing the userEnvProbe's benign shell stderr
  • d17abb8 fix(oci,ci): bound registry ops, fail-closed on tag-list errors, unskip OCI tests
  • 6c697e4 fix(oci,mounts,config): identity-token build auth, mount target subst, comma-path mount
  • 9093087 fix(outdated,upgrade): report concrete feature versions; add parity cases
  • 0c5a35c fix(parity): 3 divergencias TS↔Go destapadas por la auditoría de cobertura
  • eb34e19 fix(parity): 5 divergencias + 8 casos nuevos (wave A, batch 1)
  • 4963877 fix(parity): features info verbose emite Published Tags antes de Dependency Tree
  • fc7e231 fix(parity): fixture-path de los casos workspace-secrets (2 inconclusive → matched)
  • c9ae70d fix(release,packaging): prep Docker for release parity, fail-closed packaging, hermetic gitroot test
  • 7d9045e fix(security): enforce disallowed-features blocklist in up/build (0.88 parity)
  • 6c0f191 fix(security): guard feature tarball extraction against path traversal (zip-slip)
  • ae21fe9 fix(taskfile): ts:compile depende de ts:install (reference 0.88)
  • b46e1b4 fix(templates): metadata preserves source key order; cover templates publish/metadata
  • 628a140 fix(up): pull the Dockerfile base image before reading its metadata
  • bfc6f47 fix(upgrade,outdated): validar --feature/--target-version y paridad de la tabla text
  • b0973a6 fix: 0.88 parity — metadata label array, additional-features lockfile, cwd defaults, matrix TS path
  • 90a060c fix: apply --remove-existing-container before initializeCommand (#844) and --label on compose build (#930)
  • b72972b fix: three upstream bugs we reproduced (updateUID chown, cred-helper hang, dotfiles ~)

Internal improvements

  • 702b301 build: versionado CalVer YYYYMMDD.
  • f7f0cc4 ci(parity): emulación QEMU arm64 en el lane runtime
  • f05eaee ci(parity): scope runtime matrix to affected commands on PR, full run daily
  • c...
Read more