v5.0.0 "Mont Blanc"
Major changes in this release:
- Compose can now officially be used as a SDK to be integrated into third-party softwares
- Internal builder has been removed, build is delegated to Docker Bake (same as
docker buildcommand)
Why "v5" ?
We decided to skip 3.0.0 for next major release after docker Compose v2 to prevent (more) confusion with the obsolete docker-compose file versions 2.x and 3.x inherited from Docker Compose v1. We also skipped 4.0.0 to have a clear separation with this legacy.
What's Changed
✨ Improvements
- drop support for internal buildkit builder by @ndeloof in https://github.com/docker/compose/pull/13056
- Setup Compose service using functional parameters by @ndeloof in https://github.com/docker/compose/pull/13312
- Introduce abstractions to support SDK usage without requiring Docker CLI by @glours in https://github.com/docker/compose/pull/13313
- configure Compose service with io.Reader and io.Writer by @glours in https://github.com/docker/compose/pull/13322
- Make progress Writer a CLI component by @ndeloof in https://github.com/docker/compose/pull/13316
- SDK docs by @ndeloof in https://github.com/docker/compose/pull/13350
- document support for OCI and Git remote resources by @ndeloof in https://github.com/docker/compose/pull/13362
- run hooks on restart by @ndeloof in https://github.com/docker/compose/pull/13321
- fix(run): Ensure images exist only for the target service in run command by @idsulik in https://github.com/docker/compose/pull/13325
- Add load project to api definition by @glours in https://github.com/docker/compose/pull/13329
- introduce --insecure-registry, reserved for testing purpose by @ndeloof in https://github.com/docker/compose/pull/13355
- Move progress package to cmd as a command line component by @ndeloof in https://github.com/docker/compose/pull/13357
- Added support for
build.no_cache_filterby @ndeloof in https://github.com/docker/compose/pull/13377 - add --wait option to start command by @ndeloof in https://github.com/docker/compose/pull/13409
🐛 Fixes
- fix OCI compose override support by @ndeloof in https://github.com/docker/compose/pull/13311
- Fix help output for "exec --no-tty" option by @tonyo in https://github.com/docker/compose/pull/13314
- fix typo in error message by @stasadev in https://github.com/docker/compose/pull/13328
- disable progress UI when build is ran with --print by @ndeloof in https://github.com/docker/compose/pull/13351
- add (restore) support for detach keys by @ndeloof in https://github.com/docker/compose/pull/13369
- images command should display image Created time or N/A if not available by @ndeloof in https://github.com/docker/compose/pull/13376
- Fix support for port range by @ndeloof in https://github.com/docker/compose/pull/13381
- skip includes preparing publish by @ndeloof in https://github.com/docker/compose/pull/13400
- feat(model): ignore runtime flags in model configuration by @ilopezluna in https://github.com/docker/compose/pull/13404
🔧 Internal
- Next release will be major version v5.x by @ndeloof in https://github.com/docker/compose/pull/13375
- Test to check writeComposeFile detects invalid OCI artifact by @ndeloof in https://github.com/docker/compose/pull/13309
- Code Cleanup by @ndeloof in https://github.com/docker/compose/pull/13315
- fix various linting issues by @thaJeztah in https://github.com/docker/compose/pull/13326
- Making the American/British spellings consistent to the error messages by @JLesDev in https://github.com/docker/compose/pull/13366
- gha: test against docker v29, v28, and rename checks to use
stable,oldstableby @thaJeztah in https://github.com/docker/compose/pull/13380 - refactor: replace Split in loops with more efficient SplitSeq by @vicerace in https://github.com/docker/compose/pull/13393
- refactor: use strings.Builder to improve performance by @liuyueyangxmu in https://github.com/docker/compose/pull/13398
- Fix grammar: change 'adopted' to 'adopt' in Docker Swarm note by @rashmivagha in https://github.com/docker/compose/pull/13407
- golangci-lint: use gci formatter instead of goimports by @thaJeztah in https://github.com/docker/compose/pull/13406
- refactor: replace interface{} with any for clarity and modernization by @zjumathcode in https://github.com/docker/compose/pull/13411
⚙️ Dependencies
- Bump compose go to v2.10.0 by @ndeloof in https://github.com/docker/compose/pull/13410
- build(deps): bump github.com/containerd/platforms from 1.0.0-rc.1 to 1.0.0-rc.2 by @dependabot[bot] in https://github.com/docker/compose/pull/13353
- build(deps): bump github.com/docker/docker from 28.5.1+incompatible to 28.5.2+incompatible by @dependabot[bot] in https://github.com/docker/compose/pull/13361
- build(deps): bump github.com/containerd/containerd/v2 from 2.1.4 to 2.2.0 by @dependabot[bot] in https://github.com/docker/compose/pull/13358
- build(deps): bump github.com/docker/cli from 28.5.1+incompatible to 28.5.2+incompatible by @dependabot[bot] in https://github.com/docker/compose/pull/13360
- build(deps): bump golang.org/x/sys from 0.37.0 to 0.38.0 by @dependabot[bot] in https://github.com/docker/compose/pull/13367
- build(deps): bump golang.org/x/sync from 0.17.0 to 0.18.0 by @dependabot[bot] in https://github.com/docker/compose/pull/13368
- Dockerfile: update golangci-lint to v2.6.2 by @thaJeztah in https://github.com/docker/compose/pull/13370
- build(deps): bump buildx v0.30.0, buildkit v0.26.0, otel v1.38.0, otel/contrib v0.63.0 by @thaJeztah in https://github.com/docker/compose/pull/13379
- bump dependencies by @ndeloof in https://github.com/docker/compose/pull/13392
- build(deps): bump github.com/hashicorp/go-version from 1.7.0 to 1.8.0 by @dependabot[bot] in https://github.com/docker/compose/pull/13403
- build(deps): bump golang.org/x/crypto v0.45.0 by @thaJeztah in https://github.com/docker/compose/pull/13405
New Contributors
- @tonyo made their first contribution in https://github.com/docker/compose/pull/13314
- @stasadev made their first contribution in https://github.com/docker/compose/pull/13328
- @JLesDev made their first contribution in https://github.com/docker/compose/pull/13366
- @vicerace made their first contribution in https://github.com/docker/compose/pull/13393
- @liuyueyangxmu made their first contribution in https://github.com/docker/compose/pull/13398
- @ilopezluna made their first contribution in https://github.com/docker/compose/pull/13404
- @rashmivagha made their first contribution in https://github.com/docker/compose/pull/13407
- @zjumathcode made their first contribution in https://github.com/docker/compose/pull/13411
Full Changelog: https://github.com/docker/compose/compare/v2.40.2...v5.0.0