Releases: docker/compose
Releases · docker/compose
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
v2.14.0
What's Changed
✨ Enhancements
- Add
oom_score_adj
field to service definition (#10019) - Add
mode
field fortmpfs
mount permissions (#10031)
🐛 Fixes
- Only stop services started by up when interrupted (#10028)
- Load implicit profiles for targeted services (#10025)
- Do not require
service.build.platforms
to be set if service.platform is set (#10017) - Use plain output during buildx image builds if
--ansi=never
is set (#10020) COMPOSE_IGNORE_ORPHANS
environment variable now behaves more consistently (#10035)- Fix image name separator in convert (#9904)
- Fix run on services using
network_mode: service:NAME
(#10036)
🔧 Internal
- Upgrade compose-go to v1.8.0 (#10031)
- Build with Go 1.19.3 (#10037)
- Change default branch for docs repository (#10016)
- Additional E2E test coverage and reliability improvements (#10025, #10032)
Changelog
- change the default branch of the doc repository by @glours in #10016
- configure buildx for plain output if --ansi=never has been set by @ndeloof in #10020
- useDockerDefaultOrServicePlatform fct should return service.platform if defined by @glours in #10017
- implement support for oom_score_adj by @ndeloof in #10019
- Fix grammatical issues by @umarfchy in #9997
- only stop services started by
up
on interruption by @ndeloof in #10028 - pass services list to projectOrName function to add profiles for targeted services by @glours in #10025
- Broken Link fixed in compose docs by @NitishKumar06 in #10000
- move image digests resolution to backend by @ndeloof in #10026
- fix"convert --images" output to right format by @Windforce17 in #9904
- use StringToBool to detect COMPOSE_IGNORE_ORPHANS by @ndeloof in #10035
- Fix replacing "service:x" with "container:y" by @i-ky in #10036
- test: speed up Cucumber stop test by @milas in #10032
- schema: add support for tmpfs.mode in mount definition by @milas in #10031
- ci: upgrade to Go 1.19.3 & bump deps by @milas in #10037
New Contributors
- @umarfchy made their first contribution in #9997
- @NitishKumar06 made their first contribution in #10000
- @Windforce17 made their first contribution in #9904
- @i-ky made their first contribution in #10036
Full Changelog: v2.13.0...v2.14.0
v2.13.0
What's Changed
✨ Enhancements
- Add
--no-consistency
flag to convert command by @glours in #9976 - Add
--build
tocompose run
by @laurazard in #10007 - Display creation warnings from the engine by @glours in #9998
🐛 Fixes
- Map deploy.restart_policy.condition to engine values by @glours in #9944
- Add support of deploy.reservation.memory by @glours in #9947
- Use COMPOSE_PROFILES value only if no command line arg profiles used by @glours in #9906
- Check if a missing image won't be build via a service declared in depends_on section by @glours in #9984
- Ignore error parsing container number label, just warn by @ndeloof in #10005
- Use platform defined by DOCKER_DEFAULT_PLATFORM when pulling and no service platform defined by @glours in #9999
🔧 Internal
- Remove uses of deprecated gotest.tools v2 by @thaJeztah in #9935
- Ci: update dependencies to latest by @milas in #9982
- Exclude issues with the
kind/feature
label from stale bot process by @glours in #9992
Bumps
- build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 by @dependabot in #9945
- build(deps): bump github.com/containerd/containerd from 1.6.8 to 1.6.9 by @dependabot in #9949
- build(deps): bump github.com/containerd/containerd from 1.6.9 to 1.6.10 by @dependabot in #9995
- go.mod: update docker-credential-helpers v0.7.0 by @thaJeztah in #9936
Full Changelog: v2.12.2...v2.13.0
v2.12.2
What's Changed
- go.mod:
docker/docker@5aac513617f072b15322b147052cbda0d451d389
/ v22.06-dev by @thaJeztah in #9940
Full Changelog: v2.12.1...v2.12.2