github.com/christopherobin/docker@v1.6.2/CHANGELOG.md (about)

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