Releases: docker/compose
Releases · docker/compose
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
v2.15.1
What's Changed
✨ Enhancements
🐛 Fixes
- don't filter by services if no filter was set by @ndeloof in #10145
- Don't share the options map by @freeformz in #10151
🔧 Internal
Changelog
- fix CVE-2022-27664 and CVE-2022-32149 high-risk vulnerability by @fengshunli in #10146
New Contributors
- @fengshunli made their first contribution in #10146
- @freeformz made their first contribution in #10151
Full Changelog: v2.15.0...v2.15.1
v2.15.0
What's Changed
✨ Enhancements
- add support of privileged attribute in
service.build
section by @glours in #10112 - introduce
--ignore-buildable
to ignore buildable images on pull by @ndeloof in #10134 - introduce
--no-attach
to ignore some service output by @ndeloof in #10137
🐛 Fixes
- don't fail
logs
whendriver:none
is set by @ndeloof in #10107 - don't assume os.Stdout and rely on dockerCLI.streams by @ndeloof in #10082
- service hash MUST exclude replicas by @ndeloof in #10109
- check service names based on project, not running containers by @ndeloof in #10111
- fix security opts support (seccomp and unconfined) by @ndeloof in #10110
- Fix empty file when using compose config in case of smaller source files by @rimelek in #10129
- Set
pullChanged
when setting--pull
oncompose up
by @laurazard in #10128 - Ignore not only auto-removed containers but also "removal in progress" for orphan containers by @gtardif in #10136
- limit build concurrency according to
--parallel
by @ndeloof in #10133
🔧 Internal
- add buildx plugin to e2e configuration directory by @glours in #10113
- cleanup framework.go from unnecessary debug logs by @glours in #10116
Changelog
- update compose-go by @ndeloof in #10106
- build(deps): bump github.com/docker/cli-docs-tool from 0.5.0 to 0.5.1 by @dependabot in #10127
New Contributors
Full Changelog: v2.14.2...v2.15.0
v2.14.2
What's Changed
✨ Enhancements
- Use
DOCKER_DEFAULT_PLATFORM
to determine platform when creating container by @laurazard in #10099 - detect dependency failed to start by @ndeloof in #10101
🐛 Fixes
- volume: fix WCOW volume mounts by @milas in #10090
- only list running containers when --all=false by @ndeloof in #10086
- fix regression 😓 running pull --ignore-pull-failures by @ndeloof in #10098
- set CPU quota by @ndeloof in #10100
- fix race condition on compose logs by @ndeloof in #10104
🔧 Internal
- update
projectOptions
to be public by renaming it toProjectOptions
by @tigerinus in #10103
Changelog
- build(deps): bump github.com/containerd/containerd from 1.6.12 to 1.6.14 by @dependabot in #10105
New Contributors
- @tigerinus made their first contribution in #10103
Full Changelog: v2.14.1...v2.14.2
v2.14.1
What's Changed
✨ Enhancements
- introduce --parallel to limit concurrent engine calls by @ndeloof in #10030
- distinguish stdout and stderr in
up
logs by @ndeloof in #10070 - align
compose ps
output withdocker ps
by @ndeloof in #10065 - Add --include-deps to push command by @gferon in #10044
- introduce --timestamp option on compose up by @ndeloof in #10076
- apply uid/gid when creating secret from environment by @ndeloof in #10084
🐛 Fixes
- fix deadlock waiting for attached-dependencies by @ndeloof in #10029
- fix race condition collecting pulled images IDs by @ndeloof in #10051
- Don't stop pull for images that can be built by @ndeloof in #10054
- Fix corner case when there's no container to attach to by @ndeloof in #10058
- ContainerStart must run sequentially for engine to assing distinct ports within configured range by @ndeloof in #10067
- fix parsing of repository:tag by @ndeloof in #10072
- load project from files when explicitly set by user by @ndeloof in #10062
🔧 Internal
- port: improve error-handling if port not found by @milas in #10039
- check only running containers in after down tests of profiles e2e tests by @glours in #10049
- Cleanup tips from output by @thaJeztah in #10047
- added table of contents inside readme by @nitinmewar in #9883
- remove go.* from e2e tests directory by @glours in #10059
- Add scorecard GitHub action by @joycebrum in #9846
- resolve --env-file as absolute path by @ndeloof in #10074
- use StatusError from docker/cli, not "dockerd" by @thaJeztah in #10080
- use recently introduced
withSelectedServicesOnly
to reduce code duplication by @ndeloof in #10083
Changelog
- build(deps): bump go.opentelemetry.io/otel from 1.11.1 to 1.11.2 by @dependabot in #10045
- update to go1.19.4 by @thaJeztah in #10048
- build(deps): bump github.com/containerd/containerd from 1.6.10 to 1.6.12 by @dependabot in #10055
New Contributors
- @nitinmewar made their first contribution in #9883
- @joycebrum made their first contribution in #9846
- @gferon made their first contribution in #10044
Full Changelog: v2.14.0...v2.14.1