releases.shpreview

1.18.0

$npx -y @buildinternet/releases show rel_vzJTGN1rUGOj2wQF6z94J

If you're a Mac or Windows user, the best way to install Compose and keep it up-to-date is Docker for Mac and Windows.

Docker for Mac and Windows will automatically install the latest version of Docker Engine for you.

Alternatively, you can use the usual commands to install or upgrade Compose:

curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

See the install docs for more install options and instructions.

Compose file format compatibility matrix

Compose file formatDocker Engine
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

New features

Compose file version 3.5

  • Introduced version 3.5 of the docker-compose.yml specification. This version requires Docker Engine 17.06.0 or above

  • Added support for the shm_size parameter in build configurations

  • Added support for the isolation parameter in service definitions

  • Added support for custom names for network, secret and config definitions

Compose file version 2.3

  • Added support for extra_hosts in build configuration

  • Added support for the long syntax for volume entries, as previously introduced in the 3.2 format. Note that using this syntax will create mounts instead of volumes.

Compose file version 2.1 and up

  • Added support for the oom_kill_disable parameter in service definitions (2.x only)

  • Added support for custom names for network definitions (2.x only)

All formats

  • Values interpolated from the environment will now be converted to the proper type when used in non-string fields.

  • Added support for --label in docker-compose run

  • Added support for --timeout in docker-compose down

  • Added support for --memory in docker-compose build

  • Setting stop_grace_period in service definitions now also sets the container's stop_timeout

Bugfixes

  • Fixed an issue where Compose was still handling service hostname according to legacy engine behavior, causing hostnames containing dots to be cut up

  • Fixed a bug where the X-Y:Z syntax for ports was considered invalid by Compose

  • Fixed an issue with CLI logging causing duplicate messages and inelegant output to occur

  • Fixed an issue that caused stop_grace_period to be ignored when using multiple Compose files

  • Fixed a bug that caused docker-compose images to crash when using untagged images

  • Fixed a bug where the valid ${VAR:-} syntax would cause Compose to error out

  • Fixed a bug where env_file entries using an UTF-8 BOM were being read incorrectly

  • Fixed a bug where missing secret files would generate an empty directory in their place

  • Fixed character encoding issues in the CLI's error handlers

  • Added validation for the test field in healthchecks

  • Added validation for the subnet field in IPAM configurations

  • Added validation for volumes properties when using the long syntax in service definitions

  • The CLI now explicit prevents using -d and --timeout together in docker-compose up

Thanks to @garribas, @DrewRomanyk, @summergirl21, @AlexeyRokhin, @smiller123, @andyneff, @reutsharabani, @NikitaVlaznev, @mtsmfm, @jbarciauskas, @edsrzf and @albers for contributing to this release!

Integrity check

SHA-256 sumBinary name
c8961b6751a0f809d8a22c2bd4a93fc0250dbd032f98b67380370d9288a894c0docker-compose-Darwin-x86_64
b2f2c3834107f526b1d9cc8d8e0bdd132c6f1495b036a32cbc61b5288d2e2a01docker-compose-Linux-x86_64
9c110e69aac18364f1fb10c99d26318096ebc4cf4bf5fe7931a38cac61b2eb45docker-compose-Windows-x86_64.exe

Fetched March 31, 2026