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