Docker Compose 5.4.0
Docker Compose 5.4.0 was released on August 3, 2026. This release introduces a new reconciliation model for resources such as volumes and networks, along with a series of configuration, build, and runtime fixes.
Overview
The central change in 5.4.0 is a reworked resource reconciliation engine. Compose now models volume recreation and network lifecycle within its plan, giving up a clearer picture of what will be created, changed, or removed before anything is applied. The change is designed to make --dry-run output more accurate and to reduce surprise mutations on subsequent runs.
New Features
- Volume recreation planning — the reconcile plan now accounts for volumes that must be recreated, not just containers.
- Network lifecycle modeling — networks are planned and reconciled through their full lifecycle instead of being treated as an afterthought.
- Zero-replica services preserved — services scaled to zero are no longer dropped during config hashing.
- Warning on ignored service selection —
confignow warns when a selected service is silently ignored. - Config flags everywhere —
--services,--volumes,--networks,--models, and--hashall respect config flags consistently.
Fixes
- Builds use the platform image-manifest digest instead of the attested index, fixing mismatches on multi-platform builds.
uphonors--insecure-registrywhen it reloads the model.type: imagevolume sources andpre_starthook images are now pinned correctly.- Missing
.envfiles are tolerated onscale,watch, shell completion, and other runtime commands instead of aborting. pre_starthook images resolve alongside service images.cp --dry-runreturns a non-nil Content fromCopyFromContainer.
Internal Changes
The project adopted the AGENTS.md standard, updated its Dockerfile base to golang alpine 3.23, and moved CI image publishing to Docker Hub via OIDC authentication. Dependencies were bumped across the board, including the docker-actions group and GitHub CodeQL action.
Migration Notes
No breaking configuration changes were introduced in 5.4.0. Because the reconciliation model affects how plans are computed, teams that rely on docker compose up --dry-run output in scripts should re-verify expected plans after upgrading. Update with docker compose version after pulling the new binary or image.