Releases: docker/compose
Releases · docker/compose
v2.22.0
💁🏻 Upgrade Notes
watch
command is now GA and can be directly used from the root commanddocker compose watch
✨ Features
- Experimental support of
publish
command (#10949) watch
now build and launch the project at start (#10957)- Add
policy
option to the--pull
flag (#10981)
🐛 Fixes
- Fix various race/deadlock conditions for
up
command on exit (#10934) - Fix for multi-plaform issues on build (#10956)
- Enable services explicitly requested even if their
profiles
aren't activated (#10952) - Fix
config
bug when declaredenv_file
are missing (#11025)
🔧 Internal
- Pass BuildOptions to
up
andrun
commands (#10956) - Upgrade to [email protected]
What's Changed
- pkg/api: replace uuid for basic random id by @thaJeztah in #10953
- up: fix various race/deadlock conditions on exit by @milas in #10934
- build: pass BuildOptions around explicitly & fix multi-platform issues by @milas in #10956
- Enable service explicitly requested to be restarted by @ndeloof in #10952
- migrate to github.com/distribution/reference by @thaJeztah in #10954
- doc: updated README.md to remove broken link by @kumarlokesh in #10966
- introduce publish (alpha) command by @ndeloof in #10949
- watch: build & launch the project at start by @milas in #10957
- OTEL: adding flags to cli traces by @rvigus in #10974
- cli: fix
--build
flag forcreate
by @milas in #10982 - deps: upgrade Moby to v24.0.6 and gRPC to v1.58.0 by @milas in #10991
- ci: tweak restricted imports in linter by @milas in #10992
- add scale command by @glours in #10979
- update to go1.21.1 by @thaJeztah in #11000
- don't rely on depends_on to resolve volume_from, better use observed state by @ndeloof in #10999
- introduce pull --policy flag to only pull images not present in cache by @ndeloof in #10981
- build(deps): bump github.com/containerd/containerd from 1.7.3 to 1.7.6 by @dependabot in #11016
- build(deps): bump google.golang.org/grpc from 1.58.0 to 1.58.1 by @dependabot in #11019
- build(deps): bump gotest.tools/v3 from 3.5.0 to 3.5.1 by @dependabot in #11020
- build(deps): bump github.com/moby/buildkit from 0.12.1 to 0.12.2 by @dependabot in #11017
- build(deps): bump github.com/opencontainers/image-spec from 1.1.0-rc4 to 1.1.0-rc5 by @dependabot in #11027
- use official
develop
section to configure watch command by @ndeloof in #11026 - implement publish by @ndeloof in #11008
- TestWatch to use new
develop
section by @ndeloof in #11031 - remove --timeout=0 flag to cleanup function of watch e2e test by @glours in #11023
- move watch from alpha to main command by @glours in #11021
- config --xx don't need
env_file
being parsed by @ndeloof in #11025
New Contributors
- @kumarlokesh made their first contribution in #10966
- @rvigus made their first contribution in #10974
Full Changelog: v2.21.0...v2.22.0
v2.21.0
💁🏻 Upgrade Notes
- Format of
docker compose ps
anddocker compose ps --format=json
changed to better align withdocker ps
output (#10918)
✨ Features
- Support for multi-document YAML files (compose-spec/compose-go#451)
- Experimental support for loading remote Compose files from Git repos with
include
(#10811)
🐛 Fixes
- Fix for incorrect proxy variables during build (#10908)
- Fix for truncated container logs (#10925)
- Fix for "no such service" errors when using
include
and profiles (compose-spec/compose-go#448) - Fix for
.env
overrides when usinginclude
(compose-spec/compose-go#449)
🔧 Internal
- Upgrade to [email protected]
- Switch to
moby/patternmatcher/ignorefile
for.dockerignore
parsing (#10922)
What's Changed
- warn user secret uid/gid/mode is not supported by @ndeloof in #10904
- clone variable berfore we capture a pointer by @ndeloof in #10908
- up: handle various attach use cases better by @milas in #10910
- add support for git remote resources by @ndeloof in #10811
- build(deps): bump github.com/compose-spec/compose-go from 1.18.1 to 1.18.2 by @dependabot in #10915
- otel: add
include
to project up span by @milas in #10911 - container logs not sent line by line is broken by @ndeloof in #10925
- replace dockerfile/dockerignore with patternmatcher/ignorefile by @thaJeztah in #10922
- ci: bump golangci-lint to v1.54.2 by @milas in #10916
- watch: only allow a single instance per-project by @milas in #10931
- align
docker compose ps
withdocker ps
by @ndeloof in #10918 - added the dot at the end of the sentence by @ibilalkayy in #10936
- build(deps): upgrade to compose-go v1.18.3 by @milas in #10947
- test: e2e test reliability improvements by @milas in #10950
New Contributors
- @ibilalkayy made their first contribution in #10936
Full Changelog: v2.20.3...v2.21.0
v2.20.3
What's Changed
Enhancements ✨
- Watch: add tar sync implementation by @milas in #10853
- Improve buildkit node creation by @silvin-lubecki in #10843
- Display builder's name on the first build line. by @silvin-lubecki in #10881
- Improve shell completion for
--project-directory
by @relrelb in #10879 - Add shell completion for
--profile
by @relrelb in #10878
Fixes 🐛
- Progress: minor correctness fixes by @milas in #10871
- Up: do not warn on successful optional dependency complete by @milas in #10870
- Build: fix missing proxy build args for classic builder by @milas in #10887
Internal 🔧
- Trace: do not block connecting to OTLP endpoint by @milas in #10882
- Test: fix e2e test for privileged builds by @milas in #10873
- Test: temporarily disable an exit-code-from Cucumber test case by @milas in #10875
- Watch: support multiple containers for tar implementation by @milas in #10860
- Watch: batch & de-duplicate file events by @milas in #10865
- Watch: enable tar-based syncer by default by @milas in #10877
- Update Config comment in API Service interface by @prafgup in #10840
- Update README and CI workflows to match main branch by @glours in #10889
Dependencies ⚙️
- Build(deps): bump github.com/docker/cli from 24.0.4+incompatible to 24.0.5+incompatible by @dependabot in #10845
- Build(deps): bump google.golang.org/grpc from 1.56.2 to 1.57.0 by @dependabot in #10847
- Build(deps): bump github.com/containerd/containerd from 1.7.2 to 1.7.3 by @dependabot in #10850
- Build(deps): bump github.com/docker/docker from 24.0.5-0.20230714235725-36e9e796c6fc+incompatible to 24.0.5+incompatible by @dependabot in #10844
- Update to go1.20.7 by @thaJeztah in #10861
- Upgrade Golang to 1.21 by @glours in #10890
- Bump compose-go to version v1.18.0 by @glours in #10891
- Bump compose-go to version v1.18.1 by @glours in #10893
- Build(deps): bump github.com/moby/buildkit from 0.12.1-0.20230717122532-faa0cc7da353 to 0.12.1 by @dependabot in #10867
New Contributors
Full Changelog: v2.20.2...v2.20.3
v2.20.2
What's Changed
Enhancements ✨
Fixes 🐛
- Build: do not attempt to push unnamed service images by @milas in #10814
- check secret target is an absolute windows path by @ndeloof in #10819
Internal 🔧
- trace: instrument
compose up
at a high-level by @milas in #10831 - test: watch e2e reliability tweaks by @milas in #10829
- pkg/compose: RunOneOffContainer: don't use NewStartOptions() by @thaJeztah in #10828
- watch: move sync logic into separate package by @milas in #10791
Dependencies ⚙️
Full Changelog: v2.20.1...v2.20.2
v2.20.1
v2.20.0
What's Changed
Enhancements ✨
- Add
docker compose wait
by @ulyssessouza in #10742 - Add support of --builder and BUILDX_BUILDER by @glours in #10745
- Support
attach
by @ndeloof in #10700 - Add support for
include
in compose-spec/compose-go#416
Fixes 🐛
- Don't use unitialized cli to setup DryRunClient by @ndeloof in #10770
- Network: fix random missing network when service has more than one by @milas in #10778
- Fix(secrets): file permission value does not comply with spec by @shantanoo-desai in #10784
- Apply no-deps before we select and mutate target service by @ndeloof in #10789
Internal 🔧
- Fix some comments by @cuishuang in #10768
- When --index is not set select first service container by @ndeloof in #10763
- Test: fix process leak in wait e2e test by @milas in #10790
- CI: speed up a couple Dockerfile targets w/ cache mount by @milas in #10793
Bumps
- Build(deps): bump google.golang.org/grpc from 1.56.0 to 1.56.2 by @dependabot in #10787
- Deps: bump docker/cli-docs-tool to v0.6.0 by @milas in #10781
- Build(deps): bump gotest.tools/v3 from 3.4.0 to 3.5.0 by @dependabot in #10760
- Build(deps): bump github.com/opencontainers/image-spec from 1.1.0-rc3 to 1.1.0-rc4 by @dependabot in #10764
- Build(deps): bump github.com/docker/docker from 24.0.2+incompatible to 24.0.4+incompatible by @dependabot in #10788
- Build(deps): bump github.com/docker/buildx from 0.11.0 to 0.11.1 by @dependabot in #10776
New Contributors
- @cuishuang made their first contribution in #10768
- @shantanoo-desai made their first contribution in #10784
Full Changelog: v2.19.1...v2.20.0
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