Releases: docker/compose
Releases Β· docker/compose
v2.23.1
β¨ Features
- align with OCI artifact best practices by @ndeloof in #11121
- introduce --resolve-image-digests for publish to seal service images by @ndeloof in #11136
- improve watch configuration logging by @glours in #11161
- reject compose file using
secrets|configs.driver or template_driver
by @ndeloof in #11185
π Fixes
- fail start if depependency is missing by @ndeloof in #11110
- fix SIGTERM support to stop/kill stack by @ndeloof in #11127
- Fix --hash regression by @mattwalo32 in #11146
- Fix for "Application failed to start after update" when an external network is on a watched service by @kimdcottrell in #11092
- fix --pull documentation by @ndeloof in #11164
- fix #11170 add newline in cmd/compose/build.go fmt.Fprint by @szampardi in #11171
- render quiet after filtering applied by @ndeloof in #11177
- Strip project prefix from docker-compose up output by @ndeloof in #11190
π§ Internal
- refactor(cmd/compose/run): remove redundant
len
check by @Juneezee in #11060 - Initial codeql.yml commit by @temenuzhka-thede in #11128
- build(deps): bump go.uber.org/goleak from 1.2.1 to 1.3.0 by @dependabot in #11129
- add docs upstream validation workflow by @dvdksn in #11113
- ENGDOCS-1764: Trivial fixes by @aevesdocker in #11149
- re-implement cache folder detection by @ndeloof in #11130
- skips flaky e2e tests on watch and attach by @ulyssessouza in #11180
- bump compose-go to v1.20.1 by @ndeloof in #11187
- bump golang to version 1.21.4 by @glours in #11173
New Contributors
- @Juneezee made their first contribution in #11060
- @temenuzhka-thede made their first contribution in #11128
- @kimdcottrell made their first contribution in #11092
- @dvdksn made their first contribution in #11113
- @szampardi made their first contribution in #11171
Full Changelog: v2.23.0...v2.23.1
v2.23.0
β¨ Features
- Add dry-run support for publish command (#11067)
- Add
COMPOSE_ENV_FILES
env variable to pass a list of env files (#11061) - Add
sync+restart
action tocompose watch
(#11095)
π Fixes
- Truncate
compose ps
output to align with Docker CLI by default and introduce--no-trunc
to keep the previous behaviour (#11038) - Update the watch warning message when no services with a develop section (#11047)
- Include image name in inspect error message (#11006)
- Make hashes between
up
andconfigure
consistent (#11010) - Warn user remote resource is disabled (#11051)
- Enable profile when
down
is ran with explicit service names (#11108) - Check that the pull policy provided is a valid one (#11109)
π§ Internal
- Align OCI artifacts with upstream guidance (#11049)
- remove cucumber tests as we haven't added new ones for a while (#11076)
- remove refrecence docs generation (#11085)
What's Changed
- build(deps): bump google.golang.org/grpc from 1.58.1 to 1.58.2 by @dependabot in #11036
- truncate command by default, introduce --no-trunc flag to get the full command by @ndeloof in #11038
- Make tests verbose by @rumpl in #11045
- update the watch warning message when no services with a develop section by @glours in #11047
- Align OCI artifacts with upstream guidance by @neersighted in #11049
- Include image name in error message by @mattwalo32 in #11006
- deps: remove deprecated github.com/pkg/errors by @mmorel-35 in #11042
- Make hashes between
up
andconfigure
consistent by @mattwalo32 in #11010 - add dry-run support for publish command by @glours in #11067
- add support of COMPOSE_ENV_FILES env variable to pass a list of env files by @glours in #11061
- remove cucumber tests as we haven't added new ones for a while by @glours in #11076
- remove refrecence docs generation by @glours in #11085
- build(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 by @dependabot in #11068
- build(deps): bump google.golang.org/grpc from 1.58.2 to 1.59.0 by @dependabot in #11105
- build(deps): bump github.com/google/go-cmp from 0.5.9 to 0.6.0 by @dependabot in #11083
- build(deps): bump github.com/containerd/containerd from 1.7.6 to 1.7.7 by @dependabot in #11078
- add sync+restart action to watch attribute by @glours in #11095
- warn user remote resource is disabled by @ndeloof in #11051
- enable profile when down is ran with explicit service names by @ndeloof in #11108
- check that the pull policy provided is a valid one by @glours in #11109
New Contributors
- @neersighted made their first contribution in #11049
- @mattwalo32 made their first contribution in #11006
- @mmorel-35 made their first contribution in #11042
Full Changelog: v2.22.0...v2.23.0
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 compose-go@v1.19.0
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 compose-go@v1.18.3
- 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