CHANGELOG.md
0b60829d
 # Changelog
 
ca5913ff
 ## 0.6.2 (2013-09-17)
 + Hack: Vendor all dependencies
 + Builder: Add -rm option in order to remove intermediate containers
 + Runtime: Add domainname support
 + Runtime: Implement image filtering with path.Match
 * Builder: Allow multiline for the RUN instruction
 * Runtime: Remove unnecesasry warnings
 * Runtime: Only mount the hostname file when the config exists
 * Runtime: Handle signals within the `docker login` command
 * Runtime: Remove os/user dependency
 * Registry: Implement login with private registry
 * Remote API: Bump to v1.5
 * Packaging: Break down hack/make.sh into small scripts, one per 'bundle': test, binary, ubuntu etc.
 * Documentation: General improvments
 - Runtime: UID and GID are now also applied to volumes
 - Runtime: `docker start` set error code upon error
 - Runtime: `docker run` set the same error code as the process started
 - Registry: Fix push issues
 
5105263d
 ## 0.6.1 (2013-08-23)
 * Registry: Pass "meta" headers in API calls to the registry
 - Packaging: Use correct upstart script with new build tool
 - Packaging: Use libffi-dev, don't build it from sources
 - Packaging: Removed duplicate mercurial install command
 
f4a4f1ca
 ## 0.6.0 (2013-08-22)
 - Runtime: Load authConfig only when needed and fix useless WARNING
 + Runtime: Add lxc-conf flag to allow custom lxc options
 - Runtime: Fix race conditions in parallel pull
 - Runtime: Improve CMD, ENTRYPOINT, and attach docs.
 * Documentation: Small fix to docs regarding adding docker groups
 * Documentation: Add MongoDB image example
 + Builder: Add USER instruction do Dockerfile
 * Documentation: updated default -H docs
 * Remote API: Sort Images by most recent creation date.
 + Builder: Add workdir support for the Buildfile
 + Runtime: Add an option to set the working directory
 - Runtime: Show tag used when image is missing
 * Documentation: Update readme with dependencies for building
 * Documentation: Add instructions for creating and using the docker group
 * Remote API: Reworking opaque requests in registry module
 - Runtime: Fix Graph ByParent() to generate list of child images per parent image.
 * Runtime: Add Image name to LogEvent tests
 * Documentation: Add sudo to examples and installation to documentation
 + Hack: Bash Completion: Limit commands to containers of a relevant state
 * Remote API: Add image name in /events
 * Runtime: Apply volumes-from before creating volumes
 - Runtime: Make docker run handle SIGINT/SIGTERM
 - Runtime: Prevent crash when .dockercfg not readable
 * Hack: Add docker dependencies coverage testing into docker-ci
 + Runtime: Add -privileged flag and relevant tests, docs, and examples
 + Packaging: Docker-brew 0.5.2 support and memory footprint reduction
 - Runtime: Install script should be fetched over https, not http.
 * Packaging: Add new docker dependencies into docker-ci
 * Runtime: Use Go 1.1.2 for dockerbuilder
 * Registry: Improve auth push
 * Runtime: API, issue 1471: Use groups for socket permissions
 * Documentation: PostgreSQL service example in documentation
 * Contrib: bash completion script
 * Tests: Improve TestKillDifferentUser to prevent timeout on buildbot
 * Documentation: Fix typo in docs for docker run -dns
 * Documentation: Adding a reference to ps -a
 - Runtime: Correctly detect IPv4 forwarding
 - Packaging: Revert "docker.upstart: avoid spawning a `sh` process"
 * Runtime: Use ranged for loop on channels
 - Runtime: Fix typo: fmt.Sprint -> fmt.Sprintf
 - Tests: Fix typo in TestBindMounts (runContainer called without image)
 * Runtime: add websocket support to /container/<name>/attach/ws
 * Runtime: Mount /dev/shm as a tmpfs
 - Builder: Only count known instructions as build steps
 - Builder: Fix docker build and docker events output
 - Runtime: switch from http to https for get.docker.io
 * Tests: Improve TestGetContainersTop so it does not rely on sleep
 + Packaging: Docker-brew and Docker standard library
 * Testing: Add some tests in server and utils
 + Packaging: Release docker with docker
 - Builder: Make sure ENV instruction within build perform a commit each time
 * Packaging: Fix the upstart script generated by get.docker.io
 - Runtime: fix small \n error un docker build
 * Runtime: Let userland proxy handle container-bound traffic
 * Runtime: Updated the Docker CLI to specify a value for the "Host" header.
 * Runtime: Add warning when net.ipv4.ip_forwarding = 0
 * Registry: Registry unit tests + mock registry
 * Runtime: fixed #910. print user name to docker info output
 - Builder: Forbid certain paths within docker build ADD
 - Runtime: change network range to avoid conflict with EC2 DNS
 * Tests: Relax the lo interface test to allow iface index != 1
 * Documentation: Suggest installing linux-headers by default.
 * Documentation: Change the twitter handle
 * Client: Add docker cp command and copy api endpoint to copy container files/folders to the host
 * Remote API: Use mime pkg to parse Content-Type
 - Runtime: Reduce connect and read timeout when pinging the registry
 * Documentation: Update amazon.rst to explain that Vagrant is not necessary for running Docker on ec2
 * Packaging: Enabled the docs to generate manpages.
 * Runtime: Parallel pull
 - Runtime: Handle ip route showing mask-less IP addresses
 * Documentation: Clarify Amazon EC2 installation
 * Documentation: 'Base' image is deprecated and should no longer be referenced in the docs.
 * Runtime: Fix to "Inject dockerinit at /.dockerinit"
 * Runtime: Allow ENTRYPOINT without CMD
 - Runtime: Always consider localhost as a domain name when parsing the FQN repos name
 * Remote API: 650 http utils and user agent field
 * Documentation: fix a typo in the ubuntu installation guide
 - Builder: Repository name (and optionally a tag) in build usage
 * Documentation: Move note about officially supported kernel
 * Packaging: Revert "Bind daemon to 0.0.0.0 in Vagrant.
 * Builder: Add no cache for docker build
 * Runtime: Add hostname to environment
 * Runtime: Add last stable version in `docker version`
 - Builder: Make sure ADD will create everything in 0755
 * Documentation: Add ufw doc
 * Tests: Add registry functional test to docker-ci
 - Documentation: Solved the logo being squished in Safari
 - Runtime: Use utils.ParseRepositoryTag instead of strings.Split(name, ":") in server.ImageDelete
 * Runtime: Refactor checksum
 - Runtime: Improve connect message with socket error
 * Documentation: Added information about Docker's high level tools over LXC.
 * Don't read from stdout when only attached to stdin
 
c3773740
 ## 0.5.3 (2013-08-13)
 * Runtime: Use docker group for socket permissions
 - Runtime: Spawn shell within upstart script
 - Builder: Make sure ENV instruction within build perform a commit each time
 - Runtime: Handle ip route showing mask-less IP addresses
5d25f323
 - Runtime: Add hostname to environment
c3773740
 
e99a99eb
 ## 0.5.2 (2013-08-08)
  * Builder: Forbid certain paths within docker build ADD
  - Runtime: Change network range to avoid conflict with EC2 DNS
  * API: Change daemon to listen on unix socket by default
 
3b89d13a
 ## 0.5.1 (2013-07-30)
  + API: Docker client now sets useragent (RFC 2616)
  + Runtime: Add `ps` args to `docker top`
  + Runtime: Add support for container ID files (pidfile like)
  + Runtime: Add container=lxc in default env
  + Runtime: Support networkless containers with `docker run -n` and `docker -d -b=none`
  + API: Add /events endpoint
  + Builder: ADD command now understands URLs
  + Builder: CmdAdd and CmdEnv now respect Dockerfile-set ENV variables
  * Hack: Simplify unit tests with helpers
  * Hack: Improve docker.upstart event
  * Hack: Add coverage testing into docker-ci
  * Runtime: Stdout/stderr logs are now stored in the same file as JSON
  * Runtime: Allocate a /16 IP range by default, with fallback to /24. Try 12 ranges instead of 3.
  * Runtime: Change .dockercfg format to json and support multiple auth remote
  - Runtime: Do not override volumes from config
  - Runtime: Fix issue with EXPOSE override
  - Builder: Create directories with 755 instead of 700 within ADD instruction
 
ac14c463
 ## 0.5.0 (2013-07-17)
8af945f3
  + Runtime: List all processes running inside a container with 'docker top'
b0834182
  + Runtime: Host directories can be mounted as volumes with 'docker run -v'
  + Runtime: Containers can expose public UDP ports (eg, '-p 123/udp')
8af945f3
  + Runtime: Optionally specify an exact public port (eg. '-p 80:4500')
  + Registry: New image naming scheme inspired by Go packaging convention allows arbitrary combinations of registries
  + Builder: ENTRYPOINT instruction sets a default binary entry point to a container
  + Builder: VOLUME instruction marks a part of the container as persistent data
  * Builder: 'docker build' displays the full output of a build by default
  * Runtime: 'docker login' supports additional options
  - Runtime: Dont save a container's hostname when committing an image.
  - Registry: Fix issues when uploading images to a private registry
bc21b3eb
 
96a1d7c6
 ## 0.4.8 (2013-07-01)
fe0378e9
  + 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.
96a1d7c6
  - Tests: Fix issues in the test suite
 
ca497a82
 ## 0.4.7 (2013-06-28)
  * Registry: easier push/pull to a custom registry
  * Remote API: the progress bar updates faster when downloading and uploading large files
  - Remote API: fix a bug in the optional unix socket transport
  * Runtime: improve detection of kernel version
  + Runtime: host directories can be mounted as volumes with 'docker run -b'
  - Runtime: fix an issue when only attaching to stdin
  * Runtime: use 'tar --numeric-owner' to avoid uid mismatch across multiple hosts
  * Hack: improve test suite and dev environment
  * Hack: remove dependency on unit tests on 'os/user'
  + Documentation: add terminology section
 
9fe8bfb2
 ## 0.4.6 (2013-06-22)
  - Runtime: fix a bug which caused creation of empty images (and volumes) to crash.
 
ecd1fff9
 ## 0.4.5 (2013-06-21)
d9d25401
  + Builder: 'docker build git://URL' fetches and builds a remote git repository
  * Runtime: 'docker ps -s' optionally prints container size
f5d08fc4
  * Tests: Improved and simplified
  - Runtime: fix a regression introduced in 0.4.3 which caused the logs command to fail.
  - Builder: fix a regression when using ADD with single regular file.
 
02f0c1e4
 ## 0.4.4 (2013-06-19)
  - Builder: fix a regression introduced in 0.4.3 which caused builds to fail on new clients.
 
da5bb4db
 ## 0.4.3 (2013-06-19)
  + Builder: ADD of a local file will detect tar archives and unpack them
  * Runtime: Remove bsdtar dependency
  * Runtime: Add unix socket and multiple -H support
  * Runtime: Prevent rm of running containers
  * Runtime: Use go1.1 cookiejar
  * Builder: ADD improvements: use tar for copy + automatically unpack local archives
  * Builder: ADD uses tar/untar for copies instead of calling 'cp -ar'
  * Builder: nicer output for 'docker build'
  * Builder: fixed the behavior of ADD to be (mostly) reverse-compatible, predictable and well-documented.
  * Client: HumanReadable ProgressBar sizes in pull
  * Client: Fix docker version's git commit output
  * API: Send all tags on History API call
  * API: Add tag lookup to history command. Fixes #882
  - Runtime: Fix issue detaching from running TTY container
  - Runtime: Forbid parralel push/pull for a single image/repo. Fixes #311
  - Runtime: Fix race condition within Run command when attaching.
  - Builder: fix a bug which caused builds to fail if ADD was the first command
  - Documentation: fix missing command in irc bouncer example
 
e664a46f
 ## 0.4.2 (2013-06-17)
  - Packaging: Bumped version to work around an Ubuntu bug
 
e8f001d4
 ## 0.4.1 (2013-06-17)
  + Remote Api: Add flag to enable cross domain requests
  + Remote Api/Client: Add images and containers sizes in docker ps and docker images
  + Runtime: Configure dns configuration host-wide with 'docker -d -dns'
  + Runtime: Detect faulty DNS configuration and replace it with a public default
  + Runtime: allow docker run <name>:<id>
  + Runtime: you can now specify public port (ex: -p 80:4500)
  * Client: allow multiple params in inspect
  * Client: Print the container id before the hijack in `docker run`
  * Registry: add regexp check on repo's name
  * Registry: Move auth to the client
  * Runtime: improved image removal to garbage-collect unreferenced parents
  * Vagrantfile: Add the rest api port to vagrantfile's port_forward
  * Upgrade to Go 1.1
  - Builder: don't ignore last line in Dockerfile when it doesn't end with \n
  - Registry: Remove login check on pull
 
a8ae398b
 ## 0.4.0 (2013-06-03)
  + Introducing Builder: 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile
  + Introducing Remote API: control Docker programmatically using a simple HTTP/json API
  * Runtime: various reliability and usability improvements
 
8d737403
 ## 0.3.4 (2013-05-30)
  + Builder: 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile
  + Builder: 'docker build -t FOO' applies the tag FOO to the newly built container.
  + Runtime: interactive TTYs correctly handle window resize
  * Runtime: fix how configuration is merged between layers
  + Remote API: split stdout and stderr on 'docker run'
  + Remote API: optionally listen on a different IP and port (use at your own risk)
  * Documentation: improved install instructions.
 
d17c0b83
 ## 0.3.3 (2013-05-23)
  - Registry: Fix push regression
  - Various bugfixes
 
e289308d
 ## 0.3.2 (2013-05-09)
  * Runtime: Store the actual archive on commit
  * Registry: Improve the checksum process
  * Registry: Use the size to have a good progress bar while pushing
  * Registry: Use the actual archive if it exists in order to speed up the push
  - Registry: Fix error 400 on push
 
06767fb9
 ## 0.3.1 (2013-05-08)
  + Builder: Implement the autorun capability within docker builder
  + Builder: Add caching to docker builder
  + Builder: Add support for docker builder with native API as top level command
  + Runtime: Add go version to debug infos
  + Builder: Implement ENV within docker builder
  + Registry: Add docker search top level command in order to search a repository
  + Images: output graph of images to dot (graphviz)
  + Documentation: new introduction and high-level overview
  + Documentation: Add the documentation for docker builder
  + Website: new high-level overview
  - Makefile: Swap "go get" for "go get -d", especially to compile on go1.1rc
  - Images: fix ByParent function
  - Builder: Check the command existance prior create and add Unit tests for the case
  - Registry: Fix pull for official images with specific tag
  - Registry: Fix issue when login in with a different user and trying to push
  - Documentation: CSS fix for docker documentation to make REST API docs look better.
  - Documentation: Fixed CouchDB example page header mistake
  - Documentation: fixed README formatting
  * Registry: Improve checksum - async calculation
  * Runtime: kernel version - don't show the dash if flavor is empty
  * Documentation: updated www.docker.io website.
  * Builder: use any whitespaces instead of tabs
  * Packaging: packaging ubuntu; issue #510: Use goland-stable PPA package to build docker
 
4f202cd0
 ## 0.3.0 (2013-05-06)
  + Registry: Implement the new registry
  + Documentation: new example: sharing data between 2 couchdb databases
  - Runtime: Fix the command existance check
  - Runtime: strings.Split may return an empty string on no match
  - Runtime: Fix an index out of range crash if cgroup memory is not
  * Documentation: Various improvments
  * Vagrant: Use only one deb line in /etc/apt
 
6c1bb39c
 ## 0.2.2 (2013-05-03)
5ffd6307
  + Support for data volumes ('docker run -v=PATH')
  + Share data volumes between containers ('docker run -volumes-from')
  + Improved documentation
  * Upgrade to Go 1.0.3
  * Various upgrades to the dev environment for contributors
 
6c1bb39c
 ## 0.2.1 (2013-05-01)
4f202cd0
  + 'docker commit -run' bundles a layer with default runtime options: command, ports etc.
d42639e5
  * Improve install process on Vagrant
  + New Dockerfile operation: "maintainer"
  + New Dockerfile operation: "expose"
  + New Dockerfile operation: "cmd"
  + Contrib script to build a Debian base layer
  + 'docker -d -r': restart crashed containers at daemon startup
  * Runtime: improve test coverage
 
6c1bb39c
 ## 0.2.0 (2013-04-23)
90668a8a
  - Runtime: ghost containers can be killed and waited for
  * Documentation: update install intructions
  - Packaging: fix Vagrantfile
  - Development: automate releasing binaries and ubuntu packages
  + Add a changelog
  - Various bugfixes
 
4f6cc5c7
 ## 0.1.8 (2013-04-22)
  - Dynamically detect cgroup capabilities
  - Issue stability warning on kernels <3.8
  - 'docker push' buffers on disk instead of memory
  - Fix 'docker diff' for removed files
4f202cd0
  - Fix 'docker stop' for ghost containers
4f6cc5c7
  - Fix handling of pidfile
  - Various bugfixes and stability improvements
 
 ## 0.1.7 (2013-04-18)
  - Container ports are available on localhost
  - 'docker ps' shows allocated TCP ports
  - Contributors can run 'make hack' to start a continuous integration VM
  - Streamline ubuntu packaging & uploading
  - Various bugfixes and stability improvements
 
 ## 0.1.6 (2013-04-17)
  - Record the author an image with 'docker commit -author'
 
 ## 0.1.5 (2013-04-17)
  - Disable standalone mode
  - Use a custom DNS resolver with 'docker -d -dns'
  - Detect ghost containers
  - Improve diagnosis of missing system capabilities
  - Allow disabling memory limits at compile time
  - Add debian packaging
4f202cd0
  - Documentation: installing on Arch Linux
4f6cc5c7
  - Documentation: running Redis on docker
  - Fixed lxc 0.9 compatibility
  - Automatically load aufs module
  - Various bugfixes and stability improvements
 
 ## 0.1.4 (2013-04-09)
  - Full support for TTY emulation
  - Detach from a TTY session with the escape sequence `C-p C-q`
  - Various bugfixes and stability improvements
  - Minor UI improvements
  - Automatically create our own bridge interface 'docker0'
 
 ## 0.1.3 (2013-04-04)
  - Choose TCP frontend port with '-p :PORT'
  - Layer format is versioned
  - Major reliability improvements to the process manager
  - Various bugfixes and stability improvements
 
 ## 0.1.2 (2013-04-03)
  - Set container hostname with 'docker run -h'
  - Selective attach at run with 'docker run -a [stdin[,stdout[,stderr]]]'
  - Various bugfixes and stability improvements
  - UI polish
  - Progress bar on push/pull
  - Use XZ compression by default
  - Make IP allocator lazy
 
 ## 0.1.1 (2013-03-31)
  - Display shorthand IDs for convenience
  - Stabilize process management
  - Layers can include a commit message
  - Simplified 'docker attach'
  - Fixed support for re-attaching
  - Various bugfixes and stability improvements
  - Auto-download at run
  - Auto-login on push
  - Beefed up documentation
 
 ## 0.1.0 (2013-03-23)
  - First release
0b60829d
  - Implement registry in order to push/pull images
4f6cc5c7
  - TCP port allocation
0b60829d
  - Fix termcaps on Linux
4f6cc5c7
  - Add documentation
0b60829d
  - Add Vagrant support with Vagrantfile
  - Add unit tests
4f6cc5c7
  - Add repository/tags to ease image management
0b60829d
  - Improve the layer implementation