Releases: docker/compose
Releases · docker/compose
v2.24.2
What's Changed
This release fixes issues related to the Compose files merging process in compose-go
library
🔧 Internal
⚙️ Dependencies
- go.mod: github.com/google/uuid v1.5.0, github.com/moby/sys/mountinfo v0.7.1 by @thaJeztah in #11372
- ci(deps): upgrade to Moby v25.0.0 GA by @milas in #11381
- bump compose-go to v2.0.0-rc.2 by @ndeloof in #11390
Full Changelog: v2.24.1...v2.24.2
v2.24.1
What's Changed
🐛 Fixes
- Stop the resource timer after last expected event by @ndeloof in #11357
- fix engine version require to use healthcheck.start_interval by @ndeloof in #11360
- fix(tracing): batch span exports to prevent blocking by @milas in #11364
🔧 Internal
- remove watch subcommand from the alpha command by @glours in #11363
- signals/utils: always handle received signals by @laurazard in #11361
⚙️ Dependencies
- build(deps): bump github.com/containerd/containerd from 1.7.11 to 1.7.12 by @dependabot in #11347
- build(deps): bump github.com/docker/cli from 25.0.0-rc.1+incompatible to 25.0.0-rc.2+incompatible by @dependabot in #11348
- build(deps): bump github.com/docker/docker from 25.0.0-rc.1+incompatible to 25.0.0-rc.2+incompatible by @dependabot in #11349
- build(deps): bump github.com/docker/cli from 25.0.0-rc.2+incompatible to 25.0.0-rc.3+incompatible by @dependabot in #11365
- build(deps): bump github.com/docker/docker from 25.0.0-rc.2+incompatible to 25.0.0-rc.3+incompatible by @dependabot in #11367
- bump version of compose-go to v2.0.0-rc.1 by @glours in #11368
Full Changelog: v2.24.0...v2.24.1
v2.24.0
What's Changed
Breaking change ⚠️
- service hash computation logic has been updated to fully ignore replicas/scale. Due to this change, after upgrade all services will be recreated.
✨ Enhancements
- Implement
docker compose attach
by @g0t4 in #11181 - Introduce ps --orphans to include/exclude services not declared by project by @ndeloof in #11220
- Introduce compose logs --index to select a replica container by @ndeloof in #11231
--with-dependencies
letdocker compose build
build dependencies transitively by @ndeloof in #11290- Introduce
stats
command by @ndeloof in #11299 - Add source policies for build by @cpuguy83 in #11325
🐛 Fixes
- Include disabled services for shell completion by @ndeloof in #11251
- Restore
Project
is ps json output by @ndeloof in #11223 - Log we don't expose service ports when --verbose by @ndeloof in #11227
- Fix configs are mounted under / by @ndeloof in #11232
- Fix combination of --pull always --no-build by @ndeloof in #11244
- Fix(publish): add OCI 1.0 fallback support for AWS ECR by @milas in #11239
- Fix race condition in log printer by @horus in #11286
- Send out a cancel event on SIGINT/SIGTERM signal for
compose up
by @vyneer in #11230 - Up: teardown when command context is cancelled by @laurazard in #11292
- Build do not require environment to be resolved by @ndeloof in #11274
🔧 Internal
- Let contributor know we might close unanswered issues by @ndeloof in #11219
- Feat(cli): report more useful User-Agent on engine API requests by @milas in #11333
- Adopt compose-go/v2 by @ndeloof in #11207
- Add support for start_interval by @ndeloof in #10939
- Update README.md to use standard
compose.yaml
file name by @johnthagen in #11233 - Watch: remove requirements for tar binary and for sync target to be rw by @ndeloof in #11330
- Deps: update docker/cli to fix go version selection issue by @laurazard in #11283
- Remove ServiceProxy which was introduced for archived compose-cli by @ndeloof in #11298
- github.com/golang/mock is deprecated by @ndeloof in #11272
- Add support for endpoint-specific MAC address by @akerouanton in #11208
- Collect services to build using WithServices by @ndeloof in #11255
⚙️ Dependencies
- Bump compose-go to version v2.0.0-beta.3 by @glours in #11307
- Bump ddev to 1.22.4 by @ndeloof in #11225
- Bump golang to version 1.21.5 by @glours in #11249
- Bump docker cli v1.25 beta1 by @ndeloof in #11247
- Bump golang to version v1.21.6 by @glours in #11331
- Bump golangci-lint to v1.55.2 ci(deps) by @milas in #11332
- Bump compose-go v2-beta.2 by @ndeloof in #11295
- Build(deps): bump golang.org/x/sys from 0.15.0 to 0.16.0 by @dependabot in #11324
- Build(deps): bump golang.org/x/sys from 0.14.0 to 0.15.0 by @dependabot in #11228
- Build(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0 by @dependabot in #11317
- Build(deps): bump go.uber.org/mock from 0.3.0 to 0.4.0 by @dependabot in #11291
- go.mod: docker/docker and docker/cli v25.0.0-beta.3 by @thaJeztah in #11294
- go.mod: update docker/docker and docker/cli to v25.0.0-rc.1 by @thaJeztah in #11320
- gha: update DOCKER_CLI_VERSION to v24.0.7 by @thaJeztah in #11321
New Contributors
- @johnthagen made their first contribution in #11233
- @vyneer made their first contribution in #11230
- @horus made their first contribution in #11286
- @cpuguy83 made their first contribution in #11325
Full Changelog: v2.23.3...v2.24.0
v2.24.0-birthday.10 🥳
This is a pre-release to celebrate 10 years of Docker Compose since 0eb7d30
✨ Features
- Introduce
ps --orphans
to include/exclude services not declared by project by @ndeloof in #11220 - Log we don't expose service ports when --verbose by @ndeloof in #11227
- Introduce
logs --index
to select a replica container by @ndeloof in #11231 - Add support for
start_interval
by @ndeloof in #10939
🐛 Fixes
- Restore
Project
is ps json output by @ndeloof in #11223 - Fix configs are mounted under / by @ndeloof in #11232
- Update README.md to use standard
compose.yaml
file name by @johnthagen in #11233 - Send out a cancel event on SIGINT/SIGTERM signal for
compose up
by @vyneer in #11230 - Fix combination of
--pull always --no-build
by @ndeloof in #11244 - Fix(publish): add OCI 1.0 fallback support for AWS ECR by @milas in #11239
- Include disabled services for shell completion by @ndeloof in #11251
🔧 Internal
- Let contributor know we might close unanswered issues by @ndeloof in #11219
- Adopt compose-go/v2 by @ndeloof in #11207
- collect services to build using WithServices by @ndeloof in #11255
⚙️ Dependencies
- bump ddev to 1.22.4 by @ndeloof in #11225
- bump golang.org/x/sys from 0.14.0 to 0.15.0 by @dependabot in #11228
- bump docker cli v1.25 beta1 by @ndeloof in #11247
- bump golang to version 1.21.5 by @glours in #11249
New Contributors
- @johnthagen made their first contribution in #11233
- @vyneer made their first contribution in #11230
Full Changelog: v2.23.3...v2.24.0-birthday.10
v2.23.3
⚙️ Dependencies
Full Changelog: v2.23.2...v2.23.3
v2.23.2
✨ Features
push
also considerbuild.tags
by @ndeloof in #11201- Build services with the latest version of the source code when starting
watch
command by @glours in #11213
🐛 Fixes
- Fix
--remove-orphans
not to consider disabled services as orphaned by @ndeloof in #11204 - Identify services to build and don't display 'building' if none by @glours in #11209
🔧 Internal
- Make it
context aware
and add test skipping options through environment variables by @ulyssessouza in #11192 - Introduce
RuntimeVersion
for code to check container runtime support by @ndeloof in #11206 - Avoid use of []types.ServiceConfig by @ndeloof in #11211
- Assume /src/pkg/compose/testdata absolute workingdir to make tests reproducible by @ndeloof in #11212
⚙️ Dependencies
- Build(deps): bump github.com/moby/buildkit from 0.12.2 to 0.12.3 by @dependabot in #11112
- Build(deps): bump github.com/docker/docker from 24.0.6+incompatible to 24.0.7+incompatible by @dependabot in #11143
- Build(deps): bump github.com/docker/cli from 24.0.6+incompatible to 24.0.7+incompatible by @dependabot in #11142
- Build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in #11214
- Build(deps): bump github.com/compose-spec/compose-go from 1.20.1 to 1.20.2 by @dependabot in #11215
Full Changelog: v2.23.1...v2.23.2
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 [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