1Change log 2========== 3 41.24.0 (2019-03-22) 5------------------- 6 7### Features 8 9- Added support for connecting to the Docker Engine using the `ssh` protocol. 10 11- Added a `--all` flag to `docker-compose ps` to include stopped one-off containers 12 in the command's output. 13 14- Add bash completion for `ps --all|-a` 15 16- Support for credential_spec 17 18- Add `--parallel` to `docker build`'s options in `bash` and `zsh` completion 19 20### Bugfixes 21 22- Fixed a bug where some valid credential helpers weren't properly handled by Compose 23 when attempting to pull images from private registries. 24 25- Fixed an issue where the output of `docker-compose start` before containers were created 26 was misleading 27 28- To match the Docker CLI behavior and to avoid confusing issues, Compose will no longer 29 accept whitespace in variable names sourced from environment files. 30 31- Compose will now report a configuration error if a service attempts to declare 32 duplicate mount points in the volumes section. 33 34- Fixed an issue with the containerized version of Compose that prevented users from 35 writing to stdin during interactive sessions started by `run` or `exec`. 36 37- One-off containers started by `run` no longer adopt the restart policy of the service, 38 and are instead set to never restart. 39 40- Fixed an issue that caused some container events to not appear in the output of 41 the `docker-compose events` command. 42 43- Missing images will no longer stop the execution of `docker-compose down` commands 44 (a warning will be displayed instead). 45 46- Force `virtualenv` version for macOS CI 47 48- Fix merging of compose files when network has `None` config 49 50- Fix `CTRL+C` issues by enabling `bootloader_ignore_signals` in `pyinstaller` 51 52- Bump `docker-py` version to `3.7.2` to fix SSH and proxy config issues 53 54- Fix release script and some typos on release documentation 55 561.23.2 (2018-11-28) 57------------------- 58 59### Bugfixes 60 61- Reverted a 1.23.0 change that appended random strings to container names 62 created by `docker-compose up`, causing addressability issues. 63 Note: Containers created by `docker-compose run` will continue to use 64 randomly generated names to avoid collisions during parallel runs. 65 66- Fixed an issue where some `dockerfile` paths would fail unexpectedly when 67 attempting to build on Windows. 68 69- Fixed a bug where build context URLs would fail to build on Windows. 70 71- Fixed a bug that caused `run` and `exec` commands to fail for some otherwise 72 accepted values of the `--host` parameter. 73 74- Fixed an issue where overrides for the `storage_opt` and `isolation` keys in 75 service definitions weren't properly applied. 76 77- Fixed a bug where some invalid Compose files would raise an uncaught 78 exception during validation. 79 801.23.1 (2018-11-01) 81------------------- 82 83### Bugfixes 84 85- Fixed a bug where working with containers created with a previous (< 1.23.0) 86 version of Compose would cause unexpected crashes 87 88- Fixed an issue where the behavior of the `--project-directory` flag would 89 vary depending on which subcommand was being used. 90 911.23.0 (2018-10-30) 92------------------- 93 94### Important note 95 96The default naming scheme for containers created by Compose in this version 97has changed from `<project>_<service>_<index>` to 98`<project>_<service>_<index>_<slug>`, where `<slug>` is a randomly-generated 99hexadecimal string. Please make sure to update scripts relying on the old 100naming scheme accordingly before upgrading. 101 102### Features 103 104- Logs for containers restarting after a crash will now appear in the output 105 of the `up` and `logs` commands. 106 107- Added `--hash` option to the `docker-compose config` command, allowing users 108 to print a hash string for each service's configuration to facilitate rolling 109 updates. 110 111- Added `--parallel` flag to the `docker-compose build` command, allowing 112 Compose to build up to 5 images simultaneously. 113 114- Output for the `pull` command now reports status / progress even when pulling 115 multiple images in parallel. 116 117- For images with multiple names, Compose will now attempt to match the one 118 present in the service configuration in the output of the `images` command. 119 120### Bugfixes 121 122- Parallel `run` commands for the same service will no longer fail due to name 123 collisions. 124 125- Fixed an issue where paths longer than 260 characters on Windows clients would 126 cause `docker-compose build` to fail. 127 128- Fixed a bug where attempting to mount `/var/run/docker.sock` with 129 Docker Desktop for Windows would result in failure. 130 131- The `--project-directory` option is now used by Compose to determine where to 132 look for the `.env` file. 133 134- `docker-compose build` no longer fails when attempting to pull an image with 135 credentials provided by the gcloud credential helper. 136 137- Fixed the `--exit-code-from` option in `docker-compose up` to always report 138 the actual exit code even when the watched container isn't the cause of the 139 exit. 140 141- Fixed an issue that would prevent recreating a service in some cases where 142 a volume would be mapped to the same mountpoint as a volume declared inside 143 the image's Dockerfile. 144 145- Fixed a bug that caused hash configuration with multiple networks to be 146 inconsistent, causing some services to be unnecessarily restarted. 147 148- Fixed a bug that would cause failures with variable substitution for services 149 with a name containing one or more dot characters 150 151- Fixed a pipe handling issue when using the containerized version of Compose. 152 153- Fixed a bug causing `external: false` entries in the Compose file to be 154 printed as `external: true` in the output of `docker-compose config` 155 156- Fixed a bug where issuing a `docker-compose pull` command on services 157 without a defined image key would cause Compose to crash 158 159- Volumes and binds are now mounted in the order they're declared in the 160 service definition 161 162### Miscellaneous 163 164- The `zsh` completion script has been updated with new options, and no 165 longer suggests container names where service names are expected. 166 1671.22.0 (2018-07-17) 168------------------- 169 170### Features 171 172#### Compose format version 3.7 173 174- Introduced version 3.7 of the `docker-compose.yml` specification. 175 This version requires Docker Engine 18.06.0 or above. 176 177- Added support for `rollback_config` in the deploy configuration 178 179- Added support for the `init` parameter in service configurations 180 181- Added support for extension fields in service, network, volume, secret, 182 and config configurations 183 184#### Compose format version 2.4 185 186- Added support for extension fields in service, network, 187 and volume configurations 188 189### Bugfixes 190 191- Fixed a bug that prevented deployment with some Compose files when 192 `DOCKER_DEFAULT_PLATFORM` was set 193 194- Compose will no longer try to create containers or volumes with 195 invalid starting characters 196 197- Fixed several bugs that prevented Compose commands from working properly 198 with containers created with an older version of Compose 199 200- Fixed an issue with the output of `docker-compose config` with the 201 `--compatibility-mode` flag enabled when the source file contains 202 attachable networks 203 204- Fixed a bug that prevented the `gcloud` credential store from working 205 properly when used with the Compose binary on UNIX 206 207- Fixed a bug that caused connection errors when trying to operate 208 over a non-HTTPS TCP connection on Windows 209 210- Fixed a bug that caused builds to fail on Windows if the Dockerfile 211 was located in a subdirectory of the build context 212 213- Fixed an issue that prevented proper parsing of UTF-8 BOM encoded 214 Compose files on Windows 215 216- Fixed an issue with handling of the double-wildcard (`**`) pattern in `.dockerignore` files when using `docker-compose build` 217 218- Fixed a bug that caused auth values in legacy `.dockercfg` files to be ignored 219- `docker-compose build` will no longer attempt to create image names starting with an invalid character 220 2211.21.2 (2018-05-03) 222------------------- 223 224### Bugfixes 225 226- Fixed a bug where the ip_range attribute in IPAM configs was prevented 227 from passing validation 228 2291.21.1 (2018-04-27) 230------------------- 231 232### Bugfixes 233 234- In 1.21.0, we introduced a change to how project names are sanitized for 235 internal use in resource names. This caused issues when manipulating an 236 existing, deployed application whose name had changed as a result. 237 This release properly detects resources using "legacy" naming conventions. 238 239- Fixed an issue where specifying an in-context Dockerfile using an absolute 240 path would fail despite being valid. 241 242- Fixed a bug where IPAM option changes were incorrectly detected, preventing 243 redeployments. 244 245- Validation of v2 files now properly checks the structure of IPAM configs. 246 247- Improved support for credentials stores on Windows to include binaries using 248 extensions other than `.exe`. The list of valid extensions is determined by 249 the contents of the `PATHEXT` environment variable. 250 251- Fixed a bug where Compose would generate invalid binds containing duplicate 252 elements with some v3.2 files, triggering errors at the Engine level during 253 deployment. 254 2551.21.0 (2018-04-10) 256------------------- 257 258### New features 259 260#### Compose file version 2.4 261 262- Introduced version 2.4 of the `docker-compose.yml` specification. 263 This version requires Docker Engine 17.12.0 or above. 264 265- Added support for the `platform` parameter in service definitions. 266 If supplied, the parameter is also used when performing build for the 267 service. 268 269#### Compose file version 2.2 and up 270 271- Added support for the `cpu_rt_period` and `cpu_rt_runtime` parameters 272 in service definitions (2.x only). 273 274#### Compose file version 2.1 and up 275 276- Added support for the `cpu_period` parameter in service definitions 277 (2.x only). 278 279- Added support for the `isolation` parameter in service build configurations. 280 Additionally, the `isolation` parameter is used for builds as well if no 281 `build.isolation` parameter is defined. (2.x only) 282 283#### All formats 284 285- Added support for the `--workdir` flag in `docker-compose exec`. 286 287- Added support for the `--compress` flag in `docker-compose build`. 288 289- `docker-compose pull` is now performed in parallel by default. You can 290 opt out using the `--no-parallel` flag. The `--parallel` flag is now 291 deprecated and will be removed in a future version. 292 293- Dashes and underscores in project names are no longer stripped out. 294 295- `docker-compose build` now supports the use of Dockerfile from outside 296 the build context. 297 298### Bugfixes 299 300- Compose now checks that the volume's configuration matches the remote 301 volume, and errors out if a mismatch is detected. 302 303- Fixed a bug that caused Compose to raise unexpected errors when attempting 304 to create several one-off containers in parallel. 305 306- Fixed a bug with argument parsing when using `docker-machine config` to 307 generate TLS flags for `exec` and `run` commands. 308 309- Fixed a bug where variable substitution with an empty default value 310 (e.g. `${VAR:-}`) would print an incorrect warning. 311 312- Improved resilience when encoding of the Compose file doesn't match the 313 system's. Users are encouraged to use UTF-8 when possible. 314 315- Fixed a bug where external overlay networks in Swarm would be incorrectly 316 recognized as inexistent by Compose, interrupting otherwise valid 317 operations. 318 3191.20.1 (2018-03-21) 320------------------- 321 322### Bugfixes 323 324- Fixed an issue where `docker-compose build` would error out if the 325 build context contained directory symlinks 326 3271.20.0 (2018-03-20) 328------------------- 329 330### New features 331 332#### Compose file version 3.6 333 334- Introduced version 3.6 of the `docker-compose.yml` specification. 335 This version requires Docker Engine 18.02.0 or above. 336 337- Added support for the `tmpfs.size` property in volume mappings 338 339#### Compose file version 3.2 and up 340 341- The `--build-arg` option can now be used without specifying a service 342 in `docker-compose build` 343 344#### Compose file version 2.3 345 346- Added support for `device_cgroup_rules` in service definitions 347 348- Added support for the `tmpfs.size` property in long-form volume mappings 349 350- The `--build-arg` option can now be used without specifying a service 351 in `docker-compose build` 352 353#### All formats 354 355- Added a `--log-level` option to the top-level `docker-compose` command. 356 Accepted values are `debug`, `info`, `warning`, `error`, `critical`. 357 Default log level is `info` 358 359- `docker-compose run` now allows users to unset the container's entrypoint 360 361- Proxy configuration found in the `~/.docker/config.json` file now populates 362 environment and build args for containers created by Compose 363 364- Added the `--use-aliases` flag to `docker-compose run`, indicating that 365 network aliases declared in the service's config should be used for the 366 running container 367 368- Added the `--include-deps` flag to `docker-compose pull` 369 370- `docker-compose run` now kills and removes the running container upon 371 receiving `SIGHUP` 372 373- `docker-compose ps` now shows the containers' health status if available 374 375- Added the long-form `--detach` option to the `exec`, `run` and `up` 376 commands 377 378### Bugfixes 379 380- Fixed `.dockerignore` handling, notably with regard to absolute paths 381 and last-line precedence rules 382 383- Fixed an issue where Compose would make costly DNS lookups when connecting 384 to the Engine when using Docker For Mac 385 386- Fixed a bug introduced in 1.19.0 which caused the default certificate path 387 to not be honored by Compose 388 389- Fixed a bug where Compose would incorrectly check whether a symlink's 390 destination was accessible when part of a build context 391 392- Fixed a bug where `.dockerignore` files containing lines of whitespace 393 caused Compose to error out on Windows 394 395- Fixed a bug where `--tls*` and `--host` options wouldn't be properly honored 396 for interactive `run` and `exec` commands 397 398- A `seccomp:<filepath>` entry in the `security_opt` config now correctly 399 sends the contents of the file to the engine 400 401- ANSI output for `up` and `down` operations should no longer affect the wrong 402 lines 403 404- Improved support for non-unicode locales 405 406- Fixed a crash occurring on Windows when the user's home directory name 407 contained non-ASCII characters 408 409- Fixed a bug occurring during builds caused by files with a negative `mtime` 410 values in the build context 411 412- Fixed an encoding bug when streaming build progress 413 4141.19.0 (2018-02-07) 415------------------- 416 417### Breaking changes 418 419- On UNIX platforms, interactive `run` and `exec` commands now require 420 the `docker` CLI to be installed on the client by default. To revert 421 to the previous behavior, users may set the `COMPOSE_INTERACTIVE_NO_CLI` 422 environment variable. 423 424### New features 425 426#### Compose file version 3.x 427 428- The output of the `config` command should now merge `deploy` options from 429 several Compose files in a more accurate manner 430 431#### Compose file version 2.3 432 433- Added support for the `runtime` option in service definitions 434 435#### Compose file version 2.1 and up 436 437- Added support for the `${VAR:?err}` and `${VAR?err}` variable interpolation 438 syntax to indicate mandatory variables 439 440#### Compose file version 2.x 441 442- Added `priority` key to service network mappings, allowing the user to 443 define in which order the specified service will connect to each network 444 445#### All formats 446 447- Added `--renew-anon-volumes` (shorthand `-V`) to the `up` command, 448 preventing Compose from recovering volume data from previous containers for 449 anonymous volumes 450 451- Added limit for number of simultaneous parallel operations, which should 452 prevent accidental resource exhaustion of the server. Default is 64 and 453 can be configured using the `COMPOSE_PARALLEL_LIMIT` environment variable 454 455- Added `--always-recreate-deps` flag to the `up` command to force recreating 456 dependent services along with the dependency owner 457 458- Added `COMPOSE_IGNORE_ORPHANS` environment variable to forgo orphan 459 container detection and suppress warnings 460 461- Added `COMPOSE_FORCE_WINDOWS_HOST` environment variable to force Compose 462 to parse volume definitions as if the Docker host was a Windows system, 463 even if Compose itself is currently running on UNIX 464 465- Bash completion should now be able to better differentiate between running, 466 stopped and paused services 467 468### Bugfixes 469 470- Fixed a bug that would cause the `build` command to report a connection 471 error when the build context contained unreadable files or FIFO objects. 472 These file types will now be handled appropriately 473 474- Fixed various issues around interactive `run`/`exec` sessions. 475 476- Fixed a bug where setting TLS options with environment and CLI flags 477 simultaneously would result in part of the configuration being ignored 478 479- Fixed a bug where the DOCKER_TLS_VERIFY environment variable was being 480 ignored by Compose 481 482- Fixed a bug where the `-d` and `--timeout` flags in `up` were erroneously 483 marked as incompatible 484 485- Fixed a bug where the recreation of a service would break if the image 486 associated with the previous container had been removed 487 488- Fixed a bug where updating a mount's target would break Compose when 489 trying to recreate the associated service 490 491- Fixed a bug where `tmpfs` volumes declared using the extended syntax in 492 Compose files using version 3.2 would be erroneously created as anonymous 493 volumes instead 494 495- Fixed a bug where type conversion errors would print a stacktrace instead 496 of exiting gracefully 497 498- Fixed some errors related to unicode handling 499 500- Dependent services no longer get recreated along with the dependency owner 501 if their configuration hasn't changed 502 503- Added better validation of `labels` fields in Compose files. Label values 504 containing scalar types (number, boolean) now get automatically converted 505 to strings 506 5071.18.0 (2017-12-15) 508------------------- 509 510### New features 511 512#### Compose file version 3.5 513 514- Introduced version 3.5 of the `docker-compose.yml` specification. 515 This version requires Docker Engine 17.06.0 or above 516 517- Added support for the `shm_size` parameter in build configurations 518 519- Added support for the `isolation` parameter in service definitions 520 521- Added support for custom names for network, secret and config definitions 522 523#### Compose file version 2.3 524 525- Added support for `extra_hosts` in build configuration 526 527- Added support for the [long syntax](https://docs.docker.com/compose/compose-file/#long-syntax-3) for volume entries, as previously introduced in the 3.2 format. 528 Note that using this syntax will create [mounts](https://docs.docker.com/engine/admin/volumes/bind-mounts/) instead of volumes. 529 530#### Compose file version 2.1 and up 531 532- Added support for the `oom_kill_disable` parameter in service definitions 533 (2.x only) 534 535- Added support for custom names for network definitions (2.x only) 536 537 538#### All formats 539 540- Values interpolated from the environment will now be converted to the 541 proper type when used in non-string fields. 542 543- Added support for `--label` in `docker-compose run` 544 545- Added support for `--timeout` in `docker-compose down` 546 547- Added support for `--memory` in `docker-compose build` 548 549- Setting `stop_grace_period` in service definitions now also sets the 550 container's `stop_timeout` 551 552### Bugfixes 553 554- Fixed an issue where Compose was still handling service hostname according 555 to legacy engine behavior, causing hostnames containing dots to be cut up 556 557- Fixed a bug where the `X-Y:Z` syntax for ports was considered invalid 558 by Compose 559 560- Fixed an issue with CLI logging causing duplicate messages and inelegant 561 output to occur 562 563- Fixed an issue that caused `stop_grace_period` to be ignored when using 564 multiple Compose files 565 566- Fixed a bug that caused `docker-compose images` to crash when using 567 untagged images 568 569- Fixed a bug where the valid `${VAR:-}` syntax would cause Compose to 570 error out 571 572- Fixed a bug where `env_file` entries using an UTF-8 BOM were being read 573 incorrectly 574 575- Fixed a bug where missing secret files would generate an empty directory 576 in their place 577 578- Fixed character encoding issues in the CLI's error handlers 579 580- Added validation for the `test` field in healthchecks 581 582- Added validation for the `subnet` field in IPAM configurations 583 584- Added validation for `volumes` properties when using the long syntax in 585 service definitions 586 587- The CLI now explicit prevents using `-d` and `--timeout` together 588 in `docker-compose up` 589 5901.17.1 (2017-11-08) 591------------------ 592 593### Bugfixes 594 595- Fixed a bug that would prevent creating new containers when using 596 container labels in the list format as part of the service's definition. 597 5981.17.0 (2017-11-02) 599------------------- 600 601### New features 602 603#### Compose file version 3.4 604 605- Introduced version 3.4 of the `docker-compose.yml` specification. 606 This version requires to be used with Docker Engine 17.06.0 or above. 607 608- Added support for `cache_from`, `network` and `target` options in build 609 configurations 610 611- Added support for the `order` parameter in the `update_config` section 612 613- Added support for setting a custom name in volume definitions using 614 the `name` parameter 615 616#### Compose file version 2.3 617 618- Added support for `shm_size` option in build configuration 619 620#### Compose file version 2.x 621 622- Added support for extension fields (`x-*`). Also available for v3.4 files 623 624#### All formats 625 626- Added new `--no-start` to the `up` command, allowing users to create all 627 resources (networks, volumes, containers) without starting services. 628 The `create` command is deprecated in favor of this new option 629 630### Bugfixes 631 632- Fixed a bug where `extra_hosts` values would be overridden by extension 633 files instead of merging together 634 635- Fixed a bug where the validation for v3.2 files would prevent using the 636 `consistency` field in service volume definitions 637 638- Fixed a bug that would cause a crash when configuration fields expecting 639 unique items would contain duplicates 640 641- Fixed a bug where mount overrides with a different mode would create a 642 duplicate entry instead of overriding the original entry 643 644- Fixed a bug where build labels declared as a list wouldn't be properly 645 parsed 646 647- Fixed a bug where the output of `docker-compose config` would be invalid 648 for some versions if the file contained custom-named external volumes 649 650- Improved error handling when issuing a build command on Windows using an 651 unsupported file version 652 653- Fixed an issue where networks with identical names would sometimes be 654 created when running `up` commands concurrently. 655 6561.16.1 (2017-09-01) 657------------------- 658 659### Bugfixes 660 661- Fixed bug that prevented using `extra_hosts` in several configuration files. 662 6631.16.0 (2017-08-31) 664------------------- 665 666### New features 667 668#### Compose file version 2.3 669 670- Introduced version 2.3 of the `docker-compose.yml` specification. 671 This version requires to be used with Docker Engine 17.06.0 or above. 672 673- Added support for the `target` parameter in build configurations 674 675- Added support for the `start_period` parameter in healthcheck 676 configurations 677 678#### Compose file version 2.x 679 680- Added support for the `blkio_config` parameter in service definitions 681 682- Added support for setting a custom name in volume definitions using 683 the `name` parameter (not available for version 2.0) 684 685#### All formats 686 687- Added new CLI flag `--no-ansi` to suppress ANSI control characters in 688 output 689 690### Bugfixes 691 692- Fixed a bug where nested `extends` instructions weren't resolved 693 properly, causing "file not found" errors 694 695- Fixed several issues with `.dockerignore` parsing 696 697- Fixed issues where logs of TTY-enabled services were being printed 698 incorrectly and causing `MemoryError` exceptions 699 700- Fixed a bug where printing application logs would sometimes be interrupted 701 by a `UnicodeEncodeError` exception on Python 3 702 703- The `$` character in the output of `docker-compose config` is now 704 properly escaped 705 706- Fixed a bug where running `docker-compose top` would sometimes fail 707 with an uncaught exception 708 709- Fixed a bug where `docker-compose pull` with the `--parallel` flag 710 would return a `0` exit code when failing 711 712- Fixed an issue where keys in `deploy.resources` were not being validated 713 714- Fixed an issue where the `logging` options in the output of 715 `docker-compose config` would be set to `null`, an invalid value 716 717- Fixed the output of the `docker-compose images` command when an image 718 would come from a private repository using an explicit port number 719 720- Fixed the output of `docker-compose config` when a port definition used 721 `0` as the value for the published port 722 7231.15.0 (2017-07-26) 724------------------- 725 726### New features 727 728#### Compose file version 2.2 729 730- Added support for the `network` parameter in build configurations. 731 732#### Compose file version 2.1 and up 733 734- The `pid` option in a service's definition now supports a `service:<name>` 735 value. 736 737- Added support for the `storage_opt` parameter in in service definitions. 738 This option is not available for the v3 format 739 740#### All formats 741 742- Added `--quiet` flag to `docker-compose pull`, suppressing progress output 743 744- Some improvements to CLI output 745 746### Bugfixes 747 748- Volumes specified through the `--volume` flag of `docker-compose run` now 749 complement volumes declared in the service's definition instead of replacing 750 them 751 752- Fixed a bug where using multiple Compose files would unset the scale value 753 defined inside the Compose file. 754 755- Fixed an issue where the `credHelpers` entries in the `config.json` file 756 were not being honored by Compose 757 758- Fixed a bug where using multiple Compose files with port declarations 759 would cause failures in Python 3 environments 760 761- Fixed a bug where some proxy-related options present in the user's 762 environment would prevent Compose from running 763 764- Fixed an issue where the output of `docker-compose config` would be invalid 765 if the original file used `Y` or `N` values 766 767- Fixed an issue preventing `up` operations on a previously created stack on 768 Windows Engine. 769 7701.14.0 (2017-06-19) 771------------------- 772 773### New features 774 775#### Compose file version 3.3 776 777- Introduced version 3.3 of the `docker-compose.yml` specification. 778 This version requires to be used with Docker Engine 17.06.0 or above. 779 Note: the `credential_spec` and `configs` keys only apply to Swarm services 780 and will be ignored by Compose 781 782#### Compose file version 2.2 783 784- Added the following parameters in service definitions: `cpu_count`, 785 `cpu_percent`, `cpus` 786 787#### Compose file version 2.1 788 789- Added support for build labels. This feature is also available in the 790 2.2 and 3.3 formats. 791 792#### All formats 793 794- Added shorthand `-u` for `--user` flag in `docker-compose exec` 795 796- Differences in labels between the Compose file and remote network 797 will now print a warning instead of preventing redeployment. 798 799### Bugfixes 800 801- Fixed a bug where service's dependencies were being rescaled to their 802 default scale when running a `docker-compose run` command 803 804- Fixed a bug where `docker-compose rm` with the `--stop` flag was not 805 behaving properly when provided with a list of services to remove 806 807- Fixed a bug where `cache_from` in the build section would be ignored when 808 using more than one Compose file. 809 810- Fixed a bug that prevented binding the same port to different IPs when 811 using more than one Compose file. 812 813- Fixed a bug where override files would not be picked up by Compose if they 814 had the `.yaml` extension 815 816- Fixed a bug on Windows Engine where networks would be incorrectly flagged 817 for recreation 818 819- Fixed a bug where services declaring ports would cause crashes on some 820 versions of Python 3 821 822- Fixed a bug where the output of `docker-compose config` would sometimes 823 contain invalid port definitions 824 8251.13.0 (2017-05-02) 826------------------- 827 828### Breaking changes 829 830- `docker-compose up` now resets a service's scaling to its default value. 831 You can use the newly introduced `--scale` option to specify a custom 832 scale value 833 834### New features 835 836#### Compose file version 2.2 837 838- Introduced version 2.2 of the `docker-compose.yml` specification. This 839 version requires to be used with Docker Engine 1.13.0 or above 840 841- Added support for `init` in service definitions. 842 843- Added support for `scale` in service definitions. The configuration's value 844 can be overridden using the `--scale` flag in `docker-compose up`. 845 Please note that the `scale` command is disabled for this file format 846 847#### Compose file version 2.x 848 849- Added support for `options` in the `ipam` section of network definitions 850 851### Bugfixes 852 853- Fixed a bug where paths provided to compose via the `-f` option were not 854 being resolved properly 855 856- Fixed a bug where the `ext_ip::target_port` notation in the ports section 857 was incorrectly marked as invalid 858 859- Fixed an issue where the `exec` command would sometimes not return control 860 to the terminal when using the `-d` flag 861 862- Fixed a bug where secrets were missing from the output of the `config` 863 command for v3.2 files 864 865- Fixed an issue where `docker-compose` would hang if no internet connection 866 was available 867 868- Fixed an issue where paths containing unicode characters passed via the `-f` 869 flag were causing Compose to crash 870 871- Fixed an issue where the output of `docker-compose config` would be invalid 872 if the Compose file contained external secrets 873 874- Fixed a bug where using `--exit-code-from` with `up` would fail if Compose 875 was installed in a Python 3 environment 876 877- Fixed a bug where recreating containers using a combination of `tmpfs` and 878 `volumes` would result in an invalid config state 879 880 8811.12.0 (2017-04-04) 882------------------- 883 884### New features 885 886#### Compose file version 3.2 887 888- Introduced version 3.2 of the `docker-compose.yml` specification 889 890- Added support for `cache_from` in the `build` section of services 891 892- Added support for the new expanded ports syntax in service definitions 893 894- Added support for the new expanded volumes syntax in service definitions 895 896#### Compose file version 2.1 897 898- Added support for `pids_limit` in service definitions 899 900#### Compose file version 2.0 and up 901 902- Added `--volumes` option to `docker-compose config` that lists named 903 volumes declared for that project 904 905- Added support for `mem_reservation` in service definitions (2.x only) 906 907- Added support for `dns_opt` in service definitions (2.x only) 908 909#### All formats 910 911- Added a new `docker-compose images` command that lists images used by 912 the current project's containers 913 914- Added a `--stop` (shorthand `-s`) option to `docker-compose rm` that stops 915 the running containers before removing them 916 917- Added a `--resolve-image-digests` option to `docker-compose config` that 918 pins the image version for each service to a permanent digest 919 920- Added a `--exit-code-from SERVICE` option to `docker-compose up`. When 921 used, `docker-compose` will exit on any container's exit with the code 922 corresponding to the specified service's exit code 923 924- Added a `--parallel` option to `docker-compose pull` that enables images 925 for multiple services to be pulled simultaneously 926 927- Added a `--build-arg` option to `docker-compose build` 928 929- Added a `--volume <volume_mapping>` (shorthand `-v`) option to 930 `docker-compose run` to declare runtime volumes to be mounted 931 932- Added a `--project-directory PATH` option to `docker-compose` that will 933 affect path resolution for the project 934 935- When using `--abort-on-container-exit` in `docker-compose up`, the exit 936 code for the container that caused the abort will be the exit code of 937 the `docker-compose up` command 938 939- Users can now configure which path separator character they want to use 940 to separate the `COMPOSE_FILE` environment value using the 941 `COMPOSE_PATH_SEPARATOR` environment variable 942 943- Added support for port range to single port in port mappings 944 (e.g. `8000-8010:80`) 945 946### Bugfixes 947 948- `docker-compose run --rm` now removes anonymous volumes after execution, 949 matching the behavior of `docker run --rm`. 950 951- Fixed a bug where override files containing port lists would cause a 952 TypeError to be raised 953 954- Fixed a bug where the `deploy` key would be missing from the output of 955 `docker-compose config` 956 957- Fixed a bug where scaling services up or down would sometimes re-use 958 obsolete containers 959 960- Fixed a bug where the output of `docker-compose config` would be invalid 961 if the project declared anonymous volumes 962 963- Variable interpolation now properly occurs in the `secrets` section of 964 the Compose file 965 966- The `secrets` section now properly appears in the output of 967 `docker-compose config` 968 969- Fixed a bug where changes to some networks properties would not be 970 detected against previously created networks 971 972- Fixed a bug where `docker-compose` would crash when trying to write into 973 a closed pipe 974 975- Fixed an issue where Compose would not pick up on the value of 976 COMPOSE_TLS_VERSION when used in combination with command-line TLS flags 977 9781.11.2 (2017-02-17) 979------------------- 980 981### Bugfixes 982 983- Fixed a bug that was preventing secrets configuration from being 984 loaded properly 985 986- Fixed a bug where the `docker-compose config` command would fail 987 if the config file contained secrets definitions 988 989- Fixed an issue where Compose on some linux distributions would 990 pick up and load an outdated version of the requests library 991 992- Fixed an issue where socket-type files inside a build folder 993 would cause `docker-compose` to crash when trying to build that 994 service 995 996- Fixed an issue where recursive wildcard patterns `**` were not being 997 recognized in `.dockerignore` files. 998 9991.11.1 (2017-02-09) 1000------------------- 1001 1002### Bugfixes 1003 1004- Fixed a bug where the 3.1 file format was not being recognized as valid 1005 by the Compose parser 1006 10071.11.0 (2017-02-08) 1008------------------- 1009 1010### New Features 1011 1012#### Compose file version 3.1 1013 1014- Introduced version 3.1 of the `docker-compose.yml` specification. This 1015 version requires Docker Engine 1.13.0 or above. It introduces support 1016 for secrets. See the documentation for more information 1017 1018#### Compose file version 2.0 and up 1019 1020- Introduced the `docker-compose top` command that displays processes running 1021 for the different services managed by Compose. 1022 1023### Bugfixes 1024 1025- Fixed a bug where extending a service defining a healthcheck dictionary 1026 would cause `docker-compose` to error out. 1027 1028- Fixed an issue where the `pid` entry in a service definition was being 1029 ignored when using multiple Compose files. 1030 10311.10.1 (2017-02-01) 1032------------------ 1033 1034### Bugfixes 1035 1036- Fixed an issue where presence of older versions of the docker-py 1037 package would cause unexpected crashes while running Compose 1038 1039- Fixed an issue where healthcheck dependencies would be lost when 1040 using multiple compose files for a project 1041 1042- Fixed a few issues that made the output of the `config` command 1043 invalid 1044 1045- Fixed an issue where adding volume labels to v3 Compose files would 1046 result in an error 1047 1048- Fixed an issue on Windows where build context paths containing unicode 1049 characters were being improperly encoded 1050 1051- Fixed a bug where Compose would occasionally crash while streaming logs 1052 when containers would stop or restart 1053 10541.10.0 (2017-01-18) 1055------------------- 1056 1057### New Features 1058 1059#### Compose file version 3.0 1060 1061- Introduced version 3.0 of the `docker-compose.yml` specification. This 1062 version requires to be used with Docker Engine 1.13 or above and is 1063 specifically designed to work with the `docker stack` commands. 1064 1065#### Compose file version 2.1 and up 1066 1067- Healthcheck configuration can now be done in the service definition using 1068 the `healthcheck` parameter 1069 1070- Containers dependencies can now be set up to wait on positive healthchecks 1071 when declared using `depends_on`. See the documentation for the updated 1072 syntax. 1073 **Note:** This feature will not be ported to version 3 Compose files. 1074 1075- Added support for the `sysctls` parameter in service definitions 1076 1077- Added support for the `userns_mode` parameter in service definitions 1078 1079- Compose now adds identifying labels to networks and volumes it creates 1080 1081#### Compose file version 2.0 and up 1082 1083- Added support for the `stop_grace_period` option in service definitions. 1084 1085### Bugfixes 1086 1087- Colored output now works properly on Windows. 1088 1089- Fixed a bug where docker-compose run would fail to set up link aliases 1090 in interactive mode on Windows. 1091 1092- Networks created by Compose are now always made attachable 1093 (Compose files v2.1 and up). 1094 1095- Fixed a bug where falsy values of `COMPOSE_CONVERT_WINDOWS_PATHS` 1096 (`0`, `false`, empty value) were being interpreted as true. 1097 1098- Fixed a bug where forward slashes in some .dockerignore patterns weren't 1099 being parsed correctly on Windows 1100 1101 11021.9.0 (2016-11-16) 1103----------------- 1104 1105**Breaking changes** 1106 1107- When using Compose with Docker Toolbox/Machine on Windows, volume paths are 1108 no longer converted from `C:\Users` to `/c/Users`-style by default. To 1109 re-enable this conversion so that your volumes keep working, set the 1110 environment variable `COMPOSE_CONVERT_WINDOWS_PATHS=1`. Users of 1111 Docker for Windows are not affected and do not need to set the variable. 1112 1113New Features 1114 1115- Interactive mode for `docker-compose run` and `docker-compose exec` is 1116 now supported on Windows platforms. Please note that the `docker` binary 1117 is required to be present on the system for this feature to work. 1118 1119- Introduced version 2.1 of the `docker-compose.yml` specification. This 1120 version requires to be used with Docker Engine 1.12 or above. 1121 - Added support for setting volume labels and network labels in 1122 `docker-compose.yml`. 1123 - Added support for the `isolation` parameter in service definitions. 1124 - Added support for link-local IPs in the service networks definitions. 1125 - Added support for shell-style inline defaults in variable interpolation. 1126 The supported forms are `${FOO-default}` (fall back if FOO is unset) and 1127 `${FOO:-default}` (fall back if FOO is unset or empty). 1128 1129- Added support for the `group_add` and `oom_score_adj` parameters in 1130 service definitions. 1131 1132- Added support for the `internal` and `enable_ipv6` parameters in network 1133 definitions. 1134 1135- Compose now defaults to using the `npipe` protocol on Windows. 1136 1137- Overriding a `logging` configuration will now properly merge the `options` 1138 mappings if the `driver` values do not conflict. 1139 1140Bug Fixes 1141 1142- Fixed several bugs related to `npipe` protocol support on Windows. 1143 1144- Fixed an issue with Windows paths being incorrectly converted when 1145 using Docker on Windows Server. 1146 1147- Fixed a bug where an empty `restart` value would sometimes result in an 1148 exception being raised. 1149 1150- Fixed an issue where service logs containing unicode characters would 1151 sometimes cause an error to occur. 1152 1153- Fixed a bug where unicode values in environment variables would sometimes 1154 raise a unicode exception when retrieved. 1155 1156- Fixed an issue where Compose would incorrectly detect a configuration 1157 mismatch for overlay networks. 1158 1159 11601.8.1 (2016-09-22) 1161----------------- 1162 1163Bug Fixes 1164 1165- Fixed a bug where users using a credentials store were not able 1166 to access their private images. 1167 1168- Fixed a bug where users using identity tokens to authenticate 1169 were not able to access their private images. 1170 1171- Fixed a bug where an `HttpHeaders` entry in the docker configuration 1172 file would cause Compose to crash when trying to build an image. 1173 1174- Fixed a few bugs related to the handling of Windows paths in volume 1175 binding declarations. 1176 1177- Fixed a bug where Compose would sometimes crash while trying to 1178 read a streaming response from the engine. 1179 1180- Fixed an issue where Compose would crash when encountering an API error 1181 while streaming container logs. 1182 1183- Fixed an issue where Compose would erroneously try to output logs from 1184 drivers not handled by the Engine's API. 1185 1186- Fixed a bug where options from the `docker-machine config` command would 1187 not be properly interpreted by Compose. 1188 1189- Fixed a bug where the connection to the Docker Engine would 1190 sometimes fail when running a large number of services simultaneously. 1191 1192- Fixed an issue where Compose would sometimes print a misleading 1193 suggestion message when running the `bundle` command. 1194 1195- Fixed a bug where connection errors would not be handled properly by 1196 Compose during the project initialization phase. 1197 1198- Fixed a bug where a misleading error would appear when encountering 1199 a connection timeout. 1200 1201 12021.8.0 (2016-06-14) 1203----------------- 1204 1205**Breaking Changes** 1206 1207- As announced in 1.7.0, `docker-compose rm` now removes containers 1208 created by `docker-compose run` by default. 1209 1210- Setting `entrypoint` on a service now empties out any default 1211 command that was set on the image (i.e. any `CMD` instruction in the 1212 Dockerfile used to build it). This makes it consistent with 1213 the `--entrypoint` flag to `docker run`. 1214 1215New Features 1216 1217- Added `docker-compose bundle`, a command that builds a bundle file 1218 to be consumed by the new *Docker Stack* commands in Docker 1.12. 1219 1220- Added `docker-compose push`, a command that pushes service images 1221 to a registry. 1222 1223- Compose now supports specifying a custom TLS version for 1224 interaction with the Docker Engine using the `COMPOSE_TLS_VERSION` 1225 environment variable. 1226 1227Bug Fixes 1228 1229- Fixed a bug where Compose would erroneously try to read `.env` 1230 at the project's root when it is a directory. 1231 1232- `docker-compose run -e VAR` now passes `VAR` through from the shell 1233 to the container, as with `docker run -e VAR`. 1234 1235- Improved config merging when multiple compose files are involved 1236 for several service sub-keys. 1237 1238- Fixed a bug where volume mappings containing Windows drives would 1239 sometimes be parsed incorrectly. 1240 1241- Fixed a bug in Windows environment where volume mappings of the 1242 host's root directory would be parsed incorrectly. 1243 1244- Fixed a bug where `docker-compose config` would output an invalid 1245 Compose file if external networks were specified. 1246 1247- Fixed an issue where unset buildargs would be assigned a string 1248 containing `'None'` instead of the expected empty value. 1249 1250- Fixed a bug where yes/no prompts on Windows would not show before 1251 receiving input. 1252 1253- Fixed a bug where trying to `docker-compose exec` on Windows 1254 without the `-d` option would exit with a stacktrace. This will 1255 still fail for the time being, but should do so gracefully. 1256 1257- Fixed a bug where errors during `docker-compose up` would show 1258 an unrelated stacktrace at the end of the process. 1259 1260- `docker-compose create` and `docker-compose start` show more 1261 descriptive error messages when something goes wrong. 1262 1263 12641.7.1 (2016-05-04) 1265----------------- 1266 1267Bug Fixes 1268 1269- Fixed a bug where the output of `docker-compose config` for v1 files 1270 would be an invalid configuration file. 1271 1272- Fixed a bug where `docker-compose config` would not check the validity 1273 of links. 1274 1275- Fixed an issue where `docker-compose help` would not output a list of 1276 available commands and generic options as expected. 1277 1278- Fixed an issue where filtering by service when using `docker-compose logs` 1279 would not apply for newly created services. 1280 1281- Fixed a bug where unchanged services would sometimes be recreated in 1282 in the up phase when using Compose with Python 3. 1283 1284- Fixed an issue where API errors encountered during the up phase would 1285 not be recognized as a failure state by Compose. 1286 1287- Fixed a bug where Compose would raise a NameError because of an undefined 1288 exception name on non-Windows platforms. 1289 1290- Fixed a bug where the wrong version of `docker-py` would sometimes be 1291 installed alongside Compose. 1292 1293- Fixed a bug where the host value output by `docker-machine config default` 1294 would not be recognized as valid options by the `docker-compose` 1295 command line. 1296 1297- Fixed an issue where Compose would sometimes exit unexpectedly while 1298 reading events broadcasted by a Swarm cluster. 1299 1300- Corrected a statement in the docs about the location of the `.env` file, 1301 which is indeed read from the current directory, instead of in the same 1302 location as the Compose file. 1303 1304 13051.7.0 (2016-04-13) 1306------------------ 1307 1308**Breaking Changes** 1309 1310- `docker-compose logs` no longer follows log output by default. It now 1311 matches the behaviour of `docker logs` and exits after the current logs 1312 are printed. Use `-f` to get the old default behaviour. 1313 1314- Booleans are no longer allows as values for mappings in the Compose file 1315 (for keys `environment`, `labels` and `extra_hosts`). Previously this 1316 was a warning. Boolean values should be quoted so they become string values. 1317 1318New Features 1319 1320- Compose now looks for a `.env` file in the directory where it's run and 1321 reads any environment variables defined inside, if they're not already 1322 set in the shell environment. This lets you easily set defaults for 1323 variables used in the Compose file, or for any of the `COMPOSE_*` or 1324 `DOCKER_*` variables. 1325 1326- Added a `--remove-orphans` flag to both `docker-compose up` and 1327 `docker-compose down` to remove containers for services that were removed 1328 from the Compose file. 1329 1330- Added a `--all` flag to `docker-compose rm` to include containers created 1331 by `docker-compose run`. This will become the default behavior in the next 1332 version of Compose. 1333 1334- Added support for all the same TLS configuration flags used by the `docker` 1335 client: `--tls`, `--tlscert`, `--tlskey`, etc. 1336 1337- Compose files now support the `tmpfs` and `shm_size` options. 1338 1339- Added the `--workdir` flag to `docker-compose run` 1340 1341- `docker-compose logs` now shows logs for new containers that are created 1342 after it starts. 1343 1344- The `COMPOSE_FILE` environment variable can now contain multiple files, 1345 separated by the host system's standard path separator (`:` on Mac/Linux, 1346 `;` on Windows). 1347 1348- You can now specify a static IP address when connecting a service to a 1349 network with the `ipv4_address` and `ipv6_address` options. 1350 1351- Added `--follow`, `--timestamp`, and `--tail` flags to the 1352 `docker-compose logs` command. 1353 1354- `docker-compose up`, and `docker-compose start` will now start containers 1355 in parallel where possible. 1356 1357- `docker-compose stop` now stops containers in reverse dependency order 1358 instead of all at once. 1359 1360- Added the `--build` flag to `docker-compose up` to force it to build a new 1361 image. It now shows a warning if an image is automatically built when the 1362 flag is not used. 1363 1364- Added the `docker-compose exec` command for executing a process in a running 1365 container. 1366 1367 1368Bug Fixes 1369 1370- `docker-compose down` now removes containers created by 1371 `docker-compose run`. 1372 1373- A more appropriate error is shown when a timeout is hit during `up` when 1374 using a tty. 1375 1376- Fixed a bug in `docker-compose down` where it would abort if some resources 1377 had already been removed. 1378 1379- Fixed a bug where changes to network aliases would not trigger a service 1380 to be recreated. 1381 1382- Fix a bug where a log message was printed about creating a new volume 1383 when it already existed. 1384 1385- Fixed a bug where interrupting `up` would not always shut down containers. 1386 1387- Fixed a bug where `log_opt` and `log_driver` were not properly carried over 1388 when extending services in the v1 Compose file format. 1389 1390- Fixed a bug where empty values for build args would cause file validation 1391 to fail. 1392 13931.6.2 (2016-02-23) 1394------------------ 1395 1396- Fixed a bug where connecting to a TLS-enabled Docker Engine would fail with 1397 a certificate verification error. 1398 13991.6.1 (2016-02-23) 1400------------------ 1401 1402Bug Fixes 1403 1404- Fixed a bug where recreating a container multiple times would cause the 1405 new container to be started without the previous volumes. 1406 1407- Fixed a bug where Compose would set the value of unset environment variables 1408 to an empty string, instead of a key without a value. 1409 1410- Provide a better error message when Compose requires a more recent version 1411 of the Docker API. 1412 1413- Add a missing config field `network.aliases` which allows setting a network 1414 scoped alias for a service. 1415 1416- Fixed a bug where `run` would not start services listed in `depends_on`. 1417 1418- Fixed a bug where `networks` and `network_mode` where not merged when using 1419 extends or multiple Compose files. 1420 1421- Fixed a bug with service aliases where the short container id alias was 1422 only contained 10 characters, instead of the 12 characters used in previous 1423 versions. 1424 1425- Added a missing log message when creating a new named volume. 1426 1427- Fixed a bug where `build.args` was not merged when using `extends` or 1428 multiple Compose files. 1429 1430- Fixed some bugs with config validation when null values or incorrect types 1431 were used instead of a mapping. 1432 1433- Fixed a bug where a `build` section without a `context` would show a stack 1434 trace instead of a helpful validation message. 1435 1436- Improved compatibility with swarm by only setting a container affinity to 1437 the previous instance of a services' container when the service uses an 1438 anonymous container volume. Previously the affinity was always set on all 1439 containers. 1440 1441- Fixed the validation of some `driver_opts` would cause an error if a number 1442 was used instead of a string. 1443 1444- Some improvements to the `run.sh` script used by the Compose container install 1445 option. 1446 1447- Fixed a bug with `up --abort-on-container-exit` where Compose would exit, 1448 but would not stop other containers. 1449 1450- Corrected the warning message that is printed when a boolean value is used 1451 as a value in a mapping. 1452 1453 14541.6.0 (2016-01-15) 1455------------------ 1456 1457Major Features: 1458 1459- Compose 1.6 introduces a new format for `docker-compose.yml` which lets 1460 you define networks and volumes in the Compose file as well as services. It 1461 also makes a few changes to the structure of some configuration options. 1462 1463 You don't have to use it - your existing Compose files will run on Compose 1464 1.6 exactly as they do today. 1465 1466 Check the upgrade guide for full details: 1467 https://docs.docker.com/compose/compose-file#upgrading 1468 1469- Support for networking has exited experimental status and is the recommended 1470 way to enable communication between containers. 1471 1472 If you use the new file format, your app will use networking. If you aren't 1473 ready yet, just leave your Compose file as it is and it'll continue to work 1474 just the same. 1475 1476 By default, you don't have to configure any networks. In fact, using 1477 networking with Compose involves even less configuration than using links. 1478 Consult the networking guide for how to use it: 1479 https://docs.docker.com/compose/networking 1480 1481 The experimental flags `--x-networking` and `--x-network-driver`, introduced 1482 in Compose 1.5, have been removed. 1483 1484- You can now pass arguments to a build if you're using the new file format: 1485 1486 build: 1487 context: . 1488 args: 1489 buildno: 1 1490 1491- You can now specify both a `build` and an `image` key if you're using the 1492 new file format. `docker-compose build` will build the image and tag it with 1493 the name you've specified, while `docker-compose pull` will attempt to pull 1494 it. 1495 1496- There's a new `events` command for monitoring container events from 1497 the application, much like `docker events`. This is a good primitive for 1498 building tools on top of Compose for performing actions when particular 1499 things happen, such as containers starting and stopping. 1500 1501- There's a new `depends_on` option for specifying dependencies between 1502 services. This enforces the order of startup, and ensures that when you run 1503 `docker-compose up SERVICE` on a service with dependencies, those are started 1504 as well. 1505 1506New Features: 1507 1508- Added a new command `config` which validates and prints the Compose 1509 configuration after interpolating variables, resolving relative paths, and 1510 merging multiple files and `extends`. 1511 1512- Added a new command `create` for creating containers without starting them. 1513 1514- Added a new command `down` to stop and remove all the resources created by 1515 `up` in a single command. 1516 1517- Added support for the `cpu_quota` configuration option. 1518 1519- Added support for the `stop_signal` configuration option. 1520 1521- Commands `start`, `restart`, `pause`, and `unpause` now exit with an 1522 error status code if no containers were modified. 1523 1524- Added a new `--abort-on-container-exit` flag to `up` which causes `up` to 1525 stop all container and exit once the first container exits. 1526 1527- Removed support for `FIG_FILE`, `FIG_PROJECT_NAME`, and no longer reads 1528 `fig.yml` as a default Compose file location. 1529 1530- Removed the `migrate-to-labels` command. 1531 1532- Removed the `--allow-insecure-ssl` flag. 1533 1534 1535Bug Fixes: 1536 1537- Fixed a validation bug that prevented the use of a range of ports in 1538 the `expose` field. 1539 1540- Fixed a validation bug that prevented the use of arrays in the `entrypoint` 1541 field if they contained duplicate entries. 1542 1543- Fixed a bug that caused `ulimits` to be ignored when used with `extends`. 1544 1545- Fixed a bug that prevented ipv6 addresses in `extra_hosts`. 1546 1547- Fixed a bug that caused `extends` to be ignored when included from 1548 multiple Compose files. 1549 1550- Fixed an incorrect warning when a container volume was defined in 1551 the Compose file. 1552 1553- Fixed a bug that prevented the force shutdown behaviour of `up` and 1554 `logs`. 1555 1556- Fixed a bug that caused `None` to be printed as the network driver name 1557 when the default network driver was used. 1558 1559- Fixed a bug where using the string form of `dns` or `dns_search` would 1560 cause an error. 1561 1562- Fixed a bug where a container would be reported as "Up" when it was 1563 in the restarting state. 1564 1565- Fixed a confusing error message when DOCKER_CERT_PATH was not set properly. 1566 1567- Fixed a bug where attaching to a container would fail if it was using a 1568 non-standard logging driver (or none at all). 1569 1570 15711.5.2 (2015-12-03) 1572------------------ 1573 1574- Fixed a bug which broke the use of `environment` and `env_file` with 1575 `extends`, and caused environment keys without values to have a `None` 1576 value, instead of a value from the host environment. 1577 1578- Fixed a regression in 1.5.1 that caused a warning about volumes to be 1579 raised incorrectly when containers were recreated. 1580 1581- Fixed a bug which prevented building a `Dockerfile` that used `ADD <url>` 1582 1583- Fixed a bug with `docker-compose restart` which prevented it from 1584 starting stopped containers. 1585 1586- Fixed handling of SIGTERM and SIGINT to properly stop containers 1587 1588- Add support for using a url as the value of `build` 1589 1590- Improved the validation of the `expose` option 1591 1592 15931.5.1 (2015-11-12) 1594------------------ 1595 1596- Add the `--force-rm` option to `build`. 1597 1598- Add the `ulimit` option for services in the Compose file. 1599 1600- Fixed a bug where `up` would error with "service needs to be built" if 1601 a service changed from using `image` to using `build`. 1602 1603- Fixed a bug that would cause incorrect output of parallel operations 1604 on some terminals. 1605 1606- Fixed a bug that prevented a container from being recreated when the 1607 mode of a `volumes_from` was changed. 1608 1609- Fixed a regression in 1.5.0 where non-utf-8 unicode characters would cause 1610 `up` or `logs` to crash. 1611 1612- Fixed a regression in 1.5.0 where Compose would use a success exit status 1613 code when a command fails due to an HTTP timeout communicating with the 1614 docker daemon. 1615 1616- Fixed a regression in 1.5.0 where `name` was being accepted as a valid 1617 service option which would override the actual name of the service. 1618 1619- When using `--x-networking` Compose no longer sets the hostname to the 1620 container name. 1621 1622- When using `--x-networking` Compose will only create the default network 1623 if at least one container is using the network. 1624 1625- When printings logs during `up` or `logs`, flush the output buffer after 1626 each line to prevent buffering issues from hiding logs. 1627 1628- Recreate a container if one of its dependencies is being created. 1629 Previously a container was only recreated if it's dependencies already 1630 existed, but were being recreated as well. 1631 1632- Add a warning when a `volume` in the Compose file is being ignored 1633 and masked by a container volume from a previous container. 1634 1635- Improve the output of `pull` when run without a tty. 1636 1637- When using multiple Compose files, validate each before attempting to merge 1638 them together. Previously invalid files would result in not helpful errors. 1639 1640- Allow dashes in keys in the `environment` service option. 1641 1642- Improve validation error messages by including the filename as part of the 1643 error message. 1644 1645 16461.5.0 (2015-11-03) 1647------------------ 1648 1649**Breaking changes:** 1650 1651With the introduction of variable substitution support in the Compose file, any 1652Compose file that uses an environment variable (`$VAR` or `${VAR}`) in the `command:` 1653or `entrypoint:` field will break. 1654 1655Previously these values were interpolated inside the container, with a value 1656from the container environment. In Compose 1.5.0, the values will be 1657interpolated on the host, with a value from the host environment. 1658 1659To migrate a Compose file to 1.5.0, escape the variables with an extra `$` 1660(ex: `$$VAR` or `$${VAR}`). See 1661https://github.com/docker/compose/blob/8cc8e61/docs/compose-file.md#variable-substitution 1662 1663Major features: 1664 1665- Compose is now available for Windows. 1666 1667- Environment variables can be used in the Compose file. See 1668 https://github.com/docker/compose/blob/8cc8e61/docs/compose-file.md#variable-substitution 1669 1670- Multiple compose files can be specified, allowing you to override 1671 settings in the default Compose file. See 1672 https://github.com/docker/compose/blob/8cc8e61/docs/reference/docker-compose.md 1673 for more details. 1674 1675- Compose now produces better error messages when a file contains 1676 invalid configuration. 1677 1678- `up` now waits for all services to exit before shutting down, 1679 rather than shutting down as soon as one container exits. 1680 1681- Experimental support for the new docker networking system can be 1682 enabled with the `--x-networking` flag. Read more here: 1683 https://github.com/docker/docker/blob/8fee1c20/docs/userguide/dockernetworks.md 1684 1685New features: 1686 1687- You can now optionally pass a mode to `volumes_from`, e.g. 1688 `volumes_from: ["servicename:ro"]`. 1689 1690- Since Docker now lets you create volumes with names, you can refer to those 1691 volumes by name in `docker-compose.yml`. For example, 1692 `volumes: ["mydatavolume:/data"]` will mount the volume named 1693 `mydatavolume` at the path `/data` inside the container. 1694 1695 If the first component of an entry in `volumes` starts with a `.`, `/` or 1696 `~`, it is treated as a path and expansion of relative paths is performed as 1697 necessary. Otherwise, it is treated as a volume name and passed straight 1698 through to Docker. 1699 1700 Read more on named volumes and volume drivers here: 1701 https://github.com/docker/docker/blob/244d9c33/docs/userguide/dockervolumes.md 1702 1703- `docker-compose build --pull` instructs Compose to pull the base image for 1704 each Dockerfile before building. 1705 1706- `docker-compose pull --ignore-pull-failures` instructs Compose to continue 1707 if it fails to pull a single service's image, rather than aborting. 1708 1709- You can now specify an IPC namespace in `docker-compose.yml` with the `ipc` 1710 option. 1711 1712- Containers created by `docker-compose run` can now be named with the 1713 `--name` flag. 1714 1715- If you install Compose with pip or use it as a library, it now works with 1716 Python 3. 1717 1718- `image` now supports image digests (in addition to ids and tags), e.g. 1719 `image: "busybox@sha256:38a203e1986cf79639cfb9b2e1d6e773de84002feea2d4eb006b52004ee8502d"` 1720 1721- `ports` now supports ranges of ports, e.g. 1722 1723 ports: 1724 - "3000-3005" 1725 - "9000-9001:8000-8001" 1726 1727- `docker-compose run` now supports a `-p|--publish` parameter, much like 1728 `docker run -p`, for publishing specific ports to the host. 1729 1730- `docker-compose pause` and `docker-compose unpause` have been implemented, 1731 analogous to `docker pause` and `docker unpause`. 1732 1733- When using `extends` to copy configuration from another service in the same 1734 Compose file, you can omit the `file` option. 1735 1736- Compose can be installed and run as a Docker image. This is an experimental 1737 feature. 1738 1739Bug fixes: 1740 1741- All values for the `log_driver` option which are supported by the Docker 1742 daemon are now supported by Compose. 1743 1744- `docker-compose build` can now be run successfully against a Swarm cluster. 1745 1746 17471.4.2 (2015-09-22) 1748------------------ 1749 1750- Fixed a regression in the 1.4.1 release that would cause `docker-compose up` 1751 without the `-d` option to exit immediately. 1752 17531.4.1 (2015-09-10) 1754------------------ 1755 1756The following bugs have been fixed: 1757 1758- Some configuration changes (notably changes to `links`, `volumes_from`, and 1759 `net`) were not properly triggering a container recreate as part of 1760 `docker-compose up`. 1761- `docker-compose up <service>` was showing logs for all services instead of 1762 just the specified services. 1763- Containers with custom container names were showing up in logs as 1764 `service_number` instead of their custom container name. 1765- When scaling a service sometimes containers would be recreated even when 1766 the configuration had not changed. 1767 1768 17691.4.0 (2015-08-04) 1770------------------ 1771 1772- By default, `docker-compose up` now only recreates containers for services whose configuration has changed since they were created. This should result in a dramatic speed-up for many applications. 1773 1774 The experimental `--x-smart-recreate` flag which introduced this feature in Compose 1.3.0 has been removed, and a `--force-recreate` flag has been added for when you want to recreate everything. 1775 1776- Several of Compose's commands - `scale`, `stop`, `kill` and `rm` - now perform actions on multiple containers in parallel, rather than in sequence, which will run much faster on larger applications. 1777 1778- You can now specify a custom name for a service's container with `container_name`. Because Docker container names must be unique, this means you can't scale the service beyond one container. 1779 1780- You no longer have to specify a `file` option when using `extends` - it will default to the current file. 1781 1782- Service names can now contain dots, dashes and underscores. 1783 1784- Compose can now read YAML configuration from standard input, rather than from a file, by specifying `-` as the filename. This makes it easier to generate configuration dynamically: 1785 1786 $ echo 'redis: {"image": "redis"}' | docker-compose --file - up 1787 1788- There's a new `docker-compose version` command which prints extended information about Compose's bundled dependencies. 1789 1790- `docker-compose.yml` now supports `log_opt` as well as `log_driver`, allowing you to pass extra configuration to a service's logging driver. 1791 1792- `docker-compose.yml` now supports `memswap_limit`, similar to `docker run --memory-swap`. 1793 1794- When mounting volumes with the `volumes` option, you can now pass in any mode supported by the daemon, not just `:ro` or `:rw`. For example, SELinux users can pass `:z` or `:Z`. 1795 1796- You can now specify a custom volume driver with the `volume_driver` option in `docker-compose.yml`, much like `docker run --volume-driver`. 1797 1798- A bug has been fixed where Compose would fail to pull images from private registries serving plain (unsecured) HTTP. The `--allow-insecure-ssl` flag, which was previously used to work around this issue, has been deprecated and now has no effect. 1799 1800- A bug has been fixed where `docker-compose build` would fail if the build depended on a private Hub image or an image from a private registry. 1801 1802- A bug has been fixed where Compose would crash if there were containers which the Docker daemon had not finished removing. 1803 1804- Two bugs have been fixed where Compose would sometimes fail with a "Duplicate bind mount" error, or fail to attach volumes to a container, if there was a volume path specified in `docker-compose.yml` with a trailing slash. 1805 1806Thanks @mnowster, @dnephin, @ekristen, @funkyfuture, @jeffk and @lukemarsden! 1807 18081.3.3 (2015-07-15) 1809------------------ 1810 1811Two regressions have been fixed: 1812 1813- When stopping containers gracefully, Compose was setting the timeout to 0, effectively forcing a SIGKILL every time. 1814- Compose would sometimes crash depending on the formatting of container data returned from the Docker API. 1815 18161.3.2 (2015-07-14) 1817------------------ 1818 1819The following bugs have been fixed: 1820 1821- When there were one-off containers created by running `docker-compose run` on an older version of Compose, `docker-compose run` would fail with a name collision. Compose now shows an error if you have leftover containers of this type lying around, and tells you how to remove them. 1822- Compose was not reading Docker authentication config files created in the new location, `~/docker/config.json`, and authentication against private registries would therefore fail. 1823- When a container had a pseudo-TTY attached, its output in `docker-compose up` would be truncated. 1824- `docker-compose up --x-smart-recreate` would sometimes fail when an image tag was updated. 1825- `docker-compose up` would sometimes create two containers with the same numeric suffix. 1826- `docker-compose rm` and `docker-compose ps` would sometimes list services that aren't part of the current project (though no containers were erroneously removed). 1827- Some `docker-compose` commands would not show an error if invalid service names were passed in. 1828 1829Thanks @dano, @josephpage, @kevinsimper, @lieryan, @phemmer, @soulrebel and @sschepens! 1830 18311.3.1 (2015-06-21) 1832------------------ 1833 1834The following bugs have been fixed: 1835 1836- `docker-compose build` would always attempt to pull the base image before building. 1837- `docker-compose help migrate-to-labels` failed with an error. 1838- If no network mode was specified, Compose would set it to "bridge", rather than allowing the Docker daemon to use its configured default network mode. 1839 18401.3.0 (2015-06-18) 1841------------------ 1842 1843Firstly, two important notes: 1844 1845- **This release contains breaking changes, and you will need to either remove or migrate your existing containers before running your app** - see the [upgrading section of the install docs](https://github.com/docker/compose/blob/1.3.0rc1/docs/install.md#upgrading) for details. 1846 1847- Compose now requires Docker 1.6.0 or later. 1848 1849We've done a lot of work in this release to remove hacks and make Compose more stable: 1850 1851- Compose now uses container labels, rather than names, to keep track of containers. This makes Compose both faster and easier to integrate with your own tools. 1852 1853- Compose no longer uses "intermediate containers" when recreating containers for a service. This makes `docker-compose up` less complex and more resilient to failure. 1854 1855There are some new features: 1856 1857- `docker-compose up` has an **experimental** new behaviour: it will only recreate containers for services whose configuration has changed in `docker-compose.yml`. This will eventually become the default, but for now you can take it for a spin: 1858 1859 $ docker-compose up --x-smart-recreate 1860 1861- When invoked in a subdirectory of a project, `docker-compose` will now climb up through parent directories until it finds a `docker-compose.yml`. 1862 1863Several new configuration keys have been added to `docker-compose.yml`: 1864 1865- `dockerfile`, like `docker build --file`, lets you specify an alternate Dockerfile to use with `build`. 1866- `labels`, like `docker run --labels`, lets you add custom metadata to containers. 1867- `extra_hosts`, like `docker run --add-host`, lets you add entries to a container's `/etc/hosts` file. 1868- `pid: host`, like `docker run --pid=host`, lets you reuse the same PID namespace as the host machine. 1869- `cpuset`, like `docker run --cpuset-cpus`, lets you specify which CPUs to allow execution in. 1870- `read_only`, like `docker run --read-only`, lets you mount a container's filesystem as read-only. 1871- `security_opt`, like `docker run --security-opt`, lets you specify [security options](https://docs.docker.com/engine/reference/run/#security-configuration). 1872- `log_driver`, like `docker run --log-driver`, lets you specify a [log driver](https://docs.docker.com/engine/reference/run/#logging-drivers-log-driver). 1873 1874Many bugs have been fixed, including the following: 1875 1876- The output of `docker-compose run` was sometimes truncated, especially when running under Jenkins. 1877- A service's volumes would sometimes not update after volume configuration was changed in `docker-compose.yml`. 1878- Authenticating against third-party registries would sometimes fail. 1879- `docker-compose run --rm` would fail to remove the container if the service had a `restart` policy in place. 1880- `docker-compose scale` would refuse to scale a service beyond 1 container if it exposed a specific port number on the host. 1881- Compose would refuse to create multiple volume entries with the same host path. 1882 1883Thanks @ahromis, @albers, @aleksandr-vin, @antoineco, @ccverak, @chernjie, @dnephin, @edmorley, @fordhurley, @josephpage, @KyleJamesWalker, @lsowen, @mchasal, @noironetworks, @sdake, @sdurrheimer, @sherter, @stephenlawrence, @thaJeztah, @thieman, @turtlemonvh, @twhiteman, @vdemeester, @xuxinkun and @zwily! 1884 18851.2.0 (2015-04-16) 1886------------------ 1887 1888- `docker-compose.yml` now supports an `extends` option, which enables a service to inherit configuration from another service in another configuration file. This is really good for sharing common configuration between apps, or for configuring the same app for different environments. Here's the [documentation](https://github.com/docker/compose/blob/master/docs/yml.md#extends). 1889 1890- When using Compose with a Swarm cluster, containers that depend on one another will be co-scheduled on the same node. This means that most Compose apps will now work out of the box, as long as they don't use `build`. 1891 1892- Repeated invocations of `docker-compose up` when using Compose with a Swarm cluster now work reliably. 1893 1894- Directories passed to `build`, filenames passed to `env_file` and volume host paths passed to `volumes` are now treated as relative to the *directory of the configuration file*, not the directory that `docker-compose` is being run in. In the majority of cases, those are the same, but if you use the `-f|--file` argument to specify a configuration file in another directory, **this is a breaking change**. 1895 1896- A service can now share another service's network namespace with `net: container:<service>`. 1897 1898- `volumes_from` and `net: container:<service>` entries are taken into account when resolving dependencies, so `docker-compose up <service>` will correctly start all dependencies of `<service>`. 1899 1900- `docker-compose run` now accepts a `--user` argument to specify a user to run the command as, just like `docker run`. 1901 1902- The `up`, `stop` and `restart` commands now accept a `--timeout` (or `-t`) argument to specify how long to wait when attempting to gracefully stop containers, just like `docker stop`. 1903 1904- `docker-compose rm` now accepts `-f` as a shorthand for `--force`, just like `docker rm`. 1905 1906Thanks, @abesto, @albers, @alunduil, @dnephin, @funkyfuture, @gilclark, @IanVS, @KingsleyKelly, @knutwalker, @thaJeztah and @vmalloc! 1907 19081.1.0 (2015-02-25) 1909------------------ 1910 1911Fig has been renamed to Docker Compose, or just Compose for short. This has several implications for you: 1912 1913- The command you type is now `docker-compose`, not `fig`. 1914- You should rename your fig.yml to docker-compose.yml. 1915- If you’re installing via PyPI, the package is now `docker-compose`, so install it with `pip install docker-compose`. 1916 1917Besides that, there’s a lot of new stuff in this release: 1918 1919- We’ve made a few small changes to ensure that Compose will work with Swarm, Docker’s new clustering tool (https://github.com/docker/swarm). Eventually you'll be able to point Compose at a Swarm cluster instead of a standalone Docker host and it’ll run your containers on the cluster with no extra work from you. As Swarm is still developing, integration is rough and lots of Compose features don't work yet. 1920 1921- `docker-compose run` now has a `--service-ports` flag for exposing ports on the given service. This is useful for e.g. running your webapp with an interactive debugger. 1922 1923- You can now link to containers outside your app with the `external_links` option in docker-compose.yml. 1924 1925- You can now prevent `docker-compose up` from automatically building images with the `--no-build` option. This will make fewer API calls and run faster. 1926 1927- If you don’t specify a tag when using the `image` key, Compose will default to the `latest` tag, rather than pulling all tags. 1928 1929- `docker-compose kill` now supports the `-s` flag, allowing you to specify the exact signal you want to send to a service’s containers. 1930 1931- docker-compose.yml now has an `env_file` key, analogous to `docker run --env-file`, letting you specify multiple environment variables in a separate file. This is great if you have a lot of them, or if you want to keep sensitive information out of version control. 1932 1933- docker-compose.yml now supports the `dns_search`, `cap_add`, `cap_drop`, `cpu_shares` and `restart` options, analogous to `docker run`’s `--dns-search`, `--cap-add`, `--cap-drop`, `--cpu-shares` and `--restart` options. 1934 1935- Compose now ships with Bash tab completion - see the installation and usage docs at https://github.com/docker/compose/blob/1.1.0/docs/completion.md 1936 1937- A number of bugs have been fixed - see the milestone for details: https://github.com/docker/compose/issues?q=milestone%3A1.1.0+ 1938 1939Thanks @dnephin, @squebe, @jbalonso, @raulcd, @benlangfield, @albers, @ggtools, @bersace, @dtenenba, @petercv, @drewkett, @TFenby, @paulRbr, @Aigeruth and @salehe! 1940 19411.0.1 (2014-11-04) 1942------------------ 1943 1944 - Added an `--allow-insecure-ssl` option to allow `fig up`, `fig run` and `fig pull` to pull from insecure registries. 1945 - Fixed `fig run` not showing output in Jenkins. 1946 - Fixed a bug where Fig couldn't build Dockerfiles with ADD statements pointing at URLs. 1947 19481.0.0 (2014-10-16) 1949------------------ 1950 1951The highlights: 1952 1953 - [Fig has joined Docker.](https://www.orchardup.com/blog/orchard-is-joining-docker) Fig will continue to be maintained, but we'll also be incorporating the best bits of Fig into Docker itself. 1954 1955 This means the GitHub repository has moved to [https://github.com/docker/fig](https://github.com/docker/fig) and our IRC channel is now #docker-fig on Freenode. 1956 1957 - Fig can be used with the [official Docker OS X installer](https://docs.docker.com/installation/mac/). Boot2Docker will mount the home directory from your host machine so volumes work as expected. 1958 1959 - Fig supports Docker 1.3. 1960 1961 - It is now possible to connect to the Docker daemon using TLS by using the `DOCKER_CERT_PATH` and `DOCKER_TLS_VERIFY` environment variables. 1962 1963 - There is a new `fig port` command which outputs the host port binding of a service, in a similar way to `docker port`. 1964 1965 - There is a new `fig pull` command which pulls the latest images for a service. 1966 1967 - There is a new `fig restart` command which restarts a service's containers. 1968 1969 - Fig creates multiple containers in service by appending a number to the service name (e.g. `db_1`, `db_2`, etc). As a convenience, Fig will now give the first container an alias of the service name (e.g. `db`). 1970 1971 This link alias is also a valid hostname and added to `/etc/hosts` so you can connect to linked services using their hostname. For example, instead of resolving the environment variables `DB_PORT_5432_TCP_ADDR` and `DB_PORT_5432_TCP_PORT`, you could just use the hostname `db` and port `5432` directly. 1972 1973 - Volume definitions now support `ro` mode, expanding `~` and expanding environment variables. 1974 1975 - `.dockerignore` is supported when building. 1976 1977 - The project name can be set with the `FIG_PROJECT_NAME` environment variable. 1978 1979 - The `--env` and `--entrypoint` options have been added to `fig run`. 1980 1981 - The Fig binary for Linux is now linked against an older version of glibc so it works on CentOS 6 and Debian Wheezy. 1982 1983Other things: 1984 1985 - `fig ps` now works on Jenkins and makes fewer API calls to the Docker daemon. 1986 - `--verbose` displays more useful debugging output. 1987 - When starting a service where `volumes_from` points to a service without any containers running, that service will now be started. 1988 - Lots of docs improvements. Notably, environment variables are documented and official repositories are used throughout. 1989 1990Thanks @dnephin, @d11wtq, @marksteve, @rubbish, @jbalonso, @timfreund, @alunduil, @mieciu, @shuron, @moss, @suzaku and @chmouel! Whew. 1991 19920.5.2 (2014-07-28) 1993------------------ 1994 1995 - Added a `--no-cache` option to `fig build`, which bypasses the cache just like `docker build --no-cache`. 1996 - Fixed the `dns:` fig.yml option, which was causing fig to error out. 1997 - Fixed a bug where fig couldn't start under Python 2.6. 1998 - Fixed a log-streaming bug that occasionally caused fig to exit. 1999 2000Thanks @dnephin and @marksteve! 2001 2002 20030.5.1 (2014-07-11) 2004------------------ 2005 2006 - If a service has a command defined, `fig run [service]` with no further arguments will run it. 2007 - The project name now defaults to the directory containing fig.yml, not the current working directory (if they're different) 2008 - `volumes_from` now works properly with containers as well as services 2009 - Fixed a race condition when recreating containers in `fig up` 2010 2011Thanks @ryanbrainard and @d11wtq! 2012 2013 20140.5.0 (2014-07-11) 2015------------------ 2016 2017 - Fig now starts links when you run `fig run` or `fig up`. 2018 2019 For example, if you have a `web` service which depends on a `db` service, `fig run web ...` will start the `db` service. 2020 2021 - Environment variables can now be resolved from the environment that Fig is running in. Just specify it as a blank variable in your `fig.yml` and, if set, it'll be resolved: 2022 ``` 2023 environment: 2024 RACK_ENV: development 2025 SESSION_SECRET: 2026 ``` 2027 2028 - `volumes_from` is now supported in `fig.yml`. All of the volumes from the specified services and containers will be mounted: 2029 2030 ``` 2031 volumes_from: 2032 - service_name 2033 - container_name 2034 ``` 2035 2036 - A host address can now be specified in `ports`: 2037 2038 ``` 2039 ports: 2040 - "0.0.0.0:8000:8000" 2041 - "127.0.0.1:8001:8001" 2042 ``` 2043 2044 - The `net` and `workdir` options are now supported in `fig.yml`. 2045 - The `hostname` option now works in the same way as the Docker CLI, splitting out into a `domainname` option. 2046 - TTY behaviour is far more robust, and resizes are supported correctly. 2047 - Load YAML files safely. 2048 2049Thanks to @d11wtq, @ryanbrainard, @rail44, @j0hnsmith, @binarin, @Elemecca, @mozz100 and @marksteve for their help with this release! 2050 2051 20520.4.2 (2014-06-18) 2053------------------ 2054 2055 - Fix various encoding errors when using `fig run`, `fig up` and `fig build`. 2056 20570.4.1 (2014-05-08) 2058------------------ 2059 2060 - Add support for Docker 0.11.0. (Thanks @marksteve!) 2061 - Make project name configurable. (Thanks @jefmathiot!) 2062 - Return correct exit code from `fig run`. 2063 20640.4.0 (2014-04-29) 2065------------------ 2066 2067 - Support Docker 0.9 and 0.10 2068 - Display progress bars correctly when pulling images (no more ski slopes) 2069 - `fig up` now stops all services when any container exits 2070 - Added support for the `privileged` config option in fig.yml (thanks @kvz!) 2071 - Shortened and aligned log prefixes in `fig up` output 2072 - Only containers started with `fig run` link back to their own service 2073 - Handle UTF-8 correctly when streaming `fig build/run/up` output (thanks @mauvm and @shanejonas!) 2074 - Error message improvements 2075 20760.3.2 (2014-03-05) 2077------------------ 2078 2079 - Added an `--rm` option to `fig run`. (Thanks @marksteve!) 2080 - Added an `expose` option to `fig.yml`. 2081 20820.3.1 (2014-03-04) 2083------------------ 2084 2085 - Added contribution instructions. (Thanks @kvz!) 2086 - Fixed `fig rm` throwing an error. 2087 - Fixed a bug in `fig ps` on Docker 0.8.1 when there is a container with no command. 2088 20890.3.0 (2014-03-03) 2090------------------ 2091 2092 - We now ship binaries for OS X and Linux. No more having to install with Pip! 2093 - Add `-f` flag to specify alternate `fig.yml` files 2094 - Add support for custom link names 2095 - Fix a bug where recreating would sometimes hang 2096 - Update docker-py to support Docker 0.8.0. 2097 - Various documentation improvements 2098 - Various error message improvements 2099 2100Thanks @marksteve, @Gazler and @teozkr! 2101 21020.2.2 (2014-02-17) 2103------------------ 2104 2105 - Resolve dependencies using Cormen/Tarjan topological sort 2106 - Fix `fig up` not printing log output 2107 - Stop containers in reverse order to starting 2108 - Fix scale command not binding ports 2109 2110Thanks to @barnybug and @dustinlacewell for their work on this release. 2111 21120.2.1 (2014-02-04) 2113------------------ 2114 2115 - General improvements to error reporting (#77, #79) 2116 21170.2.0 (2014-01-31) 2118------------------ 2119 2120 - Link services to themselves so run commands can access the running service. (#67) 2121 - Much better documentation. 2122 - Make service dependency resolution more reliable. (#48) 2123 - Load Fig configurations with a `.yaml` extension. (#58) 2124 2125Big thanks to @cameronmaske, @mrchrisadams and @damianmoore for their help with this release. 2126 21270.1.4 (2014-01-27) 2128------------------ 2129 2130 - Add a link alias without the project name. This makes the environment variables a little shorter: `REDIS_1_PORT_6379_TCP_ADDR`. (#54) 2131 21320.1.3 (2014-01-23) 2133------------------ 2134 2135 - Fix ports sometimes being configured incorrectly. (#46) 2136 - Fix log output sometimes not displaying. (#47) 2137 21380.1.2 (2014-01-22) 2139------------------ 2140 2141 - Add `-T` option to `fig run` to disable pseudo-TTY. (#34) 2142 - Fix `fig up` requiring the ubuntu image to be pulled to recreate containers. (#33) Thanks @cameronmaske! 2143 - Improve reliability, fix arrow keys and fix a race condition in `fig run`. (#34, #39, #40) 2144 21450.1.1 (2014-01-17) 2146------------------ 2147 2148 - Fix bug where ports were not exposed correctly (#29). Thanks @dustinlacewell! 2149 21500.1.0 (2014-01-16) 2151------------------ 2152 2153 - Containers are recreated on each `fig up`, ensuring config is up-to-date with `fig.yml` (#2) 2154 - Add `fig scale` command (#9) 2155 - Use `DOCKER_HOST` environment variable to find Docker daemon, for consistency with the official Docker client (was previously `DOCKER_URL`) (#19) 2156 - Truncate long commands in `fig ps` (#18) 2157 - Fill out CLI help banners for commands (#15, #16) 2158 - Show a friendlier error when `fig.yml` is missing (#4) 2159 - Fix bug with `fig build` logging (#3) 2160 - Fix bug where builds would time out if a step took a long time without generating output (#6) 2161 - Fix bug where streaming container output over the Unix socket raised an error (#7) 2162 2163Big thanks to @tomstuart, @EnTeQuAk, @schickling, @aronasorman and @GeoffreyPlitt. 2164 21650.0.2 (2014-01-02) 2166------------------ 2167 2168 - Improve documentation 2169 - Try to connect to Docker on `tcp://localdocker:4243` and a UNIX socket in addition to `localhost`. 2170 - Improve `fig up` behaviour 2171 - Add confirmation prompt to `fig rm` 2172 - Add `fig build` command 2173 21740.0.1 (2013-12-20) 2175------------------ 2176 2177Initial release. 2178