------------------------------------------------------------------- Fri Dec 19 08:17:00 UTC 2025 - Johannes Kastl - Update to version 5.0.1: * Fixes - Restored support for COMPOSE_COMPATIBILITY by @ndeloof in #13424 - Fixed grammatical errors and improve clarity in code. by @xiaolinny in #13429 - Fixed broken run --quiet. by @ndeloof in #13430 - Fixed SDK example by @ndeloof in #13416 - Added a check buildx version is set before comparing it. by @yangfeiyu20102011 in #13415 - Fixed grammar: pluralize 'service' and remove apostrophes in lets. by @rashmivagha in #13423 - Fixed progress UI not restoring terminal once operation completes. by @ndeloof in #13439 - Fixed status alignment in progress UI. by @ndeloof in #13438 - Restored image layer download progress details on pull. by @ndeloof in #13445 - Added 'configured' event at the end of model configuration phase. by @glours in #13446 - Introduced a build tag to select watcher implementation. by @ndeloof in #13452 - Removed mention for v2 on README. by @alexislefebvre in #13451 - Fixed missing error handling in setEnvWithDotEnv. by @htoyoda18 in #13450 - Adopted morikuni/aec library over raw ANSI sequences. by @ndeloof in #13440 - Prevented incorrect progress metrics to break compose display. by @ndeloof in #13457 - Restored support for BUILDKIT_PROGRESS. by @ndeloof in #13455 - Added check model plugin is successfully loaded. by @ndeloof in #13464 - Added a warning when no service has been selected to build. by @ndeloof in #13467 * Dependencies - Drop Go min patch version by @austinvazquez in #13418 - bump golang 1.24.11 by @austinvazquez in #13417 - bump osxcross by @ndeloof in #13425 - bump golang.org/x/sys from 0.38.0 to 0.39.0 by @dependabot[bot] in #13433 - bump github.com/docker/cli-docs-tool from 0.10.0 to 0.11.0 by @dependabot[bot] in #13437 - bump golang.org/x/sync from 0.18.0 to 0.19.0 by @dependabot[bot] in #13434 - bump tags.cncf.io/container-device-interface from 1.0.1 to 1.1.0 by @dependabot[bot] in #13441 - bump github.com/moby/buildkit from 0.26.2 to 0.26.3 by @dependabot[bot] in #13462 ------------------------------------------------------------------- Wed Dec 10 19:23:17 UTC 2025 - Alexandre Vicenzi - Fix missing version (boo#1254726) ------------------------------------------------------------------- Fri Dec 05 07:53:59 UTC 2025 - Johannes Kastl - Update to version 5.0.0: https://github.com/docker/compose/releases/tag/v5.0.0 Why "v5" ? We decided to skip 3.0.0 for next major release after docker Compose v2 to prevent (more) confusion with the obsolete docker-compose file versions 2.x and 3.x inherited from Docker Compose v1. We also skipped 4.0.0 to have a clear separation with this legacy. * Major changes in this release: - Compose can now officially be used as a SDK to be integrated into third-party softwares - Internal builder has been removed, build is delegated to Docker Bake (same as docker build command) * Improvements - drop support for internal buildkit builder by @ndeloof in #13056 - Setup Compose service using functional parameters by @ndeloof in #13312 - Introduce abstractions to support SDK usage without requiring Docker CLI by @glours in #13313 - configure Compose service with io.Reader and io.Writer by @glours in #13322 - Make progress Writer a CLI component by @ndeloof in #13316 - SDK docs by @ndeloof in #13350 - document support for OCI and Git remote resources by @ndeloof in #13362 - run hooks on restart by @ndeloof in #13321 - fix(run): Ensure images exist only for the target service in run command by @idsulik in #13325 - Add load project to api definition by @glours in #13329 - introduce --insecure-registry, reserved for testing purpose by @ndeloof in #13355 - Move progress package to cmd as a command line component by @ndeloof in #13357 - Added support for build.no_cache_filter by @ndeloof in #13377 - add --wait option to start command by @ndeloof in #13409 * Fixes - fix OCI compose override support by @ndeloof in #13311 - Fix help output for "exec --no-tty" option by @tonyo in #13314 - fix typo in error message by @stasadev in #13328 - disable progress UI when build is ran with --print by @ndeloof in #13351 - add (restore) support for detach keys by @ndeloof in #13369 - images command should display image Created time or N/A if not available by @ndeloof in #13376 - Fix support for port range by @ndeloof in #13381 - skip includes preparing publish by @ndeloof in #13400 - feat(model): ignore runtime flags in model configuration by @ilopezluna in #13404 * Internal - Next release will be major version v5.x by @ndeloof in #13375 - Test to check writeComposeFile detects invalid OCI artifact by @ndeloof in #13309 - Code Cleanup by @ndeloof in #13315 - fix various linting issues by @thaJeztah in #13326 - Making the American/British spellings consistent to the error messages by @JLesDev in #13366 - gha: test against docker v29, v28, and rename checks to use stable, oldstable by @thaJeztah in #13380 - refactor: replace Split in loops with more efficient SplitSeq by @vicerace in #13393 - refactor: use strings.Builder to improve performance by @liuyueyangxmu in #13398 - Fix grammar: change 'adopted' to 'adopt' in Docker Swarm note by @rashmivagha in #13407 - golangci-lint: use gci formatter instead of goimports by @thaJeztah in #13406 - refactor: replace interface{} with any for clarity and modernization by @zjumathcode in #13411 * Dependencies - Bump compose go to v2.10.0 by @ndeloof in #13410 - build(deps): bump github.com/containerd/platforms from 1.0.0-rc.1 to 1.0.0-rc.2 by @dependabot[bot] in #13353 - build(deps): bump github.com/docker/docker from 28.5.1+incompatible to 28.5.2+incompatible by @dependabot[bot] in #13361 - build(deps): bump github.com/containerd/containerd/v2 from 2.1.4 to 2.2.0 by @dependabot[bot] in #13358 - build(deps): bump github.com/docker/cli from 28.5.1+incompatible to 28.5.2+incompatible by @dependabot[bot] in #13360 - build(deps): bump golang.org/x/sys from 0.37.0 to 0.38.0 by @dependabot[bot] in #13367 - build(deps): bump golang.org/x/sync from 0.17.0 to 0.18.0 by @dependabot[bot] in #13368 - Dockerfile: update golangci-lint to v2.6.2 by @thaJeztah in #13370 - build(deps): bump buildx v0.30.0, buildkit v0.26.0, otel v1.38.0, otel/contrib v0.63.0 by @thaJeztah in #13379 - bump dependencies by @ndeloof in #13392 - build(deps): bump github.com/hashicorp/go-version from 1.7.0 to 1.8.0 by @dependabot[bot] in #13403 - build(deps): bump golang.org/x/crypto v0.45.0 by @thaJeztah in #13405 ------------------------------------------------------------------- Sun Nov 02 06:45:19 UTC 2025 - Johannes Kastl - Update to version 2.40.3: * Fixes - Fix OCI compose override support by @ndeloof #13311 - Fix help output for "exec --no-tty" option by @tonyo #13314 - Prompt default implementation to prevent a panic by @ndeloof #13317 - Run hooks on restart by @ndeloof #13321 - Fix(run): Ensure images exist only for the target service in run command by @idsulik #13325 - Fix(git): Fix path traversal vulnerability in git remote loader by @idsulik #13331 * Internal - Test to check writeComposeFile detects invalid OCI artifact by @ndeloof #13309 - Code Cleanup by @ndeloof #13315 * Dependencies - Bump compose-go to version v2.9.1 by @glours #13332 ------------------------------------------------------------------- Thu Oct 23 05:49:01 UTC 2025 - Johannes Kastl - Update to version 2.40.2: * publish env_file references as opaque hash to prevent paths conflicts * Enforce compose files from OCI artifact all get into the same target (cache) folder * introduce WithPrompt to configure compose backend to use a plugable UI component for user interaction * test digest or canonical reference, not only tag, when checking if an image is already present * remove unused code to only rely on api.Service * fail build if minimal required version of buildx isn't installed * Compose can't create a tar with adequate uid:gid ownership as we can't get container UID/GID as int by ContainerInspect revert https://github.com/docker/compose/pull/13288 ------------------------------------------------------------------- Sat Oct 18 06:06:58 UTC 2025 - Johannes Kastl - Update to version 2.40.1: * Fixes - Write error to watcher error channel if Start() fails by @Trolldemorted in #13263 - Fix: set PWD only if not set by @kianelbo in #13268 - bake only interpolates ${*} by @ndeloof in #13270 - Fix: make "publish" push all compose files addressed in "extends" statements when using "profiles". by @ogoulpeau-ledger in #13277 - Support Ctrl+Z to run compose in background by @ndeloof in #13289 - Fix race-condition bug in publish command by @paul-kinexon in #13291 - Set secret/config uid:gid to match container's USER by @ndeloof in #13288 - Fix failure to delegate build with bake by @ndeloof in #13275 - Make CTRL+Z a no-op operation on Windows by @glours in #13293 * Internal - pkg/compose: align classic builder implementation with docker/cli by @thaJeztah in #13278 - pkg/compose: build with bake: drop support for buildx v0.16 and lower by @thaJeztah in #13280 - Use fixed version of compose bridge transformer images by @glours in #13284 * Dependencies - Build(deps): bump github.com/docker/docker from 28.5.0+incompatible to 28.5.1+incompatible by @dependabot[bot] in #13274 - Build(deps): bump github.com/docker/cli from 28.5.0+incompatible to 28.5.1+incompatible by @dependabot[bot] in #13273 - Build(deps): bump golang.org/x/sys from 0.36.0 to 0.37.0 by @dependabot[bot] in #13272 - Build(deps): bump docker/buildx v0.29.1, moby/buildkit v0.25.1 by @thaJeztah in #13279 - Bump golang to version 1.24.9 by @glours in #13285 ------------------------------------------------------------------- Fri Oct 03 16:19:05 UTC 2025 - Johannes Kastl - Update to version 2.40.0: * Improvements - publish Compose application as compose.yaml + images by @ndeloof in #13257 * Fixes - resolve secrets based on env var before executing bake by @ndeloof in #13237 - pass bake secrets by env by @ndeloof in #13249 - escape $ in bake.json as interpolation already has been managed by cpmpose by @ndeloof in #13259 * Internal - pkg/compose: remove uses of deprecated mitchellh/mapstructure module by @thaJeztah in #13239 - pkg/watch: remove unused IsWindowsShortReadError by @thaJeztah in #13052 - pkg/compose: build: remove permissions warning on Windows by @thaJeztah in #13236 - pluginMain: remove uses of DockerCLI.Apply by @thaJeztah in #13240 - use containerd registry client by @ndeloof in #13245 - provider services: use '--project-name=' notation by @glours in #13250 - gha: update test-matrix: remove docker 26.x by @thaJeztah in #13254 - pkg/compose: explicitly map AuthConfig fields instead of a direct cast by @thaJeztah in #13253 - cmd/compose: fix minor linting issues by @thaJeztah in #13252 - use containerd client for OCI operations by @ndeloof in #13251 * Dependencies - build(deps): bump github.com/docker/docker, docker/cli v28.5.0-rc.1 by @thaJeztah in #13241 - build(deps): bump github.com/docker/docker from 28.5.0-rc.1+incompatible to 28.5.0+incompatible by @dependabot[bot] in #13260 - build(deps): bump github.com/docker/cli from 28.5.0-rc.1+incompatible to 28.5.0+incompatible by @dependabot[bot] in #13261 ------------------------------------------------------------------- Fri Sep 19 11:23:39 UTC 2025 - Johannes Kastl - Update to version 2.39.4: * Improvements - Add support of develop.watch.initial_sync attribute by @glours in #13232 * Fixes - Volume ls command can run without a project by @ndeloof in #13221 - Fix support for build with bake when target docker endpoint requires TLS by @ndeloof in #13231 - Disable Tty if run command started from a piped command by @glours in #13233 * Internal - Test: Set stop_signal to SIGTERM by @ricardobranco777 in #13214 * Dependencies - Bump compose-go to version v2.9.0 by @glours in #13234 ------------------------------------------------------------------- Thu Sep 18 08:25:36 UTC 2025 - Johannes Kastl - Update to version 2.39.3: * Improvements - Add completions for the --progress flag by @m4rch3n1ng in #13158 * Fixes - Add --provenance and --sbom flag to generated bake command line, by @glours in #13147 - Fix runtime operations failing when env file is missing by @maxproske in #13156 - Check the assume yes publish flag command before the presence of bind mounts by @glours in #13151 - Fix: incorrect time when last tag time is not set by @kianelbo in #13171 - Fix sigint/sigterm support in logs --follow by @ndeloof in #13193 - Prefer application container vs one-off running exec without index by @ndeloof in #13178 - Only force plain mode build if progress is set to auto by @ndeloof in #13181 - Only propagate os.Env to bake, not the whole project.Environment by @ndeloof in #13180 - Detect container is restarted by @ndeloof in #13210 - Fix run --build support for service:* reference in additional_context by @ndeloof in #13183 - Detect compose run wit --host and set DOCKER_HOST accordingly running bake by @ndeloof in #13182 * Internal - Refactor to use maps.Copy by @cuiweixie in #13174 - Replace most uses of hashicorp/go-multierror for stdlib by @thaJeztah in #13176 - pkg/compose: composeService.Up: rewrite without go-multierror by @thaJeztah in #13177 - Use enum-consts for State and Health by @thaJeztah in #13186 - Unquote volume names in creation events by @rrjjvv in #13188 - pkg/compose: use state consts from moby API by @thaJeztah in #13216 - Document (hidden) --tty --interactive flags by @ndeloof in #13201 * Dependencies - go.mod: github.com/docker/buildx v0.27.0 by @thaJeztah in #13170 - Build(deps): bump go.uber.org/mock from 0.5.2 to 0.6.0 by @dependabot[bot] in #13162 - go.mod: bump buildkit v0.24.0-rc1, buildx v0.28.0-rc1 by @thaJeztah in #13185 - Build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 by @dependabot[bot] in #13184 - go.mod: bump buildx v0.28.0-rc2, buildkit v0.24.0-rc2 by @thaJeztah in #13197 - Build(deps): bump github.com/spf13/pflag from 1.0.7 to 1.0.9 by @dependabot[bot] in #13195 - Build(deps): bump github.com/spf13/cobra from 1.9.1 to 1.10.1 by @dependabot[bot] in #13198 - go.mod: bump github.com/docker/docker, docker/cli v28.4.0 by @thaJeztah in #13168 - Build(deps): bump github.com/docker/buildx from 0.28.0-rc2 to 0.28.0 by @dependabot[bot] in #13207 - Build(deps): bump github.com/spf13/pflag from 1.0.9 to 1.0.10 by @dependabot[bot] in #13200 - Bump golang to version 1.24.7 by @glours in #13219 - Build(deps): bump golang.org/x/sync from 0.16.0 to 0.17.0 by @dependabot[bot] in #13218 - Build(deps): bump golang.org/x/sys from 0.35.0 to 0.36.0 by @dependabot[bot] in #13217 - Bump compose-go to version v2.8.2 by @glours in #13220 ------------------------------------------------------------------- Sun Aug 10 07:35:25 UTC 2025 - Johannes Kastl - Update to version 2.39.2: * Fixes - Fix (regression): compose build render build output with tty support by @ndeloof in #13107 - Add missing "_MODEL suffix" to model variable pass to dependent services of a model by @glours in #13109 - Apply BUILDKIT_PROGRESS value when building with bake by @glours in #13110 - Define pull and no_cache from either service or flags values when building with bake by @glours in #13133 - Only monitor attached services on up command by @glours in #13114 * Internal - Add Streams Comment by @suwakei in #13103 - Add test of json.go by @suwakei in #13106 - Refactoring of redundant condition checks by @suwakei in #13104 - Eliminated magic string by @suwakei in #13105 - Use log API for containers we didn't attached to by @ndeloof in #13111 - Use cli-plugins/metadata package by @thaJeztah in #13130 - pkg/compose: simplify getting auth-config key by @thaJeztah in #13120 - Add go as a prerequisite in build instructions by @mattrunyon in #13131 * Dependencies - Build(deps): bump github.com/docker/cli from 28.3.2+incompatible to 28.3.3+incompatible by @dependabot[bot] in #13116 - Build(deps): bump github.com/docker/docker from 28.3.2+incompatible to 28.3.3+incompatible by @dependabot[bot] in #13115 - Build(deps): bump github.com/containerd/containerd/v2 from 2.1.3 to 2.1.4 by @dependabot[bot] in #13119 - Build(deps): bump github.com/docker/go-connections from 0.5.0 to 0.6.0 by @dependabot[bot] in #13137 - Build(deps): bump golang.org/x/sys from 0.34.0 to 0.35.0 by @dependabot[bot] in #13138 - Bump golang to 1.23.12 by @austinvazquez in #13142 ------------------------------------------------------------------- Fri Jul 25 04:58:08 UTC 2025 - Johannes Kastl - Update to version 2.39.1: * Internal - Add info about models usage to OpenTelemetry spans by @glours in #13094 * Dependencies - Bump compose-go to v2.8.1 by @glours in #13096 ------------------------------------------------------------------- Thu Jul 24 10:28:45 UTC 2025 - Johannes Kastl - Update to version 2.39.0: * Improvements - Add --since & --until flags to events command by @jarqvi in #13030 - Feat(os): add FreeBSD support by @atagtm in #13036 - Add --models flag to config command by @jarqvi in #13022 - Warn user COMPOSE_BAKE=false is deprecated by @ndeloof in #13065 - Simpler stop UI by @ndeloof in #13064 - Introduce build provenance and sbom attributes support by @ndeloof in #13067 - Show build progress during watch rebuild by @ndeloof in #13059 * Fixes - Add dry-run support to bake build by @glours in #13042 - Keep containers attached on stop to capture termination logs by @ndeloof in #13010 - Add default compose labels to images built from bake by @glours in #13049 - Fix report image name in bake result by @principis in #13047 - Don't run navigation menu if stdin isn't a terminal by @ndeloof in #13054 - Monitor must watch events even when context is cancelled by @ndeloof in #13062 - Force plain display mode if stdout isn't a terminal by @ndeloof in #13074 - Do not pass user id on Windows system as engine is not able to handel it by @glours in #13080 - Forward git command error to user by @ndeloof in #13084 - Use output registry when push true and load to docker store if not by @glours in #13085 * Internal - Add a space character to separate the timestamp from the log message by @xduugu in #13038 - Fix the Helm bridge e2e tests after the latest update of the templates by @glours in #13053 - Introduce monitor to manage containers events and application termination by @ndeloof in #12906 - Abstract model-cli commands execution with a model (pseudo) API by @ndeloof in #13051 - Swarm by @ndeloof in #13071 - Remove uses of moby/errdefs by @thaJeztah in #13076 - Use local copy of pkg/system.IsAbs by @thaJeztah in #13075 - Optimize ansiColorCode by replacing fmt.Sprintf with strings.Builder by @suwakei in #13091 - Eliminate magic number in init functions by @suwakei in #13090 - Integration of SetAttributes calls by @suwakei in #13089 * Dependencies - Bump engine and cli to v28.3.2 by @ndeloof in #13035 - Build(deps): bump github.com/spf13/pflag from 1.0.6 to 1.0.7 by @dependabot[bot] in #13060 - Bump compose-go to version v2.8.0 by @glours in #13082 - Build(deps): bump google.golang.org/grpc from 1.73.0 to 1.74.2 by @dependabot[bot] in #13081 - bump buildx to v0.26.1 by @glours in #13086 ------------------------------------------------------------------- Tue Jul 08 10:49:47 UTC 2025 - Johannes Kastl - Update to version 2.38.2: * Improvements - Add --networks flag to config command by @jarqvi in #13021 * Fixes - Add a Done event to model progress display by @glours in #13008 - Fix the way we're checking if the provider metadata are empty or not by @glours in #13017 - Build: fix service with profile missing secrets by @ndeloof in #13023 - Fix select dockerignore based on Dockerfile name set from symlink by @ndeloof in #13024 * Internal - pkg/compose: remove redundant uses of strslice.StrSlice by @thaJeztah in #13002 - (reactoring) avoid a global variable by introducing logConsumer decorator by @ndeloof in #12945 - Chore: fix some minor issues in the comments by @mountdisk in #12991 - A single place for shell-out command setup by @ndeloof in #13007 - Add USER_AGENT variable to cmd when shellouting by @glours in #13025 * Dependencies - Bump golang to v1.23.10 by @glours in #13004 - Bump go-viper/mapstructure to version v2.3.0 by @glours in #13005 - Build(deps): bump github.com/moby/buildkit from 0.23.1 to 0.23.2 by @dependabot in #13009 - Build(deps): bump github.com/docker/cli from 28.3.0+incompatible to 28.3.1+incompatible by @dependabot in #13012 - Build(deps): bump github.com/docker/docker from 28.3.0+incompatible to 28.3.1+incompatible by @dependabot in #13011 ------------------------------------------------------------------- Tue Jul 01 10:12:06 UTC 2025 - Johannes Kastl - Update to version 2.38.1: * Improvements - implement model_variable by @ndeloof in #13001 * Dependencies - bump compose-go to version v2.7.1 by @glours in #13000 ------------------------------------------------------------------- Tue Jul 01 10:07:10 UTC 2025 - Johannes Kastl - Update to version 2.38.0: * Improvements - introduce support for models by @ndeloof in #12976 - Add volumes command by @leoperegrino in #12954 - remove publish limitation on bind mount by @glours in #12997 - mount /var/run/docker.sock for --use-api-socket by @ndeloof in #12995 * Fixes - only expose API socket to service asking for it by @ndeloof in #12972 - check progress default value instead of empty string to use BUILDKIT_PROGRESS env variable value by @glours in #12982 - exclude provider services from the list of dependencies that Compose should wait for by @glours in #12983 - don't fail down cmd if services with pre_stop hook already stopped/removed by @glours in #12986 - Swap to Reader in bake to avoid hangs on output by @nscott in #12984 - make sure the post_start hooks fails by @glours in #12996 - remove error message from exec outpout by default by @glours in #12992 - fix: typos by @hezhizhen in #12963 - pass project.environment to bake by @ndeloof in #12994 - fix provider concurrent environment map accesses by @glours in #12999 - e2e compose run --env by @ndeloof in #12967 * Dependencies - build(deps): bump github.com/docker/cli from 28.2.2+incompatible to 28.3.0+incompatible by @dependabot in #12974 - build(deps): bump github.com/docker/docker from 28.2.2+incompatible to 28.3.0+incompatible by @dependabot in #12975 ------------------------------------------------------------------- Wed Jun 25 04:43:38 UTC 2025 - Johannes Kastl - Update to version 2.37.3: * Improvements - add support for cache_to with bake by @ndeloof in #12959 * Fixes - fix bake intergation by @ndeloof in #12960 - don't create services passed as parameters of run command during dependencies creation process by @glours in #12968 - inject secrets/config just before container is started by @ndeloof in #12970 - propagate target docker host set by --host to Bake by @ndeloof in #12961 * Internal - pkg/compose: remove uses of ExecOptions.Detach by @thaJeztah in #12950 * Dependencies - build(deps): bump github.com/moby/buildkit from 0.23.0 to 0.23.1 by @dependabot in #12964 ------------------------------------------------------------------- Fri Jun 20 14:03:10 UTC 2025 - Johannes Kastl - Update to version 2.37.2: * Improvements - introduce use_api_socket by @ndeloof in #12908 * Fixes - restore ContainerName in images --json by @ndeloof in #12943 - fix panic using w shortcut on project without watch support by @ndeloof in #12944 * Internal - move run logic inside backend by @ndeloof in #12908 * Dependencies - bump compose-go to v2.6.5 by @ndeloof in #12958 - build(deps): bump github.com/containerd/containerd/v2 from 2.1.1 to 2.1.2 by @dependabot in #12939 ------------------------------------------------------------------- Fri Jun 13 04:44:15 UTC 2025 - Johannes Kastl - Update to version 2.37.1: * Improvements - Add support for extra_hosts building with bake by @ndeloof in #12935 * Fixes - Fix SIGSEGV on Enable Watch by @ndeloof in #12909 - Revert docker compose images JSON output to array format by @x0rw in #12917 - Sanitize service name so they can be used as bake targets by @ndeloof in #12925 - Only look for required image in bake metadata by @ndeloof in #12930 - Don't create metadatafile, just generate a random name by @ndeloof in #12931 - Fix the generated manifest for compose artifacts by @jcarter3 in #12933 - Fix support for additional_contexts with service sub-dependencies by @ndeloof in #12936 - Fix panic on failure starting plugin server by @ndeloof in #12914 * Internal - Do not forget to remove the bake metadata file by @glours in #12912 * Dependencies - Bump golang.org/x/sync v0.15.0 by @ndeloof in #12913 - Build(deps): bump google.golang.org/grpc from 1.72.2 to 1.73.0 by @dependabot in #12910 ------------------------------------------------------------------- Thu Jun 05 16:53:34 UTC 2025 - Johannes Kastl - Update to version 2.37.0: * What's Changed - bake is now used as the default images builder, if you don't want to use it you could opt-out by setting the COMPOSE_BAKE env variable to false * Improvements - Add compose bridge by @glours in #12866 - Include platform and creation date listing image by @ndeloof in #12856 - Add support of metadata subcommand for provider services by @glours in #12903 - Use bake by default by @ndeloof in #12699 * Fixes - (Re)start dependent services after watch rebuilt image by @ndeloof in #12879 - Resolve symlinks while making dockerfile path absolute by @ndeloof in #12884 - Fix support for BUILDKIT_PROGRESS by @ndeloof in #12894 - Build dependent service images when required by @ndeloof in #12896 - Fix recreate network (and connected containers) on config updates by @ndeloof in #12899 - pull does not require env_file being resolved by @ndeloof in #12904 * Internal - Refactor: use slices.Contains to simplify code by @tongjicoder in #12877 - Remove utils.Contains to prefer slice.ContainsFunc by @ndeloof in #12878 - Fix typo in suggestion log by @Carlos-err406 in #12893 - Replace uses of golang.org/x/exp/(maps|slices) for stdlib and fix linting by @thaJeztah in #12885 - Debug message to help diagnose platform mismatch by @ndeloof in #12905 - (refactoting) Move watch logic into a dedicated Watcher type by @ndeloof in #12865 * Dependencies - Bump cli-doc-tools to v0.10.0 by @glours in #12855 - Bump github.com/docker/docker, docker/cli v28.2.2 by @thaJeztah in #12875 - Build(deps): bump google.golang.org/grpc from 1.72.1 to 1.72.2 by @dependabot in #12872 ------------------------------------------------------------------- Fri May 23 18:33:43 UTC 2025 - Johannes Kastl - Update to version 2.36.2: * Fixes - Run ContainerStart sequentially by @ndeloof in #12851 - Only use attestation when building image outside the development inner loop by @glours in #12853 - Report error (re)creating container by @ndeloof in #12859 - Fix up --build with additional_context dependency by @ndeloof in #12863 * Internal - Add example provider implementation by @ndeloof in #12848 - Add up --build e2e test by @ndeloof in #12864 * Dependencies - Build(deps): bump github.com/containerd/containerd/v2 from 2.1.0 to 2.1.1 by @dependabot in #12857 - Bump compose-go to v2.6.4 by @glours in #12867 - Bump buildkit v0.22.0 and buildx v0.24.0 by @glours in #12868 ------------------------------------------------------------------- Mon May 19 13:36:20 UTC 2025 - Johannes Kastl - Update to version 2.36.1: * Improvements - Provider.options can be an array by @ndeloof in #12819 - Set provider environment by @ndeloof in #12817 - Add support of debug messages in the communication between Compose … by @glours in #12826 - Introduce config --lock-image-digests by @ndeloof in #12843 * Fixes - Skip push step for provider services by @glours in #12818 - Provider info by @ndeloof in #12820 - Append .exe to provider name doing executable lookup on windows by @ndeloof in #12832 - Fix quiet option when using COMPOSE_BAKE=1 by @AnvarU in #12838 - Do not throw an error on build with provider services by @glours in #12842 - Report cancelled pull after another one failed by @ndeloof in #12840 - Ensure build dependencies are enabled by @ndeloof in #12824 * Internal - Simplification by @ndeloof in #12811 - Remove Docker EULA licensing which isn't relevant by @ndeloof in #12829 - Remove convert alias from config command by @glours in #12850 * Dependencies - Build(deps): bump github.com/containerd/containerd/v2 from 2.0.5 to 2.1.0 by @dependabot in #12813 - Build(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.1 by @dependabot in #12837 - Bump compose-go to v2.6.3 by @glours in #12849 ------------------------------------------------------------------- Wed May 07 12:23:31 UTC 2025 - Johannes Kastl - Update to version 2.36.0: * Improvements - Introduce networks.interface_name by @ndeloof in #12771 - Add support for COMPOSE_PROGRESS env variable by @AnvarU in #12769 - Document extensibility using service.provider and open provider to external binaries by @ndeloof in #12777 - Introduce build --check by @ndeloof in #12765 * Fixes - Build: write --print output to stdout by @emersion in #12756 - Fix: concurrent map writes when pulling by @skanehira in #12752 - Fix support for remote absolute path by @ndeloof in #12786 - Fix collect image digests for service images built by bake by @ndeloof in #12784 - Enable services implicitly declared by a service:xx build dependency by @ndeloof in #12785 - Fix config --variables not honoring the --format flag by @alessio-perugini in #12809 * Internal - Remove support of Synchronize File Shares integration with Docker Desktop by @glours in #12763 - Display proper event message for provider services on up and down by @glours in #12788 - E2e test for start_interval by @ndeloof in #12795 - Document behavior on missing extension by @ndeloof in #12802 * Dependencies - Build(deps): bump github.com/docker/cli from 28.1.0+incompatible to 28.1.1+incompatible by @dependabot in #12761 - Build(deps): bump github.com/docker/docker from 28.1.0+incompatible to 28.1.1+incompatible by @dependabot in #12759 - Build(deps): bump google.golang.org/grpc from 1.71.1 to 1.72.0 by @dependabot in #12760 - Build(deps): bump github.com/containerd/containerd/v2 from 2.0.4 to 2.0.5 by @dependabot in #12758 - Bump compose-go to v2.6.1 by @glours in #12766 - Bump compose-go to v2.6.2 by @glours in #12810 - Build(deps): bump github.com/moby/buildkit from 0.21.0 to 0.21.1 by @dependabot in #12796 - Build(deps): bump golang.org/x/sync from 0.13.0 to 0.14.0 by @dependabot in #12805 - Build(deps): bump golang.org/x/sys from 0.32.0 to 0.33.0 by @dependabot in #12804 - Build(deps): bump go.uber.org/mock from 0.5.1 to 0.5.2 by @dependabot in #12792 ------------------------------------------------------------------- Fri Apr 18 05:36:53 UTC 2025 - Johannes Kastl - Update to version 2.35.1: * Fixes - Use bind API for bind mounts by @ndeloof in #12733 - Prefer bind API by @ndeloof in #12734 * Internal - CI(bin-image): free disk space by @crazy-max in #12732 - Fix zizmor security alerts on GHA workflows by @glours in #12737 - Chore: make function comment match function name by @dufucun in #12748 - Migrate to use github.com/moby/go-archive by @thaJeztah in #12716 * Dependencies - Build(deps): bump github.com/moby/buildkit from 0.20.1 to 0.20.2 by @dependabot in #12667 - Build(deps): bump google.golang.org/grpc from 1.71.0 to 1.71.1 by @dependabot in #12691 - Build(deps): bump go.uber.org/mock from 0.5.0 to 0.5.1 by @dependabot in #12720 - Build(deps): bump golang.org/x/crypto from 0.32.0 to 0.35.0 by @dependabot in #12745 - Bump buildkit v0.21.0, buildx v0.23.0 by @thaJeztah in #12754 - Downgrade go-difflib and go-spew to tagged releases by @thaJeztah in #12755 - Bump github.com/docker/docker, github.com/docker/cli v28.1.0 by @thaJeztah in #12738 - go.mod: bump github.com/docker/docker-credential-helpers v0.9.3 - go.mod: bump golang.org/x/net v0.39.0 - go.mod: bump golang.org/x/term v0.31.0 - go.mod: bump golang.org/x/text v0.24.0 - go.mod: bump golang.org/x/time v0.11.0 ------------------------------------------------------------------- Fri Apr 11 05:17:37 UTC 2025 - Johannes Kastl - Update to version 2.35.0: * What's Changed - 1st implementation of external services feature to support Docker Model Runner in Compose by @ndeloof in #12692 * Improvements - Set $PWD (may not be supported on Windows) by @ndeloof in #12643 - Introduce config --no-env-resolution by @ndeloof in #12665 - Introduce build --print to dump equivalent bakefile by @ndeloof in #12675 - Feat(run): Add --quiet and --quiet-build options for the run command by @idsulik in #12685 - Introduce volume.type=image by @ndeloof in #12725 * - Fixes - Fix support for secret set by env inside included file by @ndeloof in #12635 - Fix edge-case bug checking path prefix in watch for bind mount volumes by @matiboux in #12640 - Run only loads required service env_file and ignores others by @ndeloof in #12645 - Fixed support for depends_on.restart in up and restart commands by @ndeloof in #12649 - Bake parses "${}" in DockerfileInline as a variable by @ndeloof in #12664 - Fix(secrets): Reverted secrets file mode 440 -> 444 by @idsulik in #12666 - Fix scale completion by @ndeloof in #12672 - Fix: replace docker-compose.yml with compose.yaml by @k-kbk in #12680 - Include implicit build dependencies in build command by @ndeloof in #12683 - Capture git fetch output when debug output is enabled by @ndeloof in #12719 - Mount API is not strictly equivalent to bind by @ndeloof in #12722 * - Internal - Test commandName subcommand order by @maxproske in #12535 - Set watch option --prune=true as default by @remcokranenburg in #12650 - Plugin Docker Desktop Model Runner check by @glours in #12718 - pkg/compose: implement Export using atomicwriter by @thaJeztah in #12715 - Style: refactor Desktop client for readability and maintainability by @Saracomethstein in #12723 * - Dependencies - Build(deps): bump github.com/docker/buildx from 0.21.2 to 0.21.3 by @dependabot in #12646 - Build(deps): bump github.com/containerd/containerd/v2 from 2.0.3 to 2.0.4 by @dependabot in #12647 - Bump docker & cli v28.0.4 and buildx v0.22.0 by @ndeloof in #12674 - Bump golangci-lint to version v2.0.2 by @glours in #12689 - Bump golang to 1.23.8 by @glours in #12698 - Update secret detector to fix vulnerability https://github.com/golang… by @sigi-glovebox in #12707 - Build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by @dependabot in #12713 - Build(deps): bump golang.org/x/sync from 0.12.0 to 0.13.0 by @dependabot in #12712 - Build(deps): bump github.com/compose-spec/compose-go/v2 from 2.5.1-0.20250409070949-8e1a035095ca to 2.6.0 by @dependabot in #12729 ------------------------------------------------------------------- Wed Mar 19 20:02:46 UTC 2025 - Johannes Kastl - Require docker or podman, as the latter can be used by setting the DOCKER_HOST and DOCKER_SOCK environment variables e.g. rootless podman: DOCKER_SOCK=/run/user/1000/podman/podman.sock DOCKER_HOST=unix:///run/user/1000/podman/podman.sock ------------------------------------------------------------------- Fri Mar 14 09:54:23 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 2.34.0: * Improvements - Support refresh pull policy by @ndeloof in #12568 - Introduced include to filter files considered by watch by @ndeloof in #12584 - Introduced --env-from-file in docker compose run command by @ndeloof in #12626 - Make publish a regular command of Compose by @glours in #12629 * Fixes - Build: only print COMPOSE_BAKE recommendation when disabled by @emersion in #12572 - Improve message suggesting using bake by @glours in #12612 - Fixed service: reference in additional_contexts for builds without bake by @ndeloof in #12582 - Block the publication of an OCI artifact if one or more services contain only a build section by @glours in #12597 - Display the location of OCI or GIT Compose stack download by @glours in #12595 - Refuse to publish compose file with local include by @ndeloof in #12600 - publishreject compose file with bind mounts by @ndeloof in #12601 - Display interpolation variables and their values when running a remote stack by @glours in #12604 - Publish compose file with required siblings used by extends by @ndeloof in #12606 - Add warning message when a remote configuration include an another remote config by @glours in #12610 - Only load env_file after services have been selected by @ndeloof in #12611 - Deprecate --y, prefer --yes by @ndeloof in #12623 - Use Defang secret-detector to identify potential secret leaks before publishing OCI artifacts by @glours in #12620 * Internal - Link to configuration file docs by @andrew-kramer in #12559 - Otel attribute to track builder implementation selected by @ndeloof in #12586 - Test version command by @maxproske in #12576 - Implement extends.file replace without yqlib by @ndeloof in #12615 - Add cli.isatty attribute to spans generated by compose by @landism in #12630 - Condense output of compose top by @dmke in #12628 * Dependencies - Require go 1.23|1.24 (stable) by @ndeloof in #12571 - Build(deps): bump tags.cncf.io/container-device-interface from 0.8.0 to 0.8.1 by @dependabot in #12583 - Build(deps): bump github.com/google/go-cmp from 0.6.0 to 0.7.0 by @dependabot in #12578 - Build(deps): bump github.com/docker/cli from 28.0.0+incompatible to 28.0.1+incompatible by @dependabot in #12590 - Build(deps): bump github.com/docker/docker from 28.0.0+incompatible to 28.0.1+incompatible by @dependabot in #12591 - Build(deps): bump github.com/docker/buildx from 0.21.1 to 0.21.2 by @dependabot in #12598 - Build(deps): bump github.com/opencontainers/image-spec from 1.1.0 to 1.1.1 by @dependabot in #12599 - Build(deps): bump golang.org/x/sync from 0.11.0 to 0.12.0 by @dependabot in #12607 - Build(deps): bump google.golang.org/grpc from 1.70.0 to 1.71.0 by @dependabot in #12603 - Build(deps): bump golang.org/x/sys from 0.30.0 to 0.31.0 by @dependabot in #12608 - Build(deps): bump github.com/moby/buildkit from 0.20.0 to 0.20.1 by @dependabot in #12609 - Build(deps): bump tags.cncf.io/container-device-interface from 0.8.1 to 1.0.0 by @dependabot in #12617 - Bump compose-go to version v2.4.9 by @glours in #12633 ------------------------------------------------------------------- Fri Feb 21 14:47:15 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 2.33.1: * Improvements - Add support for gw_priority, enable_ipv4 (requires docker v28.0) by @thaJeztah in #12570 * Fixes - Run watch standalone if menu fails to start by @ndeloof in #12536 - Report error using non-file secret|config with read-only service by @ndeloof in #12531 - Don't display bake suggestion when using --progress with quiet or json option by @glours in #12561 - Fix pull --parallel and --no-parallel deprecation warnings missing by @maxproske in #12555 - Fix error message when detach is implied by wait by @ndeloof in #12566 * Dependencies - build(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1 by @dependabot in #12556 - build(deps): bump google.golang.org/grpc from 1.68.1 to 1.70.0 by @dependabot in #12494 - go.mod: update to docker v28.0.0 by @thaJeztah in #12545 ------------------------------------------------------------------- Wed Feb 12 09:56:42 UTC 2025 - Johannes Kastl - remove docker-compose-switch dependency ------------------------------------------------------------------- Wed Feb 12 07:57:10 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 2.33.0: * Important - This release introduce support for Bake to manage builds as an alternative to the internal buildkit client. This new feature can be enabled by setting COMPOSE_BAKE=1 variable. Bake will become the default builder in a future release. * Improvements - let user know bake is now supported by @ndeloof in #12524 - support additional_context reference to another service by @ndeloof in #12485 - add support for BUILDKIT_PROGRESS by @ndeloof in #12458 - add --with-env flag to publish command by @glours in #12482 - Update ls --quiet help description by @maxproske in #12541 - Publish warn display env vars by @glours in #12486 * Fixes - Fix bake support by @ndeloof in #12507 - Update link in stats --help output by @maxproske in #12523 - Properly handle "builtin" seccomp profile by @r-bk in #12478 - manage watch applied to mulitple services by @ndeloof in #12469 * Internal - use main branch for docs upstream validation workflow by @crazy-max in #12487 - fix provenance for binaries and generate sbom by @crazy-max in #12479 - add codeowners file by @glours in #12480 - remove exit code per error type used by legacy metrics system by @ndeloof in #12502 - Dockerfile: update golangci-lint to v1.63.4 by @thaJeztah in #12546 - Full test coverage for compatibility cmd by @maxproske in #12528 - don't send raw os.Args to opentelemetry but a pseudo command line by @ndeloof in #12530 - add docker engine v28.x to the test-matrix by @thaJeztah in #12539 - enable copyloopvar linter by @thaJeztah in #12542 - go.mod: remove toolchain directive by @thaJeztah in #12551 * Dependencies - bump buildx v0.20.1 by @ndeloof in #12488 - bump docker to v27.5.1 by @ndeloof in #12491 - bump compose-go v2.4.8 by @ndeloof in #12543 - bump golang.org/x/sys from 0.28.0 to 0.30.0 by @dependabot in #12529 - bump github.com/moby/term v0.5.2 by @thaJeztah in #12540 - bump github.com/otiai10/copy from 1.14.0 to 1.14.1 by @dependabot in #12493 - bump github.com/jonboulle/clockwork from 0.4.0 to 0.5.0 by @dependabot in #12430 - bump github.com/spf13/pflag from 1.0.5 to 1.0.6 by @dependabot in #12548 - bump golang.org/x/sync from 0.10.0 to 0.11.0 by @dependabot in #12547 - bump gotest.tools/v3 from 3.5.1 to 3.5.2 by @dependabot in #12549 ------------------------------------------------------------------- Thu Jan 16 05:55:59 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 2.32.4: * add missing tag for build during merge workflow * ci: re-use local source to build binary images * ci: use local source for binary builds ------------------------------------------------------------------- Mon Jan 13 14:53:04 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 2.32.3: * ci: update bake-action to v6 * simplification * image can be set to a local ID, that isn't a valid docker ref * can't render progress concurrently with buildkit * exclude one-off container running convergence * Only override service mac if set on the main network. ------------------------------------------------------------------- Wed Jan 08 06:43:45 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 2.32.2: * remove engine v25 from e2e test matrix The 1st version available for Ubuntu 24.x is Docker Engine v26 * fix relative path in compose file * bump compose-go to v2.4.7 * replace tibdex/github-app-token by official GitHub create-github-app-token * bump golang.org/x/net to v0.33.0 to fix potential security issue https://github.com/golang/go/issues/70906 * checkExpectedVolumes must ignore anonymous volumes * When retrying to resolveOrCreateNetwork, retry with a valid network name * only check bind mount conflict if sync action is involved * use the 3 latest major versions of the engine to run e2e step * bump Golang version to v1.22.10 and update CI actions * add --pull to run command * CI to validate fmt * `make fmt` so any contributor can enforce formatting * format code with gofumpt ------------------------------------------------------------------- Tue Dec 17 05:42:30 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.32.1: * e2e test to prevent future regression * only check volume mounts for updated config ------------------------------------------------------------------- Fri Dec 13 10:00:05 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.32.0: * e2e test for recreate volume * build(deps): bump google.golang.org/grpc from 1.68.0 to 1.68.1 * build(deps): bump golang.org/x/crypto from 0.27.0 to 0.31.0 * build(deps): bump golang.org/x/sys from 0.27.0 to 0.28.0 * prompt user to confirm volume recreation * Recreate container on volume configuration change * introduce watch restart action * bump otel dependencies to v1.28.0 and v0.53.0 to align with buildx, buildkit and engine versions * bump docker/buildx to latest release * fix support for service.mac_address * update xx to v1.6.1 for compatibility with alpine 3.21 and file 5.46+ * build(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0 * Update pkg/e2e/watch_test.go * first watch action for a file event wins * fix * revisit TestDebounceBatching * introduce sync+exec watch action * log configuration error as a watch log event * do not require a build section but for `rebuild` action * pull --quiet should not drop status message, only progress * use latest engine tags * Bump buildx to 0.19.1 * be sure everything has been cleanup at the end of each tests * add local config.json to test configuration dir if exists * disable failing TestBuildSSH test * fix build with bake ------------------------------------------------------------------- Fri Nov 29 12:45:19 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.31.0: * bump containerd to v1.7,24 * bump google.golang.org/grpc to v1.68.0 * build(deps): bump github.com/moby/buildkit from 0.17.1 to 0.17.2 * build(deps): bump github.com/compose-spec/compose-go/v2 * only stop dependent containers ... if there's some * disable TestNetworkConfigChanged which is unstable on CI * only check attached networks on running containers * fix: commit tests * feat: add commit command * run build tests against bake * delegate build to buildx bake * build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 * use service.stop to stop dependent containers * Update wait-timeout flag usage to include the unit * go.mod: github.com/docker/cli v27.4.0-rc.2 * go.mod: github.com/docker/docker v27.4.0-rc.2 * go.mod: github.com/docker/cli 8d1bacae3e49 (v27.4.0-rc.2-dev) * go.mod: github.com/docker/cli v27.4.0-rc.1 * go.mod: github.com/docker/docker v27.4.0-rc.1 * Update pkg/compose/convergence.go * detect network config changes and recreate if needed * go.mod: github.com/docker/buildx v0.18.0 * go.mod: github.com/moby/buildkit v0.17.1 * gha: test against docker engine v27.4.0 * push empty descriptor layer when using OCI version 1.1 for Compose artifact it fixes a repository creation issue when pushing the 1st time a Compose OCI artifact on the Hub * remove ddev e2e tests * implement remove-orphans on run * ci: enable testifylint linter * Emit events for building images * Fix compose images that reutn a different image with the same ID * remove obsolete containers first on scale down * pass stal bot inactivity limit from 6 to 3 months * fix(config): Print service names with --no-interpolate * build(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0 * build(deps): bump golang.org/x/sync from 0.8.0 to 0.9.0 ------------------------------------------------------------------- Tue Nov 12 06:22:28 UTC 2024 - madhankumar.chellamuthu@suse.com - Update to version 2.30.3: * bump compose-go v2.4.4 * Avoid starting all services on rebuild ------------------------------------------------------------------- Thu Nov 07 07:43:49 UTC 2024 - madhankumar.chellamuthu@suse.com - Update to version 2.30.2: * remove ArtifactType from Config in OCI v1.1 definition of the artifact * build(deps): bump github.com/compose-spec/compose-go/v2 * Service being declared in a profile must not trigger re-creation * Add profile e2e test case to document in compose * Update `MAINTAINERS` file ------------------------------------------------------------------- Wed Oct 30 11:02:53 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.30.1: * bump compose-go to version v2.4.2 ------------------------------------------------------------------- Tue Oct 29 13:59:29 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.30.0: * Improvements - Introduce service hooks by @ndeloof (12166) - Introduce generate command as alpha command by @glours (12209) - Add export command by @jarqvi (12120) - Add support for CDI device request using devices by @ndeloof (12184) - Add support for bind recursive by @ndeloof (12210) - Allow usage of -f flag with OCI Compose artifacts by @glours (12220) * Fixes - Append unix-style relative path when computing container target path by @ndeloof (12145) - Wait for dependent service up to delay set by --wait-timeout by @ndeloof (12156) - Check secret source exists, as bind mount would create target by @ndeloof (12151) - After container restart register printer consumer by @jhrotko (12158) - Fix(down): Fix down command if specified services are not running by @idsulik (12164) - Show watch error message and open DD only when w is pressed by @jhrotko (12165) - Fix(push): Fix unexpected EOF on alpha publish by @idsulik (12169) - Fix(convergence): Serialize access to observed state by @anantadwi13 (12150) - Remove feature flag integration with Docker Desktop for ComposeUI and ComposeNav by @jhrotko (12192) - Support Dockerfile-specific ignore-file with watch by @ndeloof (12193) - Add support for raw env_file format by @ndeloof (12179) - Convert GPUs to DeviceRequests with implicit "gpu" capability by @ndeloof (12197) - Improve error message to include expected network label by @divinity76 (12213) - Don't use progress to render restart, which hides logs by @ndeloof (12226) - One-off containers are not indexed, and must be ignored by exec --index command by @ndeloof (12224) - Don't warn about uid/gid not being supported while ... they are by @ndeloof (12232) - Connect to external networks by name by @ndeloof (12234) - Fix push error message typo by @chris-crone (12237) - Fix(dockerignore): Add wildcard support to dockerignore.go by @idsulik (12239) * Internal - Remove bind options when creating a volume type by @jhrotko (12177) - pass device.options to engine by @ndeloof (12183) - Add security policy by @thaJeztah (12194) - Gha: set default permissions to "contents: read" by @thaJeztah (12195) - Desktop: allow this client to be identified via user-agent by @djs55 (12212) - Compose-go clean volume target to avoid ambiguous comparisons by @ndeloof (12208) * Dependencies - Bump docker v27.3.1 by @ndeloof (12178) - Build(deps): bump golang.org/x/sys from 0.25.0 to 0.26.0 by @dependabot (12189) - Bump compose-go to v2.3.0 by @glours (12198) - Bump compose-go to v2.4.0 by @glours (12231) - Bump compose-go to v2.4.1 by @glours (12243) - Build(deps): bump github.com/containerd/containerd from 1.7.22 to 1.7.23 by @dependabot (12211) - Bump golang minimal version to 1.22 in go.mod by @glours (12246) - Bump go.uber.org/mock to v0.5.0 and google.golang.org/grpc to v1.67.1 by @glours (12245) ------------------------------------------------------------------- Sat Sep 21 17:07:16 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.29.7: * revert commits link to mount API over bind changes ------------------------------------------------------------------- Sat Sep 21 17:04:16 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.29.6: * don't set propagation if target engine isn't linux * build(deps): bump github.com/docker/docker v27.3.0-rc.2 * build(deps): bump github.com/docker/cli v27.3.0-rc.2 ------------------------------------------------------------------- Sat Sep 21 17:01:01 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.29.5: * set propagation default * Remove custom codeql workflow ------------------------------------------------------------------- Sat Sep 21 16:58:45 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.29.4: * fix import * chore(watch): Add debug log when skipping service without build context * stop dependent containers before recreating diverged service * Fixed possible `nil` pointer dereference * bump github.com/docker/buildx v0.17.1 * build(deps): bump docker, docker/cli to v27.3.0-rc.1 * gha: test against docker engine v27.3.0 ------------------------------------------------------------------- Sat Sep 14 11:01:27 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.29.3: * show sync files only in debug level * chore(watch): Add changed files path/count to log * build(deps): bump golang.org/x/sync from 0.7.0 to 0.8.0 * bump compose-go to version v2.2.0 * Restore compose v1 behavior to recreate containers when ran with -V * fix linting issues with golangci-lint 1.60.2 * bump golang to version 1.22.7 * bump dependencies versions, engine and cli v27.2.1 containerd v1.7.22 buildx v0.17.0 buildkit v0.16.0 * build(deps): bump golang.org/x/sys from 0.22.0 to 0.25.0 * Fix typos * Use logrus instead of direct output to stderr. * attach: close streams when done * Fix typo in pull.go * Allow combination of bind mounts and 'rebuild' watches * service hash must exlude depends_on * prefer mount API over bind * docs: duplicate documentation for root cmd * docs(wait): Fix wait command description * allow to add empty line in the logs when nav menu activated * upgrade docker versions ------------------------------------------------------------------- Wed Sep 4 20:47:40 UTC 2024 - Fergal Mc Carthy - Build with go 1.22 to avoid issues when processing go.mod per https://github.com/golang/go/issues/62278#issuecomment-1698829945 ------------------------------------------------------------------- Tue Aug 13 17:59:42 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.29.2: * initial sync files that modified after image creation * initial sync for root directory * Removes redundant condition from toAPIBuildOptions in build.go * docs: Update docker compose kill usage * Fix stop on file chane for sync-restart action * bump engine and cli to v27.1.1, buildx to v0.16.1 * remove all dependabot update PRs for OTel dependencies * gp.mod: github.com/gofrs/flock v0.12.1 * go.mod: golang.org/x/sys v0.22.0 * update to go1.21.12 ------------------------------------------------------------------- Wed Jul 24 17:57:14 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.29.1: * Enhance JSON progress events with more fields. * bump compose-go v2.1.5 * bump github.com/docker/cli v27.1.0 * bump github.com/docker/docker v27.1.0 * bump github.com/containerd/containerd v1.7.20 * gha: add docker 27.1.0 * fix(containers): fix sorting logic by adding secondary sorting for one-off containers ------------------------------------------------------------------- Wed Jul 17 16:22:41 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.29.0: * fix: typos * update docs generation to avoid man pages generation * bump compose-go to v2.1.4, buildx to v0.16.0, containerd to v1.7.19 and buildx to v0.15.0 * restore setEnvWithDotEnv * empty env variable with no value must be unset in container * exclude unnecessary resources after services have been selected * change time for stale bot * Remove debug mode and run twice a week * Add stale workflow * update docs * feat(watch): Add --prune option to docker-compose watch command * Remove COMPOSE_MENU env from e2e tests * Use rawjson for the build backend. * Set logging format to JSON. * Format errors as JSON when in JSON progress mode. * Pass 'plain' instead of 'json' to build backend * Add JSON stream progress writer * go.mod: docker/cli, docker/docker v27.0.3 * gha: test against docker v27.0.3 * go.mod: docker/cli, docker/docker v27.0.2 ------------------------------------------------------------------- Mon Jun 24 18:55:23 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.28.1: * Remove `console.Terminal` check and use `IsTerminal` from `streams.Out` ------------------------------------------------------------------- Fri Jun 21 19:49:32 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.28.0: * go.mod: github.com/compose-spec/compose-go v2.1.3 * go.mod: docker/docker and docker/cli v27.0.1-rc.1 ------------------------------------------------------------------- Fri Jun 21 19:45:15 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.27.3: * build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 * build(deps): bump github.com/docker/buildx from 0.15.0 to 0.15.1 ------------------------------------------------------------------- Fri Jun 21 19:42:10 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.27.2: * using as flag of the up command, watch was blocking process shutdown This happened when sunsetting the application from docker compose down command * Add open watch docs in up menu * bump buildkit to v0.14.0 and buildx to v0.15.0 * stop watch process when associated up process is stopped * build(deps): bump github.com/docker/docker * build(deps): bump github.com/containerd/containerd from 1.7.17 to 1.7.18 * build(deps): bump golang.org/x/sys from 0.20.0 to 0.21.0 * build(deps): bump github.com/hashicorp/go-version from 1.6.0 to 1.7.0 * build: replace uses of archive.CanonicalTarNameForPath * update gh actions versions, update engine matrix, bump golang to 1.21.11 * enforce keyboard.Close is always executed to restore terminal * config --environment * Readd event * remove unreachable code * Fix dot env file to define COMPOSE_* variables * return an error when --detach and --watch are used together in up command * Correct 'cancellation' typo in comment * Fix: change append to use slice index in ps.go * COMPOSE_PROFILES can be set by .env file * prevent concurrent map write relying on project immutability ------------------------------------------------------------------- Fri May 24 12:38:43 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.27.1: * build(deps): bump github.com/containerd/containerd from 1.7.16 to 1.7.17 * build(deps): bump github.com/docker/buildx from 0.14.0 to 0.14.1 * drop COMPOSE_EXPERIMENTAL_OTEL as docker/cli has opentelemetry in * add gui/composeview as part of available commands * fix opentelemetry * bump compose-go to version v2.1.1 * Set endpoint-specific DriverOpts * Bump compose-go version to latest main * Backport OpenBSD patches * add new navigation menu to open Compose app configuration in Docker Desktop * build(deps): bump github.com/fsnotify/fsevents from 0.1.1 to 0.2.0 * build(deps): bump golang.org/x/sys from 0.19.0 to 0.20.0 * fix --resolve-image-digests * allow a local .env file to override compose.yaml sibling .env * Bump docker engine and cli to version 26.1.3 * Bump docker to v26.1.2 * Add documentation for --menu up option and COMPOSE_MENU environemnt variable * chore(deps): bump docker to v26.1.1 (#11794) ------------------------------------------------------------------- Thu Apr 25 05:12:57 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.27.0: * fix: overlapping logs and menu navigation (#11765) * build(deps): bump github.com/moby/buildkit * chore(e2e): fix flaky cascade failure test * use v2.26.1 tag for moby and Docker cli * chore(deps): update to Moby v26.1 & buildx v0.14 * bump compose-go version to v2.1.0 * fix support for --context=foo * Fix #11710: Avoid to try to close channel twice after hitting Ctrl-C on compose up (#11719) * fix(desktop): remove overly-aggressive feature flag check (#11748) * chore: fix typo in comment * bump dependencies * fix: do not try to create file shares for non-directories * check container_name is not in use by another service we will create * don't clear line when navigation is disabled * fix: return correct exit code with `--exit-code-from` (#11715) * progress for resource can be restarted after more Working event comes * Revert "Stop the resource timer after last expected event" * Revert change to allow trying to kill again if a kill fails * Handle errors and allow to send multiple kills if one failed * Ignore errors when killing on second Ctrl-C * docker compose up always kills the containers on second Ctrl-C * read COMPOSE_REMOVE_ORPHANS from .env * Set Required false to depends_on containers for compose -p stop/down * Ignore missing containers when compose stop -p * Ignore missing containers when compose down -p * Introduce support for build.entitlements * Remove dead url reference. * e2e test for --all-resources * introduce --all-resources to _not_ exclude resources not used by services * Introduce --abort-on-container-failure * bump golang version to 1.21.9 * don't use ansi espace sequence when disabled ------------------------------------------------------------------- Sat Mar 30 10:30:28 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.26.1: * Does not start keyboard manager if there is no tty * Change menu information text to dim * Handle --no-build and --watch args * build(deps): bump github.com/opencontainers/image-spec * Unwrap error message. * Include error message in pull warning/errors ------------------------------------------------------------------- Sat Mar 23 10:34:25 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.26.0: * chore(desktop): revised feature detection for file shares * Add Navigation Menu to compose up * Add support for volume Subpath option * Bump docker v26.0.0 * introduce config --variables to list compose model variables * Fix docs on default build image name * Bump compose-go to v2.0.2 * add support for annotations * Revert "Bump compose-go to v2.0.1" * Bump compose-go to v2.0.1 * feat(desktop): synchronized file share integration (#11614) * feat(experiments): add experimental feature state (#11633) * reduce timeout of the Otel tracing command * fix `compose config --format json` ------------------------------------------------------------------- Fri Mar 15 22:18:48 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.25.0: * Bump compose-go v2.0.0 * services shell completion bugfix * fix TestBuildPlatformsWithCorrectBuildxConfig * only use ToModel when --no-interpolate is set * feat(desktop): add Docker Desktop detection and client skeleton (#11593) ------------------------------------------------------------------- Mon Mar 11 07:44:23 UTC 2024 - danish.prakash@suse.com - Update to version 2.24.7: * chore(deps): upgrade go to 1.21.8 (#11578) * ci(deps): bump moby/moby & docker/cli to v25.0.4 (#11566) * Add test summary for test jobs in ci * make code simpler * avoid duplicated "xx exited with code 0" message * introduce --watch * move code into small functions for better readability * restore support for `config --no-interpolate` * remove docker cli step in ci.yml * get log to manage `attach` * bump compose-go to version v2.0.0-rc.8 * use an dedicated compose file --quiet-pull e2e test * Add a fallback check of Watch pid on Windows False positives were detected when checking the previous watch process state * add support of QuietOption to create command * pass QuietOption when starting dependencies from run command * when ran with ANSI disabled, force progress=plain * Issue-11374: Modified compose up command to respect COMPOSE_REMOVE_ORPHANS environment variable * ci: bump engine version to `25.0.3` * sort containers to optimize scale down * discard stdout for laaarge log test ------------------------------------------------------------------- Sun Feb 18 17:47:17 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.24.6: * use listeners to collect include metrics * docs: update cli reference link * docs: unify no trailing dots in docstrings and help (#11301) * Use listener for file metadata * fix deadlock collecting large logs * chore(watch): remove old `docker cp` implementation * ci(deps): bump docker/cli to v25.0.3 (#11481) * pass All option to backend api.Service when length statuses is not equal to zero * Add OTEL specs: build, depends_on, capabilities (gpu/tpu) * build(deps): bump github.com/opencontainers/image-spec * feat(tracing): add project hash attr * chore(load): ensure context passed to load * Include all networks in ContainerCreate call if API >= 1.44 * bump compose-go to v2.0.0-rc.4 * CI: docker engine version matrix * build(deps): bump github.com/docker/cli * Fix load .env from project directory when project file is set by COMPOSE_FILE ------------------------------------------------------------------- Thu Feb 01 06:26:07 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.24.5: * chore(e2e): fix flaky test & standalone behavior (#11382) * ci(deps): replace buildkit to fix fsutil issues on Windows (#11426) * Fix canonical container name ------------------------------------------------------------------- Tue Jan 30 14:17:47 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.24.4: * don't check external network existence when swarm is enabled * build(deps): bump github.com/docker/cli * build(deps): bump github.com/docker/docker * Add support for storage_opt * ci(deps): update DOCKER_CLI_VERSION to v25.0.1 * bump compose-go to v2.0.0-rc.3 which fixes multiple compose files merge issues * build(deps): bump actions/upload-artifact from v3 to v4 * update MAINTAINERS file ------------------------------------------------------------------- Fri Jan 26 19:47:46 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.24.3: * use a custom version of fsutils that fixes a bug on Windows causing all Compose builds to fail * introduce stopAndRemoveContainer to share logic scaling down ------------------------------------------------------------------- Tue Jan 23 17:45:14 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.24.2: * bump compose-go to v2.0.0-rc.2 * ci(deps): upgrade to Moby v25.0.0 GA (#11381) * docs: update link to use canonical URL for command * go.mod: github.com/moby/sys/mountinfo v0.7.1 * go.mod: github.com/google/uuid v1.5.0 ------------------------------------------------------------------- Thu Jan 18 14:05:57 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.24.1: * bump version of compose-go to v2.0.0-rc.1 * build(deps): bump github.com/docker/docker * remove watch command from the alpha command * build(deps): bump github.com/docker/cli * fix(tracing): batch span exports to prevent blocking * signals/utils: always handle received signals * fix engine version require to use healthcheck.start_interval * Stop the resource timer after last expected event * build(deps): bump github.com/containerd/containerd from 1.7.11 to 1.7.12 (#11347) * build(deps): bump github.com/docker/docker from 25.0.0-rc.1+incompatible to 25.0.0-rc.2+incompatible (#11349) * build(deps): bump github.com/docker/cli from 25.0.0-rc.1+incompatible to 25.0.0-rc.2+incompatible (#11348) ------------------------------------------------------------------- Mon Jan 15 17:09:09 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 2.24.0: * Breaking change - service hash computation logic has been updated to fully ignore replicas/scale. Due to this change, after upgrade all services will be recreated. * Enhancements - Implement docker compose attach by @g0t4 in #11181 - Introduce ps --orphans to include/exclude services not declared by project by @ndeloof in #11220 - Introduce compose logs --index to select a replica container by @ndeloof in #11231 - --with-dependencies let docker compose build build dependencies transitively by @ndeloof in #11290 - Introduce stats command by @ndeloof in #11299 - Add source policies for build by @cpuguy83 in #11325 * Fixes - Include disabled services for shell completion by @ndeloof in #11251 - Restore Project is ps json output by @ndeloof in #11223 - Log we don't expose service ports when --verbose by @ndeloof in #11227 - Fix configs are mounted under / by @ndeloof in #11232 - Fix combination of --pull always --no-build by @ndeloof in #11244 - Fix(publish): add OCI 1.0 fallback support for AWS ECR by @milas in #11239 - Fix race condition in log printer by @horus in #11286 - Send out a cancel event on SIGINT/SIGTERM signal for compose up by @vyneer in #11230 - Up: teardown when command context is cancelled by @laurazard in #11292 - Build do not require environment to be resolved by @ndeloof in #11274 * Internal - Let contributor know we might close unanswered issues by @ndeloof in #11219 - Feat(cli): report more useful User-Agent on engine API requests by @milas in #11333 - Adopt compose-go/v2 by @ndeloof in #11207 - Add support for start_interval by @ndeloof in #10939 - Update README.md to use standard compose.yaml file name by @johnthagen in #11233 - Watch: remove requirements for tar binary and for sync target to be rw by @ndeloof in #11330 - Deps: update docker/cli to fix go version selection issue by @laurazard in #11283 - Remove ServiceProxy which was introduced for archived compose-cli by @ndeloof in #11298 - github.com/golang/mock is deprecated by @ndeloof in #11272 - Add support for endpoint-specific MAC address by @akerouanton in #11208 - Collect services to build using WithServices by @ndeloof in #11255 * Bumps - Bump compose-go to version v2.0.0-beta.3 by @glours in #11307 - Bump ddev to 1.22.4 by @ndeloof in #11225 - Bump golang to version 1.21.5 by @glours in #11249 - Bump docker cli v1.25 beta1 by @ndeloof in #11247 - Bump golang to version v1.21.6 by @glours in #11331 - Bump golangci-lint to v1.55.2 ci(deps) by @milas in #11332 - Bump compose-go v2-beta.2 by @ndeloof in #11295 - Build(deps): bump golang.org/x/sys from 0.15.0 to 0.16.0 by @dependabot in #11324 - Build(deps): bump golang.org/x/sys from 0.14.0 to 0.15.0 by @dependabot in #11228 - Build(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0 by @dependabot in #11317 - Build(deps): bump go.uber.org/mock from 0.3.0 to 0.4.0 by @dependabot in #11291 - go.mod: docker/docker and docker/cli v25.0.0-beta.3 by @thaJeztah in #11294 - go.mod: update docker/docker and docker/cli to v25.0.0-rc.1 by @thaJeztah in #11320 - gha: update DOCKER_CLI_VERSION to v24.0.7 by @thaJeztah in #11321 ------------------------------------------------------------------- Thu Nov 23 09:29:32 UTC 2023 - kastl@b1-systems.de - Update to version 2.23.3: * bump buildx to v0.12.0 and adapt code to changes ------------------------------------------------------------------- Thu Nov 23 06:49:08 UTC 2023 - kastl@b1-systems.de - Update to version 2.23.2: * build(deps): bump github.com/compose-spec/compose-go * build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 * build(deps): bump github.com/docker/cli * build(deps): bump github.com/docker/docker * build(deps): bump github.com/moby/buildkit from 0.12.2 to 0.12.3 * in watch mode force pull policy to build for services with both build and develop attributes This default behaviour will force a rebuild of the service images at watch process startup and be sure containers will be in sync with the local source code * Assume /src/pkg/compose/testdata absolute workingdir to make tests reproducible * avoir use of []types.ServiceConfig * identify services to build and don't display 'building' if none * fix --remove-orphans not to consider disabled services as orphaned * introduce RuntimeVersion for code to check container runtime supports required features * push also consider build.tags * Make it context aware and add test skipping options ------------------------------------------------------------------- Thu Nov 16 14:24:14 UTC 2023 - kastl@b1-systems.de - Update to version 2.23.1: * Strip project prefix from docker-compose up output * render quiet after filtering applied * bump golang to version 1.21.4 * bump compose-go to v1.20.1 * reject compose file using `secrets|configs.driver or template_driver` * skips flaky e2e tests on watch and attach * fix docker/compose#11170 add newline in cmd/compose/build.go fmt.Fprint * fix --pull documentation * improve watch configuration logging Add action associated to each managed path * lint * do not resolve cache dir until remote resource is in use * add a copyright notice with original author * implement runtime file selection * re-implement cache folder detection * introduce --resolve-image-digests for publish to seal service images by digest * fix build * fix * ENGDOCS-1764 * add docs upstream validation workflow * build(deps): bump go.uber.org/goleak from 1.2.1 to 1.3.0 * linter errors fixed * NetworkList to NetworkInspect for ID search * Squashing feature branch commits in order to add signoff message. * Use project.ServiceNames() if no service specified in hash * Add branch configuration for pull_request trigger * Initial codeql.yml commit * fix SIGTERM support to stop/kill stack * align with OCI artifact best practices * refactor(cmd/compose/run): remove redundant `len` check * fail start if depependency is missing ------------------------------------------------------------------- Thu Oct 19 05:44:01 UTC 2023 - kastl@b1-systems.de - Update to version 2.23.0: * check that the pull policy provided is a valid one or is not missing when --pull is used * remove uncessary return value of pullComposeFiles function * enable profile when down is ran with explicit service names * add sync+restart action to watch attribute * build(deps): bump github.com/containerd/containerd from 1.7.6 to 1.7.7 * build(deps): bump github.com/google/go-cmp from 0.5.9 to 0.6.0 * build(deps): bump google.golang.org/grpc from 1.58.2 to 1.59.0 * build(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 * remove refrecence docs generation * remove cucumber tests as we haven't added new ones for a while * add support of COMPOSE_ENV_FILES env variable to pass a list of env files * add dry-run support for publish command * extract method to reduce cyclomatic complexity * warn user remote resource is disabled * Don't delete dependent services * Apply platform before hashing * deps: remove deprecated github.com/pkg/errors * Include image name in error message * pkg/compose/publish: use empty config descriptor mediaType * pkg/remote/oci: check artifactType instead of config.mediaType * pkg/remote/oci: refer to the manifest as manifest * update the watch warning message when no services with a develop section * ci: enable verbose output for e2e tests (#11045) * truncate command by default, introduce --no-trunc flag to get the full command * build(deps): bump google.golang.org/grpc from 1.58.1 to 1.58.2 ------------------------------------------------------------------- Fri Sep 22 05:35:03 UTC 2023 - kastl@b1-systems.de - Update to version 2.22.0: * config --xx don't need `env_file` being parsed * remove --timeout=0 flag to cleanup function of watch e2e test compose down command need the watch process to be killed to succeed * move watch from alpha to main command * TestWatch to use new `develop` section * implement publish * watch: use official `develop` section (#11026) * build(deps): bump github.com/opencontainers/image-spec * build(deps): bump github.com/moby/buildkit from 0.12.1 to 0.12.2 * build(deps): bump gotest.tools/v3 from 3.5.0 to 3.5.1 * build(deps): bump google.golang.org/grpc from 1.58.0 to 1.58.1 * build(deps): bump github.com/containerd/containerd from 1.7.3 to 1.7.6 * introduce pull --missing flag to only pull images not present in cache * resolve service reference into container based on observed state * don't rely on depends_on to resolve volume_from, better use observed state * update to go1.21.1 * correct scale error messages formatting * add scale command * ci: tweak restricted imports in linter (#10992) * deps: upgrade Moby to v24.0.6 and gRPC to v1.58.0 (#10991) * cli: fix `--build` flag for `create` (#10982) * otel: add args & flags to cli traces (#10974) * watch: build & launch the project at start (#10957) * pull OCI remote resource * introduce publish (alpha) command * doc: updated README.md to remove broken link * migrate to github.com/distribution/reference * Enable service explicitly requested to be restarted * build: pass BuildOptions around explicitly & fix multi-platform issues * up: fix various race/deadlock conditions on exit (#10934) * pkg/api: replace uuid for basic random id ------------------------------------------------------------------- Tue Sep 05 14:28:51 UTC 2023 - kastl@b1-systems.de - Update to version 2.21.0: * test: e2e test reliability improvements (#10950) * build(deps): upgrade to compose-go v1.18.3 (#10947) * added the dot at the end of the sentence * add support for attributes exposed by `docker ps` * align docker compose ps with docker CLI to support --format * watch: only allow a single instance per-project * ci: bump golangci-lint to v1.54.2 * logs: fix for missing output on container exit (#10925) * replace dockerfile/dockerignore with patternmatcher/ignorefile * go.mod: github.com/moby/patternmatcher v0.6.0 * go.mod: remove some outdated comments * otel: add `include` to project up span * build(deps): bump github.com/compose-spec/compose-go from 1.18.1 to 1.18.2 (#10915) * include: add experimental support for Git resources (#10811) * up: handle various attach use cases better * build: use correct values for proxy variables (#10908) * warn user secret uid/gid/mode is not supported ------------------------------------------------------------------- Tue Sep 05 14:26:37 UTC 2023 - kastl@b1-systems.de - BuildRequire go1.21 - Update to version 2.20.3: * build(deps): bump github.com/moby/buildkit * bump compose-go to version v1.18.1 * bump compose-go to version v1.18.0 * update README and CI workflows to match main branch * upgrade Golang to 1.21 * build: fix missing proxy build args for classic builder (#10887) * trace: do not block connecting to OTLP endpoint (#10882) * watch: enable tar-based syncer by default (#10877) * Display builder's name on the first build line. Code borrowed from buildx commands/build.go. * up: do not warn on successful optional dependency complete (#10870) * Improve shell completion for `--project-directory` * Add shell completion for `--profile` * progress: minor correctness fixes (#10871) * doc: update Config() comment in API Service interface (#10840) * Improve buildkit node creation (#10843) * watch: batch & de-duplicate file events (#10865) * watch: support multiple containers for tar implementation (#10860) * test: temporarily disable an exit-code-from Cucumber test case (#10875) * test: fix e2e test for privileged builds (#10873) * update to go1.20.7 * build(deps): bump github.com/docker/docker from 24.0.5-0.20230714235725-36e9e796c6fc+incompatible to 24.0.5+incompatible (#10844) * build(deps): bump github.com/containerd/containerd from 1.7.2 to 1.7.3 (#10850) * build(deps): bump google.golang.org/grpc from 1.56.2 to 1.57.0 (#10847) * watch: add tar sync implementation (#10853) * build(deps): bump github.com/docker/cli ------------------------------------------------------------------- Wed Jul 19 14:01:30 UTC 2023 - kastl@b1-systems.de - Update to version 2.20.2: * watch: move sync logic into separate package * pkg/compose: RunOneOffContainer: don't use NewStartOptions() * trace: instrument `compose up` at a high-level * check secret target is an absolute windows path * build: do not attempt to push unnamed service images * test: do not run watch e2e tests in parallel * test: skip watch e2e test on macOS for the moment * only check if a dependency is required when something unexpected happens * add support of depends_on.required attribute ------------------------------------------------------------------- Wed Jul 19 04:24:04 UTC 2023 - kastl@b1-systems.de - Update to version 2.20.1: * go.mod: github.com/docker/docker v24.0.5-dev (tip of 24 release branch) * go.mod: github.com/docker/buildx v0.11.2 * go.mod: github.com/moby/buildkit v0.12.0 * test: speed up the e2e test suite * update go to go1.20.6 * go.mod: github.com/docker/docker 8443a06149b5 (v24.0.5-dev) (#10810) * watch: add end-to-end test (#10801) * bump buildkit to version v0.11.0-rc3.0.20230620112432-2d91ddcceedc (#10794) * build(deps): bump github.com/docker/cli from 24.0.2+incompatible to 24.0.4+incompatible (#10799) ------------------------------------------------------------------- Tue Jul 11 13:36:01 UTC 2023 - kastl@b1-systems.de - Update to version 2.20.0: * ci: speed up a couple Dockerfile targets w/ cache mount * build(deps): bump github.com/docker/buildx from 0.11.0 to 0.11.1 * test: fix process leak in wait e2e test * Apply no-deps before we select and mutate target service * support `attach` * build(deps): bump github.com/opencontainers/image-spec * build(deps): bump gotest.tools/v3 from 3.4.0 to 3.5.0 * build(deps): bump github.com/docker/docker * deps: bump docker/cli-docs-tool to v0.6.0 * build(deps): bump google.golang.org/grpc from 1.56.0 to 1.56.2 * fix(secrets): file permission value does not comply with spec * when --index is not set select first service container * network: fix random missing network when service has more than one * don't use unitialized cli to setup DryRunClient * fix some comments * add support of --builder and BUILDX_BUILDER * Add `docker compose wait` ------------------------------------------------------------------- Fri Jun 30 04:43:25 UTC 2023 - kastl@b1-systems.de - Update to version 2.19.1: * ci: upgrade compose-go to v1.15.1 (#10757) * up: fix race condition on network connect * Updated documentation files for my contribution * Fix capitalization error in sentence by adding an uppercase letter at beginning * fix typos * watch: add warning when a path is already used by a bind mount volume (#10741) ------------------------------------------------------------------- Wed Jun 21 12:37:44 UTC 2023 - kastl@b1-systems.de - BuildRequire go1.20 - Update to version 2.19.0: * build(deps): bump google.golang.org/grpc from 1.53.0 to 1.56.0 * bump compose-go to version v1.15.0 * ci: build fix for new buildx * ci: upgrade to buildx v0.11 * otel: refactor root command span reporting * fix race condition, waiting for containers when one exit * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.6 to 2.3.7 (#10699) * use main branch of Docker Desktop repo to trigger remote workflow * add missing comma in desktop-edge-test job * introduce run --cap-add to run maintenance commands using service image * otel: fix initialization / error-handling (#10717) * build(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0 * don't apply "rebuild" watch strategy by default * warn user build.secrets uid,gid,mode are not implemented * specify origin repo in generation token step of docker desktop edge testing * add vars. prefix to DOCKERDESKTOP_APP_ID * use directly DOCKERDESKTOP_APP_ID without env. prefix * fix typo in merge workflow for DOCKERDESKTOP_APP_ID * Update .github/workflows/merge.yml * escape containerimage.digest attribut in merge.yml GHA worlflow * use `--progress` to configure progress UI stylet push * cli: fix timeout behavior on up / restart / stop (#10672) * ci: add more ignore rules to dependabot * ci: fix merge workflow (#10685) * add GitHub action to trigger Docker Desktop e2e tests with Compose edge version * build(deps): bump github.com/Microsoft/go-winio from 0.5.2 to 0.6.1 * trace: add OTEL initialization (#10526) * ci: merge Go coverage reports before upload (#10666) * create directory in container using `mkdir -p` * ci: upgrade to Go 1.20.5 and Moby v24.x * assume we receive logs by lines and don't ignore those without EOL * build(deps): bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 (#10653) * ci: bump golangci-lint to v1.53.x (#10659) * don't skip `compose` used as project name * better diagnostic message on network label mismatch * bump buildx and use confutil.ConfigDir * detect network conflict as name is not guaranteed to be unique (#10612) * forward signal to container * fix build issue * add Windows drive prefix to temp dir usage in the doc generation task * build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 * e2e: make test re-runnable on the same machine * e2e: add a cuke feature to test compose errors with port conflicts * up should not silently ignore missing depends_on service * prevent buildkt's progress to render `Building` when no built is needed * e2e test to cover logs -f managing service being added/scaled * detect new container from project have started when running `compose logs` with no explicit services * compute service hash with a default DeployConfig * Fix typo in warning about existing volume * build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 * build(deps): bump github.com/cloudflare/cfssl from 1.4.1 to 1.6.4 * progress: remove errant import (#10614) * fix display of volumes flag in down help command * detect conflict removing volume/image and warn user * introduce WithRootNodesAndDown to walk the graph from specified nodes and down * introduce ability to select service to be stopped by `compose down` * scale: sort containers by creation date to remove older ones first (#10571) * watch: only monitor configured paths (#10599) * secrets: only set CopyUIDGID when required (#10598) * update docs to reflect dry run mode is feature complete * fix support for project name set by COMPOSE_PROJECT_NAME env var * go.mod: golang.org/x/oauth2 v0.1.0 * fix detection of swarm mode * build(deps): bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 ------------------------------------------------------------------- Wed May 17 17:38:20 UTC 2023 - kastl@b1-systems.de - Update to version 2.18.1: * only check the platform of cached image if image found ------------------------------------------------------------------- Tue May 16 18:18:06 UTC 2023 - kastl@b1-systems.de - Update to version 2.18.0: * introduce --no-path-resolution to skip relative path to be resolved * report external network not found when swarm is disabled * `parallel` flag belong do top-level "compose" cobra command, not the current one * detect terminal is not a `console.File` to avoid a panic * Update dry-run documentation * move dry-run support from alpha to main command * introduce COMPOSE_ANSI to define --ansi default value * rm: remove debugging output (#10554) * detect active endpoint trying to remove network and skip with a warning (#10555) * cli: option to write status messages on stdout (#10549) * fix local image removal when `compose down` is ran with `--project-name` (#10558) * restore long description to be included in `docker compose help` (#10504) * check local image matches the required platform * fix race condition running `compose up` with --parallel < number of services * fix container being recreated while config has not changed (#10540) * tests: inline dockerfile * build(deps): bump github.com/moby/term from 0.0.0-20221205130635-1aeaba878587 to 0.5.0 (#10523) * deps: update related modules * build(deps): bump github.com/docker/cli * build(deps): bump go.opentelemetry.io/otel from 1.15.0 to 1.15.1 * build(deps): bump golang.org/x/sync from 0.1.0 to 0.2.0 (#10534) * fix builkit progressui integration (#10535) * add dry-run support to up command * let user declare build secret target (id) * update go to go1.20.4 * stop containers after termination * cli: dry run support for `build` (#10502) * progress: make title configurable (#10507) * Revert "build(deps): bump github.com/opencontainers/image-spec" * build(deps): bump github.com/opencontainers/image-spec * build(deps): bump go.opentelemetry.io/otel from 1.14.0 to 1.15.0 * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 * build(deps): bump github.com/opencontainers/image-spec * build(deps): bump github.com/docker/cli * TailMsgf must format with args * build(deps): bump github.com/docker/docker * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#10489) * restore support for `--memory` * don't block events loop collecting logs * test: fix E2E tests under Engine v23 / DD 4.19 * Fixed issue when project name contains dashes (`-`) * Added tests to `viz` subcommand * Added docs * Replaced calls to WriteRune with WriteByte and reformatted imports * Started working on `viz` subcommand ------------------------------------------------------------------- Thu Apr 20 14:26:37 UTC 2023 - kastl@b1-systems.de - Update to version 2.17.3: * bump compose-go to v1.13.4 * build(deps): bump github.com/docker/docker * build(deps): bump github.com/docker/cli * bump compose-go * Remove redundant goroutine while removing containers (#10449) * log: fix race on container kill (#10459) * Don't use "info.IndexServerAddress" for authentication * go.mod: fix grouping of dependencies, and tidy * build(deps): bump github.com/opencontainers/runc from 1.1.3 to 1.1.5 * add dry-run support to down command * fix gocyclo lint error which currently block Compose CI * can't watch a service without a build section * ansi=auto|never|always * bump docker version to 23.0.3 (CVE-2023-28840) * better support NO_COLOR by disabling colors, not ANSI TUI (#10434) * ci: bump Go to 1.20.3 and various dependencies * restore `--timeout` flag renamed by mistake * prevent panic using classic builder * add dry-run support to create command * build(deps): bump github.com/docker/cli * build(deps): bump github.com/docker/docker * workaround race condition in ContainerList * add dry-run support to run command ------------------------------------------------------------------- Mon Mar 27 04:50:30 UTC 2023 - kastl@b1-systems.de - Update to version 2.17.2: * ci: bump compose-go to v1.13.2 ------------------------------------------------------------------- Fri Mar 24 18:27:40 UTC 2023 - kastl@b1-systems.de - Update to version 2.17.1: * test: fix e2e commands on Windows * test: generate valid Compose project names from Cucumber specs * test: update error message * test: fix race in e2e build test * ci: upgrade to Go 1.20.2 & bump deps * build(deps): bump github.com/moby/buildkit from 0.11.4 to 0.11.5 * watch involves up --build after change has been detected * watch: add note about goroutine-safety & test * watch: data race / segfault fixes ------------------------------------------------------------------- Wed Mar 22 13:07:43 UTC 2023 - kastl@b1-systems.de - Update to version 2.17.0: * update -p project name flag documentation * introduce `ignore` attribute for watch triggers * Run classic builder with BuildConfig, not buildx.Options * use `build` as common API for build scenarios * use progress to show copy status * watch: add file delete/rename handling * build(deps): bump github.com/docker/buildx from 0.10.3 to 0.10.4 * Fix concurrent map read/write when recreating containers * build(deps): bump github.com/moby/buildkit from 0.11.3 to 0.11.4 * build and push binaries images when a PR is merged or a tag pushed * Add support for `additional_contexts` in `build` service config * introduce dockerfile_inline * one off container name use configured Separator for naming * collect built image IDs * progress writer uses dockercli.Err stream * Remove "-s" from LDFLAGS * use go 1.20 -cover support * pad can be negative on small terminal * add dry-run support for push command * add dry-run support for pull command * adopt http://no-color.org/ * add dry-run support to restart command * restart only needed services by checking depends_on relations * update compose-go * Report error if project name is empty after normalization * only consider containers with config_hash labels (i.e, created by compose) * build(deps): bump github.com/containerd/containerd from 1.6.18 to 1.6.19 * build(deps): bump go.opentelemetry.io/otel from 1.13.0 to 1.14.0 * test: tweak pause test to try and prevent failures in Windows CI * build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 * watch: ignore ephemeral files & minor output tweaks * bump golang/x/net to v0.7.0 (CVE-2022-41723) * add support for `restart` for `depends_on` * build(deps): bump github.com/containerd/containerd from 1.6.17 to 1.6.18 * apply config options for pseudo-subcommands * build(deps): bump github.com/docker/buildx from 0.10.2 to 0.10.3 * compact TUI to monitor layers download progress * ci: bump to Go 1.20.1 and latest deps * ignore services without a build section * sort service --hash output by service name * introduce --timeout on `up` * introduce --no-deps on restart * also restart dependent services after a service has been restarted * build(deps): bump go.uber.org/goleak from 1.1.12 to 1.2.1 * exclude unstable labels from config hash * store exec details to offer better dry-run status on ExecStart * add support for `excludes` and `rebuild` * use CGO to enable fsevent on OSX * ci: don't use `-race` on Windows * ci: use CGO for tests to enable race detector * support dry-run for rm command * support dry-run for stop command * support dry-run for exec command * Update emacs ignore patterns (#5903) * ignore: add Go umask files to ephemeral set (#5740) * filewatch: use apiserver FileWatch model in EngineState (#4277) * Add .kate-swp files to ignore pattern (#3380) * change org name from windmilleng to tilt-dev (#3346) * tilt: ignore a few more vim swap files (#2190) * ignore: auto-ignore jetbrains .idea file (#2065) * model: move to pkg (#2024) * ignore: improve the ephemeral temp file patterns [ch2663] (#1925) ------------------------------------------------------------------- Wed Feb 08 12:44:41 UTC 2023 - kastl@b1-systems.de - Update to version 2.16.0: * build(deps): bump go.opentelemetry.io/otel from 1.12.0 to 1.13.0 * bump docker engine and cli version to 23.0.0 with buildkit(v0.11.2) and buildx (v0.10.2) * prevent assignment to entry in nil map * wait on service containers as dependencies to be deterministic * use containers we expect to start for wait condition * detect replacement container is created and inform printer so it attach and don't stop * bump golang to 1.20 * ci: Replace deprecated command with environment file * add log when copying files/directories between host and containers (both way) * support dry-run for cp command * initial support for `sync` * use tilt watcher to track filesystem changes * adjust code and dependencies * cleanup deprecated ioutil functions (#5919) * watch: optimization to help avoid inotify nodes for large file trees (#5769) * tests: make test fixtures responsible for tearing themselves down (#5512) * lint: fix local-prefixes for goimports (#5453) * ci: add exportloopref linter and upgrade to golangci-lint v1.43.0 (#5281) * build: ensure file handles properly closed (#5298) * Fix local go_lintfix errors (#5191) * watch: use WalkDir to speed up file listing (#4684) * test: clean up test loggers a bit (#4580) * test: fix lint errors on Darwin (macOS) (#4247) * test: enable unused check, remove dead code (#4208) * watch: improve error messages when you run out of inotify instances (#3960) * dockerignore: convert ignore patterns to absolute paths [ch9237] (#3743) * watch: fix a dumb errcheck (#3622) * watch: increase the windows watch i/o buffer (#3620) * change org name from windmilleng to tilt-dev (#3346) * watch: use the recursive watcher on windows (#3306) * Revert "watch: fix inotify tests on windows" (#3147) * watch: fix inotify tests on windows (#3140) * circleci: run make shorttest on windows. flag off a large swath of broken tests (#3132) * tilt: enable errcheck on tests (#2877) * ci: enable staticcheck, fix problems that were surfaced (#2809) * logger: move to pkg (#2031) * watch: add retry counts to fsync (#2023) * dockerignore: improve MatchesEntireDir (#1865) * watch: move more of the directory-skipping logic into the interface (#1864) * watch: add a simple check when there are no exclusions (#1863) * watch: skip setup if nothing is being watched (#1861) * watch: FileEvents must always be absolute (#1841) * watch: add tests for ignores and number of watches (#1838) * watch: change the watcher interface to better match how we actually use it (#1835) * watch: record num watches in expvars (#1795) * makefile: fix goimports -local (#1763) * watch: fix spurious errors while watching (#1726) * watch: don't watch each individual file (#1613) * live_update: error if syncing from outside of docker context (#1396) * watch: tfw you have a test that asserts broken file-watch behavior :cry: (#1354) * watch: add watch function that traverses up directory structure recursively (#1013) * watch: remove inotify-specific bits of watcher_linux (#890) * watch: fix a bug when a file and its ancestor both have direct watches (#863) * testing: update internal/watch to use the tempdir fixture (#862) * cleanup: wrap errors properly (#772) * watch: use `sinceWhen` and `HistoryDone` to avoid spurious events (#557) * watch: fix a spurious error (#344) * watch: try a slightly different ignore strategy (#174) * watch: fix more data races on darwin (#166) * watch: a new strategy for handling spurious events, hoping to fix race conditions (#163) * watch: fix a flaky test by ignoring spurious events correctly (#162) * watch: fix a segfault on linux (#148) * watch: stop skipping tests (#145) * watch: simplify the fileEvent interface to only contain paths (#144) * add errcheck (#93) * tilt: copy watch code from tesseract * Add remote buildx driver * rename `convert` to `config` to align with compose v1 UX * build(deps): bump go.opentelemetry.io/otel from 1.11.2 to 1.12.0 * add dry-run support of pause and unpause commands * build(deps): bump github.com/containerd/containerd from 1.6.15 to 1.6.16 * support dry-run for kill command * update tty and plain text writers to support dry run mode * refresh Maintainers list * Support for docker compose build --push when using multiple platforms * Update docs to add `--scale` argument to `compose create` * Add `--scale` to `compose create`, refactor scale option * Fix: Handle concurrent threads using mutex on the rainbowColor function * Remove unecessary files * Fix: remove the infinite goroutine * Remove unecessary files * Fix: remove the infinite goroutine * alias -n for --tail to align with docker CLI * cleanup TUI lines after switching to "compact" mode * Update docs to mention `COMPOSE_PARALLEL_LIMITS` and ways to configure parallelism * fix docs to reflect docker compose ps being aligned with docker ps * Revert "Fix Goroutine leak in v2/command/formatter" * Fix Linting Issues * Feat: Clean inifinite Goroutine * Only account running containers for logs * bump compose-go to version v1.9.0 * allow a TTY to be allocated with -t * debounce refresh requests with quietperiod * Add tests for filtering containers not created by Compose * Ignore containers created outside compose * directly embed the orignal APIClient in the DryRunClient * identify functions which need to be ovorridden for dry run feature * add alpha command to test dry-run * create custom CLI when dry-run mode active update documentation * add DryRun API Client with delagation pattern * add dry-run flag * use compose service methods when exist instead of directly service.dockerCli * mark alpha command as experimental * Adjust terminal height calc * introduce experimental watch command (skeletton) * Skip child events when printer events > terminal height * fix typo * Update docs programatically like you're supposed to * fix docs yaml * This option lives in the create options, not the run options * Add remove-orphans functionality to run, because it recommends that in error messages * Add :cucumber: GHA workflow * introduce --remove-orphans in compose create command * pass proxy config as build args - same as docker/buildx#959 * Remove unused kube tag * build(deps): bump github.com/containerd/containerd from 1.6.14 to 1.6.15 * Update expected Cucumber `compose ps` output to match changes ------------------------------------------------------------------- Tue Jan 10 05:50:49 UTC 2023 - kastl@b1-systems.de - Update to version 2.15.1: * Don't share the options map * don't filter by services if no filter was set * use a simpler prompt implementation when we lack a terminal * fix CVE-2022-27664 and CVE-2022-32149 high-risk vulnerability * add support for uts namespace ------------------------------------------------------------------- Thu Jan 05 13:59:05 UTC 2023 - kastl@b1-systems.de - Update to version 2.15.0: * add support for COMPOSE_PARALLEL_LIMIT (parity with Compose v1) * introduce --no-attach to ignore some service output * introduce `--ignore-buildable` to ignore buildable images on pull * limit build concurrency according to --parallel * Ignore not only auto-removed containers but also "removal in progress" for orphan containers * Set `pullChanged` when setting `--pull` on `compose up` * Fix empty file when using compose config in case of smaller source files * Update documentation * build(deps): bump github.com/docker/cli-docs-tool from 0.5.0 to 0.5.1 * add support of privileged attribut in service.build section * cleanup framework.go from uncessary debug logs * reduce cyclomatic complexity * fix security opts support (seccomp and unconfined) * check service names based on project, not running containers * debut output for CI * change the way finding the just built compose binary * e2e tests display Compose version used to run the test currently the version displayed is the one installed and not the one use for the tests * rely on CI timeout * add buildx plugin to e2e configuration directory * remove flaky TestLocalComposeLogsFollow * service hash MUST exclude replicas * don't assume os.Stdout and rely on dockerCLI.streams * dump stdout to help diagnose flaky test * don't fail `logs` when driver:none is set * introduce support for cgroup namespace ------------------------------------------------------------------- Tue Dec 20 12:21:59 UTC 2022 - kastl@b1-systems.de - Update to version 2.14.2: * build(deps): bump github.com/containerd/containerd from 1.6.12 to 1.6.14 * fix race condition on compose logs * update projectOptions to be public by renaming it to ProjectOptions * detect dependency failed to start * set CPU quota * Use `DOCKER_DEFAULT_PLATFORM` to determine platform when creating container * fix regression running pull --ignore-pull-failures * only list running containers when --all=false * volume: fix WCOW volume mounts ------------------------------------------------------------------- Fri Dec 16 12:35:22 UTC 2022 - kastl@b1-systems.de - Update to version 2.14.1: * apply uid/gid when creating secret from environment * load project from explicit --files when set * use recently introduced `withSelectedServicesOnly` to reduce code duplication * introduce --timestamp option on compose up * Address review comments * Add --include-deps to push command * align `--format` flag and UX with docker cli * align `compose ps` output with `docker ps` * use StatusError from docker/cli, not "dockerd" * resolve --env-file as absolute path * fix parsing of repository:tag * distinguish stdout and stderr in `up` logs * ContainerStart must run sequentially for engine to assing distinct ports within configured range * Fix corner case when there's no container to attach to * Don't stop pull for images that can be built * Squashed commit of the following: * build(deps): bump github.com/containerd/containerd from 1.6.10 to 1.6.12 * remove go.* from e2e tests directory * added table of contents inside readme * fix race condition collecting pulled images IDs * detect required service are gone to stop watching explicit API to stop the log printer * update to go1.19.4 * Cleanup tips from output * check only running containers in after down tests of profiles e2e tests * Update `e2e` mod deps * build(deps): bump go.opentelemetry.io/otel from 1.11.1 to 1.11.2 * introduce --parallel to limit concurrent engine calls * port: improve error-handling if port not found (#10039) ------------------------------------------------------------------- Mon Dec 05 09:14:05 UTC 2022 - kastl@b1-systems.de - BuildRequires go1.19 - Update to version 2.14.0: * ci: upgrade to Go 1.19.3 & bump deps * schema: add support for tmpfs.mode in mount definition (#10031) * test: speed up Cucumber stop test (#10032) * Make use of Containers.filter() and isService() * Fix replacing "service:x" with "container:y" * use StringToBool to detect COMPOSE_IGNORE_ORPHANS * use api.Separator to print right image names * use DistributionInspect to resolve image digest * move image digests resolution to backend * Broken Link fixed in compose docs * add file header and cleanup profiles e2e tests * add e2e tests to check profile activation via targeted service * add e2e tests to check no profile usages * add e2e tests using explicitly profiles * pass services list to projectOrName function to add profiles for targeted services * only stop services started by `up` on interruption * docs: fix grammatical issues (#9997) * implement support for oom_score_adj * useDockerDefaultOrServicePlatform fct should return service.platform if defined and present in the build.platforms list (or if the list is empty) * configure buildx for plain output if --ansi=never has been set * change the default branch of the doc repository ------------------------------------------------------------------- Thu Nov 24 15:58:43 UTC 2022 - kastl@b1-systems.de - Update to version 2.13.0: * Update `e2e` module deps * ignore error parsing container number label, just warn * Update docs * Add `--build` option to `compose run` * use platform defined by DOCKER_DEFAULT_PLATFORM when pulling and no service platform defined * display creation warnings from the engine * add e2e tests to check build dependency between services * check if a missing image won't be build via a service declared in depends_on section * add --no-consistency flag to convert command * use COMPOSE_PROFILES value only if no command line arg profiles used * build(deps): bump github.com/containerd/containerd from 1.6.9 to 1.6.10 * exclude issues with the kind/feature label from stale bot process * ci: upgrade to compose-go v1.7.0 * ci: update dependencies to latest * ci: remove uses of deprecated gotest.tools v2 (#9935) * Update `e2e` module dependencies * build(deps): bump github.com/containerd/containerd from 1.6.8 to 1.6.9 * add support of deploy.reservation.memory * Update deps for `e2e` module * map deploy.restart_policy.condition to engine values * build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 * go.mod: update docker-credential-helpers v0.7.0 * go.mod: remove replace for runc * go mod: tidy and group "require" blocks, update comments ------------------------------------------------------------------- Sat Oct 22 13:35:05 UTC 2022 - kastl@b1-systems.de - Update to version 2.12.2: * go.mod: docker 5aac513617f072b15322b147052cbda0d451d389 / v22.06-dev ------------------------------------------------------------------- Sat Oct 22 13:32:02 UTC 2022 - kastl@b1-systems.de - Update to version 2.12.1: * update docker engine API to apply fix of CVE-2022-39253 * Update `e2e` module deps * build(deps): bump go.opentelemetry.io/otel from 1.11.0 to 1.11.1 * Skip flaky test in CI ------------------------------------------------------------------- Tue Oct 18 18:19:16 UTC 2022 - kastl@b1-systems.de - Update to version 2.12.0: * log the error object instead of the string message only * replace deprecated functions * bump docker dependencies version * Fix Makefile target `validate-go-mod` to only run correct bakefile target * Update `e2e` module deps * Add Codecov * port: fix container name in error message (#9909) * github: add feature request template * github: switch to issue template form * build(deps): bump go.opentelemetry.io/otel from 1.10.0 to 1.11.0 * Update e2e mod dependencies * build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 * docs: update with result of `make docs` * Add support to push images quietly via compose cli * Bump e2e module deps * build(deps): bump gotest.tools/v3 from 3.3.0 to 3.4.0 * don't fail when trying to remove an orphan container during down command * Update to go 1.19.2 to address CVE-2022-2879, CVE-2022-2880, CVE-2022-41715 * ci: update docs repo path * Adjust modules sync validating script * Add `validate-modules` target to CI matrix * Add Makefile, buildx target to ensure root and e2e go.mod are kept in sync * Create new `e2e` module to separate out test dependencies, move cucumber tests * Removed tests that were replaced by Cucumber features * Update go.mod replace * Rename start cucumber feature * Convert `cascade_stop_test.go` into a cucumber feature `stop.feature` * Cucumber test setup/fixtures ------------------------------------------------------------------- Wed Sep 28 05:01:37 UTC 2022 - kastl@b1-systems.de - Update to version 2.11.2: * deps: fix race condition during graph traversal (#9878) * ci: limit job permissions from default (#9874) * remove unnecessary code * add more information when service.platform isn't part of service.build.platforms * ci: upgrade to compose-go v1.6.0 * cli: add shell completion function (#9269) * run: clean service command if entrypoint is overridden (#9836) * Remove support for `DOCKER_HOST` in `.env` files (#9871) * keep the platform defined, in priority, via DOCKER_DEFAULT_PLATFORM or the service.plaform one if no build platforms provided * Restore `-s` in `uname` OS detection logic in `Makefile` * Streamline GHA workflow * Upgrade `actions/setup-go` to v3 * Skip some tests in CI due to flakiness * Increase E2E test timeouts to reduce flakiness * Temporarily disable broken E2E tests on Windows * Rework Makefile for better Windows support * Add GitHub Action workflow to run tests on Mac/Windows runners * configure default builder export when no build.platforms defined * Remove `/rebase` GitHub Action since it's no longer necessary ------------------------------------------------------------------- Wed Sep 21 08:31:36 UTC 2022 - kastl@b1-systems.de - Update to version 2.11.1: * keep the platform defined via DOCKER_DEFAULT_PLATFORM during build if no build platforms provided * Fix linting issues * Don't overwrite existing dependency condition * Add unit tests for `PrepareVolumes` * keep the platform defined at service level during build if no build platforms provided ------------------------------------------------------------------- Thu Sep 15 07:50:53 UTC 2022 - kastl@b1-systems.de - Update to version 2.11.0: * update compose-go version to v1.5.1 * add license to file * small cleanup + godoc * down: refactor image pruning * pull: improve output for services with both image+build (#9829) * build(deps): bump go.opentelemetry.io/otel from 1.9.0 to 1.10.0 * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.5 to 2.3.6 (#9830) * Update README.md * logs: filter to services from current Compose file (#9811) * convert: do not escape $ into $$ when using the --no-interpolate option (#9703) * Cleanup E2E tests * Add unit tests to graph building logic in `dependencies.go` * Restrict compose project to selected services and dependencies on `compose start` * Apply newly loaded envvars to "DockerCli" and "APIClient" * build(deps): bump go.opentelemetry.io/otel from 1.4.1 to 1.9.0 * build: label built images for reliable cleanup on `down` * ci: upgrade golangci-lint * ci: upgrade to Go 1.19.1 * Cleanup E2E tests * patch: build.go access custom labels directly cause panic * build(deps): bump github.com/cnabio/cnab-to-oci from 0.3.6 to 0.3.7 * always use 'docker' export entry when building with 'up' or 'run' commands * don't push images at the end of multi-arch build (and simplify e2e tests) support DOCKER_DEFAULT_PLATFORM when 'compose up --build' add tests to check behaviour when DOCKER_DEFAULT_PLATFORM is defined * add a test with multiple service builds using platforms in the same compose file * fix panic when using 'compose up --build' * add support of platforms in build section * build(deps): bump github.com/docker/go-units from 0.4.0 to 0.5.0 * api: fix typo on Push godoc (#9798) * ci: reduce noise from dependabot on Docker deps (#9770) * Add E2E tests for starting/stopping single services * Fix `down` with `--rmi` * Only capture exit codes from `exit` events * Add E2E tests for `up --exit-code-from` ------------------------------------------------------------------- Wed Sep 07 06:51:12 UTC 2022 - kastl@b1-systems.de - Update to version 2.10.2: * Makefile: mutualize local and Dockerfile build opts (#9776) * Revert "Apply newly loaded envvars to `DockerCli` and `APIClient`" (#9792) ------------------------------------------------------------------- Wed Sep 07 06:50:17 UTC 2022 - kastl@b1-systems.de - Update to version 2.10.1: * ci: bring back individual checksum files * build(deps): bump github.com/moby/buildkit from 0.10.3 to 0.10.4 (#9780) * ci: fix checksums checking * Pull image regardless of whether it exists locally if `tag=latest` * Remove error message showing exit code when using --exit-code-from * pull: only skip pull when policy is `missing`/`if_not_present` * Wake up! ------------------------------------------------------------------- Fri Aug 19 14:58:42 UTC 2022 - dmueller@suse.com - Update to version 2.10.0: * Fix breaking test * Update docs for new `compose kill` `--remove-orphans` option * Apply compose model on `compose kill`, add `--remove-orphans` * Code formatting * Give environment variables precedence back to OS over .env * Reset the DockerCli and APIClient after loading the environment file * up/start/run: don't wait for disabled service * create: pull all services logic out of loop; add DependsOn deps * build(deps): bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16 (#9754) * build windows/arm64 and linux/riscv64 binaries * ci: fix checksums file * Use compose to pull image twice * root: filter out commandConn.Close* warning message * Use alpine:3.13.12 to be unique across the test cases * readme: fix badges * Fix package name * Try changing package used to avoid any race condition in tests * Better sandboxed workflow and enhanced cross compilation * build(deps): bump github.com/containerd/containerd from 1.6.7 to 1.6.8 * make compose pull tests more expressive * lint: add `nolintlint` and clean up `nolint` directives (#9738) * lint: run gofmt from Go 1.19 (#9728) * don't apply default pull policy from command line if one is define in service configuration * build(deps): bump github.com/containerd/containerd from 1.6.6 to 1.6.7 * update Docker CLI version use in CI to v20.10.17 * fix version of golangci-lint to v1.47.3, issue with v1.48.0 for now * build(deps): bump github.com/cnabio/cnab-to-oci from 0.3.5 to 0.3.6 * config: use correct YAML marshal func (#9712) * docs: remove extra whitespaces in help text (#9710) * ci: use latest stable dockerfile syntax & rename docs Dockerfile (#9711) * Change `projectOrName()` to check COMPOSE_PROJECT_NAME env var * Filter `compose ps` output by provided compose model * Add E2E tests for `compose stop` with compose file * if command is ran with a compose file, apply the compose model, not just project name * up: do not stop dependency containers (#9701) * config: case-insensitive env vars on Windows (#9438) * build: upgrade BuildKit & docker/distribution * build: bump to Go 1.18.5 * update usage strings for consistency * remove unused workflows, especially the pr-closed which always failed * Fix breaking TestComposePull test case * Avoid pulling same images multiple times ⚡️ ------------------------------------------------------------------- Mon Aug 8 18:52:46 UTC 2022 - Johannes Kastl - Require docker-compose-switch to not break user expectations, as otherwise 'zypper in docker-compose' will not provide a docker-compose binary (docker-compose only provides a docker plugin, i.e. 'docker compose ...') ------------------------------------------------------------------- Tue Aug 02 06:38:24 UTC 2022 - dmueller@suse.com - Update to version 2.9.0: * switch tests back to '_' separator for networks and volumes * update to compose-go v1.4.0 as previous version introduced breaking changes * Overwrite parent commands PreRun code for `compose version` * Improve descriptions about tests in CONTRIBUTING.md * Fix LinkLocalIPs in V2 * Link to BUILDING.md for testing instructions ------------------------------------------------------------------- Mon Aug 01 11:13:31 UTC 2022 - kastl@b1-systems.de - Update to version 2.8.0: * Fix go.mod on replace for compose-go * config: ignore image for config hash generation (#9350) * Bump compose-go -> 1.3.0 * use '-' as separator by default for image name * as --no-build is set, set service image to default image name * cmd: consistent handling no-args commands (#9660) * Fixes #9403: Remove Named Pipes from volumeMounts * Fix environment variables priority between environment and .env * Fix .env and --envfile priorities * add pull & build config to project before create add pull flag to create and up documentation * introduce --pull * use Google addlicense instead of kunalkushwaha/ltag * update cli-doc-tool and update the doc with this new version * remove usage of GO111MODULE option in gh actions * use env variable for golang version and updates gh actions from v2 to v3 * ci(docs): use push-to-fork when creating pr * remove unused sessionConfig param for addSecretsConfig function ------------------------------------------------------------------- Wed Jul 20 07:19:38 UTC 2022 - kastl@b1-systems.de - Update to version 2.7.0: * Bump compose-go -> v1.2.9 * build(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 * Fix nolint issues * Add "style" tag to gocritic * Add "opinionated" tag to gocritic * Add "diagnostic" tag to gocritic * Add gocritic to linters * add 2 named networks with close name in the networks test suite to guarantee the good distinction on network names * update go to 1.18.4 * keep the container reference when volumes_from target a container and not a service * build.go: Access customLabels directly instead of by reference * check the exact network's name before creating or stopping it NetworkList API doesn't return the extact name match, so we can retrieve more than one network with a request * build(deps): bump github.com/cnabio/cnab-to-oci from 0.3.4 to 0.3.5 * Fix typo in docker_compose_pull * Fix typo in compose pull documentation * add new targets to build Compose binary before running e2e tests * Fix golangci syntax error in run configuration * add support of environment secret during build step * Use switch/case instead of static map for simplicity * TC: Add missing tests for argumetns * TC: fix naming * TC: Use map to simplify flag conversion and avoid multilple if statements * e2e: add more start/stop test cases * build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 * Update logic to keep `compose stop` and `restart` from affecting one-offs * e2e: split out `pause` tests and add more cases * fix: panic caused by empty string argument * build(deps): bump github.com/hashicorp/go-version from 1.5.0 to 1.6.0 * Blacklist ioutil pkg in golangci-lint * Use alpine instead of ubuntu for E2E compose file, no need to include version * Replace deprecated ioutil pkg with os & io * test: add copyright notice * ci: release workflow to open a PR on docs repo with latest changes * build(deps): bump github.com/stretchr/testify from 1.7.4 to 1.7.5 * build(deps): bump github.com/cnabio/cnab-to-oci from 0.3.3 to 0.3.4 * network: make test mock consistent throughout * build: respect dependency order for classic builder * networks: prevent issues due to duplicate names * build(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0 * build(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.4 * Use appropriate dependency condition for one-shot containers when running `compose up --wait` ------------------------------------------------------------------- Wed Jun 29 18:26:32 UTC 2022 - Johannes Kastl - first version of package docker-compose (v2) - v2 was rewritten in golang, while v1 was in Python - as they behaviour changes between v1 (python-docker-compose) and v2, this package does not obsolete the v1 package