github.com/slowteetoe/docker@v1.7.1-rc3/CHANGELOG.md (about) 1 # Changelog 2 3 ## 1.7.1 (2015-07-02) 4 5 #### Runtime 6 7 - Fix default user spawning exec process with `docker exec` 8 - Make `--bridge=none` to not configure the network bridge 9 - Publish networking stats properly 10 - Fix implicit devicemapper selection with static binaries 11 - Fix socket connections that hanged internitently 12 - Fix bridge interface creation on CentOS/RHEL 6.6 13 - Fix local dns lookups added to resolv.conf 14 - Fix copy command mounting volumes 15 - Fix read/write privileges in volumes mounted with --volumes-from 16 17 #### Remote API 18 19 - Fix unmarshalling of Command and Entrypoint 20 - Set limit for minimum client version supported 21 - Validate port specification 22 - Return proper errors when attach/reattach fail 23 24 #### Distribution 25 26 - Fix pulling private images 27 - Fix fallback between registry V2 and V1 28 29 30 ## 1.7.0 (2015-06-16) 31 32 #### Runtime 33 + Experimental feature: support for out-of-process volume plugins 34 * The userland proxy can be disabled in favor of hairpin NAT using the daemon’s `--userland-proxy=false` flag 35 * The `exec` command supports the `-u|--user` flag to specify the new process owner 36 + Default gateway for containers can be specified daemon-wide using the `--default-gateway` and `--default-gateway-v6` flags 37 + The CPU CFS (Completely Fair Scheduler) quota can be set in `docker run` using `--cpu-quota` 38 + Container block IO can be controlled in `docker run` using`--blkio-weight` 39 + ZFS support 40 + The `docker logs` command supports a `--since` argument 41 + UTS namespace can be shared with the host with `docker run --uts=host` 42 43 #### Quality 44 * Networking stack was entirely rewritten as part of the libnetwork effort 45 * Engine internals refactoring 46 * Volumes code was entirely rewritten to support the plugins effort 47 + Sending SIGUSR1 to a daemon will dump all goroutines stacks without exiting 48 49 #### Build 50 + Support ${variable:-value} and ${variable:+value} syntax for environment variables 51 + Support resource management flags `--cgroup-parent`, `--cpu-period`, `--cpu-quota`, `--cpuset-cpus`, `--cpuset-mems` 52 + git context changes with branches and directories 53 * The .dockerignore file support exclusion rules 54 55 #### Distribution 56 + Client support for v2 mirroring support for the official registry 57 58 #### Bugfixes 59 * Firewalld is now supported and will automatically be used when available 60 * mounting --device recursively 61 62 ## 1.6.2 (2015-05-13) 63 64 #### Runtime 65 - Revert change prohibiting mounting into /sys 66 67 ## 1.6.1 (2015-05-07) 68 69 #### Security 70 - Fix read/write /proc paths (CVE-2015-3630) 71 - Prohibit VOLUME /proc and VOLUME / (CVE-2015-3631) 72 - Fix opening of file-descriptor 1 (CVE-2015-3627) 73 - Fix symlink traversal on container respawn allowing local privilege escalation (CVE-2015-3629) 74 - Prohibit mount of /sys 75 76 #### Runtime 77 - Update Apparmor policy to not allow mounts 78 79 ## 1.6.0 (2015-04-07) 80 81 #### Builder 82 + Building images from an image ID 83 + Build containers with resource constraints, ie `docker build --cpu-shares=100 --memory=1024m...` 84 + `commit --change` to apply specified Dockerfile instructions while committing the image 85 + `import --change` to apply specified Dockerfile instructions while importing the image 86 + Builds no longer continue in the background when canceled with CTRL-C 87 88 #### Client 89 + Windows Support 90 91 #### Runtime 92 + Container and image Labels 93 + `--cgroup-parent` for specifying a parent cgroup to place container cgroup within 94 + Logging drivers, `json-file`, `syslog`, or `none` 95 + Pulling images by ID 96 + `--ulimit` to set the ulimit on a container 97 + `--default-ulimit` option on the daemon which applies to all created containers (and overwritten by `--ulimit` on run) 98 99 ## 1.5.0 (2015-02-10) 100 101 #### Builder 102 + Dockerfile to use for a given `docker build` can be specified with the `-f` flag 103 * Dockerfile and .dockerignore files can be themselves excluded as part of the .dockerignore file, thus preventing modifications to these files invalidating ADD or COPY instructions cache 104 * ADD and COPY instructions accept relative paths 105 * Dockerfile `FROM scratch` instruction is now interpreted as a no-base specifier 106 * Improve performance when exposing a large number of ports 107 108 #### Hack 109 + Allow client-side only integration tests for Windows 110 * Include docker-py integration tests against Docker daemon as part of our test suites 111 112 #### Packaging 113 + Support for the new version of the registry HTTP API 114 * Speed up `docker push` for images with a majority of already existing layers 115 - Fixed contacting a private registry through a proxy 116 117 #### Remote API 118 + A new endpoint will stream live container resource metrics and can be accessed with the `docker stats` command 119 + Containers can be renamed using the new `rename` endpoint and the associated `docker rename` command 120 * Container `inspect` endpoint show the ID of `exec` commands running in this container 121 * Container `inspect` endpoint show the number of times Docker auto-restarted the container 122 * New types of event can be streamed by the `events` endpoint: ‘OOM’ (container died with out of memory), ‘exec_create’, and ‘exec_start' 123 - Fixed returned string fields which hold numeric characters incorrectly omitting surrounding double quotes 124 125 #### Runtime 126 + Docker daemon has full IPv6 support 127 + The `docker run` command can take the `--pid=host` flag to use the host PID namespace, which makes it possible for example to debug host processes using containerized debugging tools 128 + The `docker run` command can take the `--read-only` flag to make the container’s root filesystem mounted as readonly, which can be used in combination with volumes to force a container’s processes to only write to locations that will be persisted 129 + Container total memory usage can be limited for `docker run` using the `—memory-swap` flag 130 * Major stability improvements for devicemapper storage driver 131 * Better integration with host system: containers will reflect changes to the host's `/etc/resolv.conf` file when restarted 132 * Better integration with host system: per-container iptable rules are moved to the DOCKER chain 133 - Fixed container exiting on out of memory to return an invalid exit code 134 135 #### Other 136 * The HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables are properly taken into account by the client when connecting to the Docker daemon 137 138 ## 1.4.1 (2014-12-15) 139 140 #### Runtime 141 - Fix issue with volumes-from and bind mounts not being honored after create 142 143 ## 1.4.0 (2014-12-11) 144 145 #### Notable Features since 1.3.0 146 + Set key=value labels to the daemon (displayed in `docker info`), applied with 147 new `-label` daemon flag 148 + Add support for `ENV` in Dockerfile of the form: 149 `ENV name=value name2=value2...` 150 + New Overlayfs Storage Driver 151 + `docker info` now returns an `ID` and `Name` field 152 + Filter events by event name, container, or image 153 + `docker cp` now supports copying from container volumes 154 - Fixed `docker tag`, so it honors `--force` when overriding a tag for existing 155 image. 156 157 ## 1.3.3 (2014-12-11) 158 159 #### Security 160 - Fix path traversal vulnerability in processing of absolute symbolic links (CVE-2014-9356) 161 - Fix decompression of xz image archives, preventing privilege escalation (CVE-2014-9357) 162 - Validate image IDs (CVE-2014-9358) 163 164 #### Runtime 165 - Fix an issue when image archives are being read slowly 166 167 #### Client 168 - Fix a regression related to stdin redirection 169 - Fix a regression with `docker cp` when destination is the current directory 170 171 ## 1.3.2 (2014-11-20) 172 173 #### Security 174 - Fix tar breakout vulnerability 175 * Extractions are now sandboxed chroot 176 - Security options are no longer committed to images 177 178 #### Runtime 179 - Fix deadlock in `docker ps -f exited=1` 180 - Fix a bug when `--volumes-from` references a container that failed to start 181 182 #### Registry 183 + `--insecure-registry` now accepts CIDR notation such as 10.1.0.0/16 184 * Private registries whose IPs fall in the 127.0.0.0/8 range do no need the `--insecure-registry` flag 185 - Skip the experimental registry v2 API when mirroring is enabled 186 187 ## 1.3.1 (2014-10-28) 188 189 #### Security 190 * Prevent fallback to SSL protocols < TLS 1.0 for client, daemon and registry 191 + Secure HTTPS connection to registries with certificate verification and without HTTP fallback unless `--insecure-registry` is specified 192 193 #### Runtime 194 - Fix issue where volumes would not be shared 195 196 #### Client 197 - Fix issue with `--iptables=false` not automatically setting `--ip-masq=false` 198 - Fix docker run output to non-TTY stdout 199 200 #### Builder 201 - Fix escaping `$` for environment variables 202 - Fix issue with lowercase `onbuild` Dockerfile instruction 203 - Restrict environment variable expansion to `ENV`, `ADD`, `COPY`, `WORKDIR`, `EXPOSE`, `VOLUME` and `USER` 204 205 ## 1.3.0 (2014-10-14) 206 207 #### Notable features since 1.2.0 208 + Docker `exec` allows you to run additional processes inside existing containers 209 + Docker `create` gives you the ability to create a container via the CLI without executing a process 210 + `--security-opts` options to allow user to customize container labels and apparmor profiles 211 + Docker `ps` filters 212 - Wildcard support to COPY/ADD 213 + Move production URLs to get.docker.com from get.docker.io 214 + Allocate IP address on the bridge inside a valid CIDR 215 + Use drone.io for PR and CI testing 216 + Ability to setup an official registry mirror 217 + Ability to save multiple images with docker `save` 218 219 ## 1.2.0 (2014-08-20) 220 221 #### Runtime 222 + Make /etc/hosts /etc/resolv.conf and /etc/hostname editable at runtime 223 + Auto-restart containers using policies 224 + Use /var/lib/docker/tmp for large temporary files 225 + `--cap-add` and `--cap-drop` to tweak what linux capability you want 226 + `--device` to use devices in containers 227 228 #### Client 229 + `docker search` on private registries 230 + Add `exited` filter to `docker ps --filter` 231 * `docker rm -f` now kills instead of stop 232 + Support for IPv6 addresses in `--dns` flag 233 234 #### Proxy 235 + Proxy instances in separate processes 236 * Small bug fix on UDP proxy 237 238 ## 1.1.2 (2014-07-23) 239 240 #### Runtime 241 + Fix port allocation for existing containers 242 + Fix containers restart on daemon restart 243 244 #### Packaging 245 + Fix /etc/init.d/docker issue on Debian 246 247 ## 1.1.1 (2014-07-09) 248 249 #### Builder 250 * Fix issue with ADD 251 252 ## 1.1.0 (2014-07-03) 253 254 #### Notable features since 1.0.1 255 + Add `.dockerignore` support 256 + Pause containers during `docker commit` 257 + Add `--tail` to `docker logs` 258 259 #### Builder 260 + Allow a tar file as context for `docker build` 261 * Fix issue with white-spaces and multi-lines in `Dockerfiles` 262 263 #### Runtime 264 * Overall performance improvements 265 * Allow `/` as source of `docker run -v` 266 * Fix port allocation 267 * Fix bug in `docker save` 268 * Add links information to `docker inspect` 269 270 #### Client 271 * Improve command line parsing for `docker commit` 272 273 #### Remote API 274 * Improve status code for the `start` and `stop` endpoints 275 276 ## 1.0.1 (2014-06-19) 277 278 #### Notable features since 1.0.0 279 * Enhance security for the LXC driver 280 281 #### Builder 282 * Fix `ONBUILD` instruction passed to grandchildren 283 284 #### Runtime 285 * Fix events subscription 286 * Fix /etc/hostname file with host networking 287 * Allow `-h` and `--net=none` 288 * Fix issue with hotplug devices in `--privileged` 289 290 #### Client 291 * Fix artifacts with events 292 * Fix a panic with empty flags 293 * Fix `docker cp` on Mac OS X 294 295 #### Miscellaneous 296 * Fix compilation on Mac OS X 297 * Fix several races 298 299 ## 1.0.0 (2014-06-09) 300 301 #### Notable features since 0.12.0 302 * Production support 303 304 ## 0.12.0 (2014-06-05) 305 306 #### Notable features since 0.11.0 307 * 40+ various improvements to stability, performance and usability 308 * New `COPY` Dockerfile instruction to allow copying a local file from the context into the container without ever extracting if the file is a tar file 309 * Inherit file permissions from the host on `ADD` 310 * New `pause` and `unpause` commands to allow pausing and unpausing of containers using cgroup freezer 311 * The `images` command has a `-f`/`--filter` option to filter the list of images 312 * Add `--force-rm` to clean up after a failed build 313 * Standardize JSON keys in Remote API to CamelCase 314 * Pull from a docker run now assumes `latest` tag if not specified 315 * Enhance security on Linux capabilities and device nodes 316 317 ## 0.11.1 (2014-05-07) 318 319 #### Registry 320 - Fix push and pull to private registry 321 322 ## 0.11.0 (2014-05-07) 323 324 #### Notable features since 0.10.0 325 326 * SELinux support for mount and process labels 327 * Linked containers can be accessed by hostname 328 * Use the net `--net` flag to allow advanced network configuration such as host networking so that containers can use the host's network interfaces 329 * Add a ping endpoint to the Remote API to do healthchecks of your docker daemon 330 * Logs can now be returned with an optional timestamp 331 * Docker now works with registries that support SHA-512 332 * Multiple registry endpoints are supported to allow registry mirrors 333 334 ## 0.10.0 (2014-04-08) 335 336 #### Builder 337 - Fix printing multiple messages on a single line. Fixes broken output during builds. 338 - Follow symlinks inside container's root for ADD build instructions. 339 - Fix EXPOSE caching. 340 341 #### Documentation 342 - Add the new options of `docker ps` to the documentation. 343 - Add the options of `docker restart` to the documentation. 344 - Update daemon docs and help messages for --iptables and --ip-forward. 345 - Updated apt-cacher-ng docs example. 346 - Remove duplicate description of --mtu from docs. 347 - Add missing -t and -v for `docker images` to the docs. 348 - Add fixes to the cli docs. 349 - Update libcontainer docs. 350 - Update images in docs to remove references to AUFS and LXC. 351 - Update the nodejs_web_app in the docs to use the new epel RPM address. 352 - Fix external link on security of containers. 353 - Update remote API docs. 354 - Add image size to history docs. 355 - Be explicit about binding to all interfaces in redis example. 356 - Document DisableNetwork flag in the 1.10 remote api. 357 - Document that `--lxc-conf` is lxc only. 358 - Add chef usage documentation. 359 - Add example for an image with multiple for `docker load`. 360 - Explain what `docker run -a` does in the docs. 361 362 #### Contrib 363 - Add variable for DOCKER_LOGFILE to sysvinit and use append instead of overwrite in opening the logfile. 364 - Fix init script cgroup mounting workarounds to be more similar to cgroupfs-mount and thus work properly. 365 - Remove inotifywait hack from the upstart host-integration example because it's not necessary any more. 366 - Add check-config script to contrib. 367 - Fix fish shell completion. 368 369 #### Hack 370 * Clean up "go test" output from "make test" to be much more readable/scannable. 371 * Excluse more "definitely not unit tested Go source code" directories from hack/make/test. 372 + Generate md5 and sha256 hashes when building, and upload them via hack/release.sh. 373 - Include contributed completions in Ubuntu PPA. 374 + Add cli integration tests. 375 * Add tweaks to the hack scripts to make them simpler. 376 377 #### Remote API 378 + Add TLS auth support for API. 379 * Move git clone from daemon to client. 380 - Fix content-type detection in docker cp. 381 * Split API into 2 go packages. 382 383 #### Runtime 384 * Support hairpin NAT without going through Docker server. 385 - devicemapper: succeed immediately when removing non-existing devices. 386 - devicemapper: improve handling of devicemapper devices (add per device lock, increase sleep time and unlock while sleeping). 387 - devicemapper: increase timeout in waitClose to 10 seconds. 388 - devicemapper: ensure we shut down thin pool cleanly. 389 - devicemapper: pass info, rather than hash to activateDeviceIfNeeded, deactivateDevice, setInitialized, deleteDevice. 390 - devicemapper: avoid AB-BA deadlock. 391 - devicemapper: make shutdown better/faster. 392 - improve alpha sorting in mflag. 393 - Remove manual http cookie management because the cookiejar is being used. 394 - Use BSD raw mode on Darwin. Fixes nano, tmux and others. 395 - Add FreeBSD support for the client. 396 - Merge auth package into registry. 397 - Add deprecation warning for -t on `docker pull`. 398 - Remove goroutine leak on error. 399 - Update parseLxcInfo to comply with new lxc1.0 format. 400 - Fix attach exit on darwin. 401 - Improve deprecation message. 402 - Retry to retrieve the layer metadata up to 5 times for `docker pull`. 403 - Only unshare the mount namespace for execin. 404 - Merge existing config when committing. 405 - Disable daemon startup timeout. 406 - Fix issue #4681: add loopback interface when networking is disabled. 407 - Add failing test case for issue #4681. 408 - Send SIGTERM to child, instead of SIGKILL. 409 - Show the driver and the kernel version in `docker info` even when not in debug mode. 410 - Always symlink /dev/ptmx for libcontainer. This fixes console related problems. 411 - Fix issue caused by the absence of /etc/apparmor.d. 412 - Don't leave empty cidFile behind when failing to create the container. 413 - Mount cgroups automatically if they're not mounted already. 414 - Use mock for search tests. 415 - Update to double-dash everywhere. 416 - Move .dockerenv parsing to lxc driver. 417 - Move all bind-mounts in the container inside the namespace. 418 - Don't use separate bind mount for container. 419 - Always symlink /dev/ptmx for libcontainer. 420 - Don't kill by pid for other drivers. 421 - Add initial logging to libcontainer. 422 * Sort by port in `docker ps`. 423 - Move networking drivers into runtime top level package. 424 + Add --no-prune to `docker rmi`. 425 + Add time since exit in `docker ps`. 426 - graphdriver: add build tags. 427 - Prevent allocation of previously allocated ports & prevent improve port allocation. 428 * Add support for --since/--before in `docker ps`. 429 - Clean up container stop. 430 + Add support for configurable dns search domains. 431 - Add support for relative WORKDIR instructions. 432 - Add --output flag for docker save. 433 - Remove duplication of DNS entries in config merging. 434 - Add cpuset.cpus to cgroups and native driver options. 435 - Remove docker-ci. 436 - Promote btrfs. btrfs is no longer considered experimental. 437 - Add --input flag to `docker load`. 438 - Return error when existing bridge doesn't match IP address. 439 - Strip comments before parsing line continuations to avoid interpreting instructions as comments. 440 - Fix TestOnlyLoopbackExistsWhenUsingDisableNetworkOption to ignore "DOWN" interfaces. 441 - Add systemd implementation of cgroups and make containers show up as systemd units. 442 - Fix commit and import when no repository is specified. 443 - Remount /var/lib/docker as --private to fix scaling issue. 444 - Use the environment's proxy when pinging the remote registry. 445 - Reduce error level from harmless errors. 446 * Allow --volumes-from to be individual files. 447 - Fix expanding buffer in StdCopy. 448 - Set error regardless of attach or stdin. This fixes #3364. 449 - Add support for --env-file to load environment variables from files. 450 - Symlink /etc/mtab and /proc/mounts. 451 - Allow pushing a single tag. 452 - Shut down containers cleanly at shutdown and wait forever for the containers to shut down. This makes container shutdown on daemon shutdown work properly via SIGTERM. 453 - Don't throw error when starting an already running container. 454 - Fix dynamic port allocation limit. 455 - remove setupDev from libcontainer. 456 - Add API version to `docker version`. 457 - Return correct exit code when receiving signal and make SIGQUIT quit without cleanup. 458 - Fix --volumes-from mount failure. 459 - Allow non-privileged containers to create device nodes. 460 - Skip login tests because of external dependency on a hosted service. 461 - Deprecate `docker images --tree` and `docker images --viz`. 462 - Deprecate `docker insert`. 463 - Include base abstraction for apparmor. This fixes some apparmor related problems on Ubuntu 14.04. 464 - Add specific error message when hitting 401 over HTTP on push. 465 - Fix absolute volume check. 466 - Remove volumes-from from the config. 467 - Move DNS options to hostconfig. 468 - Update the apparmor profile for libcontainer. 469 - Add deprecation notice for `docker commit -run`. 470 471 ## 0.9.1 (2014-03-24) 472 473 #### Builder 474 - Fix printing multiple messages on a single line. Fixes broken output during builds. 475 476 #### Documentation 477 - Fix external link on security of containers. 478 479 #### Contrib 480 - Fix init script cgroup mounting workarounds to be more similar to cgroupfs-mount and thus work properly. 481 - Add variable for DOCKER_LOGFILE to sysvinit and use append instead of overwrite in opening the logfile. 482 483 #### Hack 484 - Generate md5 and sha256 hashes when building, and upload them via hack/release.sh. 485 486 #### Remote API 487 - Fix content-type detection in `docker cp`. 488 489 #### Runtime 490 - Use BSD raw mode on Darwin. Fixes nano, tmux and others. 491 - Only unshare the mount namespace for execin. 492 - Retry to retrieve the layer metadata up to 5 times for `docker pull`. 493 - Merge existing config when committing. 494 - Fix panic in monitor. 495 - Disable daemon startup timeout. 496 - Fix issue #4681: add loopback interface when networking is disabled. 497 - Add failing test case for issue #4681. 498 - Send SIGTERM to child, instead of SIGKILL. 499 - Show the driver and the kernel version in `docker info` even when not in debug mode. 500 - Always symlink /dev/ptmx for libcontainer. This fixes console related problems. 501 - Fix issue caused by the absence of /etc/apparmor.d. 502 - Don't leave empty cidFile behind when failing to create the container. 503 - Improve deprecation message. 504 - Fix attach exit on darwin. 505 - devicemapper: improve handling of devicemapper devices (add per device lock, increase sleep time, unlock while sleeping). 506 - devicemapper: succeed immediately when removing non-existing devices. 507 - devicemapper: increase timeout in waitClose to 10 seconds. 508 - Remove goroutine leak on error. 509 - Update parseLxcInfo to comply with new lxc1.0 format. 510 511 ## 0.9.0 (2014-03-10) 512 513 #### Builder 514 - Avoid extra mount/unmount during build. This fixes mount/unmount related errors during build. 515 - Add error to docker build --rm. This adds missing error handling. 516 - Forbid chained onbuild, `onbuild from` and `onbuild maintainer` triggers. 517 - Make `--rm` the default for `docker build`. 518 519 #### Documentation 520 - Download the docker client binary for Mac over https. 521 - Update the titles of the install instructions & descriptions. 522 * Add instructions for upgrading boot2docker. 523 * Add port forwarding example in OS X install docs. 524 - Attempt to disentangle repository and registry. 525 - Update docs to explain more about `docker ps`. 526 - Update sshd example to use a Dockerfile. 527 - Rework some examples, including the Python examples. 528 - Update docs to include instructions for a container's lifecycle. 529 - Update docs documentation to discuss the docs branch. 530 - Don't skip cert check for an example & use HTTPS. 531 - Bring back the memory and swap accounting section which was lost when the kernel page was removed. 532 - Explain DNS warnings and how to fix them on systems running and using a local nameserver. 533 534 #### Contrib 535 - Add Tanglu support for mkimage-debootstrap. 536 - Add SteamOS support for mkimage-debootstrap. 537 538 #### Hack 539 - Get package coverage when running integration tests. 540 - Remove the Vagrantfile. This is being replaced with boot2docker. 541 - Fix tests on systems where aufs isn't available. 542 - Update packaging instructions and remove the dependency on lxc. 543 544 #### Remote API 545 * Move code specific to the API to the api package. 546 - Fix header content type for the API. Makes all endpoints use proper content type. 547 - Fix registry auth & remove ping calls from CmdPush and CmdPull. 548 - Add newlines to the JSON stream functions. 549 550 #### Runtime 551 * Do not ping the registry from the CLI. All requests to registries flow through the daemon. 552 - Check for nil information return in the lxc driver. This fixes panics with older lxc versions. 553 - Devicemapper: cleanups and fix for unmount. Fixes two problems which were causing unmount to fail intermittently. 554 - Devicemapper: remove directory when removing device. Directories don't get left behind when removing the device. 555 * Devicemapper: enable skip_block_zeroing. Improves performance by not zeroing blocks. 556 - Devicemapper: fix shutdown warnings. Fixes shutdown warnings concerning pool device removal. 557 - Ensure docker cp stream is closed properly. Fixes problems with files not being copied by `docker cp`. 558 - Stop making `tcp://` default to `127.0.0.1:4243` and remove the default port for tcp. 559 - Fix `--run` in `docker commit`. This makes `docker commit --run` work again. 560 - Fix custom bridge related options. This makes custom bridges work again. 561 + Mount-bind the PTY as container console. This allows tmux/screen to run. 562 + Add the pure Go libcontainer library to make it possible to run containers using only features of the Linux kernel. 563 + Add native exec driver which uses libcontainer and make it the default exec driver. 564 - Add support for handling extended attributes in archives. 565 * Set the container MTU to be the same as the host MTU. 566 + Add simple sha256 checksums for layers to speed up `docker push`. 567 * Improve kernel version parsing. 568 * Allow flag grouping (`docker run -it`). 569 - Remove chroot exec driver. 570 - Fix divide by zero to fix panic. 571 - Rewrite `docker rmi`. 572 - Fix docker info with lxc 1.0.0. 573 - Fix fedora tty with apparmor. 574 * Don't always append env vars, replace defaults with vars from config. 575 * Fix a goroutine leak. 576 * Switch to Go 1.2.1. 577 - Fix unique constraint error checks. 578 * Handle symlinks for Docker's data directory and for TMPDIR. 579 - Add deprecation warnings for flags (-flag is deprecated in favor of --flag) 580 - Add apparmor profile for the native execution driver. 581 * Move system specific code from archive to pkg/system. 582 - Fix duplicate signal for `docker run -i -t` (issue #3336). 583 - Return correct process pid for lxc. 584 - Add a -G option to specify the group which unix sockets belong to. 585 + Add `-f` flag to `docker rm` to force removal of running containers. 586 + Kill ghost containers and restart all ghost containers when the docker daemon restarts. 587 + Add `DOCKER_RAMDISK` environment variable to make Docker work when the root is on a ramdisk. 588 589 ## 0.8.1 (2014-02-18) 590 591 #### Builder 592 593 - Avoid extra mount/unmount during build. This removes an unneeded mount/unmount operation which was causing problems with devicemapper 594 - Fix regression with ADD of tar files. This stops Docker from decompressing tarballs added via ADD from the local file system 595 - Add error to `docker build --rm`. This adds a missing error check to ensure failures to remove containers are detected and reported 596 597 #### Documentation 598 599 * Update issue filing instructions 600 * Warn against the use of symlinks for Docker's storage folder 601 * Replace the Firefox example with an IceWeasel example 602 * Rewrite the PostgresSQL example using a Dockerfile and add more details to it 603 * Improve the OS X documentation 604 605 #### Remote API 606 607 - Fix broken images API for version less than 1.7 608 - Use the right encoding for all API endpoints which return JSON 609 - Move remote api client to api/ 610 - Queue calls to the API using generic socket wait 611 612 #### Runtime 613 614 - Fix the use of custom settings for bridges and custom bridges 615 - Refactor the devicemapper code to avoid many mount/unmount race conditions and failures 616 - Remove two panics which could make Docker crash in some situations 617 - Don't ping registry from the CLI client 618 - Enable skip_block_zeroing for devicemapper. This stops devicemapper from always zeroing entire blocks 619 - Fix --run in `docker commit`. This makes docker commit store `--run` in the image configuration 620 - Remove directory when removing devicemapper device. This cleans up leftover mount directories 621 - Drop NET_ADMIN capability for non-privileged containers. Unprivileged containers can't change their network configuration 622 - Ensure `docker cp` stream is closed properly 623 - Avoid extra mount/unmount during container registration. This removes an unneeded mount/unmount operation which was causing problems with devicemapper 624 - Stop allowing tcp:// as a default tcp bin address which binds to 127.0.0.1:4243 and remove the default port 625 + Mount-bind the PTY as container console. This allows tmux and screen to run in a container 626 - Clean up archive closing. This fixes and improves archive handling 627 - Fix engine tests on systems where temp directories are symlinked 628 - Add test methods for save and load 629 - Avoid temporarily unmounting the container when restarting it. This fixes a race for devicemapper during restart 630 - Support submodules when building from a GitHub repository 631 - Quote volume path to allow spaces 632 - Fix remote tar ADD behavior. This fixes a regression which was causing Docker to extract tarballs 633 634 ## 0.8.0 (2014-02-04) 635 636 #### Notable features since 0.7.0 637 638 * Images and containers can be removed much faster 639 * Building an image from source with docker build is now much faster 640 * The Docker daemon starts and stops much faster 641 * The memory footprint of many common operations has been reduced, by streaming files instead of buffering them in memory, fixing memory leaks, and fixing various suboptimal memory allocations 642 * Several race conditions were fixed, making Docker more stable under very high concurrency load. This makes Docker more stable and less likely to crash and reduces the memory footprint of many common operations 643 * All packaging operations are now built on the Go language’s standard tar implementation, which is bundled with Docker itself. This makes packaging more portable across host distributions, and solves several issues caused by quirks and incompatibilities between different distributions of tar 644 * Docker can now create, remove and modify larger numbers of containers and images graciously thanks to more aggressive releasing of system resources. For example the storage driver API now allows Docker to do reference counting on mounts created by the drivers 645 With the ongoing changes to the networking and execution subsystems of docker testing these areas have been a focus of the refactoring. By moving these subsystems into separate packages we can test, analyze, and monitor coverage and quality of these packages 646 * Many components have been separated into smaller sub-packages, each with a dedicated test suite. As a result the code is better-tested, more readable and easier to change 647 648 * The ADD instruction now supports caching, which avoids unnecessarily re-uploading the same source content again and again when it hasn’t changed 649 * The new ONBUILD instruction adds to your image a “trigger” instruction to be executed at a later time, when the image is used as the base for another build 650 * Docker now ships with an experimental storage driver which uses the BTRFS filesystem for copy-on-write 651 * Docker is officially supported on Mac OSX 652 * The Docker daemon supports systemd socket activation 653 654 ## 0.7.6 (2014-01-14) 655 656 #### Builder 657 658 * Do not follow symlink outside of build context 659 660 #### Runtime 661 662 - Remount bind mounts when ro is specified 663 * Use https for fetching docker version 664 665 #### Other 666 667 * Inline the test.docker.io fingerprint 668 * Add ca-certificates to packaging documentation 669 670 ## 0.7.5 (2014-01-09) 671 672 #### Builder 673 674 * Disable compression for build. More space usage but a much faster upload 675 - Fix ADD caching for certain paths 676 - Do not compress archive from git build 677 678 #### Documentation 679 680 - Fix error in GROUP add example 681 * Make sure the GPG fingerprint is inline in the documentation 682 * Give more specific advice on setting up signing of commits for DCO 683 684 #### Runtime 685 686 - Fix misspelled container names 687 - Do not add hostname when networking is disabled 688 * Return most recent image from the cache by date 689 - Return all errors from docker wait 690 * Add Content-Type Header "application/json" to GET /version and /info responses 691 692 #### Other 693 694 * Update DCO to version 1.1 695 + Update Makefile to use "docker:GIT_BRANCH" as the generated image name 696 * Update Travis to check for new 1.1 DCO version 697 698 ## 0.7.4 (2014-01-07) 699 700 #### Builder 701 702 - Fix ADD caching issue with . prefixed path 703 - Fix docker build on devicemapper by reverting sparse file tar option 704 - Fix issue with file caching and prevent wrong cache hit 705 * Use same error handling while unmarshalling CMD and ENTRYPOINT 706 707 #### Documentation 708 709 * Simplify and streamline Amazon Quickstart 710 * Install instructions use unprefixed fedora image 711 * Update instructions for mtu flag for Docker on GCE 712 + Add Ubuntu Saucy to installation 713 - Fix for wrong version warning on master instead of latest 714 715 #### Runtime 716 717 - Only get the image's rootfs when we need to calculate the image size 718 - Correctly handle unmapping UDP ports 719 * Make CopyFileWithTar use a pipe instead of a buffer to save memory on docker build 720 - Fix login message to say pull instead of push 721 - Fix "docker load" help by removing "SOURCE" prompt and mentioning STDIN 722 * Make blank -H option default to the same as no -H was sent 723 * Extract cgroups utilities to own submodule 724 725 #### Other 726 727 + Add Travis CI configuration to validate DCO and gofmt requirements 728 + Add Developer Certificate of Origin Text 729 * Upgrade VBox Guest Additions 730 * Check standalone header when pinging a registry server 731 732 ## 0.7.3 (2014-01-02) 733 734 #### Builder 735 736 + Update ADD to use the image cache, based on a hash of the added content 737 * Add error message for empty Dockerfile 738 739 #### Documentation 740 741 - Fix outdated link to the "Introduction" on www.docker.io 742 + Update the docs to get wider when the screen does 743 - Add information about needing to install LXC when using raw binaries 744 * Update Fedora documentation to disentangle the docker and docker.io conflict 745 * Add a note about using the new `-mtu` flag in several GCE zones 746 + Add FrugalWare installation instructions 747 + Add a more complete example of `docker run` 748 - Fix API documentation for creating and starting Privileged containers 749 - Add missing "name" parameter documentation on "/containers/create" 750 * Add a mention of `lxc-checkconfig` as a way to check for some of the necessary kernel configuration 751 - Update the 1.8 API documentation with some additions that were added to the docs for 1.7 752 753 #### Hack 754 755 - Add missing libdevmapper dependency to the packagers documentation 756 * Update minimum Go requirement to a hard line at Go 1.2+ 757 * Many minor improvements to the Vagrantfile 758 + Add ability to customize dockerinit search locations when compiling (to be used very sparingly only by packagers of platforms who require a nonstandard location) 759 + Add coverprofile generation reporting 760 - Add `-a` to our Go build flags, removing the need for recompiling the stdlib manually 761 * Update Dockerfile to be more canonical and have less spurious warnings during build 762 - Fix some miscellaneous `docker pull` progress bar display issues 763 * Migrate more miscellaneous packages under the "pkg" folder 764 * Update TextMate highlighting to automatically be enabled for files named "Dockerfile" 765 * Reorganize syntax highlighting files under a common "contrib/syntax" directory 766 * Update install.sh script (https://get.docker.io/) to not fail if busybox fails to download or run at the end of the Ubuntu/Debian installation 767 * Add support for container names in bash completion 768 769 #### Packaging 770 771 + Add an official Docker client binary for Darwin (Mac OS X) 772 * Remove empty "Vendor" string and added "License" on deb package 773 + Add a stubbed version of "/etc/default/docker" in the deb package 774 775 #### Runtime 776 777 * Update layer application to extract tars in place, avoiding file churn while handling whiteouts 778 - Fix permissiveness of mtime comparisons in tar handling (since GNU tar and Go tar do not yet support sub-second mtime precision) 779 * Reimplement `docker top` in pure Go to work more consistently, and even inside Docker-in-Docker (thus removing the shell injection vulnerability present in some versions of `lxc-ps`) 780 + Update `-H unix://` to work similarly to `-H tcp://` by inserting the default values for missing portions 781 - Fix more edge cases regarding dockerinit and deleted or replaced docker or dockerinit files 782 * Update container name validation to include '.' 783 - Fix use of a symlink or non-absolute path as the argument to `-g` to work as expected 784 * Update to handle external mounts outside of LXC, fixing many small mounting quirks and making future execution backends and other features simpler 785 * Update to use proper box-drawing characters everywhere in `docker images -tree` 786 * Move MTU setting from LXC configuration to directly use netlink 787 * Add `-S` option to external tar invocation for more efficient spare file handling 788 + Add arch/os info to User-Agent string, especially for registry requests 789 + Add `-mtu` option to Docker daemon for configuring MTU 790 - Fix `docker build` to exit with a non-zero exit code on error 791 + Add `DOCKER_HOST` environment variable to configure the client `-H` flag without specifying it manually for every invocation 792 793 ## 0.7.2 (2013-12-16) 794 795 #### Runtime 796 797 + Validate container names on creation with standard regex 798 * Increase maximum image depth to 127 from 42 799 * Continue to move api endpoints to the job api 800 + Add -bip flag to allow specification of dynamic bridge IP via CIDR 801 - Allow bridge creation when ipv6 is not enabled on certain systems 802 * Set hostname and IP address from within dockerinit 803 * Drop capabilities from within dockerinit 804 - Fix volumes on host when symlink is present the image 805 - Prevent deletion of image if ANY container is depending on it even if the container is not running 806 * Update docker push to use new progress display 807 * Use os.Lstat to allow mounting unix sockets when inspecting volumes 808 - Adjust handling of inactive user login 809 - Add missing defines in devicemapper for older kernels 810 - Allow untag operations with no container validation 811 - Add auth config to docker build 812 813 #### Documentation 814 815 * Add more information about Docker logging 816 + Add RHEL documentation 817 * Add a direct example for changing the CMD that is run in a container 818 * Update Arch installation documentation 819 + Add section on Trusted Builds 820 + Add Network documentation page 821 822 #### Other 823 824 + Add new cover bundle for providing code coverage reporting 825 * Separate integration tests in bundles 826 * Make Tianon the hack maintainer 827 * Update mkimage-debootstrap with more tweaks for keeping images small 828 * Use https to get the install script 829 * Remove vendored dotcloud/tar now that Go 1.2 has been released 830 831 ## 0.7.1 (2013-12-05) 832 833 #### Documentation 834 835 + Add @SvenDowideit as documentation maintainer 836 + Add links example 837 + Add documentation regarding ambassador pattern 838 + Add Google Cloud Platform docs 839 + Add dockerfile best practices 840 * Update doc for RHEL 841 * Update doc for registry 842 * Update Postgres examples 843 * Update doc for Ubuntu install 844 * Improve remote api doc 845 846 #### Runtime 847 848 + Add hostconfig to docker inspect 849 + Implement `docker log -f` to stream logs 850 + Add env variable to disable kernel version warning 851 + Add -format to `docker inspect` 852 + Support bind-mount for files 853 - Fix bridge creation on RHEL 854 - Fix image size calculation 855 - Make sure iptables are called even if the bridge already exists 856 - Fix issue with stderr only attach 857 - Remove init layer when destroying a container 858 - Fix same port binding on different interfaces 859 - `docker build` now returns the correct exit code 860 - Fix `docker port` to display correct port 861 - `docker build` now check that the dockerfile exists client side 862 - `docker attach` now returns the correct exit code 863 - Remove the name entry when the container does not exist 864 865 #### Registry 866 867 * Improve progress bars, add ETA for downloads 868 * Simultaneous pulls now waits for the first to finish instead of failing 869 - Tag only the top-layer image when pushing to registry 870 - Fix issue with offline image transfer 871 - Fix issue preventing using ':' in password for registry 872 873 #### Other 874 875 + Add pprof handler for debug 876 + Create a Makefile 877 * Use stdlib tar that now includes fix 878 * Improve make.sh test script 879 * Handle SIGQUIT on the daemon 880 * Disable verbose during tests 881 * Upgrade to go1.2 for official build 882 * Improve unit tests 883 * The test suite now runs all tests even if one fails 884 * Refactor C in Go (Devmapper) 885 - Fix OSX compilation 886 887 ## 0.7.0 (2013-11-25) 888 889 #### Notable features since 0.6.0 890 891 * Storage drivers: choose from aufs, device-mapper, or vfs. 892 * Standard Linux support: docker now runs on unmodified Linux kernels and all major distributions. 893 * Links: compose complex software stacks by connecting containers to each other. 894 * Container naming: organize your containers by giving them memorable names. 895 * Advanced port redirects: specify port redirects per interface, or keep sensitive ports private. 896 * Offline transfer: push and pull images to the filesystem without losing information. 897 * Quality: numerous bugfixes and small usability improvements. Significant increase in test coverage. 898 899 ## 0.6.7 (2013-11-21) 900 901 #### Runtime 902 903 * Improve stability, fixes some race conditons 904 * Skip the volumes mounted when deleting the volumes of container. 905 * Fix layer size computation: handle hard links correctly 906 * Use the work Path for docker cp CONTAINER:PATH 907 * Fix tmp dir never cleanup 908 * Speedup docker ps 909 * More informative error message on name collisions 910 * Fix nameserver regex 911 * Always return long id's 912 * Fix container restart race condition 913 * Keep published ports on docker stop;docker start 914 * Fix container networking on Fedora 915 * Correctly express "any address" to iptables 916 * Fix network setup when reconnecting to ghost container 917 * Prevent deletion if image is used by a running container 918 * Lock around read operations in graph 919 920 #### RemoteAPI 921 922 * Return full ID on docker rmi 923 924 #### Client 925 926 + Add -tree option to images 927 + Offline image transfer 928 * Exit with status 2 on usage error and display usage on stderr 929 * Do not forward SIGCHLD to container 930 * Use string timestamp for docker events -since 931 932 #### Other 933 934 * Update to go 1.2rc5 935 + Add /etc/default/docker support to upstart 936 937 ## 0.6.6 (2013-11-06) 938 939 #### Runtime 940 941 * Ensure container name on register 942 * Fix regression in /etc/hosts 943 + Add lock around write operations in graph 944 * Check if port is valid 945 * Fix restart runtime error with ghost container networking 946 + Add some more colors and animals to increase the pool of generated names 947 * Fix issues in docker inspect 948 + Escape apparmor confinement 949 + Set environment variables using a file. 950 * Prevent docker insert to erase something 951 + Prevent DNS server conflicts in CreateBridgeIface 952 + Validate bind mounts on the server side 953 + Use parent image config in docker build 954 * Fix regression in /etc/hosts 955 956 #### Client 957 958 + Add -P flag to publish all exposed ports 959 + Add -notrunc and -q flags to docker history 960 * Fix docker commit, tag and import usage 961 + Add stars, trusted builds and library flags in docker search 962 * Fix docker logs with tty 963 964 #### RemoteAPI 965 966 * Make /events API send headers immediately 967 * Do not split last column docker top 968 + Add size to history 969 970 #### Other 971 972 + Contrib: Desktop integration. Firefox usecase. 973 + Dockerfile: bump to go1.2rc3 974 975 ## 0.6.5 (2013-10-29) 976 977 #### Runtime 978 979 + Containers can now be named 980 + Containers can now be linked together for service discovery 981 + 'run -a', 'start -a' and 'attach' can forward signals to the container for better integration with process supervisors 982 + Automatically start crashed containers after a reboot 983 + Expose IP, port, and proto as separate environment vars for container links 984 * Allow ports to be published to specific ips 985 * Prohibit inter-container communication by default 986 - Ignore ErrClosedPipe for stdin in Container.Attach 987 - Remove unused field kernelVersion 988 * Fix issue when mounting subdirectories of /mnt in container 989 - Fix untag during removal of images 990 * Check return value of syscall.Chdir when changing working directory inside dockerinit 991 992 #### Client 993 994 - Only pass stdin to hijack when needed to avoid closed pipe errors 995 * Use less reflection in command-line method invocation 996 - Monitor the tty size after starting the container, not prior 997 - Remove useless os.Exit() calls after log.Fatal 998 999 #### Hack 1000 1001 + Add initial init scripts library and a safer Ubuntu packaging script that works for Debian 1002 * Add -p option to invoke debootstrap with http_proxy 1003 - Update install.sh with $sh_c to get sudo/su for modprobe 1004 * Update all the mkimage scripts to use --numeric-owner as a tar argument 1005 * Update hack/release.sh process to automatically invoke hack/make.sh and bail on build and test issues 1006 1007 #### Other 1008 1009 * Documentation: Fix the flags for nc in example 1010 * Testing: Remove warnings and prevent mount issues 1011 - Testing: Change logic for tty resize to avoid warning in tests 1012 - Builder: Fix race condition in docker build with verbose output 1013 - Registry: Fix content-type for PushImageJSONIndex method 1014 * Contrib: Improve helper tools to generate debian and Arch linux server images 1015 1016 ## 0.6.4 (2013-10-16) 1017 1018 #### Runtime 1019 1020 - Add cleanup of container when Start() fails 1021 * Add better comments to utils/stdcopy.go 1022 * Add utils.Errorf for error logging 1023 + Add -rm to docker run for removing a container on exit 1024 - Remove error messages which are not actually errors 1025 - Fix `docker rm` with volumes 1026 - Fix some error cases where a HTTP body might not be closed 1027 - Fix panic with wrong dockercfg file 1028 - Fix the attach behavior with -i 1029 * Record termination time in state. 1030 - Use empty string so TempDir uses the OS's temp dir automatically 1031 - Make sure to close the network allocators 1032 + Autorestart containers by default 1033 * Bump vendor kr/pty to commit 3b1f6487b `(syscall.O_NOCTTY)` 1034 * lxc: Allow set_file_cap capability in container 1035 - Move run -rm to the cli only 1036 * Split stdout stderr 1037 * Always create a new session for the container 1038 1039 #### Testing 1040 1041 - Add aggregated docker-ci email report 1042 - Add cleanup to remove leftover containers 1043 * Add nightly release to docker-ci 1044 * Add more tests around auth.ResolveAuthConfig 1045 - Remove a few errors in tests 1046 - Catch errClosing error when TCP and UDP proxies are terminated 1047 * Only run certain tests with TESTFLAGS='-run TestName' make.sh 1048 * Prevent docker-ci to test closing PRs 1049 * Replace panic by log.Fatal in tests 1050 - Increase TestRunDetach timeout 1051 1052 #### Documentation 1053 1054 * Add initial draft of the Docker infrastructure doc 1055 * Add devenvironment link to CONTRIBUTING.md 1056 * Add `apt-get install curl` to Ubuntu docs 1057 * Add explanation for export restrictions 1058 * Add .dockercfg doc 1059 * Remove Gentoo install notes about #1422 workaround 1060 * Fix help text for -v option 1061 * Fix Ping endpoint documentation 1062 - Fix parameter names in docs for ADD command 1063 - Fix ironic typo in changelog 1064 * Various command fixes in postgres example 1065 * Document how to edit and release docs 1066 - Minor updates to `postgresql_service.rst` 1067 * Clarify LGTM process to contributors 1068 - Corrected error in the package name 1069 * Document what `vagrant up` is actually doing 1070 + improve doc search results 1071 * Cleanup whitespace in API 1.5 docs 1072 * use angle brackets in MAINTAINER example email 1073 * Update archlinux.rst 1074 + Changes to a new style for the docs. Includes version switcher. 1075 * Formatting, add information about multiline json 1076 * Improve registry and index REST API documentation 1077 - Replace deprecated upgrading reference to docker-latest.tgz, which hasn't been updated since 0.5.3 1078 * Update Gentoo installation documentation now that we're in the portage tree proper 1079 * Cleanup and reorganize docs and tooling for contributors and maintainers 1080 - Minor spelling correction of protocoll -> protocol 1081 1082 #### Contrib 1083 1084 * Add vim syntax highlighting for Dockerfiles from @honza 1085 * Add mkimage-arch.sh 1086 * Reorganize contributed completion scripts to add zsh completion 1087 1088 #### Hack 1089 1090 * Add vagrant user to the docker group 1091 * Add proper bash completion for "docker push" 1092 * Add xz utils as a runtime dep 1093 * Add cleanup/refactor portion of #2010 for hack and Dockerfile updates 1094 + Add contrib/mkimage-centos.sh back (from #1621), and associated documentation link 1095 * Add several of the small make.sh fixes from #1920, and make the output more consistent and contributor-friendly 1096 + Add @tianon to hack/MAINTAINERS 1097 * Improve network performance for VirtualBox 1098 * Revamp install.sh to be usable by more people, and to use official install methods whenever possible (apt repo, portage tree, etc.) 1099 - Fix contrib/mkimage-debian.sh apt caching prevention 1100 + Add Dockerfile.tmLanguage to contrib 1101 * Configured FPM to make /etc/init/docker.conf a config file 1102 * Enable SSH Agent forwarding in Vagrant VM 1103 * Several small tweaks/fixes for contrib/mkimage-debian.sh 1104 1105 #### Other 1106 1107 - Builder: Abort build if mergeConfig returns an error and fix duplicate error message 1108 - Packaging: Remove deprecated packaging directory 1109 - Registry: Use correct auth config when logging in. 1110 - Registry: Fix the error message so it is the same as the regex 1111 1112 ## 0.6.3 (2013-09-23) 1113 1114 #### Packaging 1115 1116 * Add 'docker' group on install for ubuntu package 1117 * Update tar vendor dependency 1118 * Download apt key over HTTPS 1119 1120 #### Runtime 1121 1122 - Only copy and change permissions on non-bindmount volumes 1123 * Allow multiple volumes-from 1124 - Fix HTTP imports from STDIN 1125 1126 #### Documentation 1127 1128 * Update section on extracting the docker binary after build 1129 * Update development environment docs for new build process 1130 * Remove 'base' image from documentation 1131 1132 #### Other 1133 1134 - Client: Fix detach issue 1135 - Registry: Update regular expression to match index 1136 1137 ## 0.6.2 (2013-09-17) 1138 1139 #### Runtime 1140 1141 + Add domainname support 1142 + Implement image filtering with path.Match 1143 * Remove unnecessary warnings 1144 * Remove os/user dependency 1145 * Only mount the hostname file when the config exists 1146 * Handle signals within the `docker login` command 1147 - UID and GID are now also applied to volumes 1148 - `docker start` set error code upon error 1149 - `docker run` set the same error code as the process started 1150 1151 #### Builder 1152 1153 + Add -rm option in order to remove intermediate containers 1154 * Allow multiline for the RUN instruction 1155 1156 #### Registry 1157 1158 * Implement login with private registry 1159 - Fix push issues 1160 1161 #### Other 1162 1163 + Hack: Vendor all dependencies 1164 * Remote API: Bump to v1.5 1165 * Packaging: Break down hack/make.sh into small scripts, one per 'bundle': test, binary, ubuntu etc. 1166 * Documentation: General improvements 1167 1168 ## 0.6.1 (2013-08-23) 1169 1170 #### Registry 1171 1172 * Pass "meta" headers in API calls to the registry 1173 1174 #### Packaging 1175 1176 - Use correct upstart script with new build tool 1177 - Use libffi-dev, don`t build it from sources 1178 - Remove duplicate mercurial install command 1179 1180 ## 0.6.0 (2013-08-22) 1181 1182 #### Runtime 1183 1184 + Add lxc-conf flag to allow custom lxc options 1185 + Add an option to set the working directory 1186 * Add Image name to LogEvent tests 1187 + Add -privileged flag and relevant tests, docs, and examples 1188 * Add websocket support to /container/<name>/attach/ws 1189 * Add warning when net.ipv4.ip_forwarding = 0 1190 * Add hostname to environment 1191 * Add last stable version in `docker version` 1192 - Fix race conditions in parallel pull 1193 - Fix Graph ByParent() to generate list of child images per parent image. 1194 - Fix typo: fmt.Sprint -> fmt.Sprintf 1195 - Fix small \n error un docker build 1196 * Fix to "Inject dockerinit at /.dockerinit" 1197 * Fix #910. print user name to docker info output 1198 * Use Go 1.1.2 for dockerbuilder 1199 * Use ranged for loop on channels 1200 - Use utils.ParseRepositoryTag instead of strings.Split(name, ":") in server.ImageDelete 1201 - Improve CMD, ENTRYPOINT, and attach docs. 1202 - Improve connect message with socket error 1203 - Load authConfig only when needed and fix useless WARNING 1204 - Show tag used when image is missing 1205 * Apply volumes-from before creating volumes 1206 - Make docker run handle SIGINT/SIGTERM 1207 - Prevent crash when .dockercfg not readable 1208 - Install script should be fetched over https, not http. 1209 * API, issue 1471: Use groups for socket permissions 1210 - Correctly detect IPv4 forwarding 1211 * Mount /dev/shm as a tmpfs 1212 - Switch from http to https for get.docker.io 1213 * Let userland proxy handle container-bound traffic 1214 * Update the Docker CLI to specify a value for the "Host" header. 1215 - Change network range to avoid conflict with EC2 DNS 1216 - Reduce connect and read timeout when pinging the registry 1217 * Parallel pull 1218 - Handle ip route showing mask-less IP addresses 1219 * Allow ENTRYPOINT without CMD 1220 - Always consider localhost as a domain name when parsing the FQN repos name 1221 * Refactor checksum 1222 1223 #### Documentation 1224 1225 * Add MongoDB image example 1226 * Add instructions for creating and using the docker group 1227 * Add sudo to examples and installation to documentation 1228 * Add ufw doc 1229 * Add a reference to ps -a 1230 * Add information about Docker`s high level tools over LXC. 1231 * Fix typo in docs for docker run -dns 1232 * Fix a typo in the ubuntu installation guide 1233 * Fix to docs regarding adding docker groups 1234 * Update default -H docs 1235 * Update readme with dependencies for building 1236 * Update amazon.rst to explain that Vagrant is not necessary for running Docker on ec2 1237 * PostgreSQL service example in documentation 1238 * Suggest installing linux-headers by default. 1239 * Change the twitter handle 1240 * Clarify Amazon EC2 installation 1241 * 'Base' image is deprecated and should no longer be referenced in the docs. 1242 * Move note about officially supported kernel 1243 - Solved the logo being squished in Safari 1244 1245 #### Builder 1246 1247 + Add USER instruction do Dockerfile 1248 + Add workdir support for the Buildfile 1249 * Add no cache for docker build 1250 - Fix docker build and docker events output 1251 - Only count known instructions as build steps 1252 - Make sure ENV instruction within build perform a commit each time 1253 - Forbid certain paths within docker build ADD 1254 - Repository name (and optionally a tag) in build usage 1255 - Make sure ADD will create everything in 0755 1256 1257 #### Remote API 1258 1259 * Sort Images by most recent creation date. 1260 * Reworking opaque requests in registry module 1261 * Add image name in /events 1262 * Use mime pkg to parse Content-Type 1263 * 650 http utils and user agent field 1264 1265 #### Hack 1266 1267 + Bash Completion: Limit commands to containers of a relevant state 1268 * Add docker dependencies coverage testing into docker-ci 1269 1270 #### Packaging 1271 1272 + Docker-brew 0.5.2 support and memory footprint reduction 1273 * Add new docker dependencies into docker-ci 1274 - Revert "docker.upstart: avoid spawning a `sh` process" 1275 + Docker-brew and Docker standard library 1276 + Release docker with docker 1277 * Fix the upstart script generated by get.docker.io 1278 * Enabled the docs to generate manpages. 1279 * Revert Bind daemon to 0.0.0.0 in Vagrant. 1280 1281 #### Register 1282 1283 * Improve auth push 1284 * Registry unit tests + mock registry 1285 1286 #### Tests 1287 1288 * Improve TestKillDifferentUser to prevent timeout on buildbot 1289 - Fix typo in TestBindMounts (runContainer called without image) 1290 * Improve TestGetContainersTop so it does not rely on sleep 1291 * Relax the lo interface test to allow iface index != 1 1292 * Add registry functional test to docker-ci 1293 * Add some tests in server and utils 1294 1295 #### Other 1296 1297 * Contrib: bash completion script 1298 * Client: Add docker cp command and copy api endpoint to copy container files/folders to the host 1299 * Don`t read from stdout when only attached to stdin 1300 1301 ## 0.5.3 (2013-08-13) 1302 1303 #### Runtime 1304 1305 * Use docker group for socket permissions 1306 - Spawn shell within upstart script 1307 - Handle ip route showing mask-less IP addresses 1308 - Add hostname to environment 1309 1310 #### Builder 1311 1312 - Make sure ENV instruction within build perform a commit each time 1313 1314 ## 0.5.2 (2013-08-08) 1315 1316 * Builder: Forbid certain paths within docker build ADD 1317 - Runtime: Change network range to avoid conflict with EC2 DNS 1318 * API: Change daemon to listen on unix socket by default 1319 1320 ## 0.5.1 (2013-07-30) 1321 1322 #### Runtime 1323 1324 + Add `ps` args to `docker top` 1325 + Add support for container ID files (pidfile like) 1326 + Add container=lxc in default env 1327 + Support networkless containers with `docker run -n` and `docker -d -b=none` 1328 * Stdout/stderr logs are now stored in the same file as JSON 1329 * Allocate a /16 IP range by default, with fallback to /24. Try 12 ranges instead of 3. 1330 * Change .dockercfg format to json and support multiple auth remote 1331 - Do not override volumes from config 1332 - Fix issue with EXPOSE override 1333 1334 #### API 1335 1336 + Docker client now sets useragent (RFC 2616) 1337 + Add /events endpoint 1338 1339 #### Builder 1340 1341 + ADD command now understands URLs 1342 + CmdAdd and CmdEnv now respect Dockerfile-set ENV variables 1343 - Create directories with 755 instead of 700 within ADD instruction 1344 1345 #### Hack 1346 1347 * Simplify unit tests with helpers 1348 * Improve docker.upstart event 1349 * Add coverage testing into docker-ci 1350 1351 ## 0.5.0 (2013-07-17) 1352 1353 #### Runtime 1354 1355 + List all processes running inside a container with 'docker top' 1356 + Host directories can be mounted as volumes with 'docker run -v' 1357 + Containers can expose public UDP ports (eg, '-p 123/udp') 1358 + Optionally specify an exact public port (eg. '-p 80:4500') 1359 * 'docker login' supports additional options 1360 - Dont save a container`s hostname when committing an image. 1361 1362 #### Registry 1363 1364 + New image naming scheme inspired by Go packaging convention allows arbitrary combinations of registries 1365 - Fix issues when uploading images to a private registry 1366 1367 #### Builder 1368 1369 + ENTRYPOINT instruction sets a default binary entry point to a container 1370 + VOLUME instruction marks a part of the container as persistent data 1371 * 'docker build' displays the full output of a build by default 1372 1373 ## 0.4.8 (2013-07-01) 1374 1375 + Builder: New build operation ENTRYPOINT adds an executable entry point to the container. - Runtime: Fix a bug which caused 'docker run -d' to no longer print the container ID. 1376 - Tests: Fix issues in the test suite 1377 1378 ## 0.4.7 (2013-06-28) 1379 1380 #### Remote API 1381 1382 * The progress bar updates faster when downloading and uploading large files 1383 - Fix a bug in the optional unix socket transport 1384 1385 #### Runtime 1386 1387 * Improve detection of kernel version 1388 + Host directories can be mounted as volumes with 'docker run -b' 1389 - fix an issue when only attaching to stdin 1390 * Use 'tar --numeric-owner' to avoid uid mismatch across multiple hosts 1391 1392 #### Hack 1393 1394 * Improve test suite and dev environment 1395 * Remove dependency on unit tests on 'os/user' 1396 1397 #### Other 1398 1399 * Registry: easier push/pull to a custom registry 1400 + Documentation: add terminology section 1401 1402 ## 0.4.6 (2013-06-22) 1403 1404 - Runtime: fix a bug which caused creation of empty images (and volumes) to crash. 1405 1406 ## 0.4.5 (2013-06-21) 1407 1408 + Builder: 'docker build git://URL' fetches and builds a remote git repository 1409 * Runtime: 'docker ps -s' optionally prints container size 1410 * Tests: improved and simplified 1411 - Runtime: fix a regression introduced in 0.4.3 which caused the logs command to fail. 1412 - Builder: fix a regression when using ADD with single regular file. 1413 1414 ## 0.4.4 (2013-06-19) 1415 1416 - Builder: fix a regression introduced in 0.4.3 which caused builds to fail on new clients. 1417 1418 ## 0.4.3 (2013-06-19) 1419 1420 #### Builder 1421 1422 + ADD of a local file will detect tar archives and unpack them 1423 * ADD improvements: use tar for copy + automatically unpack local archives 1424 * ADD uses tar/untar for copies instead of calling 'cp -ar' 1425 * Fix the behavior of ADD to be (mostly) reverse-compatible, predictable and well-documented. 1426 - Fix a bug which caused builds to fail if ADD was the first command 1427 * Nicer output for 'docker build' 1428 1429 #### Runtime 1430 1431 * Remove bsdtar dependency 1432 * Add unix socket and multiple -H support 1433 * Prevent rm of running containers 1434 * Use go1.1 cookiejar 1435 - Fix issue detaching from running TTY container 1436 - Forbid parallel push/pull for a single image/repo. Fixes #311 1437 - Fix race condition within Run command when attaching. 1438 1439 #### Client 1440 1441 * HumanReadable ProgressBar sizes in pull 1442 * Fix docker version`s git commit output 1443 1444 #### API 1445 1446 * Send all tags on History API call 1447 * Add tag lookup to history command. Fixes #882 1448 1449 #### Documentation 1450 1451 - Fix missing command in irc bouncer example 1452 1453 ## 0.4.2 (2013-06-17) 1454 1455 - Packaging: Bumped version to work around an Ubuntu bug 1456 1457 ## 0.4.1 (2013-06-17) 1458 1459 #### Remote Api 1460 1461 + Add flag to enable cross domain requests 1462 + Add images and containers sizes in docker ps and docker images 1463 1464 #### Runtime 1465 1466 + Configure dns configuration host-wide with 'docker -d -dns' 1467 + Detect faulty DNS configuration and replace it with a public default 1468 + Allow docker run <name>:<id> 1469 + You can now specify public port (ex: -p 80:4500) 1470 * Improve image removal to garbage-collect unreferenced parents 1471 1472 #### Client 1473 1474 * Allow multiple params in inspect 1475 * Print the container id before the hijack in `docker run` 1476 1477 #### Registry 1478 1479 * Add regexp check on repo`s name 1480 * Move auth to the client 1481 - Remove login check on pull 1482 1483 #### Other 1484 1485 * Vagrantfile: Add the rest api port to vagrantfile`s port_forward 1486 * Upgrade to Go 1.1 1487 - Builder: don`t ignore last line in Dockerfile when it doesn`t end with \n 1488 1489 ## 0.4.0 (2013-06-03) 1490 1491 #### Builder 1492 1493 + Introducing Builder 1494 + 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile 1495 1496 #### Remote API 1497 1498 + Introducing Remote API 1499 + control Docker programmatically using a simple HTTP/json API 1500 1501 #### Runtime 1502 1503 * Various reliability and usability improvements 1504 1505 ## 0.3.4 (2013-05-30) 1506 1507 #### Builder 1508 1509 + 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile 1510 + 'docker build -t FOO' applies the tag FOO to the newly built container. 1511 1512 #### Runtime 1513 1514 + Interactive TTYs correctly handle window resize 1515 * Fix how configuration is merged between layers 1516 1517 #### Remote API 1518 1519 + Split stdout and stderr on 'docker run' 1520 + Optionally listen on a different IP and port (use at your own risk) 1521 1522 #### Documentation 1523 1524 * Improve install instructions. 1525 1526 ## 0.3.3 (2013-05-23) 1527 1528 - Registry: Fix push regression 1529 - Various bugfixes 1530 1531 ## 0.3.2 (2013-05-09) 1532 1533 #### Registry 1534 1535 * Improve the checksum process 1536 * Use the size to have a good progress bar while pushing 1537 * Use the actual archive if it exists in order to speed up the push 1538 - Fix error 400 on push 1539 1540 #### Runtime 1541 1542 * Store the actual archive on commit 1543 1544 ## 0.3.1 (2013-05-08) 1545 1546 #### Builder 1547 1548 + Implement the autorun capability within docker builder 1549 + Add caching to docker builder 1550 + Add support for docker builder with native API as top level command 1551 + Implement ENV within docker builder 1552 - Check the command existence prior create and add Unit tests for the case 1553 * use any whitespaces instead of tabs 1554 1555 #### Runtime 1556 1557 + Add go version to debug infos 1558 * Kernel version - don`t show the dash if flavor is empty 1559 1560 #### Registry 1561 1562 + Add docker search top level command in order to search a repository 1563 - Fix pull for official images with specific tag 1564 - Fix issue when login in with a different user and trying to push 1565 * Improve checksum - async calculation 1566 1567 #### Images 1568 1569 + Output graph of images to dot (graphviz) 1570 - Fix ByParent function 1571 1572 #### Documentation 1573 1574 + New introduction and high-level overview 1575 + Add the documentation for docker builder 1576 - CSS fix for docker documentation to make REST API docs look better. 1577 - Fix CouchDB example page header mistake 1578 - Fix README formatting 1579 * Update www.docker.io website. 1580 1581 #### Other 1582 1583 + Website: new high-level overview 1584 - Makefile: Swap "go get" for "go get -d", especially to compile on go1.1rc 1585 * Packaging: packaging ubuntu; issue #510: Use goland-stable PPA package to build docker 1586 1587 ## 0.3.0 (2013-05-06) 1588 1589 #### Runtime 1590 1591 - Fix the command existence check 1592 - strings.Split may return an empty string on no match 1593 - Fix an index out of range crash if cgroup memory is not 1594 1595 #### Documentation 1596 1597 * Various improvements 1598 + New example: sharing data between 2 couchdb databases 1599 1600 #### Other 1601 1602 * Vagrant: Use only one deb line in /etc/apt 1603 + Registry: Implement the new registry 1604 1605 ## 0.2.2 (2013-05-03) 1606 1607 + Support for data volumes ('docker run -v=PATH') 1608 + Share data volumes between containers ('docker run -volumes-from') 1609 + Improve documentation 1610 * Upgrade to Go 1.0.3 1611 * Various upgrades to the dev environment for contributors 1612 1613 ## 0.2.1 (2013-05-01) 1614 1615 + 'docker commit -run' bundles a layer with default runtime options: command, ports etc. 1616 * Improve install process on Vagrant 1617 + New Dockerfile operation: "maintainer" 1618 + New Dockerfile operation: "expose" 1619 + New Dockerfile operation: "cmd" 1620 + Contrib script to build a Debian base layer 1621 + 'docker -d -r': restart crashed containers at daemon startup 1622 * Runtime: improve test coverage 1623 1624 ## 0.2.0 (2013-04-23) 1625 1626 - Runtime: ghost containers can be killed and waited for 1627 * Documentation: update install instructions 1628 - Packaging: fix Vagrantfile 1629 - Development: automate releasing binaries and ubuntu packages 1630 + Add a changelog 1631 - Various bugfixes 1632 1633 ## 0.1.8 (2013-04-22) 1634 1635 - Dynamically detect cgroup capabilities 1636 - Issue stability warning on kernels <3.8 1637 - 'docker push' buffers on disk instead of memory 1638 - Fix 'docker diff' for removed files 1639 - Fix 'docker stop' for ghost containers 1640 - Fix handling of pidfile 1641 - Various bugfixes and stability improvements 1642 1643 ## 0.1.7 (2013-04-18) 1644 1645 - Container ports are available on localhost 1646 - 'docker ps' shows allocated TCP ports 1647 - Contributors can run 'make hack' to start a continuous integration VM 1648 - Streamline ubuntu packaging & uploading 1649 - Various bugfixes and stability improvements 1650 1651 ## 0.1.6 (2013-04-17) 1652 1653 - Record the author an image with 'docker commit -author' 1654 1655 ## 0.1.5 (2013-04-17) 1656 1657 - Disable standalone mode 1658 - Use a custom DNS resolver with 'docker -d -dns' 1659 - Detect ghost containers 1660 - Improve diagnosis of missing system capabilities 1661 - Allow disabling memory limits at compile time 1662 - Add debian packaging 1663 - Documentation: installing on Arch Linux 1664 - Documentation: running Redis on docker 1665 - Fix lxc 0.9 compatibility 1666 - Automatically load aufs module 1667 - Various bugfixes and stability improvements 1668 1669 ## 0.1.4 (2013-04-09) 1670 1671 - Full support for TTY emulation 1672 - Detach from a TTY session with the escape sequence `C-p C-q` 1673 - Various bugfixes and stability improvements 1674 - Minor UI improvements 1675 - Automatically create our own bridge interface 'docker0' 1676 1677 ## 0.1.3 (2013-04-04) 1678 1679 - Choose TCP frontend port with '-p :PORT' 1680 - Layer format is versioned 1681 - Major reliability improvements to the process manager 1682 - Various bugfixes and stability improvements 1683 1684 ## 0.1.2 (2013-04-03) 1685 1686 - Set container hostname with 'docker run -h' 1687 - Selective attach at run with 'docker run -a [stdin[,stdout[,stderr]]]' 1688 - Various bugfixes and stability improvements 1689 - UI polish 1690 - Progress bar on push/pull 1691 - Use XZ compression by default 1692 - Make IP allocator lazy 1693 1694 ## 0.1.1 (2013-03-31) 1695 1696 - Display shorthand IDs for convenience 1697 - Stabilize process management 1698 - Layers can include a commit message 1699 - Simplified 'docker attach' 1700 - Fix support for re-attaching 1701 - Various bugfixes and stability improvements 1702 - Auto-download at run 1703 - Auto-login on push 1704 - Beefed up documentation 1705 1706 ## 0.1.0 (2013-03-23) 1707 1708 Initial public release 1709 1710 - Implement registry in order to push/pull images 1711 - TCP port allocation 1712 - Fix termcaps on Linux 1713 - Add documentation 1714 - Add Vagrant support with Vagrantfile 1715 - Add unit tests 1716 - Add repository/tags to ease image management 1717 - Improve the layer implementation