Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: devcontainers/features
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: coderhammer/features
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 555 files changed
  • 1 contributor

Commits on Jun 17, 2026

  1. fix(docker-in-docker): resolve buildx/compose versions via verified R…

    …eleases API
    
    Upstream resolves "latest" for buildx, docker-compose, and compose-switch via
    git ls-remote --tags, then optimistically downloads an asset named after that
    tag. This breaks whenever the repo pushes a tag (or CI snapshot/RC tag) before
    publishing a matching release asset under the expected filename — which is
    exactly what happened with docker/buildx v0.35.0 / v0.35.0-rc1/-rc2 (assets
    named by commit hash instead of version), 404ing the whole feature install.
    
    Replace this with resolve_stable_release_with_asset(): walks the GitHub
    Releases API, skips prereleases/drafts, and verifies each candidate's asset
    actually exists via HEAD request before committing to it, falling back
    through older stable releases as needed.
    
    Pruned to docker-in-docker only; dropped unrelated CI workflows.
    coderhammer committed Jun 17, 2026
    Configuration menu
    Copy the full SHA
    a46e1a7 View commit details
    Browse the repository at this point in the history
  2. fix: global substitution in resolve_stable_release_with_asset

    Used \${var/pattern/repl} (first match only) instead of \${var//pattern/repl}
    (global). The buildx asset template contains {version} twice
    (v{version}/buildx-v{version}...), so the second occurrence stayed literal,
    breaking every candidate URL and exhausting the whole release list before
    failing. Verified all three call sites (buildx, compose, compose-switch)
    resolve correctly now.
    coderhammer committed Jun 17, 2026
    Configuration menu
    Copy the full SHA
    0fea497 View commit details
    Browse the repository at this point in the history
Loading