Compose adds partial support for jobs — only manually-triggered jobs work for now, scheduled jobs are not yet available until the corresponding Docker Engine support merges. Also adds provider services with a dedicated network relay link, image distribution on demand, and a warning on unsupported compose-file attributes.
Compose
Multi-container application orchestration
npx @buildinternet/releases get docker-composeAdds partial support for jobs — only manually-triggered jobs are supported, with scheduled jobs pending Docker Engine support — plus provider service networking including a dedicated network for the relay link and on-demand image distribution. Fixed watch rebuild coalescing during bursts of file changes, logs losing a fast run's output on restart re-attach, and --parallel not being honored across all bulk engine-call fan-outs.
Docker Compose v5.5.1 fixes docker compose watch syncing into symlinked directories and bake target name collisions for services differing by . vs _. Hook output now surfaces on failure, initial_sync syncs regardless of mtime, and the bridge command confirms before wiping a non-empty convert output dir. Plus a handful of smaller fixes across events, network IPAM, psFormat, Windows TTY, and provenance/SBOM attestation.
Fixed watch sync into symlinked directories, watch exclusion of Dockerfile and compose files on initial sync, and lifecycle hook output now captured and included in errors. Fixed Windows TTY progress display by handing real stdout to buildkit. Plus fixes for IPAM network options, dependency wait timeout surfacing, ps format precedence, and numerous other correctness issues across build, plugins, and display.
Image digest reconciliation is overhauled to prevent unnecessary container recreation, though existing containers may be recreated on the first run after upgrading as digests are re-evaluated with the new logic. compose pull now honors pull_policy refresh windows (daily, weekly, every_N). Includes fixes for build-only services, watch pruning, config hashing, and unreadable directories.
Image digest reconciliation is overhauled so compose up no longer recreates containers unnecessarily, though existing containers may be recreated on the first run after upgrading as digests are re-evaluated. compose pull now honors pull_policy refresh windows like daily, weekly, and every_N. Includes several watch, bridge, and config fixes.
Compose v5.4.0 introduces a new reconciliation workflow that models volume and network lifecycle changes in the plan, fixing cases where resources were recreated unnecessarily. Also fixes build digest resolution to use the platform image-manifest digest instead of the attested index, ensures config flags apply to --services/--volumes/--networks/--models/--hash, and tolerates missing env files on scale, watch, and shell completion.
Compose now models volume and network lifecycle changes in the reconciliation plan, enabling safe resource recreation during apply. Fixes include preserving zero-replica services during hashing, honoring --insecure-registry on reload, and tolerating missing env files on more commands.
What's Changed
🔧 Internal
- Ci: add concurrency group to pr-review-trigger to prevent duplicate reviews by @derekmisler in https://github.com/docker/compose/pull/13890
- Fix grammar in Attestations field comment by @blackflytech in…
What's Changed
🔧 Internal
- Ci: add concurrency group to pr-review-trigger to prevent duplicate reviews by @derekmisler in https://github.com/docker/compose/pull/13890
- Fix grammar in Attestations field comment by @blackflytech in…
Adds native support for pre-start init containers in Compose files, and fixes OCI route authorizer token fetches through the provided transport. Also scopes running events to project services for the run command.
Init containers are now natively supported via the pre_start_init_containers field. Fixed an issue where OCI registry authorizer tokens were not routed through the configured transport, and scoped docker compose run events to project services only.
New reconciliation algorithm; plugin rawsetenv support
Breaking (minor)Introduced a new reconciliation algorithm between observed and expected container state, and added rawsetenv message type for provider plugins. Fixed TTY auto-detection via stderr, publish env_file handling with missing optional files, and skip validation when extracting config variables.
New reconciliation algorithm; loopback registry proxy bypassed
Breaking (minor)Introduces a new reconciliation algorithm between observed and expected state, which may affect existing Compose workloads. Adds rawsetenv message type for provider plugins. Fixes include bypassing Docker Desktop proxy for loopback registries, honoring env_file required: false on publish, and skipping remote URL contexts from bake fs.read allowlist.
Fixed OCI artifact pulls to route through Docker Desktop HTTP proxy and corrected the publish command to properly flag literal inline environment values. Added a stop lifecycle hook for external providers and restored stoppingEvent/stoppedEvent helpers for plugin stop hooks.
Fixed OCI artifact pulls to route through Docker Desktop HTTP proxy and corrected literal inline environment values in the publish flag. Added a stop lifecycle hook for external providers and restored stoppingEvent/stoppedEvent helpers for plugin stop hook.
What's Changed
🐛 Fixes
- fix: provider output handling and watch rebuild re-invocation by @glours in https://github.com/docker/compose/pull/13732
🔧 Internal
- Add Docker Desktop Logs view hints and navigation shortcut by @glours in…
What's Changed
🐛 Fixes
- fix: provider output handling and watch rebuild re-invocation by @glours in https://github.com/docker/compose/pull/13732
🔧 Internal
- Add Docker Desktop Logs view hints and navigation shortcut by @glours in…
What's Changed
🐛 Fixes
- Fix TTY timer rendering when duration length changes by @MaybeSam05 in https://github.com/docker/compose/pull/13634
- Fix up attach filtering by @false200 in https://github.com/docker/compose/pull/13664
- Preserve ssh:// URL scheme when…
What's Changed
🐛 Fixes
- Fix TTY timer rendering when duration length changes by @MaybeSam05 in https://github.com/docker/compose/pull/13634
- Fix up attach filtering by @false200 in https://github.com/docker/compose/pull/13664
- Preserve ssh:// URL scheme when…