Releases: docker/compose
Releases · docker/compose
v2.19.1
Known Issues 😓
- DNS resolution issues in services using multiple networks (#10777)
Bugfixes 🐛
- Fix for "container not connected to network" errors when running
compose up
(#10756) - Default to project directory if
build.context
is not specified (see compose-spec/compose-spec#376) - Warn if using a bind mount in
watch
configuration (#10741)
Changelog
- add warning when a watch source is already used by a bind mount volume by @glours in #10741
- fix typos by @gocurr in #10740
- Fix capitalization error in sentence by adding an uppercase letter at… by @aroramrinaal in #10722
- up: fix race condition on network connect by @milas in #10756
- ci: upgrade compose-go to v1.15.1 by @milas in #10757
New Contributors
- @gocurr made their first contribution in #10740
- @aroramrinaal made their first contribution in #10722
Full Changelog: v2.19.0...v2.19.1
v2.19.0
Known Issues 😓
- Intermittent "container is not connected to the network " errors on
docker compose up
(#10668)
What's Changed
Enhancements ✨
- introduce ability to select service to be stopped by
compose down
by @ndeloof in #10552 - use
--progress
to configure progress UI style by @ndeloof in #10690 - introduce run --cap-add to run maintenance commands using service image by @ndeloof in #10669
Fixes 🐛
- fix detection of swarm mode by @ndeloof in #10591
- fix support for project name set by COMPOSE_PROJECT_NAME env var by @ndeloof in #10597
- fix display of volumes flag in down command help by @glours in #10616
- progress: remove errant import by @milas in #10614
- [fix]
up
should not silently ignore missing depends_on service by @ndeloof in #10602 - forward signal to container by @ndeloof in #10633
- detect network conflict as name is not guaranteed to be unique by @ndeloof in #10612
- Fix typo in warning about existing volume by @jfly in #10623
- fix
compose -p x logs -f
detect new services started after command by @ndeloof in #10622 - don't skip
compose
used as project name by @ndeloof in #10657 - create directory in container using
mkdir -p
by @ndeloof in #10652 - Do not set a default timeout of 10 seconds when restarting / stopping… by @robbert-ef in #10672
- don't apply "rebuild" watch strategy by default by @ndeloof in #10710
- fix race condition, waiting for containers when one exit by @ndeloof in #10725
- warn user build.secrets uid,gid,mode are not implemented by @ndeloof in #10709
Internal 🔧
- only set CopyUIDGID when secret is requested to set gid/uid by @ndeloof in #10598
- only watch configured paths by @ndeloof in #10599
- sort containers by creation date to scale down the older ones by @ndeloof in #10571
- compute service hash with a default DeployConfig by @ndeloof in #10621
- Cuke tests for port conflicts by @nicksieger in #10627
- add Windows drive prefix to temp dir usage in the doc generation task by @glours in #10637
- update docs to reflect dry run mode is feature complete by @aevesdocker in #10604
- better diagnostic message on network label mismatch by @ndeloof in #10639
- assume we receive logs by lines and don't ignore those without EOL by @ndeloof in #10660
- ci: upgrade to Go 1.20.5 and Moby v24.x by @milas in #10662
- do not render
Building
when no build is needed by @ndeloof in #10620 - ci: merge Go coverage reports before upload by @milas in #10666
- trace: add OTEL initialization by @milas in #10526
- add GitHub action to trigger Docker Desktop e2e tests with Compose edge version by @glours in #10625
- use env instead of variables prefix to use DOCKERDESKTOP_APPID by @glours in #10685
- ci: add more ignore rules to dependabot by @milas in #10694
- escape containerimage.digest attribute in merge.yml GHA worlflow by @glours in #10691
- fix typo in merge workflow for DOCKERDESKTOP_APP_ID by @glours in #10698
- use directly DOCKERDESKTOP_APP_ID without env. prefix by @glours in #10701
- add vars. prefix to DOCKERDESKTOP_APP_ID by @glours in #10702
- specify origin repo in generation token step of docker desktop edge testing by @glours in #10703
- otel: fix initialization / error-handling by @milas in #10717
- add missing comma in desktop-edge-test job by @glours in #10724
- use main branch of Docker Desktop repo to trigger remote workflow by @glours in #10726
- trace: refactor root command span reporting by @milas in #10719
- ci: upgrade to buildx v0.11 by @milas in #10727
Bumps
- build(deps): bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 by @dependabot in #10578
- go.mod: golang.org/x/oauth2 v0.1.0 by @thaJeztah in #10592
- build(deps): bump github.com/cloudflare/cfssl from 1.4.1 to 1.6.4 by @dependabot in #10572
- build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 by @dependabot in #10582
- build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by @dependabot in #10632
- bump buildx and use confutil.ConfigDir by @ndeloof in #10631
- ci: bump golangci-lint to v1.53.x by @milas in #10659
- build(deps): bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 by @dependabot in #10653
- build(deps): bump github.com/Microsoft/go-winio from 0.5.2 to 0.6.1 by @dependabot in #10677
- build(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0 by @dependabot in #10715
- build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.6 to 2.3.7 by @dependabot in #10699
- bump compose-go to version v1.15.0 by @glours in #10730
- build(deps): bump google.golang.org/grpc from 1.53.0 to 1.56.0 by @dependabot in #10720
New Contributors
- @aevesdocker made their first contribution in #10604
- @jfly made their first contribution in #10623
- @robbert-ef made their first contribution in #10672
Full Changelog: v2.18.1...v2.19.0
v2.18.1
🐛 Fixes
- Fix for "Image not found" errors when running
up --build
(#10574)
What's Changed
Full Changelog: v2.18.0...v2.18.1
v2.18.0
What's Changed
✨ Enhancements
- Dry run build command support by @glours in #10502
- First implementation of
viz
subcommand by @BenjaminGuzman in #10376 - introduce --no-path-resolution to skip relative path to be resolved by @ndeloof in #10557
- introduce
COMPOSE_ANSI
to define --ansi default value by @ndeloof in #10559 - introduce ability to write status messages on stdout by @ndeloof in #10549
🐛 Fixes
- don't block events loop collecting logs by @ndeloof in #10493
- restore support for
--memory
by @ndeloof in #10492 - TailMsgf must format with args by @ndeloof in #10478
- make progress title configurable by @glours in #10507
- stop containers after termination by @TP-O in #10479
- let user declare build secret target by @ndeloof in #10527
- fix buildkit progressui integration by @ndeloof in #10535
- Update 🥒 tests to use
dockerfile_inline
by @laurazard in #10508 - fix container being recreated while config has not changed by @ndeloof in #10540
- fix race condition when --parallel is used with a large number of dependent services by @ndeloof in #10544
- check local image matches the required platform by @ndeloof in #10546
- restore long description to be included in
docker compose help
by @ndeloof in #10504 - fix local image removal when
compose down
is ran with--project-name
by @ndeloof in #10558 - detect active endpoint trying to remove network and skip with a warning by @ndeloof in #10555
- fix: remove unnecessary [] output by @ezradiniz in #10554
- detect terminal is not a
console.File
to avoid a panic by @ndeloof in #10564 - [fix] --parallel has precedence over COMPOSE_PARALLEL_LIMIT by @ndeloof in #10566
- report external network not found when swarm is disabled by @ndeloof in #10565
🔧 Internal
- update go to go1.20.4 by @thaJeztah in #10525
- build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 by @dependabot in #10489
- build(deps): bump github.com/docker/docker from 23.0.4+incompatible to 23.0.5+incompatible by @dependabot in #10500
- build(deps): bump github.com/docker/cli from 23.0.4+incompatible to 23.0.5+incompatible by @dependabot in #10501
- build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 by @dependabot in #10516
- build(deps): bump go.opentelemetry.io/otel from 1.14.0 to 1.15.0 by @dependabot in #10515
- build(deps): bump github.com/opencontainers/image-spec from 1.1.0-rc2.0.20221005185240-3a7f492d3f1b to 1.1.0-rc.3 by @dependabot in #10518
- build(deps): bump golang.org/x/sync from 0.1.0 to 0.2.0 by @dependabot in #10534
- build(deps): bump github.com/docker/cli from 23.0.5+incompatible to 23.0.6+incompatible by @dependabot in #10542
- build(deps): bump go.opentelemetry.io/otel from 1.15.0 to 1.15.1 by @dependabot in #10521
- build(deps): bump github.com/moby/term from 0.0.0-20221205130635-1aeaba878587 to 0.5.0 by @dependabot in #10523
New Contributors
- @BenjaminGuzman made their first contribution in #10376
- @ezradiniz made their first contribution in #10554
Full Changelog: v2.17.3...v2.18.0
v2.17.3
💁🏻 Upgrade Notes (2.17.x)
- Project name validation is more strictly enforced (project names must be lowercase alphanumeric characters,
-
, or_
and start with a letter/number) - Only YAML 1.2 boolean values (
true
/false
) are now accepted (deprecated YAML 1.1 values no longer supported:)y|Y|yes|Yes|YES|n|N|no|No|NO|True|TRUE|False|FALSE|on|On|ON|off|Off|OFF
- Duplicate mapping keys (
<<
) for merging YAML anchors are not allowed (see #10411)
What's Changed
✨ Enhancements
- add dry-run support to run command by @glours in #10404
- add dry-run support to create command by @glours in #10413
- add dry-run support to down command by @glours in #10444
- better support NO_COLOR by disabling colors, not ANSI TUI by @ndeloof in #10434
- can't watch a service without a build section by @ndeloof in #10433
🐛 Fixes
- workaround race condition in ContainerList by @ndeloof in #10409
- prevent panic using classic builder by @ndeloof in #10423
- restore
--timeout
flag renamed by mistake by @ndeloof in #10432 - ansi=auto|never|always by @ndeloof in #10442
🔧 Internal
- bump compose-go to v1.13.4 by @ndeloof in #10482
- ci: bump Go to 1.20.3 and various dependencies by @milas in #10437
- bump docker version to 23.0.3 (CVE-2023-28840) by @glours in #10438
- fix gocyclo lint error which currently block Compose CI by @glours in #10451
- go.mod: fix grouping of dependencies, and tidy by @thaJeztah in #10457
- log: fix race on container kill by @milas in #10459
- Don't use "info.IndexServerAddress" for authentication by @thaJeztah in #10458
- Remove redundant goroutine while removing containers by @TP-O in #10449
- build(deps): bump github.com/opencontainers/runc from 1.1.3 to 1.1.5 by @dependabot in #10455
- build(deps): bump github.com/docker/cli from 23.0.3+incompatible to 23.0.4+incompatible by @dependabot in #10475
- build(deps): bump github.com/docker/docker from 23.0.3+incompatible to 23.0.4+incompatible by @dependabot in #10474
New Contributors
Full Changelog: v2.17.2...v2.17.3
v2.17.2
💁🏻 Upgrade Notes (2.17.x)
- Project name validation is more strictly enforced (project names must be lowercase alphanumeric characters,
-
, or_
and start with a letter/number) - Only YAML 1.2 boolean values (
true
/false
) are now accepted (deprecated YAML 1.1 values no longer supported:)y|Y|yes|Yes|YES|n|N|no|No|NO|True|TRUE|False|FALSE|on|On|ON|off|Off|OFF
- Duplicate mapping keys (
<<
) for merging YAML anchors are not allowed (see #10411)
😰 Known Issues
- For
docker compose up
, the flag long form--timeout
is broken (workaround: use short form-t
)
🐛 Fixes
- Fix "invalid project name" errors for projects in directories with uppercase or
.
(#10406)
🔧 Internal
- Update compose-go to v1.13.2
What's Changed
Full Changelog: v2.17.1...v2.17.2
v2.17.1
💁🏻 Upgrade Notes (2.17.x)
- Project name validation is more strictly enforced (project names must be lowercase alphanumeric characters,
-
, or_
and start with a letter/number) - Only YAML 1.2 boolean values (
true
/false
) are now accepted (deprecated YAML 1.1 values no longer supported:)y|Y|yes|Yes|YES|n|N|no|No|NO|True|TRUE|False|FALSE|on|On|ON|off|Off|OFF
- Duplicate mapping keys (
<<
) for merging YAML anchors are not allowed (see #10411)
🐛 Fixes
- Panic while using
alpha watch
command (#10393) - Fix conflict with service named
extensions
(compose-go#255) - More consistent project name validation (compose-go#364)
🔧 Internal
What's Changed
- watch: data race / segfault fixes by @milas in #10393
- watch involves up --build after change has been detected by @ndeloof in #10399
- build(deps): bump github.com/moby/buildkit from 0.11.4 to 0.11.5 by @dependabot in #10400
- test: fix race in e2e build test by @milas in #10402
- ci: upgrade to Go 1.20.2 & bump deps by @milas in #10401
- test: fix e2e commands on Windows by @milas in #10403
Full Changelog: v2.17.0...v2.17.1
v2.17.0
💁🏻 Upgrade Notes (2.17.x)
- Project name validation is more strictly enforced (project names must be lowercase alphanumeric characters,
-
, or_
and start with a letter/number) - Only YAML 1.2 boolean values (
true
/false
) are now accepted (deprecated YAML 1.1 values no longer supported:)y|Y|yes|Yes|YES|n|N|no|No|NO|True|TRUE|False|FALSE|on|On|ON|off|Off|OFF
- Duplicate mapping keys (
<<
) for merging YAML anchors are not allowed (see #10411)
What's Changed
✨ Enhancements
- introduce --wait-timeout on
up
by @ndeloof in #10276 - sort service --hash output by service name by @ndeloof in #10278
- compact TUI to monitor layers download progress by @ndeloof in #10281
- introduce
restart
for depends_on by @ndeloof in #10284 - adopt http://no-color.org/ by @ndeloof in #10342
- progress writer uses dockercli.Err stream by @ndeloof in #10366
introduce dockerfile_inline by @ndeloof in #10343- add support for
additional_contexts
inbuild
service config by @laurazard in #10369 - watch: add file delete/rename handling by @milas in #10386
- introduce
ignore
attribute for watch triggers by @ndeloof in #10385 - use progress to show copy status by @ndeloof in #10387
- update -p project name flag documentation by @glours in #10390
🐛 Fixes
- exclude unstable labels from config hash by @ndeloof in #10275
- also restart dependent services after a service has been restarted by @ndeloof in #10273
- ignore services without a build section by @ndeloof in #10271
- apply config options for pseudo-subcommands by @ndeloof in #10289
- only consider containers with config_hash labels (i.e, created by compose) by @ndeloof in #10317
- report error if project name is empty after normalization by @ndeloof in #10334
- restart only needed services by checking depends_on relations by @glours in #10338
- pad can be negative on small terminal by @ndeloof in #10336
- collect built image IDs by @ndeloof in #10372
- one off container name use configured Separator for naming by @ndeloof in #10357
- fix concurrent map read/write when recreating containers by @lrascao in #10379
🔧 Internal
- add dry-run support for
stop
andrm
by @glours in #10257 - add dry-run support for pull command by @glours in #10341
- add dry-run support for push command by @glours in #10355
- add dry-run support for
exec
command by @glours in #10252 - add dry-run support for
restart
by @glours in #10339 - ci: use CGO for tests to enable race detector by @milas in #10261
- ci: don't use
-race
on Windows by @milas in #10262 - ci: bump to Go 1.20.1 and latest deps by @milas in #10285
- use go 1.20 -cover support by @ndeloof in #10361
- build and push binaries images when a PR is merged or a tag pushed by @glours in #10371
- use CGO to enable fsevent on OSX [ENV-37] by @ndeloof in #10249
- watch: ignore ephemeral files & minor output tweaks by @milas in #10311
- test: tweak pause test to try and prevent failures in Windows CI by @milas in #10320
- preserve symbol table in binaries for static analysis (
govulncheck
) by @tianon in #10325 - use
build
as common API for build scenarios by @ndeloof in #10374
Changelog
- build(deps): bump go.uber.org/goleak from 1.1.12 to 1.2.1 by @dependabot in #10279
- build(deps): bump github.com/docker/buildx from 0.10.2 to 0.10.3 by @dependabot in #10291
- build(deps): bump github.com/containerd/containerd from 1.6.17 to 1.6.18 by @dependabot in #10287
- bump golang/x/net to v0.7.0 (CVE-2022-41723) by @glours in #10302
- build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by @dependabot in #10316
- build(deps): bump go.opentelemetry.io/otel from 1.13.0 to 1.14.0 by @dependabot in #10329
- build(deps): bump github.com/containerd/containerd from 1.6.18 to 1.6.19 by @dependabot in #10330
- update compose-go by @ndeloof in #10335
- build(deps): bump github.com/moby/buildkit from 0.11.3 to 0.11.4 by @dependabot in #10353
- build(deps): bump github.com/docker/buildx from 0.10.3 to 0.10.4 by @dependabot in #10352
New Contributors
Full Changelog: v2.16.0...v2.17.0
v2.17.0-rc.1
ℹ️ This is a pre-release version of Docker Compose
What's Changed
- Dry run
stop
andrm
support by @glours in #10257 - ci: use CGO for tests to enable race detector by @milas in #10261
- ci: don't use
-race
on Windows by @milas in #10262 - use CGO to enable fsevent on OSX [ENV-37] by @ndeloof in #10249
- exclude unstable labels from config hash by @ndeloof in #10275
- build(deps): bump go.uber.org/goleak from 1.1.12 to 1.2.1 by @dependabot in #10279
- also restart dependent services after a service has been restarted by @ndeloof in #10273
- introduce --wait-timeout on
up
by @ndeloof in #10276 - sort service --hash output by service name by @ndeloof in #10278
- ignore services without a build section by @ndeloof in #10271
- ci: bump to Go 1.20.1 and latest deps by @milas in #10285
- compact TUI to monitor layers download progress by @ndeloof in #10281
- apply config options for pseudo-subcommands by @ndeloof in #10289
- support dry-run for exec command by @glours in #10252
- build(deps): bump github.com/docker/buildx from 0.10.2 to 0.10.3 by @dependabot in #10291
- build(deps): bump github.com/containerd/containerd from 1.6.17 to 1.6.18 by @dependabot in #10287
- introduce
restart
for depends_on by @ndeloof in #10284 - support multiple
--env-file
by @ndeloof in #10284 - bump golang/x/net to v0.7.0 (CVE-2022-41723) by @glours in #10302
- build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by @dependabot in #10316
- watch: ignore ephemeral files & minor output tweaks by @milas in #10311
Full Changelog: v2.16.0...v2.17.0-rc.1
v2.16.0
What's Changed
✨ Enhancements
- Introduce
--remove-orphans
incompose create
command by @ndeloof in #10160 - Shorten tty output when terminal is too small by @laurazard in #10168
- Add
remove-orphans
functionality to run by @matthewarmand in #10166 - Introduce experimental
watch
command (skeletton) by @ndeloof in #10163 - Allow a TTY to be allocated with
-t
by @ndeloof in #10180 - Introduce experimental
dry-run
command underalpha
command (skeletton) by @glours in #10173 - Update docs to explain ways to configure parallelism by @laurazard in #10198
- Alias
-n
for--tail
to align with docker CLI by @ndeloof in #10207 - Support for
docker compose build --push
by @maxcleme in #10148 - Add
--scale
tocompose create
by @laurazard in #10208 - Rename
convert
toconfig
to align with compose v1 UX by @ndeloof in #10214
🐛 Fixes
- Pass proxy config as build args - same as docker/buildx#959 by @ndeloof in #10159
- Adjust terminal height calc by @laurazard in #10169
- Ignore containers not created by Compose by @laurazard in #10177
- Fix goroutine leak v2 by @AhmedGrati in #10202
- Fix issue where
compose logs
doesn't exit when all running containers have been stopped by @laurazard in #10181 - Fix docs to reflect
docker compose ps
being aligned withdocker ps
by @ndeloof in #10195 - Add remote buildx driver by @benmoss in #10226
- Detect replacement container is created and inform printer so it attach and don't stop [ENV-87] by @ndeloof in #10236
- Use containers we expect to start for wait condition by @ndeloof in #10209
- Prevent assignment to entry in nil map by @ndeloof in #10250
🔧 Internal
- Remove unused kube tag by @ulyssessouza in #10154
- Fix Cucumber 🥒 tests by @laurazard in #10124
- Add Cucumber GHA workflow by @laurazard in #10165
- Fix typo by @TColl in #10149
- Mark alpha command as experimental by @ndeloof in #10170
- Use compose service methods when exist instead of directly service.dockerCli by @glours in #10175
- Debounce refresh requests with quietperiod by @ndeloof in #10172
- cleanup TUI lines after switching to "compact" mode by @ndeloof in #10203
- Refresh Maintainers list by @glours in #10211
- Support Dry Run mode for
kill
command by @glours in #10210 - Support Dry Run mode for
pause
command by @glours in #10217 - Support Dry Run mode for
cp
command by @glours in #10235 - Tilt watcher by @ndeloof in #10218
- ci: Replace deprecated command with environment file by @jongwooo in #10242
Changelog
- Bump docker engine and cli version to 23.0.0 with buildkit(v0.11.2) and buildx (v0.10.2) by @glours in #10247
- build(deps): bump github.com/containerd/containerd from 1.6.14 to 1.6.15 by @dependabot in #10142
- Build(deps): bump github.com/containerd/containerd from 1.6.15 to 1.6.16 by @dependabot in #10216
- Bump compose-go to version v1.9.0 by @glours in #10186
- Build(deps): bump go.opentelemetry.io/otel from 1.11.2 to 1.12.0 by @dependabot in #10215
- Build(deps): bump go.opentelemetry.io/otel from 1.12.0 to 1.13.0 by @dependabot in #10251
- Bump golang to 1.20 by @glours in #10239
- Fix Goroutine leak in v2/command/formatter by @AhmedGrati in #10192
- Revert "Fix Goroutine leak in v2/command/formatter" by @ndeloof in #10197
New Contributors
- @matthewarmand made their first contribution in #10166
- @TColl made their first contribution in #10149
- @AhmedGrati made their first contribution in #10192
- @benmoss made their first contribution in #10226
- @jongwooo made their first contribution in #10242
Full Changelog: v2.15.1...v2.16.0