github.com/go/docker@v1.12.0-rc2/CHANGELOG.md (about) 1 # Changelog 2 3 Items starting with `DEPRECATE` are important deprecation notices. For more 4 information on the list of deprecated flags and APIs please have a look at 5 https://docs.docker.com/engine/deprecated/ where target removal dates can also 6 be found. 7 8 ## 1.12.0 (2016-07-14) 9 10 ### Builder 11 12 + New `HEALTHCHECK` Dockerfile instruction to support user-defined healthchecks [#23218](https://github.com/docker/docker/pull/23218) 13 + New `SHELL` Dockerfile instruction to specify the default shell when using the shell form for commands in a Dockerfile [#22489](https://github.com/docker/docker/pull/22489) 14 + Add `#escape=` Dockerfile directive to support platform-specific parsing of file paths in Dockerfile [#22268](https://github.com/docker/docker/pull/22268) 15 + Add support for comments in `.dockerignore` [#23111](https://github.com/docker/docker/pull/23111) 16 * Support for UTF-8 in Dockerfiles [#23372](https://github.com/docker/docker/pull/23372) 17 * Skip UTF-8 BOM bytes from `Dockerfile` and `.dockerignore` if exist [#23234](https://github.com/docker/docker/pull/23234) 18 * Windows: support for `ARG` to match Linux [#22508](https://github.com/docker/docker/pull/22508) 19 - Fix error message when building using a daemon with the bridge network disabled [#22932](https://github.com/docker/docker/pull/22932) 20 21 ### Contrib 22 23 * Enable seccomp for Centos 7 and Oracle Linux 7 [#22344](https://github.com/docker/docker/pull/22344) 24 - Remove MountFlags in systemd unit to allow shared mount propagation [#22806](https://github.com/docker/docker/pull/22806) 25 26 ### Distribution 27 28 + Add `--max-concurrent-downloads` and `--max-concurrent-uploads` daemon flags useful for situations where network connections don't support multiple downloads/uploads [#22445](https://github.com/docker/docker/pull/22445) 29 * Registry operations now honor the `ALL_PROXY` environment variable [#22316](https://github.com/docker/docker/pull/22316) 30 * Provide more information to the user on `docker load` [#23377](https://github.com/docker/docker/pull/23377) 31 32 ### Logging 33 34 + Syslog logging driver now supports DGRAM sockets [#21613](https://github.com/docker/docker/pull/21613) 35 + Add `--details` option to `docker logs` to also display log tags [#21889](https://github.com/docker/docker/pull/21889) 36 + Enable syslog logger to have access to env and labels [#21724](https://github.com/docker/docker/pull/21724) 37 + An additional syslog-format option `rfc5424micro` to allow microsecond resolution in syslog timestamp [#21844](https://github.com/docker/docker/pull/21844) 38 * Inherit the daemon log options when creating containers [#21153](https://github.com/docker/docker/pull/21153) 39 * Remove `docker/` prefix from log messages tag and replace it with `{{.DaemonName}}` so that users have the option of changing the prefix [#22384](https://github.com/docker/docker/pull/22384) 40 41 ### Networking 42 43 + Built-in Virtual-IP based internal and ingress load-balancing using IPVS [#23361](https://github.com/docker/docker/pull/23361) 44 + Secured multi-host overlay networking using encrypted control-plane and Data-plane [#23361](https://github.com/docker/docker/pull/23361) 45 + MacVlan driver is out of experimental [#23524](https://github.com/docker/docker/pull/23524) 46 + Add `driver` filter to `network ls` [#22319](https://github.com/docker/docker/pull/22319) 47 + Adding `network` filter to `docker ps --filter` [#23300](https://github.com/docker/docker/pull/23300) 48 + Add `--link-local-ip` flag to `create`, `run` and `network connect` to specify a container's link-local address [#23415](https://github.com/docker/docker/pull/23415) 49 + Add network label filter support [#21495](https://github.com/docker/docker/pull/21495) 50 * Removed dependency on external KV-Store for Overlay networking in Swarm-Mode [#23361](https://github.com/docker/docker/pull/23361) 51 * Add container's short-id as default network alias [#21901](https://github.com/docker/docker/pull/21901) 52 * `run` options `--dns` and `--net=host` are no longer mutually exclusive [#22408](https://github.com/docker/docker/pull/22408) 53 - Fix DNS issue when renaming containers with generated names [#22716](https://github.com/docker/docker/pull/22716) 54 - Allow both `network inspect -f {{.Id}}` and `network inspect -f {{.ID}}` to address inconsistency with inspect output [#23226](https://github.com/docker/docker/pull/23226) 55 56 ### Plugins (experimental) 57 58 + New `plugin` command to manager plugins with `install`, `enable`, `disable`, `rm`, `inspect`, `set` subcommands [#23446](https://github.com/docker/docker/pull/23446) 59 60 ### Remote API (v1.24) & Client 61 62 + Split the binary into two: `docker` (client) and `dockerd` (daemon) [#20639](https://github.com/docker/docker/pull/20639) 63 + Add `before` and `since` filters to `docker images --filter` [#22908](https://github.com/docker/docker/pull/22908) 64 + Add `--limit` option to `docker search` [#23107](https://github.com/docker/docker/pull/23107) 65 + Add `--filter` option to `docker search` [#22369](https://github.com/docker/docker/pull/22369) 66 + Add security options to `docker info` output [#21172](https://github.com/docker/docker/pull/21172) [#23520](https://github.com/docker/docker/pull/23520) 67 + Add insecure registries to `docker info` output [#20410](https://github.com/docker/docker/pull/20410) 68 + Extend Docker authorization with TLS user information [#21556](https://github.com/docker/docker/pull/21556) 69 + devicemapper: expose Mininum Thin Pool Free Space through `docker info` [#21945](https://github.com/docker/docker/pull/21945) 70 * API now returns a JSON object when an error occurs making it more consistent [#22880](https://github.com/docker/docker/pull/22880) 71 - Prevent `docker run -i --restart` from hanging on exit [#22777](https://github.com/docker/docker/pull/22777) 72 - Fix API/CLI discrepancy on hostname validation [#21641](https://github.com/docker/docker/pull/21641) 73 - Fix discrepancy in the format of sizes in `stats` from HumanSize to BytesSize [#21773](https://github.com/docker/docker/pull/21773) 74 - authz: when request is denied return forbbiden exit code (403) [#22448](https://github.com/docker/docker/pull/22448) 75 76 ### Runtime 77 78 + Add `--live-restore` daemon flag to keep containers running when daemon shuts down, and regain control on startup [#23213](https://github.com/docker/docker/pull/23213) 79 + Ability to add OCI-compatible runtimes (via `--add-runtime` daemon flag) and select one with `--runtime` on `create` and `run` [#22983](https://github.com/docker/docker/pull/22983) 80 + New `overlay2` graphdriver for Linux 4.0+ with multiple lower directory support [#22126](https://github.com/docker/docker/pull/22126) 81 + New load/save image events [#22137](https://github.com/docker/docker/pull/22137) 82 + Add support for reloading daemon configuration through systemd [#22446](https://github.com/docker/docker/pull/22446) 83 + Add disk quota support for btrfs [#19651](https://github.com/docker/docker/pull/19651) 84 + Add disk quota support for zfs [#21946](https://github.com/docker/docker/pull/21946) 85 + Add support for `docker run --pid=container:<id>` [#22481](https://github.com/docker/docker/pull/22481) 86 + Align default seccomp profile with selected capabilities [#22554](https://github.com/docker/docker/pull/22554) 87 + Add a `daemon reload` event when the daemon reloads its configuration [#22590](https://github.com/docker/docker/pull/22590) 88 + Add `trace` capability in the pprof profiler to show execution traces in binary form [#22715](https://github.com/docker/docker/pull/22715) 89 + Add a `detach` event [#22898](https://github.com/docker/docker/pull/22898) 90 + Add support for setting sysctls with `--sysctl` [#19265](https://github.com/docker/docker/pull/19265) 91 + Add `--storage-opt` flag to `create` and `run` allowing to set `size` on devicemapper [#19367](https://github.com/docker/docker/pull/19367) 92 * Undeprecate the `-c` short alias of `--cpu-shares` on `run`, `build`, `create`, `update` [#22621](https://github.com/docker/docker/pull/22621) 93 * Prevent from using aufs and overlay graphdrivers on an eCryptfs mount [#23121](https://github.com/docker/docker/pull/23121) 94 - Fix issues with tmpfs mount ordering [#22329](https://github.com/docker/docker/pull/22329) 95 - Created containers are no longer listed on `docker ps -a -f exited=0` [#21947](https://github.com/docker/docker/pull/21947) 96 - Fix an issue where containers are stuck in a "Removal In Progress" state [#22423](https://github.com/docker/docker/pull/22423) 97 - Fix bug that was returning an HTTP 500 instead of a 400 when not specifying a command on run/create [#22762](https://github.com/docker/docker/pull/22762) 98 - Fix bug with `--detach-keys` whereby input matching a prefix of the detach key was not preserved [#22943](https://github.com/docker/docker/pull/22943) 99 - SELinux labeling is now disabled when using `--privileged` mode [#22993](https://github.com/docker/docker/pull/22993) 100 - If volume-mounted into a container, `/etc/hosts`, `/etc/resolv.conf`, `/etc/hostname` are no longer SELinux-relabeled [#22993](https://github.com/docker/docker/pull/22993) 101 - Fix inconsistency in `--tmpfs` behavior regarding mount options [#22438](https://github.com/docker/docker/pull/22438) 102 - Fix an issue where daemon hangs at startup [#23148](https://github.com/docker/docker/pull/23148) 103 - Ignore SIGPIPE events to prevent journald restarts to crash docker in some cases [#22460](https://github.com/docker/docker/pull/22460) 104 - Containers are not removed from stats list on error [#20835](https://github.com/docker/docker/pull/20835) 105 - Fix `on-failure` restart policy when daemon restarts [#20853](https://github.com/docker/docker/pull/20853) 106 - Fix an issue with `stats` when a container is using another container's network [#21904](https://github.com/docker/docker/pull/21904) 107 108 ### Swarm Mode 109 110 + New `swarm` command to manage swarms with `init`, `join`, `leave`, `update` subcommands [#23361](https://github.com/docker/docker/pull/23361) 111 + New `service` command to manage swarm-wide services with `create`, `inspect`, `update`, `remove`, `tasks` subcommands [#23361](https://github.com/docker/docker/pull/23361) 112 + New `node` command to manage nodes with `accept`, `promote`, `demote`, `inspect`, `update`, `tasks`, `ls` and `rm` subcommands [#23361](https://github.com/docker/docker/pull/23361) 113 + (experimental) New `stack` and `deploy` commands to manage and deploy multi-service applications [#23522](https://github.com/docker/docker/pull/23522) 114 115 ### Volume 116 117 + Add support for local and global volume scopes (analogous to network scopes) [#22077](https://github.com/docker/docker/pull/22077) 118 + Allow volume drivers to provide a `Status` field [#21006](https://github.com/docker/docker/pull/21006) 119 + Add name/driver filter support for volume [#21361](https://github.com/docker/docker/pull/21361) 120 * Mount/Unmount operations now receives an opaque ID to allow volume drivers to differentiate between two callers [#21015](https://github.com/docker/docker/pull/21015) 121 - Fix issue preventing to remove a volume in a corner case [#22103](https://github.com/docker/docker/pull/22103) 122 - Windows: Enable auto-creation of host-path to match Linux [#22094](https://github.com/docker/docker/pull/22094) 123 124 125 ### DEPRECATION 126 * Environment variables `DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE` and `DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE` have been renamed 127 to `DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE` and `DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE` respectively [#22574](https://github.com/docker/docker/pull/22574) 128 * Remove deprecated `syslog-tag`, `gelf-tag`, `fluentd-tag` log option in favor of the more generic `tag` one [#22620](https://github.com/docker/docker/pull/22620) 129 * Remove deprecated feature of passing HostConfig at API container start [#22570](https://github.com/docker/docker/pull/22570) 130 * Remove deprecated `-f`/`--force` flag on docker tag [#23090](https://github.com/docker/docker/pull/23090) 131 * Remove deprecated `/containers/<id|name>/copy` endpoint [#22149](https://github.com/docker/docker/pull/22149) 132 * Remove deprecated `docker ps` flags `--since` and `--before` [#22138](https://github.com/docker/docker/pull/22138) 133 * Deprecate the old 3-args form of `docker import` [#23273](https://github.com/docker/docker/pull/23273) 134 135 ## 1.11.2 (2016-05-31) 136 137 ### Networking 138 139 - Fix a stale endpoint issue on overlay networks during ungraceful restart ([#23015](https://github.com/docker/docker/pull/23015)) 140 - Fix an issue where the wrong port could be reported by `docker inspect/ps/port` ([#22997](https://github.com/docker/docker/pull/22997)) 141 142 ### Runtime 143 144 - Fix a potential panic when running `docker build` ([#23032](https://github.com/docker/docker/pull/23032)) 145 - Fix interpretation of `--user` parameter ([#22998](https://github.com/docker/docker/pull/22998)) 146 - Fix a bug preventing container statistics to be correctly reported ([#22955](https://github.com/docker/docker/pull/22955)) 147 - Fix an issue preventing container to be restarted after daemon restart ([#22947](https://github.com/docker/docker/pull/22947)) 148 - Fix issues when running 32 bit binaries on Ubuntu 16.04 ([#22922](https://github.com/docker/docker/pull/22922)) 149 - Fix a possible deadlock on image deletion and container attach ([#22918](https://github.com/docker/docker/pull/22918)) 150 - Fix an issue where containers fail to start after a daemon restart if they depend on a containerized cluster store ([#22561](https://github.com/docker/docker/pull/22561)) 151 - Fix an issue causing `docker ps` to hang on CentOS when using devicemapper ([#22168](https://github.com/docker/docker/pull/22168), [#23067](https://github.com/docker/docker/pull/23067)) 152 - Fix a bug preventing to `docker exec` into a container when using devicemapper ([#22168](https://github.com/docker/docker/pull/22168), [#23067](https://github.com/docker/docker/pull/23067)) 153 154 155 ## 1.11.1 (2016-04-26) 156 157 ### Distribution 158 159 - Fix schema2 manifest media type to be of type `application/vnd.docker.container.image.v1+json` ([#21949](https://github.com/docker/docker/pull/21949)) 160 161 ### Documentation 162 163 + Add missing API documentation for changes introduced with 1.11.0 ([#22048](https://github.com/docker/docker/pull/22048)) 164 165 ### Builder 166 167 * Append label passed to `docker build` as arguments as an implicit `LABEL` command at the end of the processed `Dockerfile` ([#22184](https://github.com/docker/docker/pull/22184)) 168 169 ### Networking 170 171 - Fix a panic that would occur when forwarding DNS query ([#22261](https://github.com/docker/docker/pull/22261)) 172 - Fix an issue where OS threads could end up within an incorrect network namespace when using user defined networks ([#22261](https://github.com/docker/docker/pull/22261)) 173 174 ### Runtime 175 176 - Fix a bug preventing labels configuration to be reloaded via the config file ([#22299](https://github.com/docker/docker/pull/22299)) 177 - Fix a regression where container mounting `/var/run` would prevent other containers from being removed ([#22256](https://github.com/docker/docker/pull/22256)) 178 - Fix an issue where it would be impossible to update both `memory-swap` and `memory` value together ([#22255](https://github.com/docker/docker/pull/22255)) 179 - Fix a regression from 1.11.0 where the `/auth` endpoint would not initialize `serveraddress` if it is not provided ([#22254](https://github.com/docker/docker/pull/22254)) 180 - Add missing cleanup of container temporary files when cancelling a schedule restart ([#22237](https://github.com/docker/docker/pull/22237)) 181 - Remove scary error message when no restart policy is specified ([#21993](https://github.com/docker/docker/pull/21993)) 182 - Fix a panic that would occur when the plugins were activated via the json spec ([#22191](https://github.com/docker/docker/pull/22191)) 183 - Fix restart backoff logic to correctly reset delay if container ran for at least 10secs ([#22125](https://github.com/docker/docker/pull/22125)) 184 - Remove error message when a container restart get cancelled ([#22123](https://github.com/docker/docker/pull/22123)) 185 - Fix an issue where `docker` would not correctly clean up after `docker exec` ([#22121](https://github.com/docker/docker/pull/22121)) 186 - Fix a panic that could occur when serving concurrent `docker stats` commands ([#22120](https://github.com/docker/docker/pull/22120))` 187 - Revert deprecation of non-existent host directories auto-creation ([#22065](https://github.com/docker/docker/pull/22065)) 188 - Hide misleading rpc error on daemon shutdown ([#22058](https://github.com/docker/docker/pull/22058)) 189 190 ## 1.11.0 (2016-04-13) 191 192 **IMPORTANT**: With Docker 1.11, a Linux docker installation is now made of 4 binaries (`docker`, [`docker-containerd`](https://github.com/docker/containerd), [`docker-containerd-shim`](https://github.com/docker/containerd) and [`docker-runc`](https://github.com/opencontainers/runc)). If you have scripts relying on docker being a single static binaries, please make sure to update them. Interaction with the daemon stay the same otherwise, the usage of the other binaries should be transparent. A Windows docker installation remains a single binary, `docker.exe`. 193 194 ### Builder 195 196 - Fix a bug where Docker would not use the correct uid/gid when processing the `WORKDIR` command ([#21033](https://github.com/docker/docker/pull/21033)) 197 - Fix a bug where copy operations with userns would not use the proper uid/gid ([#20782](https://github.com/docker/docker/pull/20782), [#21162](https://github.com/docker/docker/pull/21162)) 198 199 ### Client 200 201 * Usage of the `:` separator for security option has been deprecated. `=` should be used instead ([#21232](https://github.com/docker/docker/pull/21232)) 202 + The client user agent is now passed to the registry on `pull`, `build`, `push`, `login` and `search` operations ([#21306](https://github.com/docker/docker/pull/21306), [#21373](https://github.com/docker/docker/pull/21373)) 203 * Allow setting the Domainname and Hostname separately through the API ([#20200](https://github.com/docker/docker/pull/20200)) 204 * Docker info will now warn users if it can not detect the kernel version or the operating system ([#21128](https://github.com/docker/docker/pull/21128)) 205 - Fix an issue where `docker stats --no-stream` output could be all 0s ([#20803](https://github.com/docker/docker/pull/20803)) 206 - Fix a bug where some newly started container would not appear in a running `docker stats` command ([#20792](https://github.com/docker/docker/pull/20792)) 207 * Post processing is no longer enabled for linux-cgo terminals ([#20587](https://github.com/docker/docker/pull/20587)) 208 - Values to `--hostname` are now refused if they do not comply with [RFC1123](https://tools.ietf.org/html/rfc1123) ([#20566](https://github.com/docker/docker/pull/20566)) 209 + Docker learned how to use a SOCKS proxy ([#20366](https://github.com/docker/docker/pull/20366), [#18373](https://github.com/docker/docker/pull/18373)) 210 + Docker now supports external credential stores ([#20107](https://github.com/docker/docker/pull/20107)) 211 * `docker ps` now supports displaying the list of volumes mounted inside a container ([#20017](https://github.com/docker/docker/pull/20017)) 212 * `docker info` now also reports Docker's root directory location ([#19986](https://github.com/docker/docker/pull/19986)) 213 - Docker now prohibits login in with an empty username (spaces are trimmed) ([#19806](https://github.com/docker/docker/pull/19806)) 214 * Docker events attributes are now sorted by key ([#19761](https://github.com/docker/docker/pull/19761)) 215 * `docker ps` no longer shows exported port for stopped containers ([#19483](https://github.com/docker/docker/pull/19483)) 216 - Docker now cleans after itself if a save/export command fails ([#17849](https://github.com/docker/docker/pull/17849)) 217 * Docker load learned how to display a progress bar ([#17329](https://github.com/docker/docker/pull/17329), [#120078](https://github.com/docker/docker/pull/20078)) 218 219 ### Distribution 220 221 - Fix a panic that occurred when pulling an image with 0 layers ([#21222](https://github.com/docker/docker/pull/21222)) 222 - Fix a panic that could occur on error while pushing to a registry with a misconfigured token service ([#21212](https://github.com/docker/docker/pull/21212)) 223 + All first-level delegation roles are now signed when doing a trusted push ([#21046](https://github.com/docker/docker/pull/21046)) 224 + OAuth support for registries was added ([#20970](https://github.com/docker/docker/pull/20970)) 225 * `docker login` now handles token using the implementation found in [docker/distribution](https://github.com/docker/distribution) ([#20832](https://github.com/docker/docker/pull/20832)) 226 * `docker login` will no longer prompt for an email ([#20565](https://github.com/docker/docker/pull/20565)) 227 * Docker will now fallback to registry V1 if no basic auth credentials are available ([#20241](https://github.com/docker/docker/pull/20241)) 228 * Docker will now try to resume layer download where it left off after a network error/timeout ([#19840](https://github.com/docker/docker/pull/19840)) 229 - Fix generated manifest mediaType when pushing cross-repository ([#19509](https://github.com/docker/docker/pull/19509)) 230 - Fix docker requesting additional push credentials when pulling an image if Content Trust is enabled ([#20382](https://github.com/docker/docker/pull/20382)) 231 232 ### Logging 233 234 - Fix a race in the journald log driver ([#21311](https://github.com/docker/docker/pull/21311)) 235 * Docker syslog driver now uses the RFC-5424 format when emitting logs ([#20121](https://github.com/docker/docker/pull/20121)) 236 * Docker GELF log driver now allows to specify the compression algorithm and level via the `gelf-compression-type` and `gelf-compression-level` options ([#19831](https://github.com/docker/docker/pull/19831)) 237 * Docker daemon learned to output uncolorized logs via the `--raw-logs` options ([#19794](https://github.com/docker/docker/pull/19794)) 238 + Docker, on Windows platform, now includes an ETW (Event Tracing in Windows) logging driver named `etwlogs` ([#19689](https://github.com/docker/docker/pull/19689)) 239 * Journald log driver learned how to handle tags ([#19564](https://github.com/docker/docker/pull/19564)) 240 + The fluentd log driver learned the following options: `fluentd-address`, `fluentd-buffer-limit`, `fluentd-retry-wait`, `fluentd-max-retries` and `fluentd-async-connect` ([#19439](https://github.com/docker/docker/pull/19439)) 241 + Docker learned to send log to Google Cloud via the new `gcplogs` logging driver. ([#18766](https://github.com/docker/docker/pull/18766)) 242 243 244 ### Misc 245 246 + When saving linked images together with `docker save` a subsequent `docker load` will correctly restore their parent/child relationship ([#21385](https://github.com/docker/docker/pull/21385)) 247 + Support for building the Docker cli for OpenBSD was added ([#21325](https://github.com/docker/docker/pull/21325)) 248 + Labels can now be applied at network, volume and image creation ([#21270](https://github.com/docker/docker/pull/21270)) 249 * The `dockremap` is now created as a system user ([#21266](https://github.com/docker/docker/pull/21266)) 250 - Fix a few response body leaks ([#21258](https://github.com/docker/docker/pull/21258)) 251 - Docker, when run as a service with systemd, will now properly manage its processes cgroups ([#20633](https://github.com/docker/docker/pull/20633)) 252 * `docker info` now reports the value of cgroup KernelMemory or emits a warning if it is not supported ([#20863](https://github.com/docker/docker/pull/20863)) 253 * `docker info` now also reports the cgroup driver in use ([#20388](https://github.com/docker/docker/pull/20388)) 254 * Docker completion is now available on PowerShell ([#19894](https://github.com/docker/docker/pull/19894)) 255 * `dockerinit` is no more ([#19490](https://github.com/docker/docker/pull/19490),[#19851](https://github.com/docker/docker/pull/19851)) 256 + Support for building Docker on arm64 was added ([#19013](https://github.com/docker/docker/pull/19013)) 257 + Experimental support for building docker.exe in a native Windows Docker installation ([#18348](https://github.com/docker/docker/pull/18348)) 258 259 ### Networking 260 261 - Fix panic if a node is forcibly removed from the cluster ([#21671](https://github.com/docker/docker/pull/21671)) 262 - Fix "error creating vxlan interface" when starting a container in a Swarm cluster ([#21671](https://github.com/docker/docker/pull/21671)) 263 * `docker network inspect` will now report all endpoints whether they have an active container or not ([#21160](https://github.com/docker/docker/pull/21160)) 264 + Experimental support for the MacVlan and IPVlan network drivers has been added ([#21122](https://github.com/docker/docker/pull/21122)) 265 * Output of `docker network ls` is now sorted by network name ([#20383](https://github.com/docker/docker/pull/20383)) 266 - Fix a bug where Docker would allow a network to be created with the reserved `default` name ([#19431](https://github.com/docker/docker/pull/19431)) 267 * `docker network inspect` returns whether a network is internal or not ([#19357](https://github.com/docker/docker/pull/19357)) 268 + Control IPv6 via explicit option when creating a network (`docker network create --ipv6`). This shows up as a new `EnableIPv6` field in `docker network inspect` ([#17513](https://github.com/docker/docker/pull/17513)) 269 * Support for AAAA Records (aka IPv6 Service Discovery) in embedded DNS Server ([#21396](https://github.com/docker/docker/pull/21396)) 270 - Fix to not forward docker domain IPv6 queries to external servers ([#21396](https://github.com/docker/docker/pull/21396)) 271 * Multiple A/AAAA records from embedded DNS Server for DNS Round robin ([#21019](https://github.com/docker/docker/pull/21019)) 272 - Fix endpoint count inconsistency after an ungraceful dameon restart ([#21261](https://github.com/docker/docker/pull/21261)) 273 - Move the ownership of exposed ports and port-mapping options from Endpoint to Sandbox ([#21019](https://github.com/docker/docker/pull/21019)) 274 - Fixed a bug which prevents docker reload when host is configured with ipv6.disable=1 ([#21019](https://github.com/docker/docker/pull/21019)) 275 - Added inbuilt nil IPAM driver ([#21019](https://github.com/docker/docker/pull/21019)) 276 - Fixed bug in iptables.Exists() logic [#21019](https://github.com/docker/docker/pull/21019) 277 - Fixed a Veth interface leak when using overlay network ([#21019](https://github.com/docker/docker/pull/21019)) 278 - Fixed a bug which prevents docker reload after a network delete during shutdown ([#20214](https://github.com/docker/docker/pull/20214)) 279 - Make sure iptables chains are recreated on firewalld reload ([#20419](https://github.com/docker/docker/pull/20419)) 280 - Allow to pass global datastore during config reload ([#20419](https://github.com/docker/docker/pull/20419)) 281 - For anonymous containers use the alias name for IP to name mapping, ie:DNS PTR record ([#21019](https://github.com/docker/docker/pull/21019)) 282 - Fix a panic when deleting an entry from /etc/hosts file ([#21019](https://github.com/docker/docker/pull/21019)) 283 - Source the forwarded DNS queries from the container net namespace ([#21019](https://github.com/docker/docker/pull/21019)) 284 - Fix to retain the network internal mode config for bridge networks on daemon reload ([#21780] (https://github.com/docker/docker/pull/21780)) 285 - Fix to retain IPAM driver option configs on daemon reload ([#21914] (https://github.com/docker/docker/pull/21914)) 286 287 ### Plugins 288 289 - Fix a file descriptor leak that would occur every time plugins were enumerated ([#20686](https://github.com/docker/docker/pull/20686)) 290 - Fix an issue where Authz plugin would corrupt the payload body when faced with a large amount of data ([#20602](https://github.com/docker/docker/pull/20602)) 291 292 ### Runtime 293 294 - Fix a panic that could occur when cleanup after a container started with invalid parameters ([#21716](https://github.com/docker/docker/pull/21716)) 295 - Fix a race with event timers stopping early ([#21692](https://github.com/docker/docker/pull/21692)) 296 - Fix race conditions in the layer store, potentially corrupting the map and crashing the process ([#21677](https://github.com/docker/docker/pull/21677)) 297 - Un-deprecate auto-creation of host directories for mounts. This feature was marked deprecated in ([#21666](https://github.com/docker/docker/pull/21666)) 298 Docker 1.9, but was decided to be too much of a backward-incompatible change, so it was decided to keep the feature. 299 + It is now possible for containers to share the NET and IPC namespaces when `userns` is enabled ([#21383](https://github.com/docker/docker/pull/21383)) 300 + `docker inspect <image-id>` will now expose the rootfs layers ([#21370](https://github.com/docker/docker/pull/21370)) 301 + Docker Windows gained a minimal `top` implementation ([#21354](https://github.com/docker/docker/pull/21354)) 302 * Docker learned to report the faulty exe when a container cannot be started due to its condition ([#21345](https://github.com/docker/docker/pull/21345)) 303 * Docker with device mapper will now refuse to run if `udev sync` is not available ([#21097](https://github.com/docker/docker/pull/21097)) 304 - Fix a bug where Docker would not validate the config file upon configuration reload ([#21089](https://github.com/docker/docker/pull/21089)) 305 - Fix a hang that would happen on attach if initial start was to fail ([#21048](https://github.com/docker/docker/pull/21048)) 306 - Fix an issue where registry service options in the daemon configuration file were not properly taken into account ([#21045](https://github.com/docker/docker/pull/21045)) 307 - Fix a race between the exec and resize operations ([#21022](https://github.com/docker/docker/pull/21022)) 308 - Fix an issue where nanoseconds were not correctly taken in account when filtering Docker events ([#21013](https://github.com/docker/docker/pull/21013)) 309 - Fix the handling of Docker command when passed a 64 bytes id ([#21002](https://github.com/docker/docker/pull/21002)) 310 * Docker will now return a `204` (i.e http.StatusNoContent) code when it successfully deleted a network ([#20977](https://github.com/docker/docker/pull/20977)) 311 - Fix a bug where the daemon would wait indefinitely in case the process it was about to killed had already exited on its own ([#20967](https://github.com/docker/docker/pull/20967) 312 * The devmapper driver learned the `dm.min_free_space` option. If the mapped device free space reaches the passed value, new device creation will be prohibited. ([#20786](https://github.com/docker/docker/pull/20786)) 313 + Docker can now prevent processes in container to gain new privileges via the `--security-opt=no-new-privileges` flag ([#20727](https://github.com/docker/docker/pull/20727)) 314 - Starting a container with the `--device` option will now correctly resolves symlinks ([#20684](https://github.com/docker/docker/pull/20684)) 315 + Docker now relies on [`containerd`](https://github.com/docker/containerd) and [`runc`](https://github.com/opencontainers/runc) to spawn containers. ([#20662](https://github.com/docker/docker/pull/20662)) 316 - Fix docker configuration reloading to only alter value present in the given config file ([#20604](https://github.com/docker/docker/pull/20604)) 317 + Docker now allows setting a container hostname via the `--hostname` flag when `--net=host` ([#20177](https://github.com/docker/docker/pull/20177)) 318 + Docker now allows executing privileged container while running with `--userns-remap` if both `--privileged` and the new `--userns=host` flag are specified ([#20111](https://github.com/docker/docker/pull/20111)) 319 - Fix Docker not cleaning up correctly old containers upon restarting after a crash ([#19679](https://github.com/docker/docker/pull/19679)) 320 * Docker will now error out if it doesn't recognize a configuration key within the config file ([#19517](https://github.com/docker/docker/pull/19517)) 321 - Fix container loading, on daemon startup, when they depends on a plugin running within a container ([#19500](https://github.com/docker/docker/pull/19500)) 322 * `docker update` learned how to change a container restart policy ([#19116](https://github.com/docker/docker/pull/19116)) 323 * `docker inspect` now also returns a new `State` field containing the container state in a human readable way (i.e. one of `created`, `restarting`, `running`, `paused`, `exited` or `dead`)([#18966](https://github.com/docker/docker/pull/18966)) 324 + Docker learned to limit the number of active pids (i.e. processes) within the container via the `pids-limit` flags. NOTE: This requires `CGROUP_PIDS=y` to be in the kernel configuration. ([#18697](https://github.com/docker/docker/pull/18697)) 325 - `docker load` now has a `--quiet` option to suppress the load output ([#20078](https://github.com/docker/docker/pull/20078)) 326 - Fix a bug in neighbor discovery for IPv6 peers ([#20842](https://github.com/docker/docker/pull/20842)) 327 - Fix a panic during cleanup if a container was started with invalid options ([#21802](https://github.com/docker/docker/pull/21802)) 328 - Fix a situation where a container cannot be stopped if the terminal is closed ([#21840](https://github.com/docker/docker/pull/21840)) 329 330 ### Security 331 332 * Object with the `pcp_pmcd_t` selinux type were given management access to `/var/lib/docker(/.*)?` ([#21370](https://github.com/docker/docker/pull/21370)) 333 * `restart_syscall`, `copy_file_range`, `mlock2` joined the list of allowed calls in the default seccomp profile ([#21117](https://github.com/docker/docker/pull/21117), [#21262](https://github.com/docker/docker/pull/21262)) 334 * `send`, `recv` and `x32` were added to the list of allowed syscalls and arch in the default seccomp profile ([#19432](https://github.com/docker/docker/pull/19432)) 335 * Docker Content Trust now requests the server to perform snapshot signing ([#21046](https://github.com/docker/docker/pull/21046)) 336 * Support for using YubiKeys for Content Trust signing has been moved out of experimental ([#21591](https://github.com/docker/docker/pull/21591)) 337 338 ### Volumes 339 340 * Output of `docker volume ls` is now sorted by volume name ([#20389](https://github.com/docker/docker/pull/20389)) 341 * Local volumes can now accept options similar to the unix `mount` tool ([#20262](https://github.com/docker/docker/pull/20262)) 342 - Fix an issue where one letter directory name could not be used as source for volumes ([#21106](https://github.com/docker/docker/pull/21106)) 343 + `docker run -v` now accepts a new flag `nocopy`. This tells the runtime not to copy the container path content into the volume (which is the default behavior) ([#21223](https://github.com/docker/docker/pull/21223)) 344 345 ## 1.10.3 (2016-03-10) 346 347 ### Runtime 348 349 - Fix Docker client exiting with an "Unrecognized input header" error [#20706](https://github.com/docker/docker/pull/20706) 350 - Fix Docker exiting if Exec is started with both `AttachStdin` and `Detach` [#20647](https://github.com/docker/docker/pull/20647) 351 352 ### Distribution 353 354 - Fix a crash when pushing multiple images sharing the same layers to the same repository in parallel [#20831](https://github.com/docker/docker/pull/20831) 355 - Fix a panic when pushing images to a registry which uses a misconfigured token service [#21030](https://github.com/docker/docker/pull/21030) 356 357 ### Plugin system 358 359 - Fix issue preventing volume plugins to start when SELinux is enabled [#20834](https://github.com/docker/docker/pull/20834) 360 - Prevent Docker from exiting if a volume plugin returns a null response for Get requests [#20682](https://github.com/docker/docker/pull/20682) 361 - Fix plugin system leaking file descriptors if a plugin has an error [#20680](https://github.com/docker/docker/pull/20680) 362 363 ### Security 364 365 - Fix linux32 emulation to fail during docker build [#20672](https://github.com/docker/docker/pull/20672) 366 It was due to the `personality` syscall being blocked by the default seccomp profile. 367 - Fix Oracle XE 10g failing to start in a container [#20981](https://github.com/docker/docker/pull/20981) 368 It was due to the `ipc` syscall being blocked by the default seccomp profile. 369 - Fix user namespaces not working on Linux From Scratch [#20685](https://github.com/docker/docker/pull/20685) 370 - Fix issue preventing daemon to start if userns is enabled and the `subuid` or `subgid` files contain comments [#20725](https://github.com/docker/docker/pull/20725) 371 372 ## 1.10.2 (2016-02-22) 373 374 ### Runtime 375 376 - Prevent systemd from deleting containers' cgroups when its configuration is reloaded [#20518](https://github.com/docker/docker/pull/20518) 377 - Fix SELinux issues by disregarding `--read-only` when mounting `/dev/mqueue` [#20333](https://github.com/docker/docker/pull/20333) 378 - Fix chown permissions used during `docker cp` when userns is used [#20446](https://github.com/docker/docker/pull/20446) 379 - Fix configuration loading issue with all booleans defaulting to `true` [#20471](https://github.com/docker/docker/pull/20471) 380 - Fix occasional panic with `docker logs -f` [#20522](https://github.com/docker/docker/pull/20522) 381 382 ### Distribution 383 384 - Keep layer reference if deletion failed to avoid a badly inconsistent state [#20513](https://github.com/docker/docker/pull/20513) 385 - Handle gracefully a corner case when canceling migration [#20372](https://github.com/docker/docker/pull/20372) 386 - Fix docker import on compressed data [#20367](https://github.com/docker/docker/pull/20367) 387 - Fix tar-split files corruption during migration that later cause docker push and docker save to fail [#20458](https://github.com/docker/docker/pull/20458) 388 389 ### Networking 390 391 - Fix daemon crash if embedded DNS is sent garbage [#20510](https://github.com/docker/docker/pull/20510) 392 393 ### Volumes 394 395 - Fix issue with multiple volume references with same name [#20381](https://github.com/docker/docker/pull/20381) 396 397 ### Security 398 399 - Fix potential cache corruption and delegation conflict issues [#20523](https://github.com/docker/docker/pull/20523) 400 401 ## 1.10.1 (2016-02-11) 402 403 ### Runtime 404 405 * Do not stop daemon on migration hard failure [#20156](https://github.com/docker/docker/pull/20156) 406 - Fix various issues with migration to content-addressable images [#20058](https://github.com/docker/docker/pull/20058) 407 - Fix ZFS permission bug with user namespaces [#20045](https://github.com/docker/docker/pull/20045) 408 - Do not leak /dev/mqueue from the host to all containers, keep it container-specific [#19876](https://github.com/docker/docker/pull/19876) [#20133](https://github.com/docker/docker/pull/20133) 409 - Fix `docker ps --filter before=...` to not show stopped containers without providing `-a` flag [#20135](https://github.com/docker/docker/pull/20135) 410 411 ### Security 412 413 - Fix issue preventing docker events to work properly with authorization plugin [#20002](https://github.com/docker/docker/pull/20002) 414 415 ### Distribution 416 417 * Add additional verifications and prevent from uploading invalid data to registries [#20164](https://github.com/docker/docker/pull/20164) 418 - Fix regression preventing uppercase characters in image reference hostname [#20175](https://github.com/docker/docker/pull/20175) 419 420 ### Networking 421 422 - Fix embedded DNS for user-defined networks in the presence of firewalld [#20060](https://github.com/docker/docker/pull/20060) 423 - Fix issue where removing a network during shutdown left Docker inoperable [#20181](https://github.com/docker/docker/issues/20181) [#20235](https://github.com/docker/docker/issues/20235) 424 - Embedded DNS is now able to return compressed results [#20181](https://github.com/docker/docker/issues/20181) 425 - Fix port-mapping issue with `userland-proxy=false` [#20181](https://github.com/docker/docker/issues/20181) 426 427 ### Logging 428 429 - Fix bug where tcp+tls protocol would be rejected [#20109](https://github.com/docker/docker/pull/20109) 430 431 ### Volumes 432 433 - Fix issue whereby older volume drivers would not receive volume options [#19983](https://github.com/docker/docker/pull/19983) 434 435 ### Misc 436 437 - Remove TasksMax from Docker systemd service [#20167](https://github.com/docker/docker/pull/20167) 438 439 ## 1.10.0 (2016-02-04) 440 441 **IMPORTANT**: Docker 1.10 uses a new content-addressable storage for images and layers. 442 A migration is performed the first time docker is run, and can take a significant amount of time depending on the number of images present. 443 Refer to this page on the wiki for more information: https://github.com/docker/docker/wiki/Engine-v1.10.0-content-addressability-migration 444 We also released a cool migration utility that enables you to perform the migration before updating to reduce downtime. 445 Engine 1.10 migrator can be found on Docker Hub: https://hub.docker.com/r/docker/v1.10-migrator/ 446 447 ### Runtime 448 449 + New `docker update` command that allows updating resource constraints on running containers [#15078](https://github.com/docker/docker/pull/15078) 450 + Add `--tmpfs` flag to `docker run` to create a tmpfs mount in a container [#13587](https://github.com/docker/docker/pull/13587) 451 + Add `--format` flag to `docker images` command [#17692](https://github.com/docker/docker/pull/17692) 452 + Allow to set daemon configuration in a file and hot-reload it with the `SIGHUP` signal [#18587](https://github.com/docker/docker/pull/18587) 453 + Updated docker events to include more meta-data and event types [#18888](https://github.com/docker/docker/pull/18888) 454 This change is backward compatible in the API, but not on the CLI. 455 + Add `--blkio-weight-device` flag to `docker run` [#13959](https://github.com/docker/docker/pull/13959) 456 + Add `--device-read-bps` and `--device-write-bps` flags to `docker run` [#14466](https://github.com/docker/docker/pull/14466) 457 + Add `--device-read-iops` and `--device-write-iops` flags to `docker run` [#15879](https://github.com/docker/docker/pull/15879) 458 + Add `--oom-score-adj` flag to `docker run` [#16277](https://github.com/docker/docker/pull/16277) 459 + Add `--detach-keys` flag to `attach`, `run`, `start` and `exec` commands to override the default key sequence that detaches from a container [#15666](https://github.com/docker/docker/pull/15666) 460 + Add `--shm-size` flag to `run`, `create` and `build` to set the size of `/dev/shm` [#16168](https://github.com/docker/docker/pull/16168) 461 + Show the number of running, stopped, and paused containers in `docker info` [#19249](https://github.com/docker/docker/pull/19249) 462 + Show the `OSType` and `Architecture` in `docker info` [#17478](https://github.com/docker/docker/pull/17478) 463 + Add `--cgroup-parent` flag on `daemon` to set cgroup parent for all containers [#19062](https://github.com/docker/docker/pull/19062) 464 + Add `-L` flag to docker cp to follow symlinks [#16613](https://github.com/docker/docker/pull/16613) 465 + New `status=dead` filter for `docker ps` [#17908](https://github.com/docker/docker/pull/17908) 466 * Change `docker run` exit codes to distinguish between runtime and application errors [#14012](https://github.com/docker/docker/pull/14012) 467 * Enhance `docker events --since` and `--until` to support nanoseconds and timezones [#17495](https://github.com/docker/docker/pull/17495) 468 * Add `--all`/`-a` flag to `stats` to include both running and stopped containers [#16742](https://github.com/docker/docker/pull/16742) 469 * Change the default cgroup-driver to `cgroupfs` [#17704](https://github.com/docker/docker/pull/17704) 470 * Emit a "tag" event when tagging an image with `build -t` [#17115](https://github.com/docker/docker/pull/17115) 471 * Best effort for linked containers' start order when starting the daemon [#18208](https://github.com/docker/docker/pull/18208) 472 * Add ability to add multiple tags on `build` [#15780](https://github.com/docker/docker/pull/15780) 473 * Permit `OPTIONS` request against any url, thus fixing issue with CORS [#19569](https://github.com/docker/docker/pull/19569) 474 - Fix the `--quiet` flag on `docker build` to actually be quiet [#17428](https://github.com/docker/docker/pull/17428) 475 - Fix `docker images --filter dangling=false` to now show all non-dangling images [#19326](https://github.com/docker/docker/pull/19326) 476 - Fix race condition causing autorestart turning off on restart [#17629](https://github.com/docker/docker/pull/17629) 477 - Recognize GPFS filesystems [#19216](https://github.com/docker/docker/pull/19216) 478 - Fix obscure bug preventing to start containers [#19751](https://github.com/docker/docker/pull/19751) 479 - Forbid `exec` during container restart [#19722](https://github.com/docker/docker/pull/19722) 480 - devicemapper: Increasing `--storage-opt dm.basesize` will now increase the base device size on daemon restart [#19123](https://github.com/docker/docker/pull/19123) 481 482 ### Security 483 484 + Add `--userns-remap` flag to `daemon` to support user namespaces (previously in experimental) [#19187](https://github.com/docker/docker/pull/19187) 485 + Add support for custom seccomp profiles in `--security-opt` [#17989](https://github.com/docker/docker/pull/17989) 486 + Add default seccomp profile [#18780](https://github.com/docker/docker/pull/18780) 487 + Add `--authorization-plugin` flag to `daemon` to customize ACLs [#15365](https://github.com/docker/docker/pull/15365) 488 + Docker Content Trust now supports the ability to read and write user delegations [#18887](https://github.com/docker/docker/pull/18887) 489 This is an optional, opt-in feature that requires the explicit use of the Notary command-line utility in order to be enabled. 490 Enabling delegation support in a specific repository will break the ability of Docker 1.9 and 1.8 to pull from that repository, if content trust is enabled. 491 * Allow SELinux to run in a container when using the BTRFS storage driver [#16452](https://github.com/docker/docker/pull/16452) 492 493 ### Distribution 494 495 * Use content-addressable storage for images and layers [#17924](https://github.com/docker/docker/pull/17924) 496 Note that a migration is performed the first time docker is run; it can take a significant amount of time depending on the number of images and containers present. 497 Images no longer depend on the parent chain but contain a list of layer references. 498 `docker load`/`docker save` tarballs now also contain content-addressable image configurations. 499 For more information: https://github.com/docker/docker/wiki/Engine-v1.10.0-content-addressability-migration 500 * Add support for the new [manifest format ("schema2")](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md) [#18785](https://github.com/docker/docker/pull/18785) 501 * Lots of improvements for push and pull: performance++, retries on failed downloads, cancelling on client disconnect [#18353](https://github.com/docker/docker/pull/18353), [#18418](https://github.com/docker/docker/pull/18418), [#19109](https://github.com/docker/docker/pull/19109), [#18353](https://github.com/docker/docker/pull/18353) 502 * Limit v1 protocol fallbacks [#18590](https://github.com/docker/docker/pull/18590) 503 - Fix issue where docker could hang indefinitely waiting for a nonexistent process to pull an image [#19743](https://github.com/docker/docker/pull/19743) 504 505 ### Networking 506 507 + Use DNS-based discovery instead of `/etc/hosts` [#19198](https://github.com/docker/docker/pull/19198) 508 + Support for network-scoped alias using `--net-alias` on `run` and `--alias` on `network connect` [#19242](https://github.com/docker/docker/pull/19242) 509 + Add `--ip` and `--ip6` on `run` and `network connect` to support custom IP addresses for a container in a network [#19001](https://github.com/docker/docker/pull/19001) 510 + Add `--ipam-opt` to `network create` for passing custom IPAM options [#17316](https://github.com/docker/docker/pull/17316) 511 + Add `--internal` flag to `network create` to restrict external access to and from the network [#19276](https://github.com/docker/docker/pull/19276) 512 + Add `kv.path` option to `--cluster-store-opt` [#19167](https://github.com/docker/docker/pull/19167) 513 + Add `discovery.heartbeat` and `discovery.ttl` options to `--cluster-store-opt` to configure discovery TTL and heartbeat timer [#18204](https://github.com/docker/docker/pull/18204) 514 + Add `--format` flag to `network inspect` [#17481](https://github.com/docker/docker/pull/17481) 515 + Add `--link` to `network connect` to provide a container-local alias [#19229](https://github.com/docker/docker/pull/19229) 516 + Support for Capability exchange with remote IPAM plugins [#18775](https://github.com/docker/docker/pull/18775) 517 + Add `--force` to `network disconnect` to force container to be disconnected from network [#19317](https://github.com/docker/docker/pull/19317) 518 * Support for multi-host networking using built-in overlay driver for all engine supported kernels: 3.10+ [#18775](https://github.com/docker/docker/pull/18775) 519 * `--link` is now supported on `docker run` for containers in user-defined network [#19229](https://github.com/docker/docker/pull/19229) 520 * Enhance `docker network rm` to allow removing multiple networks [#17489](https://github.com/docker/docker/pull/17489) 521 * Include container names in `network inspect` [#17615](https://github.com/docker/docker/pull/17615) 522 * Include auto-generated subnets for user-defined networks in `network inspect` [#17316](https://github.com/docker/docker/pull/17316) 523 * Add `--filter` flag to `network ls` to hide predefined networks [#17782](https://github.com/docker/docker/pull/17782) 524 * Add support for network connect/disconnect to stopped containers [#18906](https://github.com/docker/docker/pull/18906) 525 * Add network ID to container inspect [#19323](https://github.com/docker/docker/pull/19323) 526 - Fix MTU issue where Docker would not start with two or more default routes [#18108](https://github.com/docker/docker/pull/18108) 527 - Fix duplicate IP address for containers [#18106](https://github.com/docker/docker/pull/18106) 528 - Fix issue preventing sometimes docker from creating the bridge network [#19338](https://github.com/docker/docker/pull/19338) 529 - Do not substitute 127.0.0.1 name server when using `--net=host` [#19573](https://github.com/docker/docker/pull/19573) 530 531 ### Logging 532 533 + New logging driver for Splunk [#16488](https://github.com/docker/docker/pull/16488) 534 + Add support for syslog over TCP+TLS [#18998](https://github.com/docker/docker/pull/18998) 535 * Enhance `docker logs --since` and `--until` to support nanoseconds and time [#17495](https://github.com/docker/docker/pull/17495) 536 * Enhance AWS logs to auto-detect region [#16640](https://github.com/docker/docker/pull/16640) 537 538 ### Volumes 539 540 + Add support to set the mount propagation mode for a volume [#17034](https://github.com/docker/docker/pull/17034) 541 * Add `ls` and `inspect` endpoints to volume plugin API [#16534](https://github.com/docker/docker/pull/16534) 542 Existing plugins need to make use of these new APIs to satisfy users' expectation 543 For that, please use the new MIME type `application/vnd.docker.plugins.v1.2+json` [#19549](https://github.com/docker/docker/pull/19549) 544 - Fix data not being copied to named volumes [#19175](https://github.com/docker/docker/pull/19175) 545 - Fix issues preventing volume drivers from being containerized [#19500](https://github.com/docker/docker/pull/19500) 546 - Fix `docker volumes ls --dangling=false` to now show all non-dangling volumes [#19671](https://github.com/docker/docker/pull/19671) 547 - Do not remove named volumes on container removal [#19568](https://github.com/docker/docker/pull/19568) 548 - Allow external volume drivers to host anonymous volumes [#19190](https://github.com/docker/docker/pull/19190) 549 550 ### Builder 551 552 + Add support for `**` in `.dockerignore` to wildcard multiple levels of directories [#17090](https://github.com/docker/docker/pull/17090) 553 - Fix handling of UTF-8 characters in Dockerfiles [#17055](https://github.com/docker/docker/pull/17055) 554 - Fix permissions problem when reading from STDIN [#19283](https://github.com/docker/docker/pull/19283) 555 556 ### Client 557 558 + Add support for overriding the API version to use via an `DOCKER_API_VERSION` environment-variable [#15964](https://github.com/docker/docker/pull/15964) 559 - Fix a bug preventing Windows clients to log in to Docker Hub [#19891](https://github.com/docker/docker/pull/19891) 560 561 ### Misc 562 563 * systemd: Set TasksMax in addition to LimitNPROC in systemd service file [#19391](https://github.com/docker/docker/pull/19391) 564 565 ### Deprecations 566 567 * Remove LXC support. The LXC driver was deprecated in Docker 1.8, and has now been removed [#17700](https://github.com/docker/docker/pull/17700) 568 * Remove `--exec-driver` daemon flag, because it is no longer in use [#17700](https://github.com/docker/docker/pull/17700) 569 * Remove old deprecated single-dashed long CLI flags (such as `-rm`; use `--rm` instead) [#17724](https://github.com/docker/docker/pull/17724) 570 * Deprecate HostConfig at API container start [#17799](https://github.com/docker/docker/pull/17799) 571 * Deprecate docker packages for newly EOL'd Linux distributions: Fedora 21 and Ubuntu 15.04 (Vivid) [#18794](https://github.com/docker/docker/pull/18794), [#18809](https://github.com/docker/docker/pull/18809) 572 * Deprecate `-f` flag for docker tag [#18350](https://github.com/docker/docker/pull/18350) 573 574 ## 1.9.1 (2015-11-21) 575 576 ### Runtime 577 578 - Do not prevent daemon from booting if images could not be restored (#17695) 579 - Force IPC mount to unmount on daemon shutdown/init (#17539) 580 - Turn IPC unmount errors into warnings (#17554) 581 - Fix `docker stats` performance regression (#17638) 582 - Clarify cryptic error message upon `docker logs` if `--log-driver=none` (#17767) 583 - Fix seldom panics (#17639, #17634, #17703) 584 - Fix opq whiteouts problems for files with dot prefix (#17819) 585 - devicemapper: try defaulting to xfs instead of ext4 for performance reasons (#17903, #17918) 586 - devicemapper: fix displayed fs in docker info (#17974) 587 - selinux: only relabel if user requested so with the `z` option (#17450, #17834) 588 - Do not make network calls when normalizing names (#18014) 589 590 ### Client 591 592 - Fix `docker login` on windows (#17738) 593 - Fix bug with `docker inspect` output when not connected to daemon (#17715) 594 - Fix `docker inspect -f {{.HostConfig.Dns}} somecontainer` (#17680) 595 596 ### Builder 597 598 - Fix regression with symlink behavior in ADD/COPY (#17710) 599 600 ### Networking 601 602 - Allow passing a network ID as an argument for `--net` (#17558) 603 - Fix connect to host and prevent disconnect from host for `host` network (#17476) 604 - Fix `--fixed-cidr` issue when gateway ip falls in ip-range and ip-range is 605 not the first block in the network (#17853) 606 - Restore deterministic `IPv6` generation from `MAC` address on default `bridge` network (#17890) 607 - Allow port-mapping only for endpoints created on docker run (#17858) 608 - Fixed an endpoint delete issue with a possible stale sbox (#18102) 609 610 ### Distribution 611 612 - Correct parent chain in v2 push when v1Compatibility files on the disk are inconsistent (#18047) 613 614 ## 1.9.0 (2015-11-03) 615 616 ### Runtime 617 618 + `docker stats` now returns block IO metrics (#15005) 619 + `docker stats` now details network stats per interface (#15786) 620 + Add `ancestor=<image>` filter to `docker ps --filter` flag to filter 621 containers based on their ancestor images (#14570) 622 + Add `label=<somelabel>` filter to `docker ps --filter` to filter containers 623 based on label (#16530) 624 + Add `--kernel-memory` flag to `docker run` (#14006) 625 + Add `--message` flag to `docker import` allowing to specify an optional 626 message (#15711) 627 + Add `--privileged` flag to `docker exec` (#14113) 628 + Add `--stop-signal` flag to `docker run` allowing to replace the container 629 process stopping signal (#15307) 630 + Add a new `unless-stopped` restart policy (#15348) 631 + Inspecting an image now returns tags (#13185) 632 + Add container size information to `docker inspect` (#15796) 633 + Add `RepoTags` and `RepoDigests` field to `/images/{name:.*}/json` (#17275) 634 - Remove the deprecated `/container/ps` endpoint from the API (#15972) 635 - Send and document correct HTTP codes for `/exec/<name>/start` (#16250) 636 - Share shm and mqueue between containers sharing IPC namespace (#15862) 637 - Event stream now shows OOM status when `--oom-kill-disable` is set (#16235) 638 - Ensure special network files (/etc/hosts etc.) are read-only if bind-mounted 639 with `ro` option (#14965) 640 - Improve `rmi` performance (#16890) 641 - Do not update /etc/hosts for the default bridge network, except for links (#17325) 642 - Fix conflict with duplicate container names (#17389) 643 - Fix an issue with incorrect template execution in `docker inspect` (#17284) 644 - DEPRECATE `-c` short flag variant for `--cpu-shares` in docker run (#16271) 645 646 ### Client 647 648 + Allow `docker import` to import from local files (#11907) 649 650 ### Builder 651 652 + Add a `STOPSIGNAL` Dockerfile instruction allowing to set a different 653 stop-signal for the container process (#15307) 654 + Add an `ARG` Dockerfile instruction and a `--build-arg` flag to `docker build` 655 that allows to add build-time environment variables (#15182) 656 - Improve cache miss performance (#16890) 657 658 ### Storage 659 660 - devicemapper: Implement deferred deletion capability (#16381) 661 662 ## Networking 663 664 + `docker network` exits experimental and is part of standard release (#16645) 665 + New network top-level concept, with associated subcommands and API (#16645) 666 WARNING: the API is different from the experimental API 667 + Support for multiple isolated/micro-segmented networks (#16645) 668 + Built-in multihost networking using VXLAN based overlay driver (#14071) 669 + Support for third-party network plugins (#13424) 670 + Ability to dynamically connect containers to multiple networks (#16645) 671 + Support for user-defined IP address management via pluggable IPAM drivers (#16910) 672 + Add daemon flags `--cluster-store` and `--cluster-advertise` for built-in nodes discovery (#16229) 673 + Add `--cluster-store-opt` for setting up TLS settings (#16644) 674 + Add `--dns-opt` to the daemon (#16031) 675 - DEPRECATE following container `NetworkSettings` fields in API v1.21: `EndpointID`, `Gateway`, 676 `GlobalIPv6Address`, `GlobalIPv6PrefixLen`, `IPAddress`, `IPPrefixLen`, `IPv6Gateway` and `MacAddress`. 677 Those are now specific to the `bridge` network. Use `NetworkSettings.Networks` to inspect 678 the networking settings of a container per network. 679 680 ### Volumes 681 682 + New top-level `volume` subcommand and API (#14242) 683 - Move API volume driver settings to host-specific config (#15798) 684 - Print an error message if volume name is not unique (#16009) 685 - Ensure volumes created from Dockerfiles always use the local volume driver 686 (#15507) 687 - DEPRECATE auto-creating missing host paths for bind mounts (#16349) 688 689 ### Logging 690 691 + Add `awslogs` logging driver for Amazon CloudWatch (#15495) 692 + Add generic `tag` log option to allow customizing container/image 693 information passed to driver (e.g. show container names) (#15384) 694 - Implement the `docker logs` endpoint for the journald driver (#13707) 695 - DEPRECATE driver-specific log tags (e.g. `syslog-tag`, etc.) (#15384) 696 697 ### Distribution 698 699 + `docker search` now works with partial names (#16509) 700 - Push optimization: avoid buffering to file (#15493) 701 - The daemon will display progress for images that were already being pulled 702 by another client (#15489) 703 - Only permissions required for the current action being performed are requested (#) 704 + Renaming trust keys (and respective environment variables) from `offline` to 705 `root` and `tagging` to `repository` (#16894) 706 - DEPRECATE trust key environment variables 707 `DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE` and 708 `DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE` (#16894) 709 710 ### Security 711 712 + Add SELinux profiles to the rpm package (#15832) 713 - Fix various issues with AppArmor profiles provided in the deb package 714 (#14609) 715 - Add AppArmor policy that prevents writing to /proc (#15571) 716 717 ## 1.8.3 (2015-10-12) 718 719 ### Distribution 720 721 - Fix layer IDs lead to local graph poisoning (CVE-2014-8178) 722 - Fix manifest validation and parsing logic errors allow pull-by-digest validation bypass (CVE-2014-8179) 723 + Add `--disable-legacy-registry` to prevent a daemon from using a v1 registry 724 725 ## 1.8.2 (2015-09-10) 726 727 ### Distribution 728 729 - Fixes rare edge case of handling GNU LongLink and LongName entries. 730 - Fix ^C on docker pull. 731 - Fix docker pull issues on client disconnection. 732 - Fix issue that caused the daemon to panic when loggers weren't configured properly. 733 - Fix goroutine leak pulling images from registry V2. 734 735 ### Runtime 736 737 - Fix a bug mounting cgroups for docker daemons running inside docker containers. 738 - Initialize log configuration properly. 739 740 ### Client: 741 742 - Handle `-q` flag in `docker ps` properly when there is a default format. 743 744 ### Networking 745 746 - Fix several corner cases with netlink. 747 748 ### Contrib 749 750 - Fix several issues with bash completion. 751 752 ## 1.8.1 (2015-08-12) 753 754 ### Distribution 755 756 * Fix a bug where pushing multiple tags would result in invalid images 757 758 ## 1.8.0 (2015-08-11) 759 760 ### Distribution 761 762 + Trusted pull, push and build, disabled by default 763 * Make tar layers deterministic between registries 764 * Don't allow deleting the image of running containers 765 * Check if a tag name to load is a valid digest 766 * Allow one character repository names 767 * Add a more accurate error description for invalid tag name 768 * Make build cache ignore mtime 769 770 ### Cli 771 772 + Add support for DOCKER_CONFIG/--config to specify config file dir 773 + Add --type flag for docker inspect command 774 + Add formatting options to `docker ps` with `--format` 775 + Replace `docker -d` with new subcommand `docker daemon` 776 * Zsh completion updates and improvements 777 * Add some missing events to bash completion 778 * Support daemon urls with base paths in `docker -H` 779 * Validate status= filter to docker ps 780 * Display when a container is in --net=host in docker ps 781 * Extend docker inspect to export image metadata related to graph driver 782 * Restore --default-gateway{,-v6} daemon options 783 * Add missing unpublished ports in docker ps 784 * Allow duration strings in `docker events` as --since/--until 785 * Expose more mounts information in `docker inspect` 786 787 ### Runtime 788 789 + Add new Fluentd logging driver 790 + Allow `docker import` to load from local files 791 + Add logging driver for GELF via UDP 792 + Allow to copy files from host to containers with `docker cp` 793 + Promote volume drivers from experimental to master 794 + Add rollover options to json-file log driver, and --log-driver-opts flag 795 + Add memory swappiness tuning options 796 * Remove cgroup read-only flag when privileged 797 * Make /proc, /sys, & /dev readonly for readonly containers 798 * Add cgroup bind mount by default 799 * Overlay: Export metadata for container and image in `docker inspect` 800 * Devicemapper: external device activation 801 * Devicemapper: Compare uuid of base device on startup 802 * Remove RC4 from the list of registry cipher suites 803 * Add syslog-facility option 804 * LXC execdriver compatibility with recent LXC versions 805 * Mark LXC execriver as deprecated (to be removed with the migration to runc) 806 807 ### Plugins 808 809 * Separate plugin sockets and specs locations 810 * Allow TLS connections to plugins 811 812 ### Bug fixes 813 814 - Add missing 'Names' field to /containers/json API output 815 - Make `docker rmi` of dangling images safe while pulling 816 - Devicemapper: Change default basesize to 100G 817 - Go Scheduler issue with sync.Mutex and gcc 818 - Fix issue where Search API endpoint would panic due to empty AuthConfig 819 - Set image canonical names correctly 820 - Check dockerinit only if lxc driver is used 821 - Fix ulimit usage of nproc 822 - Always attach STDIN if -i,--interactive is specified 823 - Show error messages when saving container state fails 824 - Fixed incorrect assumption on --bridge=none treated as disable network 825 - Check for invalid port specifications in host configuration 826 - Fix endpoint leave failure for --net=host mode 827 - Fix goroutine leak in the stats API if the container is not running 828 - Check for apparmor file before reading it 829 - Fix DOCKER_TLS_VERIFY being ignored 830 - Set umask to the default on startup 831 - Correct the message of pause and unpause a non-running container 832 - Adjust disallowed CpuShares in container creation 833 - ZFS: correctly apply selinux context 834 - Display empty string instead of <nil> when IP opt is nil 835 - `docker kill` returns error when container is not running 836 - Fix COPY/ADD quoted/json form 837 - Fix goroutine leak on logs -f with no output 838 - Remove panic in nat package on invalid hostport 839 - Fix container linking in Fedora 22 840 - Fix error caused using default gateways outside of the allocated range 841 - Format times in inspect command with a template as RFC3339Nano 842 - Make registry client to accept 2xx and 3xx http status responses as successful 843 - Fix race issue that caused the daemon to crash with certain layer downloads failed in a specific order. 844 - Fix error when the docker ps format was not valid. 845 - Remove redundant ip forward check. 846 - Fix issue trying to push images to repository mirrors. 847 - Fix error cleaning up network entrypoints when there is an initialization issue. 848 849 ## 1.7.1 (2015-07-14) 850 851 #### Runtime 852 853 - Fix default user spawning exec process with `docker exec` 854 - Make `--bridge=none` not to configure the network bridge 855 - Publish networking stats properly 856 - Fix implicit devicemapper selection with static binaries 857 - Fix socket connections that hung intermittently 858 - Fix bridge interface creation on CentOS/RHEL 6.6 859 - Fix local dns lookups added to resolv.conf 860 - Fix copy command mounting volumes 861 - Fix read/write privileges in volumes mounted with --volumes-from 862 863 #### Remote API 864 865 - Fix unmarshalling of Command and Entrypoint 866 - Set limit for minimum client version supported 867 - Validate port specification 868 - Return proper errors when attach/reattach fail 869 870 #### Distribution 871 872 - Fix pulling private images 873 - Fix fallback between registry V2 and V1 874 875 ## 1.7.0 (2015-06-16) 876 877 #### Runtime 878 + Experimental feature: support for out-of-process volume plugins 879 * The userland proxy can be disabled in favor of hairpin NAT using the daemon’s `--userland-proxy=false` flag 880 * The `exec` command supports the `-u|--user` flag to specify the new process owner 881 + Default gateway for containers can be specified daemon-wide using the `--default-gateway` and `--default-gateway-v6` flags 882 + The CPU CFS (Completely Fair Scheduler) quota can be set in `docker run` using `--cpu-quota` 883 + Container block IO can be controlled in `docker run` using`--blkio-weight` 884 + ZFS support 885 + The `docker logs` command supports a `--since` argument 886 + UTS namespace can be shared with the host with `docker run --uts=host` 887 888 #### Quality 889 * Networking stack was entirely rewritten as part of the libnetwork effort 890 * Engine internals refactoring 891 * Volumes code was entirely rewritten to support the plugins effort 892 + Sending SIGUSR1 to a daemon will dump all goroutines stacks without exiting 893 894 #### Build 895 + Support ${variable:-value} and ${variable:+value} syntax for environment variables 896 + Support resource management flags `--cgroup-parent`, `--cpu-period`, `--cpu-quota`, `--cpuset-cpus`, `--cpuset-mems` 897 + git context changes with branches and directories 898 * The .dockerignore file support exclusion rules 899 900 #### Distribution 901 + Client support for v2 mirroring support for the official registry 902 903 #### Bugfixes 904 * Firewalld is now supported and will automatically be used when available 905 * mounting --device recursively 906 907 ## 1.6.2 (2015-05-13) 908 909 #### Runtime 910 - Revert change prohibiting mounting into /sys 911 912 ## 1.6.1 (2015-05-07) 913 914 #### Security 915 - Fix read/write /proc paths (CVE-2015-3630) 916 - Prohibit VOLUME /proc and VOLUME / (CVE-2015-3631) 917 - Fix opening of file-descriptor 1 (CVE-2015-3627) 918 - Fix symlink traversal on container respawn allowing local privilege escalation (CVE-2015-3629) 919 - Prohibit mount of /sys 920 921 #### Runtime 922 - Update AppArmor policy to not allow mounts 923 924 ## 1.6.0 (2015-04-07) 925 926 #### Builder 927 + Building images from an image ID 928 + Build containers with resource constraints, ie `docker build --cpu-shares=100 --memory=1024m...` 929 + `commit --change` to apply specified Dockerfile instructions while committing the image 930 + `import --change` to apply specified Dockerfile instructions while importing the image 931 + Builds no longer continue in the background when canceled with CTRL-C 932 933 #### Client 934 + Windows Support 935 936 #### Runtime 937 + Container and image Labels 938 + `--cgroup-parent` for specifying a parent cgroup to place container cgroup within 939 + Logging drivers, `json-file`, `syslog`, or `none` 940 + Pulling images by ID 941 + `--ulimit` to set the ulimit on a container 942 + `--default-ulimit` option on the daemon which applies to all created containers (and overwritten by `--ulimit` on run) 943 944 ## 1.5.0 (2015-02-10) 945 946 #### Builder 947 + Dockerfile to use for a given `docker build` can be specified with the `-f` flag 948 * 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 949 * ADD and COPY instructions accept relative paths 950 * Dockerfile `FROM scratch` instruction is now interpreted as a no-base specifier 951 * Improve performance when exposing a large number of ports 952 953 #### Hack 954 + Allow client-side only integration tests for Windows 955 * Include docker-py integration tests against Docker daemon as part of our test suites 956 957 #### Packaging 958 + Support for the new version of the registry HTTP API 959 * Speed up `docker push` for images with a majority of already existing layers 960 - Fixed contacting a private registry through a proxy 961 962 #### Remote API 963 + A new endpoint will stream live container resource metrics and can be accessed with the `docker stats` command 964 + Containers can be renamed using the new `rename` endpoint and the associated `docker rename` command 965 * Container `inspect` endpoint show the ID of `exec` commands running in this container 966 * Container `inspect` endpoint show the number of times Docker auto-restarted the container 967 * New types of event can be streamed by the `events` endpoint: ‘OOM’ (container died with out of memory), ‘exec_create’, and ‘exec_start' 968 - Fixed returned string fields which hold numeric characters incorrectly omitting surrounding double quotes 969 970 #### Runtime 971 + Docker daemon has full IPv6 support 972 + 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 973 + 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 974 + Container total memory usage can be limited for `docker run` using the `--memory-swap` flag 975 * Major stability improvements for devicemapper storage driver 976 * Better integration with host system: containers will reflect changes to the host's `/etc/resolv.conf` file when restarted 977 * Better integration with host system: per-container iptable rules are moved to the DOCKER chain 978 - Fixed container exiting on out of memory to return an invalid exit code 979 980 #### Other 981 * The HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables are properly taken into account by the client when connecting to the Docker daemon 982 983 ## 1.4.1 (2014-12-15) 984 985 #### Runtime 986 - Fix issue with volumes-from and bind mounts not being honored after create 987 988 ## 1.4.0 (2014-12-11) 989 990 #### Notable Features since 1.3.0 991 + Set key=value labels to the daemon (displayed in `docker info`), applied with 992 new `-label` daemon flag 993 + Add support for `ENV` in Dockerfile of the form: 994 `ENV name=value name2=value2...` 995 + New Overlayfs Storage Driver 996 + `docker info` now returns an `ID` and `Name` field 997 + Filter events by event name, container, or image 998 + `docker cp` now supports copying from container volumes 999 - Fixed `docker tag`, so it honors `--force` when overriding a tag for existing 1000 image. 1001 1002 ## 1.3.3 (2014-12-11) 1003 1004 #### Security 1005 - Fix path traversal vulnerability in processing of absolute symbolic links (CVE-2014-9356) 1006 - Fix decompression of xz image archives, preventing privilege escalation (CVE-2014-9357) 1007 - Validate image IDs (CVE-2014-9358) 1008 1009 #### Runtime 1010 - Fix an issue when image archives are being read slowly 1011 1012 #### Client 1013 - Fix a regression related to stdin redirection 1014 - Fix a regression with `docker cp` when destination is the current directory 1015 1016 ## 1.3.2 (2014-11-20) 1017 1018 #### Security 1019 - Fix tar breakout vulnerability 1020 * Extractions are now sandboxed chroot 1021 - Security options are no longer committed to images 1022 1023 #### Runtime 1024 - Fix deadlock in `docker ps -f exited=1` 1025 - Fix a bug when `--volumes-from` references a container that failed to start 1026 1027 #### Registry 1028 + `--insecure-registry` now accepts CIDR notation such as 10.1.0.0/16 1029 * Private registries whose IPs fall in the 127.0.0.0/8 range do no need the `--insecure-registry` flag 1030 - Skip the experimental registry v2 API when mirroring is enabled 1031 1032 ## 1.3.1 (2014-10-28) 1033 1034 #### Security 1035 * Prevent fallback to SSL protocols < TLS 1.0 for client, daemon and registry 1036 + Secure HTTPS connection to registries with certificate verification and without HTTP fallback unless `--insecure-registry` is specified 1037 1038 #### Runtime 1039 - Fix issue where volumes would not be shared 1040 1041 #### Client 1042 - Fix issue with `--iptables=false` not automatically setting `--ip-masq=false` 1043 - Fix docker run output to non-TTY stdout 1044 1045 #### Builder 1046 - Fix escaping `$` for environment variables 1047 - Fix issue with lowercase `onbuild` Dockerfile instruction 1048 - Restrict environment variable expansion to `ENV`, `ADD`, `COPY`, `WORKDIR`, `EXPOSE`, `VOLUME` and `USER` 1049 1050 ## 1.3.0 (2014-10-14) 1051 1052 #### Notable features since 1.2.0 1053 + Docker `exec` allows you to run additional processes inside existing containers 1054 + Docker `create` gives you the ability to create a container via the CLI without executing a process 1055 + `--security-opts` options to allow user to customize container labels and apparmor profiles 1056 + Docker `ps` filters 1057 - Wildcard support to COPY/ADD 1058 + Move production URLs to get.docker.com from get.docker.io 1059 + Allocate IP address on the bridge inside a valid CIDR 1060 + Use drone.io for PR and CI testing 1061 + Ability to setup an official registry mirror 1062 + Ability to save multiple images with docker `save` 1063 1064 ## 1.2.0 (2014-08-20) 1065 1066 #### Runtime 1067 + Make /etc/hosts /etc/resolv.conf and /etc/hostname editable at runtime 1068 + Auto-restart containers using policies 1069 + Use /var/lib/docker/tmp for large temporary files 1070 + `--cap-add` and `--cap-drop` to tweak what linux capability you want 1071 + `--device` to use devices in containers 1072 1073 #### Client 1074 + `docker search` on private registries 1075 + Add `exited` filter to `docker ps --filter` 1076 * `docker rm -f` now kills instead of stop 1077 + Support for IPv6 addresses in `--dns` flag 1078 1079 #### Proxy 1080 + Proxy instances in separate processes 1081 * Small bug fix on UDP proxy 1082 1083 ## 1.1.2 (2014-07-23) 1084 1085 #### Runtime 1086 + Fix port allocation for existing containers 1087 + Fix containers restart on daemon restart 1088 1089 #### Packaging 1090 + Fix /etc/init.d/docker issue on Debian 1091 1092 ## 1.1.1 (2014-07-09) 1093 1094 #### Builder 1095 * Fix issue with ADD 1096 1097 ## 1.1.0 (2014-07-03) 1098 1099 #### Notable features since 1.0.1 1100 + Add `.dockerignore` support 1101 + Pause containers during `docker commit` 1102 + Add `--tail` to `docker logs` 1103 1104 #### Builder 1105 + Allow a tar file as context for `docker build` 1106 * Fix issue with white-spaces and multi-lines in `Dockerfiles` 1107 1108 #### Runtime 1109 * Overall performance improvements 1110 * Allow `/` as source of `docker run -v` 1111 * Fix port allocation 1112 * Fix bug in `docker save` 1113 * Add links information to `docker inspect` 1114 1115 #### Client 1116 * Improve command line parsing for `docker commit` 1117 1118 #### Remote API 1119 * Improve status code for the `start` and `stop` endpoints 1120 1121 ## 1.0.1 (2014-06-19) 1122 1123 #### Notable features since 1.0.0 1124 * Enhance security for the LXC driver 1125 1126 #### Builder 1127 * Fix `ONBUILD` instruction passed to grandchildren 1128 1129 #### Runtime 1130 * Fix events subscription 1131 * Fix /etc/hostname file with host networking 1132 * Allow `-h` and `--net=none` 1133 * Fix issue with hotplug devices in `--privileged` 1134 1135 #### Client 1136 * Fix artifacts with events 1137 * Fix a panic with empty flags 1138 * Fix `docker cp` on Mac OS X 1139 1140 #### Miscellaneous 1141 * Fix compilation on Mac OS X 1142 * Fix several races 1143 1144 ## 1.0.0 (2014-06-09) 1145 1146 #### Notable features since 0.12.0 1147 * Production support 1148 1149 ## 0.12.0 (2014-06-05) 1150 1151 #### Notable features since 0.11.0 1152 * 40+ various improvements to stability, performance and usability 1153 * 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 1154 * Inherit file permissions from the host on `ADD` 1155 * New `pause` and `unpause` commands to allow pausing and unpausing of containers using cgroup freezer 1156 * The `images` command has a `-f`/`--filter` option to filter the list of images 1157 * Add `--force-rm` to clean up after a failed build 1158 * Standardize JSON keys in Remote API to CamelCase 1159 * Pull from a docker run now assumes `latest` tag if not specified 1160 * Enhance security on Linux capabilities and device nodes 1161 1162 ## 0.11.1 (2014-05-07) 1163 1164 #### Registry 1165 - Fix push and pull to private registry 1166 1167 ## 0.11.0 (2014-05-07) 1168 1169 #### Notable features since 0.10.0 1170 1171 * SELinux support for mount and process labels 1172 * Linked containers can be accessed by hostname 1173 * Use the net `--net` flag to allow advanced network configuration such as host networking so that containers can use the host's network interfaces 1174 * Add a ping endpoint to the Remote API to do healthchecks of your docker daemon 1175 * Logs can now be returned with an optional timestamp 1176 * Docker now works with registries that support SHA-512 1177 * Multiple registry endpoints are supported to allow registry mirrors 1178 1179 ## 0.10.0 (2014-04-08) 1180 1181 #### Builder 1182 - Fix printing multiple messages on a single line. Fixes broken output during builds. 1183 - Follow symlinks inside container's root for ADD build instructions. 1184 - Fix EXPOSE caching. 1185 1186 #### Documentation 1187 - Add the new options of `docker ps` to the documentation. 1188 - Add the options of `docker restart` to the documentation. 1189 - Update daemon docs and help messages for --iptables and --ip-forward. 1190 - Updated apt-cacher-ng docs example. 1191 - Remove duplicate description of --mtu from docs. 1192 - Add missing -t and -v for `docker images` to the docs. 1193 - Add fixes to the cli docs. 1194 - Update libcontainer docs. 1195 - Update images in docs to remove references to AUFS and LXC. 1196 - Update the nodejs_web_app in the docs to use the new epel RPM address. 1197 - Fix external link on security of containers. 1198 - Update remote API docs. 1199 - Add image size to history docs. 1200 - Be explicit about binding to all interfaces in redis example. 1201 - Document DisableNetwork flag in the 1.10 remote api. 1202 - Document that `--lxc-conf` is lxc only. 1203 - Add chef usage documentation. 1204 - Add example for an image with multiple for `docker load`. 1205 - Explain what `docker run -a` does in the docs. 1206 1207 #### Contrib 1208 - Add variable for DOCKER_LOGFILE to sysvinit and use append instead of overwrite in opening the logfile. 1209 - Fix init script cgroup mounting workarounds to be more similar to cgroupfs-mount and thus work properly. 1210 - Remove inotifywait hack from the upstart host-integration example because it's not necessary any more. 1211 - Add check-config script to contrib. 1212 - Fix fish shell completion. 1213 1214 #### Hack 1215 * Clean up "go test" output from "make test" to be much more readable/scannable. 1216 * Exclude more "definitely not unit tested Go source code" directories from hack/make/test. 1217 + Generate md5 and sha256 hashes when building, and upload them via hack/release.sh. 1218 - Include contributed completions in Ubuntu PPA. 1219 + Add cli integration tests. 1220 * Add tweaks to the hack scripts to make them simpler. 1221 1222 #### Remote API 1223 + Add TLS auth support for API. 1224 * Move git clone from daemon to client. 1225 - Fix content-type detection in docker cp. 1226 * Split API into 2 go packages. 1227 1228 #### Runtime 1229 * Support hairpin NAT without going through Docker server. 1230 - devicemapper: succeed immediately when removing non-existent devices. 1231 - devicemapper: improve handling of devicemapper devices (add per device lock, increase sleep time and unlock while sleeping). 1232 - devicemapper: increase timeout in waitClose to 10 seconds. 1233 - devicemapper: ensure we shut down thin pool cleanly. 1234 - devicemapper: pass info, rather than hash to activateDeviceIfNeeded, deactivateDevice, setInitialized, deleteDevice. 1235 - devicemapper: avoid AB-BA deadlock. 1236 - devicemapper: make shutdown better/faster. 1237 - improve alpha sorting in mflag. 1238 - Remove manual http cookie management because the cookiejar is being used. 1239 - Use BSD raw mode on Darwin. Fixes nano, tmux and others. 1240 - Add FreeBSD support for the client. 1241 - Merge auth package into registry. 1242 - Add deprecation warning for -t on `docker pull`. 1243 - Remove goroutine leak on error. 1244 - Update parseLxcInfo to comply with new lxc1.0 format. 1245 - Fix attach exit on darwin. 1246 - Improve deprecation message. 1247 - Retry to retrieve the layer metadata up to 5 times for `docker pull`. 1248 - Only unshare the mount namespace for execin. 1249 - Merge existing config when committing. 1250 - Disable daemon startup timeout. 1251 - Fix issue #4681: add loopback interface when networking is disabled. 1252 - Add failing test case for issue #4681. 1253 - Send SIGTERM to child, instead of SIGKILL. 1254 - Show the driver and the kernel version in `docker info` even when not in debug mode. 1255 - Always symlink /dev/ptmx for libcontainer. This fixes console related problems. 1256 - Fix issue caused by the absence of /etc/apparmor.d. 1257 - Don't leave empty cidFile behind when failing to create the container. 1258 - Mount cgroups automatically if they're not mounted already. 1259 - Use mock for search tests. 1260 - Update to double-dash everywhere. 1261 - Move .dockerenv parsing to lxc driver. 1262 - Move all bind-mounts in the container inside the namespace. 1263 - Don't use separate bind mount for container. 1264 - Always symlink /dev/ptmx for libcontainer. 1265 - Don't kill by pid for other drivers. 1266 - Add initial logging to libcontainer. 1267 * Sort by port in `docker ps`. 1268 - Move networking drivers into runtime top level package. 1269 + Add --no-prune to `docker rmi`. 1270 + Add time since exit in `docker ps`. 1271 - graphdriver: add build tags. 1272 - Prevent allocation of previously allocated ports & prevent improve port allocation. 1273 * Add support for --since/--before in `docker ps`. 1274 - Clean up container stop. 1275 + Add support for configurable dns search domains. 1276 - Add support for relative WORKDIR instructions. 1277 - Add --output flag for docker save. 1278 - Remove duplication of DNS entries in config merging. 1279 - Add cpuset.cpus to cgroups and native driver options. 1280 - Remove docker-ci. 1281 - Promote btrfs. btrfs is no longer considered experimental. 1282 - Add --input flag to `docker load`. 1283 - Return error when existing bridge doesn't match IP address. 1284 - Strip comments before parsing line continuations to avoid interpreting instructions as comments. 1285 - Fix TestOnlyLoopbackExistsWhenUsingDisableNetworkOption to ignore "DOWN" interfaces. 1286 - Add systemd implementation of cgroups and make containers show up as systemd units. 1287 - Fix commit and import when no repository is specified. 1288 - Remount /var/lib/docker as --private to fix scaling issue. 1289 - Use the environment's proxy when pinging the remote registry. 1290 - Reduce error level from harmless errors. 1291 * Allow --volumes-from to be individual files. 1292 - Fix expanding buffer in StdCopy. 1293 - Set error regardless of attach or stdin. This fixes #3364. 1294 - Add support for --env-file to load environment variables from files. 1295 - Symlink /etc/mtab and /proc/mounts. 1296 - Allow pushing a single tag. 1297 - 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. 1298 - Don't throw error when starting an already running container. 1299 - Fix dynamic port allocation limit. 1300 - remove setupDev from libcontainer. 1301 - Add API version to `docker version`. 1302 - Return correct exit code when receiving signal and make SIGQUIT quit without cleanup. 1303 - Fix --volumes-from mount failure. 1304 - Allow non-privileged containers to create device nodes. 1305 - Skip login tests because of external dependency on a hosted service. 1306 - Deprecate `docker images --tree` and `docker images --viz`. 1307 - Deprecate `docker insert`. 1308 - Include base abstraction for apparmor. This fixes some apparmor related problems on Ubuntu 14.04. 1309 - Add specific error message when hitting 401 over HTTP on push. 1310 - Fix absolute volume check. 1311 - Remove volumes-from from the config. 1312 - Move DNS options to hostconfig. 1313 - Update the apparmor profile for libcontainer. 1314 - Add deprecation notice for `docker commit -run`. 1315 1316 ## 0.9.1 (2014-03-24) 1317 1318 #### Builder 1319 - Fix printing multiple messages on a single line. Fixes broken output during builds. 1320 1321 #### Documentation 1322 - Fix external link on security of containers. 1323 1324 #### Contrib 1325 - Fix init script cgroup mounting workarounds to be more similar to cgroupfs-mount and thus work properly. 1326 - Add variable for DOCKER_LOGFILE to sysvinit and use append instead of overwrite in opening the logfile. 1327 1328 #### Hack 1329 - Generate md5 and sha256 hashes when building, and upload them via hack/release.sh. 1330 1331 #### Remote API 1332 - Fix content-type detection in `docker cp`. 1333 1334 #### Runtime 1335 - Use BSD raw mode on Darwin. Fixes nano, tmux and others. 1336 - Only unshare the mount namespace for execin. 1337 - Retry to retrieve the layer metadata up to 5 times for `docker pull`. 1338 - Merge existing config when committing. 1339 - Fix panic in monitor. 1340 - Disable daemon startup timeout. 1341 - Fix issue #4681: add loopback interface when networking is disabled. 1342 - Add failing test case for issue #4681. 1343 - Send SIGTERM to child, instead of SIGKILL. 1344 - Show the driver and the kernel version in `docker info` even when not in debug mode. 1345 - Always symlink /dev/ptmx for libcontainer. This fixes console related problems. 1346 - Fix issue caused by the absence of /etc/apparmor.d. 1347 - Don't leave empty cidFile behind when failing to create the container. 1348 - Improve deprecation message. 1349 - Fix attach exit on darwin. 1350 - devicemapper: improve handling of devicemapper devices (add per device lock, increase sleep time, unlock while sleeping). 1351 - devicemapper: succeed immediately when removing non-existent devices. 1352 - devicemapper: increase timeout in waitClose to 10 seconds. 1353 - Remove goroutine leak on error. 1354 - Update parseLxcInfo to comply with new lxc1.0 format. 1355 1356 ## 0.9.0 (2014-03-10) 1357 1358 #### Builder 1359 - Avoid extra mount/unmount during build. This fixes mount/unmount related errors during build. 1360 - Add error to docker build --rm. This adds missing error handling. 1361 - Forbid chained onbuild, `onbuild from` and `onbuild maintainer` triggers. 1362 - Make `--rm` the default for `docker build`. 1363 1364 #### Documentation 1365 - Download the docker client binary for Mac over https. 1366 - Update the titles of the install instructions & descriptions. 1367 * Add instructions for upgrading boot2docker. 1368 * Add port forwarding example in OS X install docs. 1369 - Attempt to disentangle repository and registry. 1370 - Update docs to explain more about `docker ps`. 1371 - Update sshd example to use a Dockerfile. 1372 - Rework some examples, including the Python examples. 1373 - Update docs to include instructions for a container's lifecycle. 1374 - Update docs documentation to discuss the docs branch. 1375 - Don't skip cert check for an example & use HTTPS. 1376 - Bring back the memory and swap accounting section which was lost when the kernel page was removed. 1377 - Explain DNS warnings and how to fix them on systems running and using a local nameserver. 1378 1379 #### Contrib 1380 - Add Tanglu support for mkimage-debootstrap. 1381 - Add SteamOS support for mkimage-debootstrap. 1382 1383 #### Hack 1384 - Get package coverage when running integration tests. 1385 - Remove the Vagrantfile. This is being replaced with boot2docker. 1386 - Fix tests on systems where aufs isn't available. 1387 - Update packaging instructions and remove the dependency on lxc. 1388 1389 #### Remote API 1390 * Move code specific to the API to the api package. 1391 - Fix header content type for the API. Makes all endpoints use proper content type. 1392 - Fix registry auth & remove ping calls from CmdPush and CmdPull. 1393 - Add newlines to the JSON stream functions. 1394 1395 #### Runtime 1396 * Do not ping the registry from the CLI. All requests to registries flow through the daemon. 1397 - Check for nil information return in the lxc driver. This fixes panics with older lxc versions. 1398 - Devicemapper: cleanups and fix for unmount. Fixes two problems which were causing unmount to fail intermittently. 1399 - Devicemapper: remove directory when removing device. Directories don't get left behind when removing the device. 1400 * Devicemapper: enable skip_block_zeroing. Improves performance by not zeroing blocks. 1401 - Devicemapper: fix shutdown warnings. Fixes shutdown warnings concerning pool device removal. 1402 - Ensure docker cp stream is closed properly. Fixes problems with files not being copied by `docker cp`. 1403 - Stop making `tcp://` default to `127.0.0.1:4243` and remove the default port for tcp. 1404 - Fix `--run` in `docker commit`. This makes `docker commit --run` work again. 1405 - Fix custom bridge related options. This makes custom bridges work again. 1406 + Mount-bind the PTY as container console. This allows tmux/screen to run. 1407 + Add the pure Go libcontainer library to make it possible to run containers using only features of the Linux kernel. 1408 + Add native exec driver which uses libcontainer and make it the default exec driver. 1409 - Add support for handling extended attributes in archives. 1410 * Set the container MTU to be the same as the host MTU. 1411 + Add simple sha256 checksums for layers to speed up `docker push`. 1412 * Improve kernel version parsing. 1413 * Allow flag grouping (`docker run -it`). 1414 - Remove chroot exec driver. 1415 - Fix divide by zero to fix panic. 1416 - Rewrite `docker rmi`. 1417 - Fix docker info with lxc 1.0.0. 1418 - Fix fedora tty with apparmor. 1419 * Don't always append env vars, replace defaults with vars from config. 1420 * Fix a goroutine leak. 1421 * Switch to Go 1.2.1. 1422 - Fix unique constraint error checks. 1423 * Handle symlinks for Docker's data directory and for TMPDIR. 1424 - Add deprecation warnings for flags (-flag is deprecated in favor of --flag) 1425 - Add apparmor profile for the native execution driver. 1426 * Move system specific code from archive to pkg/system. 1427 - Fix duplicate signal for `docker run -i -t` (issue #3336). 1428 - Return correct process pid for lxc. 1429 - Add a -G option to specify the group which unix sockets belong to. 1430 + Add `-f` flag to `docker rm` to force removal of running containers. 1431 + Kill ghost containers and restart all ghost containers when the docker daemon restarts. 1432 + Add `DOCKER_RAMDISK` environment variable to make Docker work when the root is on a ramdisk. 1433 1434 ## 0.8.1 (2014-02-18) 1435 1436 #### Builder 1437 1438 - Avoid extra mount/unmount during build. This removes an unneeded mount/unmount operation which was causing problems with devicemapper 1439 - Fix regression with ADD of tar files. This stops Docker from decompressing tarballs added via ADD from the local file system 1440 - Add error to `docker build --rm`. This adds a missing error check to ensure failures to remove containers are detected and reported 1441 1442 #### Documentation 1443 1444 * Update issue filing instructions 1445 * Warn against the use of symlinks for Docker's storage folder 1446 * Replace the Firefox example with an IceWeasel example 1447 * Rewrite the PostgresSQL example using a Dockerfile and add more details to it 1448 * Improve the OS X documentation 1449 1450 #### Remote API 1451 1452 - Fix broken images API for version less than 1.7 1453 - Use the right encoding for all API endpoints which return JSON 1454 - Move remote api client to api/ 1455 - Queue calls to the API using generic socket wait 1456 1457 #### Runtime 1458 1459 - Fix the use of custom settings for bridges and custom bridges 1460 - Refactor the devicemapper code to avoid many mount/unmount race conditions and failures 1461 - Remove two panics which could make Docker crash in some situations 1462 - Don't ping registry from the CLI client 1463 - Enable skip_block_zeroing for devicemapper. This stops devicemapper from always zeroing entire blocks 1464 - Fix --run in `docker commit`. This makes docker commit store `--run` in the image configuration 1465 - Remove directory when removing devicemapper device. This cleans up leftover mount directories 1466 - Drop NET_ADMIN capability for non-privileged containers. Unprivileged containers can't change their network configuration 1467 - Ensure `docker cp` stream is closed properly 1468 - Avoid extra mount/unmount during container registration. This removes an unneeded mount/unmount operation which was causing problems with devicemapper 1469 - Stop allowing tcp:// as a default tcp bin address which binds to 127.0.0.1:4243 and remove the default port 1470 + Mount-bind the PTY as container console. This allows tmux and screen to run in a container 1471 - Clean up archive closing. This fixes and improves archive handling 1472 - Fix engine tests on systems where temp directories are symlinked 1473 - Add test methods for save and load 1474 - Avoid temporarily unmounting the container when restarting it. This fixes a race for devicemapper during restart 1475 - Support submodules when building from a GitHub repository 1476 - Quote volume path to allow spaces 1477 - Fix remote tar ADD behavior. This fixes a regression which was causing Docker to extract tarballs 1478 1479 ## 0.8.0 (2014-02-04) 1480 1481 #### Notable features since 0.7.0 1482 1483 * Images and containers can be removed much faster 1484 * Building an image from source with docker build is now much faster 1485 * The Docker daemon starts and stops much faster 1486 * 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 1487 * 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 1488 * 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 1489 * 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 1490 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 1491 * 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 1492 1493 * The ADD instruction now supports caching, which avoids unnecessarily re-uploading the same source content again and again when it hasn’t changed 1494 * 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 1495 * Docker now ships with an experimental storage driver which uses the BTRFS filesystem for copy-on-write 1496 * Docker is officially supported on Mac OS X 1497 * The Docker daemon supports systemd socket activation 1498 1499 ## 0.7.6 (2014-01-14) 1500 1501 #### Builder 1502 1503 * Do not follow symlink outside of build context 1504 1505 #### Runtime 1506 1507 - Remount bind mounts when ro is specified 1508 * Use https for fetching docker version 1509 1510 #### Other 1511 1512 * Inline the test.docker.io fingerprint 1513 * Add ca-certificates to packaging documentation 1514 1515 ## 0.7.5 (2014-01-09) 1516 1517 #### Builder 1518 1519 * Disable compression for build. More space usage but a much faster upload 1520 - Fix ADD caching for certain paths 1521 - Do not compress archive from git build 1522 1523 #### Documentation 1524 1525 - Fix error in GROUP add example 1526 * Make sure the GPG fingerprint is inline in the documentation 1527 * Give more specific advice on setting up signing of commits for DCO 1528 1529 #### Runtime 1530 1531 - Fix misspelled container names 1532 - Do not add hostname when networking is disabled 1533 * Return most recent image from the cache by date 1534 - Return all errors from docker wait 1535 * Add Content-Type Header "application/json" to GET /version and /info responses 1536 1537 #### Other 1538 1539 * Update DCO to version 1.1 1540 + Update Makefile to use "docker:GIT_BRANCH" as the generated image name 1541 * Update Travis to check for new 1.1 DCO version 1542 1543 ## 0.7.4 (2014-01-07) 1544 1545 #### Builder 1546 1547 - Fix ADD caching issue with . prefixed path 1548 - Fix docker build on devicemapper by reverting sparse file tar option 1549 - Fix issue with file caching and prevent wrong cache hit 1550 * Use same error handling while unmarshalling CMD and ENTRYPOINT 1551 1552 #### Documentation 1553 1554 * Simplify and streamline Amazon Quickstart 1555 * Install instructions use unprefixed Fedora image 1556 * Update instructions for mtu flag for Docker on GCE 1557 + Add Ubuntu Saucy to installation 1558 - Fix for wrong version warning on master instead of latest 1559 1560 #### Runtime 1561 1562 - Only get the image's rootfs when we need to calculate the image size 1563 - Correctly handle unmapping UDP ports 1564 * Make CopyFileWithTar use a pipe instead of a buffer to save memory on docker build 1565 - Fix login message to say pull instead of push 1566 - Fix "docker load" help by removing "SOURCE" prompt and mentioning STDIN 1567 * Make blank -H option default to the same as no -H was sent 1568 * Extract cgroups utilities to own submodule 1569 1570 #### Other 1571 1572 + Add Travis CI configuration to validate DCO and gofmt requirements 1573 + Add Developer Certificate of Origin Text 1574 * Upgrade VBox Guest Additions 1575 * Check standalone header when pinging a registry server 1576 1577 ## 0.7.3 (2014-01-02) 1578 1579 #### Builder 1580 1581 + Update ADD to use the image cache, based on a hash of the added content 1582 * Add error message for empty Dockerfile 1583 1584 #### Documentation 1585 1586 - Fix outdated link to the "Introduction" on www.docker.io 1587 + Update the docs to get wider when the screen does 1588 - Add information about needing to install LXC when using raw binaries 1589 * Update Fedora documentation to disentangle the docker and docker.io conflict 1590 * Add a note about using the new `-mtu` flag in several GCE zones 1591 + Add FrugalWare installation instructions 1592 + Add a more complete example of `docker run` 1593 - Fix API documentation for creating and starting Privileged containers 1594 - Add missing "name" parameter documentation on "/containers/create" 1595 * Add a mention of `lxc-checkconfig` as a way to check for some of the necessary kernel configuration 1596 - Update the 1.8 API documentation with some additions that were added to the docs for 1.7 1597 1598 #### Hack 1599 1600 - Add missing libdevmapper dependency to the packagers documentation 1601 * Update minimum Go requirement to a hard line at Go 1.2+ 1602 * Many minor improvements to the Vagrantfile 1603 + Add ability to customize dockerinit search locations when compiling (to be used very sparingly only by packagers of platforms who require a nonstandard location) 1604 + Add coverprofile generation reporting 1605 - Add `-a` to our Go build flags, removing the need for recompiling the stdlib manually 1606 * Update Dockerfile to be more canonical and have less spurious warnings during build 1607 - Fix some miscellaneous `docker pull` progress bar display issues 1608 * Migrate more miscellaneous packages under the "pkg" folder 1609 * Update TextMate highlighting to automatically be enabled for files named "Dockerfile" 1610 * Reorganize syntax highlighting files under a common "contrib/syntax" directory 1611 * 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 1612 * Add support for container names in bash completion 1613 1614 #### Packaging 1615 1616 + Add an official Docker client binary for Darwin (Mac OS X) 1617 * Remove empty "Vendor" string and added "License" on deb package 1618 + Add a stubbed version of "/etc/default/docker" in the deb package 1619 1620 #### Runtime 1621 1622 * Update layer application to extract tars in place, avoiding file churn while handling whiteouts 1623 - Fix permissiveness of mtime comparisons in tar handling (since GNU tar and Go tar do not yet support sub-second mtime precision) 1624 * 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`) 1625 + Update `-H unix://` to work similarly to `-H tcp://` by inserting the default values for missing portions 1626 - Fix more edge cases regarding dockerinit and deleted or replaced docker or dockerinit files 1627 * Update container name validation to include '.' 1628 - Fix use of a symlink or non-absolute path as the argument to `-g` to work as expected 1629 * Update to handle external mounts outside of LXC, fixing many small mounting quirks and making future execution backends and other features simpler 1630 * Update to use proper box-drawing characters everywhere in `docker images -tree` 1631 * Move MTU setting from LXC configuration to directly use netlink 1632 * Add `-S` option to external tar invocation for more efficient spare file handling 1633 + Add arch/os info to User-Agent string, especially for registry requests 1634 + Add `-mtu` option to Docker daemon for configuring MTU 1635 - Fix `docker build` to exit with a non-zero exit code on error 1636 + Add `DOCKER_HOST` environment variable to configure the client `-H` flag without specifying it manually for every invocation 1637 1638 ## 0.7.2 (2013-12-16) 1639 1640 #### Runtime 1641 1642 + Validate container names on creation with standard regex 1643 * Increase maximum image depth to 127 from 42 1644 * Continue to move api endpoints to the job api 1645 + Add -bip flag to allow specification of dynamic bridge IP via CIDR 1646 - Allow bridge creation when ipv6 is not enabled on certain systems 1647 * Set hostname and IP address from within dockerinit 1648 * Drop capabilities from within dockerinit 1649 - Fix volumes on host when symlink is present the image 1650 - Prevent deletion of image if ANY container is depending on it even if the container is not running 1651 * Update docker push to use new progress display 1652 * Use os.Lstat to allow mounting unix sockets when inspecting volumes 1653 - Adjust handling of inactive user login 1654 - Add missing defines in devicemapper for older kernels 1655 - Allow untag operations with no container validation 1656 - Add auth config to docker build 1657 1658 #### Documentation 1659 1660 * Add more information about Docker logging 1661 + Add RHEL documentation 1662 * Add a direct example for changing the CMD that is run in a container 1663 * Update Arch installation documentation 1664 + Add section on Trusted Builds 1665 + Add Network documentation page 1666 1667 #### Other 1668 1669 + Add new cover bundle for providing code coverage reporting 1670 * Separate integration tests in bundles 1671 * Make Tianon the hack maintainer 1672 * Update mkimage-debootstrap with more tweaks for keeping images small 1673 * Use https to get the install script 1674 * Remove vendored dotcloud/tar now that Go 1.2 has been released 1675 1676 ## 0.7.1 (2013-12-05) 1677 1678 #### Documentation 1679 1680 + Add @SvenDowideit as documentation maintainer 1681 + Add links example 1682 + Add documentation regarding ambassador pattern 1683 + Add Google Cloud Platform docs 1684 + Add dockerfile best practices 1685 * Update doc for RHEL 1686 * Update doc for registry 1687 * Update Postgres examples 1688 * Update doc for Ubuntu install 1689 * Improve remote api doc 1690 1691 #### Runtime 1692 1693 + Add hostconfig to docker inspect 1694 + Implement `docker log -f` to stream logs 1695 + Add env variable to disable kernel version warning 1696 + Add -format to `docker inspect` 1697 + Support bind-mount for files 1698 - Fix bridge creation on RHEL 1699 - Fix image size calculation 1700 - Make sure iptables are called even if the bridge already exists 1701 - Fix issue with stderr only attach 1702 - Remove init layer when destroying a container 1703 - Fix same port binding on different interfaces 1704 - `docker build` now returns the correct exit code 1705 - Fix `docker port` to display correct port 1706 - `docker build` now check that the dockerfile exists client side 1707 - `docker attach` now returns the correct exit code 1708 - Remove the name entry when the container does not exist 1709 1710 #### Registry 1711 1712 * Improve progress bars, add ETA for downloads 1713 * Simultaneous pulls now waits for the first to finish instead of failing 1714 - Tag only the top-layer image when pushing to registry 1715 - Fix issue with offline image transfer 1716 - Fix issue preventing using ':' in password for registry 1717 1718 #### Other 1719 1720 + Add pprof handler for debug 1721 + Create a Makefile 1722 * Use stdlib tar that now includes fix 1723 * Improve make.sh test script 1724 * Handle SIGQUIT on the daemon 1725 * Disable verbose during tests 1726 * Upgrade to go1.2 for official build 1727 * Improve unit tests 1728 * The test suite now runs all tests even if one fails 1729 * Refactor C in Go (Devmapper) 1730 - Fix OS X compilation 1731 1732 ## 0.7.0 (2013-11-25) 1733 1734 #### Notable features since 0.6.0 1735 1736 * Storage drivers: choose from aufs, device-mapper, or vfs. 1737 * Standard Linux support: docker now runs on unmodified Linux kernels and all major distributions. 1738 * Links: compose complex software stacks by connecting containers to each other. 1739 * Container naming: organize your containers by giving them memorable names. 1740 * Advanced port redirects: specify port redirects per interface, or keep sensitive ports private. 1741 * Offline transfer: push and pull images to the filesystem without losing information. 1742 * Quality: numerous bugfixes and small usability improvements. Significant increase in test coverage. 1743 1744 ## 0.6.7 (2013-11-21) 1745 1746 #### Runtime 1747 1748 * Improve stability, fixes some race conditions 1749 * Skip the volumes mounted when deleting the volumes of container. 1750 * Fix layer size computation: handle hard links correctly 1751 * Use the work Path for docker cp CONTAINER:PATH 1752 * Fix tmp dir never cleanup 1753 * Speedup docker ps 1754 * More informative error message on name collisions 1755 * Fix nameserver regex 1756 * Always return long id's 1757 * Fix container restart race condition 1758 * Keep published ports on docker stop;docker start 1759 * Fix container networking on Fedora 1760 * Correctly express "any address" to iptables 1761 * Fix network setup when reconnecting to ghost container 1762 * Prevent deletion if image is used by a running container 1763 * Lock around read operations in graph 1764 1765 #### RemoteAPI 1766 1767 * Return full ID on docker rmi 1768 1769 #### Client 1770 1771 + Add -tree option to images 1772 + Offline image transfer 1773 * Exit with status 2 on usage error and display usage on stderr 1774 * Do not forward SIGCHLD to container 1775 * Use string timestamp for docker events -since 1776 1777 #### Other 1778 1779 * Update to go 1.2rc5 1780 + Add /etc/default/docker support to upstart 1781 1782 ## 0.6.6 (2013-11-06) 1783 1784 #### Runtime 1785 1786 * Ensure container name on register 1787 * Fix regression in /etc/hosts 1788 + Add lock around write operations in graph 1789 * Check if port is valid 1790 * Fix restart runtime error with ghost container networking 1791 + Add some more colors and animals to increase the pool of generated names 1792 * Fix issues in docker inspect 1793 + Escape apparmor confinement 1794 + Set environment variables using a file. 1795 * Prevent docker insert to erase something 1796 + Prevent DNS server conflicts in CreateBridgeIface 1797 + Validate bind mounts on the server side 1798 + Use parent image config in docker build 1799 * Fix regression in /etc/hosts 1800 1801 #### Client 1802 1803 + Add -P flag to publish all exposed ports 1804 + Add -notrunc and -q flags to docker history 1805 * Fix docker commit, tag and import usage 1806 + Add stars, trusted builds and library flags in docker search 1807 * Fix docker logs with tty 1808 1809 #### RemoteAPI 1810 1811 * Make /events API send headers immediately 1812 * Do not split last column docker top 1813 + Add size to history 1814 1815 #### Other 1816 1817 + Contrib: Desktop integration. Firefox usecase. 1818 + Dockerfile: bump to go1.2rc3 1819 1820 ## 0.6.5 (2013-10-29) 1821 1822 #### Runtime 1823 1824 + Containers can now be named 1825 + Containers can now be linked together for service discovery 1826 + 'run -a', 'start -a' and 'attach' can forward signals to the container for better integration with process supervisors 1827 + Automatically start crashed containers after a reboot 1828 + Expose IP, port, and proto as separate environment vars for container links 1829 * Allow ports to be published to specific ips 1830 * Prohibit inter-container communication by default 1831 - Ignore ErrClosedPipe for stdin in Container.Attach 1832 - Remove unused field kernelVersion 1833 * Fix issue when mounting subdirectories of /mnt in container 1834 - Fix untag during removal of images 1835 * Check return value of syscall.Chdir when changing working directory inside dockerinit 1836 1837 #### Client 1838 1839 - Only pass stdin to hijack when needed to avoid closed pipe errors 1840 * Use less reflection in command-line method invocation 1841 - Monitor the tty size after starting the container, not prior 1842 - Remove useless os.Exit() calls after log.Fatal 1843 1844 #### Hack 1845 1846 + Add initial init scripts library and a safer Ubuntu packaging script that works for Debian 1847 * Add -p option to invoke debootstrap with http_proxy 1848 - Update install.sh with $sh_c to get sudo/su for modprobe 1849 * Update all the mkimage scripts to use --numeric-owner as a tar argument 1850 * Update hack/release.sh process to automatically invoke hack/make.sh and bail on build and test issues 1851 1852 #### Other 1853 1854 * Documentation: Fix the flags for nc in example 1855 * Testing: Remove warnings and prevent mount issues 1856 - Testing: Change logic for tty resize to avoid warning in tests 1857 - Builder: Fix race condition in docker build with verbose output 1858 - Registry: Fix content-type for PushImageJSONIndex method 1859 * Contrib: Improve helper tools to generate debian and Arch linux server images 1860 1861 ## 0.6.4 (2013-10-16) 1862 1863 #### Runtime 1864 1865 - Add cleanup of container when Start() fails 1866 * Add better comments to utils/stdcopy.go 1867 * Add utils.Errorf for error logging 1868 + Add -rm to docker run for removing a container on exit 1869 - Remove error messages which are not actually errors 1870 - Fix `docker rm` with volumes 1871 - Fix some error cases where an HTTP body might not be closed 1872 - Fix panic with wrong dockercfg file 1873 - Fix the attach behavior with -i 1874 * Record termination time in state. 1875 - Use empty string so TempDir uses the OS's temp dir automatically 1876 - Make sure to close the network allocators 1877 + Autorestart containers by default 1878 * Bump vendor kr/pty to commit 3b1f6487b `(syscall.O_NOCTTY)` 1879 * lxc: Allow set_file_cap capability in container 1880 - Move run -rm to the cli only 1881 * Split stdout stderr 1882 * Always create a new session for the container 1883 1884 #### Testing 1885 1886 - Add aggregated docker-ci email report 1887 - Add cleanup to remove leftover containers 1888 * Add nightly release to docker-ci 1889 * Add more tests around auth.ResolveAuthConfig 1890 - Remove a few errors in tests 1891 - Catch errClosing error when TCP and UDP proxies are terminated 1892 * Only run certain tests with TESTFLAGS='-run TestName' make.sh 1893 * Prevent docker-ci to test closing PRs 1894 * Replace panic by log.Fatal in tests 1895 - Increase TestRunDetach timeout 1896 1897 #### Documentation 1898 1899 * Add initial draft of the Docker infrastructure doc 1900 * Add devenvironment link to CONTRIBUTING.md 1901 * Add `apt-get install curl` to Ubuntu docs 1902 * Add explanation for export restrictions 1903 * Add .dockercfg doc 1904 * Remove Gentoo install notes about #1422 workaround 1905 * Fix help text for -v option 1906 * Fix Ping endpoint documentation 1907 - Fix parameter names in docs for ADD command 1908 - Fix ironic typo in changelog 1909 * Various command fixes in postgres example 1910 * Document how to edit and release docs 1911 - Minor updates to `postgresql_service.rst` 1912 * Clarify LGTM process to contributors 1913 - Corrected error in the package name 1914 * Document what `vagrant up` is actually doing 1915 + improve doc search results 1916 * Cleanup whitespace in API 1.5 docs 1917 * use angle brackets in MAINTAINER example email 1918 * Update archlinux.rst 1919 + Changes to a new style for the docs. Includes version switcher. 1920 * Formatting, add information about multiline json 1921 * Improve registry and index REST API documentation 1922 - Replace deprecated upgrading reference to docker-latest.tgz, which hasn't been updated since 0.5.3 1923 * Update Gentoo installation documentation now that we're in the portage tree proper 1924 * Cleanup and reorganize docs and tooling for contributors and maintainers 1925 - Minor spelling correction of protocoll -> protocol 1926 1927 #### Contrib 1928 1929 * Add vim syntax highlighting for Dockerfiles from @honza 1930 * Add mkimage-arch.sh 1931 * Reorganize contributed completion scripts to add zsh completion 1932 1933 #### Hack 1934 1935 * Add vagrant user to the docker group 1936 * Add proper bash completion for "docker push" 1937 * Add xz utils as a runtime dep 1938 * Add cleanup/refactor portion of #2010 for hack and Dockerfile updates 1939 + Add contrib/mkimage-centos.sh back (from #1621), and associated documentation link 1940 * Add several of the small make.sh fixes from #1920, and make the output more consistent and contributor-friendly 1941 + Add @tianon to hack/MAINTAINERS 1942 * Improve network performance for VirtualBox 1943 * Revamp install.sh to be usable by more people, and to use official install methods whenever possible (apt repo, portage tree, etc.) 1944 - Fix contrib/mkimage-debian.sh apt caching prevention 1945 + Add Dockerfile.tmLanguage to contrib 1946 * Configured FPM to make /etc/init/docker.conf a config file 1947 * Enable SSH Agent forwarding in Vagrant VM 1948 * Several small tweaks/fixes for contrib/mkimage-debian.sh 1949 1950 #### Other 1951 1952 - Builder: Abort build if mergeConfig returns an error and fix duplicate error message 1953 - Packaging: Remove deprecated packaging directory 1954 - Registry: Use correct auth config when logging in. 1955 - Registry: Fix the error message so it is the same as the regex 1956 1957 ## 0.6.3 (2013-09-23) 1958 1959 #### Packaging 1960 1961 * Add 'docker' group on install for ubuntu package 1962 * Update tar vendor dependency 1963 * Download apt key over HTTPS 1964 1965 #### Runtime 1966 1967 - Only copy and change permissions on non-bindmount volumes 1968 * Allow multiple volumes-from 1969 - Fix HTTP imports from STDIN 1970 1971 #### Documentation 1972 1973 * Update section on extracting the docker binary after build 1974 * Update development environment docs for new build process 1975 * Remove 'base' image from documentation 1976 1977 #### Other 1978 1979 - Client: Fix detach issue 1980 - Registry: Update regular expression to match index 1981 1982 ## 0.6.2 (2013-09-17) 1983 1984 #### Runtime 1985 1986 + Add domainname support 1987 + Implement image filtering with path.Match 1988 * Remove unnecessary warnings 1989 * Remove os/user dependency 1990 * Only mount the hostname file when the config exists 1991 * Handle signals within the `docker login` command 1992 - UID and GID are now also applied to volumes 1993 - `docker start` set error code upon error 1994 - `docker run` set the same error code as the process started 1995 1996 #### Builder 1997 1998 + Add -rm option in order to remove intermediate containers 1999 * Allow multiline for the RUN instruction 2000 2001 #### Registry 2002 2003 * Implement login with private registry 2004 - Fix push issues 2005 2006 #### Other 2007 2008 + Hack: Vendor all dependencies 2009 * Remote API: Bump to v1.5 2010 * Packaging: Break down hack/make.sh into small scripts, one per 'bundle': test, binary, ubuntu etc. 2011 * Documentation: General improvements 2012 2013 ## 0.6.1 (2013-08-23) 2014 2015 #### Registry 2016 2017 * Pass "meta" headers in API calls to the registry 2018 2019 #### Packaging 2020 2021 - Use correct upstart script with new build tool 2022 - Use libffi-dev, don`t build it from sources 2023 - Remove duplicate mercurial install command 2024 2025 ## 0.6.0 (2013-08-22) 2026 2027 #### Runtime 2028 2029 + Add lxc-conf flag to allow custom lxc options 2030 + Add an option to set the working directory 2031 * Add Image name to LogEvent tests 2032 + Add -privileged flag and relevant tests, docs, and examples 2033 * Add websocket support to /container/<name>/attach/ws 2034 * Add warning when net.ipv4.ip_forwarding = 0 2035 * Add hostname to environment 2036 * Add last stable version in `docker version` 2037 - Fix race conditions in parallel pull 2038 - Fix Graph ByParent() to generate list of child images per parent image. 2039 - Fix typo: fmt.Sprint -> fmt.Sprintf 2040 - Fix small \n error un docker build 2041 * Fix to "Inject dockerinit at /.dockerinit" 2042 * Fix #910. print user name to docker info output 2043 * Use Go 1.1.2 for dockerbuilder 2044 * Use ranged for loop on channels 2045 - Use utils.ParseRepositoryTag instead of strings.Split(name, ":") in server.ImageDelete 2046 - Improve CMD, ENTRYPOINT, and attach docs. 2047 - Improve connect message with socket error 2048 - Load authConfig only when needed and fix useless WARNING 2049 - Show tag used when image is missing 2050 * Apply volumes-from before creating volumes 2051 - Make docker run handle SIGINT/SIGTERM 2052 - Prevent crash when .dockercfg not readable 2053 - Install script should be fetched over https, not http. 2054 * API, issue 1471: Use groups for socket permissions 2055 - Correctly detect IPv4 forwarding 2056 * Mount /dev/shm as a tmpfs 2057 - Switch from http to https for get.docker.io 2058 * Let userland proxy handle container-bound traffic 2059 * Update the Docker CLI to specify a value for the "Host" header. 2060 - Change network range to avoid conflict with EC2 DNS 2061 - Reduce connect and read timeout when pinging the registry 2062 * Parallel pull 2063 - Handle ip route showing mask-less IP addresses 2064 * Allow ENTRYPOINT without CMD 2065 - Always consider localhost as a domain name when parsing the FQN repos name 2066 * Refactor checksum 2067 2068 #### Documentation 2069 2070 * Add MongoDB image example 2071 * Add instructions for creating and using the docker group 2072 * Add sudo to examples and installation to documentation 2073 * Add ufw doc 2074 * Add a reference to ps -a 2075 * Add information about Docker`s high level tools over LXC. 2076 * Fix typo in docs for docker run -dns 2077 * Fix a typo in the ubuntu installation guide 2078 * Fix to docs regarding adding docker groups 2079 * Update default -H docs 2080 * Update readme with dependencies for building 2081 * Update amazon.rst to explain that Vagrant is not necessary for running Docker on ec2 2082 * PostgreSQL service example in documentation 2083 * Suggest installing linux-headers by default. 2084 * Change the twitter handle 2085 * Clarify Amazon EC2 installation 2086 * 'Base' image is deprecated and should no longer be referenced in the docs. 2087 * Move note about officially supported kernel 2088 - Solved the logo being squished in Safari 2089 2090 #### Builder 2091 2092 + Add USER instruction do Dockerfile 2093 + Add workdir support for the Buildfile 2094 * Add no cache for docker build 2095 - Fix docker build and docker events output 2096 - Only count known instructions as build steps 2097 - Make sure ENV instruction within build perform a commit each time 2098 - Forbid certain paths within docker build ADD 2099 - Repository name (and optionally a tag) in build usage 2100 - Make sure ADD will create everything in 0755 2101 2102 #### Remote API 2103 2104 * Sort Images by most recent creation date. 2105 * Reworking opaque requests in registry module 2106 * Add image name in /events 2107 * Use mime pkg to parse Content-Type 2108 * 650 http utils and user agent field 2109 2110 #### Hack 2111 2112 + Bash Completion: Limit commands to containers of a relevant state 2113 * Add docker dependencies coverage testing into docker-ci 2114 2115 #### Packaging 2116 2117 + Docker-brew 0.5.2 support and memory footprint reduction 2118 * Add new docker dependencies into docker-ci 2119 - Revert "docker.upstart: avoid spawning a `sh` process" 2120 + Docker-brew and Docker standard library 2121 + Release docker with docker 2122 * Fix the upstart script generated by get.docker.io 2123 * Enabled the docs to generate manpages. 2124 * Revert Bind daemon to 0.0.0.0 in Vagrant. 2125 2126 #### Register 2127 2128 * Improve auth push 2129 * Registry unit tests + mock registry 2130 2131 #### Tests 2132 2133 * Improve TestKillDifferentUser to prevent timeout on buildbot 2134 - Fix typo in TestBindMounts (runContainer called without image) 2135 * Improve TestGetContainersTop so it does not rely on sleep 2136 * Relax the lo interface test to allow iface index != 1 2137 * Add registry functional test to docker-ci 2138 * Add some tests in server and utils 2139 2140 #### Other 2141 2142 * Contrib: bash completion script 2143 * Client: Add docker cp command and copy api endpoint to copy container files/folders to the host 2144 * Don`t read from stdout when only attached to stdin 2145 2146 ## 0.5.3 (2013-08-13) 2147 2148 #### Runtime 2149 2150 * Use docker group for socket permissions 2151 - Spawn shell within upstart script 2152 - Handle ip route showing mask-less IP addresses 2153 - Add hostname to environment 2154 2155 #### Builder 2156 2157 - Make sure ENV instruction within build perform a commit each time 2158 2159 ## 0.5.2 (2013-08-08) 2160 2161 * Builder: Forbid certain paths within docker build ADD 2162 - Runtime: Change network range to avoid conflict with EC2 DNS 2163 * API: Change daemon to listen on unix socket by default 2164 2165 ## 0.5.1 (2013-07-30) 2166 2167 #### Runtime 2168 2169 + Add `ps` args to `docker top` 2170 + Add support for container ID files (pidfile like) 2171 + Add container=lxc in default env 2172 + Support networkless containers with `docker run -n` and `docker -d -b=none` 2173 * Stdout/stderr logs are now stored in the same file as JSON 2174 * Allocate a /16 IP range by default, with fallback to /24. Try 12 ranges instead of 3. 2175 * Change .dockercfg format to json and support multiple auth remote 2176 - Do not override volumes from config 2177 - Fix issue with EXPOSE override 2178 2179 #### API 2180 2181 + Docker client now sets useragent (RFC 2616) 2182 + Add /events endpoint 2183 2184 #### Builder 2185 2186 + ADD command now understands URLs 2187 + CmdAdd and CmdEnv now respect Dockerfile-set ENV variables 2188 - Create directories with 755 instead of 700 within ADD instruction 2189 2190 #### Hack 2191 2192 * Simplify unit tests with helpers 2193 * Improve docker.upstart event 2194 * Add coverage testing into docker-ci 2195 2196 ## 0.5.0 (2013-07-17) 2197 2198 #### Runtime 2199 2200 + List all processes running inside a container with 'docker top' 2201 + Host directories can be mounted as volumes with 'docker run -v' 2202 + Containers can expose public UDP ports (eg, '-p 123/udp') 2203 + Optionally specify an exact public port (eg. '-p 80:4500') 2204 * 'docker login' supports additional options 2205 - Don't save a container`s hostname when committing an image. 2206 2207 #### Registry 2208 2209 + New image naming scheme inspired by Go packaging convention allows arbitrary combinations of registries 2210 - Fix issues when uploading images to a private registry 2211 2212 #### Builder 2213 2214 + ENTRYPOINT instruction sets a default binary entry point to a container 2215 + VOLUME instruction marks a part of the container as persistent data 2216 * 'docker build' displays the full output of a build by default 2217 2218 ## 0.4.8 (2013-07-01) 2219 2220 + 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. 2221 - Tests: Fix issues in the test suite 2222 2223 ## 0.4.7 (2013-06-28) 2224 2225 #### Remote API 2226 2227 * The progress bar updates faster when downloading and uploading large files 2228 - Fix a bug in the optional unix socket transport 2229 2230 #### Runtime 2231 2232 * Improve detection of kernel version 2233 + Host directories can be mounted as volumes with 'docker run -b' 2234 - fix an issue when only attaching to stdin 2235 * Use 'tar --numeric-owner' to avoid uid mismatch across multiple hosts 2236 2237 #### Hack 2238 2239 * Improve test suite and dev environment 2240 * Remove dependency on unit tests on 'os/user' 2241 2242 #### Other 2243 2244 * Registry: easier push/pull to a custom registry 2245 + Documentation: add terminology section 2246 2247 ## 0.4.6 (2013-06-22) 2248 2249 - Runtime: fix a bug which caused creation of empty images (and volumes) to crash. 2250 2251 ## 0.4.5 (2013-06-21) 2252 2253 + Builder: 'docker build git://URL' fetches and builds a remote git repository 2254 * Runtime: 'docker ps -s' optionally prints container size 2255 * Tests: improved and simplified 2256 - Runtime: fix a regression introduced in 0.4.3 which caused the logs command to fail. 2257 - Builder: fix a regression when using ADD with single regular file. 2258 2259 ## 0.4.4 (2013-06-19) 2260 2261 - Builder: fix a regression introduced in 0.4.3 which caused builds to fail on new clients. 2262 2263 ## 0.4.3 (2013-06-19) 2264 2265 #### Builder 2266 2267 + ADD of a local file will detect tar archives and unpack them 2268 * ADD improvements: use tar for copy + automatically unpack local archives 2269 * ADD uses tar/untar for copies instead of calling 'cp -ar' 2270 * Fix the behavior of ADD to be (mostly) reverse-compatible, predictable and well-documented. 2271 - Fix a bug which caused builds to fail if ADD was the first command 2272 * Nicer output for 'docker build' 2273 2274 #### Runtime 2275 2276 * Remove bsdtar dependency 2277 * Add unix socket and multiple -H support 2278 * Prevent rm of running containers 2279 * Use go1.1 cookiejar 2280 - Fix issue detaching from running TTY container 2281 - Forbid parallel push/pull for a single image/repo. Fixes #311 2282 - Fix race condition within Run command when attaching. 2283 2284 #### Client 2285 2286 * HumanReadable ProgressBar sizes in pull 2287 * Fix docker version`s git commit output 2288 2289 #### API 2290 2291 * Send all tags on History API call 2292 * Add tag lookup to history command. Fixes #882 2293 2294 #### Documentation 2295 2296 - Fix missing command in irc bouncer example 2297 2298 ## 0.4.2 (2013-06-17) 2299 2300 - Packaging: Bumped version to work around an Ubuntu bug 2301 2302 ## 0.4.1 (2013-06-17) 2303 2304 #### Remote Api 2305 2306 + Add flag to enable cross domain requests 2307 + Add images and containers sizes in docker ps and docker images 2308 2309 #### Runtime 2310 2311 + Configure dns configuration host-wide with 'docker -d -dns' 2312 + Detect faulty DNS configuration and replace it with a public default 2313 + Allow docker run <name>:<id> 2314 + You can now specify public port (ex: -p 80:4500) 2315 * Improve image removal to garbage-collect unreferenced parents 2316 2317 #### Client 2318 2319 * Allow multiple params in inspect 2320 * Print the container id before the hijack in `docker run` 2321 2322 #### Registry 2323 2324 * Add regexp check on repo`s name 2325 * Move auth to the client 2326 - Remove login check on pull 2327 2328 #### Other 2329 2330 * Vagrantfile: Add the rest api port to vagrantfile`s port_forward 2331 * Upgrade to Go 1.1 2332 - Builder: don`t ignore last line in Dockerfile when it doesn`t end with \n 2333 2334 ## 0.4.0 (2013-06-03) 2335 2336 #### Builder 2337 2338 + Introducing Builder 2339 + 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile 2340 2341 #### Remote API 2342 2343 + Introducing Remote API 2344 + control Docker programmatically using a simple HTTP/json API 2345 2346 #### Runtime 2347 2348 * Various reliability and usability improvements 2349 2350 ## 0.3.4 (2013-05-30) 2351 2352 #### Builder 2353 2354 + 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile 2355 + 'docker build -t FOO' applies the tag FOO to the newly built container. 2356 2357 #### Runtime 2358 2359 + Interactive TTYs correctly handle window resize 2360 * Fix how configuration is merged between layers 2361 2362 #### Remote API 2363 2364 + Split stdout and stderr on 'docker run' 2365 + Optionally listen on a different IP and port (use at your own risk) 2366 2367 #### Documentation 2368 2369 * Improve install instructions. 2370 2371 ## 0.3.3 (2013-05-23) 2372 2373 - Registry: Fix push regression 2374 - Various bugfixes 2375 2376 ## 0.3.2 (2013-05-09) 2377 2378 #### Registry 2379 2380 * Improve the checksum process 2381 * Use the size to have a good progress bar while pushing 2382 * Use the actual archive if it exists in order to speed up the push 2383 - Fix error 400 on push 2384 2385 #### Runtime 2386 2387 * Store the actual archive on commit 2388 2389 ## 0.3.1 (2013-05-08) 2390 2391 #### Builder 2392 2393 + Implement the autorun capability within docker builder 2394 + Add caching to docker builder 2395 + Add support for docker builder with native API as top level command 2396 + Implement ENV within docker builder 2397 - Check the command existence prior create and add Unit tests for the case 2398 * use any whitespaces instead of tabs 2399 2400 #### Runtime 2401 2402 + Add go version to debug infos 2403 * Kernel version - don`t show the dash if flavor is empty 2404 2405 #### Registry 2406 2407 + Add docker search top level command in order to search a repository 2408 - Fix pull for official images with specific tag 2409 - Fix issue when login in with a different user and trying to push 2410 * Improve checksum - async calculation 2411 2412 #### Images 2413 2414 + Output graph of images to dot (graphviz) 2415 - Fix ByParent function 2416 2417 #### Documentation 2418 2419 + New introduction and high-level overview 2420 + Add the documentation for docker builder 2421 - CSS fix for docker documentation to make REST API docs look better. 2422 - Fix CouchDB example page header mistake 2423 - Fix README formatting 2424 * Update www.docker.io website. 2425 2426 #### Other 2427 2428 + Website: new high-level overview 2429 - Makefile: Swap "go get" for "go get -d", especially to compile on go1.1rc 2430 * Packaging: packaging ubuntu; issue #510: Use goland-stable PPA package to build docker 2431 2432 ## 0.3.0 (2013-05-06) 2433 2434 #### Runtime 2435 2436 - Fix the command existence check 2437 - strings.Split may return an empty string on no match 2438 - Fix an index out of range crash if cgroup memory is not 2439 2440 #### Documentation 2441 2442 * Various improvements 2443 + New example: sharing data between 2 couchdb databases 2444 2445 #### Other 2446 2447 * Vagrant: Use only one deb line in /etc/apt 2448 + Registry: Implement the new registry 2449 2450 ## 0.2.2 (2013-05-03) 2451 2452 + Support for data volumes ('docker run -v=PATH') 2453 + Share data volumes between containers ('docker run -volumes-from') 2454 + Improve documentation 2455 * Upgrade to Go 1.0.3 2456 * Various upgrades to the dev environment for contributors 2457 2458 ## 0.2.1 (2013-05-01) 2459 2460 + 'docker commit -run' bundles a layer with default runtime options: command, ports etc. 2461 * Improve install process on Vagrant 2462 + New Dockerfile operation: "maintainer" 2463 + New Dockerfile operation: "expose" 2464 + New Dockerfile operation: "cmd" 2465 + Contrib script to build a Debian base layer 2466 + 'docker -d -r': restart crashed containers at daemon startup 2467 * Runtime: improve test coverage 2468 2469 ## 0.2.0 (2013-04-23) 2470 2471 - Runtime: ghost containers can be killed and waited for 2472 * Documentation: update install instructions 2473 - Packaging: fix Vagrantfile 2474 - Development: automate releasing binaries and ubuntu packages 2475 + Add a changelog 2476 - Various bugfixes 2477 2478 ## 0.1.8 (2013-04-22) 2479 2480 - Dynamically detect cgroup capabilities 2481 - Issue stability warning on kernels <3.8 2482 - 'docker push' buffers on disk instead of memory 2483 - Fix 'docker diff' for removed files 2484 - Fix 'docker stop' for ghost containers 2485 - Fix handling of pidfile 2486 - Various bugfixes and stability improvements 2487 2488 ## 0.1.7 (2013-04-18) 2489 2490 - Container ports are available on localhost 2491 - 'docker ps' shows allocated TCP ports 2492 - Contributors can run 'make hack' to start a continuous integration VM 2493 - Streamline ubuntu packaging & uploading 2494 - Various bugfixes and stability improvements 2495 2496 ## 0.1.6 (2013-04-17) 2497 2498 - Record the author an image with 'docker commit -author' 2499 2500 ## 0.1.5 (2013-04-17) 2501 2502 - Disable standalone mode 2503 - Use a custom DNS resolver with 'docker -d -dns' 2504 - Detect ghost containers 2505 - Improve diagnosis of missing system capabilities 2506 - Allow disabling memory limits at compile time 2507 - Add debian packaging 2508 - Documentation: installing on Arch Linux 2509 - Documentation: running Redis on docker 2510 - Fix lxc 0.9 compatibility 2511 - Automatically load aufs module 2512 - Various bugfixes and stability improvements 2513 2514 ## 0.1.4 (2013-04-09) 2515 2516 - Full support for TTY emulation 2517 - Detach from a TTY session with the escape sequence `C-p C-q` 2518 - Various bugfixes and stability improvements 2519 - Minor UI improvements 2520 - Automatically create our own bridge interface 'docker0' 2521 2522 ## 0.1.3 (2013-04-04) 2523 2524 - Choose TCP frontend port with '-p :PORT' 2525 - Layer format is versioned 2526 - Major reliability improvements to the process manager 2527 - Various bugfixes and stability improvements 2528 2529 ## 0.1.2 (2013-04-03) 2530 2531 - Set container hostname with 'docker run -h' 2532 - Selective attach at run with 'docker run -a [stdin[,stdout[,stderr]]]' 2533 - Various bugfixes and stability improvements 2534 - UI polish 2535 - Progress bar on push/pull 2536 - Use XZ compression by default 2537 - Make IP allocator lazy 2538 2539 ## 0.1.1 (2013-03-31) 2540 2541 - Display shorthand IDs for convenience 2542 - Stabilize process management 2543 - Layers can include a commit message 2544 - Simplified 'docker attach' 2545 - Fix support for re-attaching 2546 - Various bugfixes and stability improvements 2547 - Auto-download at run 2548 - Auto-login on push 2549 - Beefed up documentation 2550 2551 ## 0.1.0 (2013-03-23) 2552 2553 Initial public release 2554 2555 - Implement registry in order to push/pull images 2556 - TCP port allocation 2557 - Fix termcaps on Linux 2558 - Add documentation 2559 - Add Vagrant support with Vagrantfile 2560 - Add unit tests 2561 - Add repository/tags to ease image management 2562 - Improve the layer implementation