diff --git a/CHANGELOG.md b/CHANGELOG.md index ff6c9bc9fd..b246ed5447 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,485 +30,704 @@ * Contrib: Improve helper tools to generate debian and Arch linux server images ## 0.6.4 (2013-10-16) -- Runtime: Add cleanup of container when Start() fails -- Testing: Catch errClosing error when TCP and UDP proxies are terminated -- Testing: Add aggregated docker-ci email report -- Testing: Remove a few errors in tests -* Contrib: Reorganize contributed completion scripts to add zsh completion -* Contrib: Add vim syntax highlighting for Dockerfiles from @honza -* Runtime: Add better comments to utils/stdcopy.go -- Testing: add cleanup to remove leftover containers -* Documentation: Document how to edit and release docs -* Documentation: Add initial draft of the Docker infrastructure doc -* Contrib: Add mkimage-arch.sh + +#### Runtime + +- Add cleanup of container when Start() fails +* Add better comments to utils/stdcopy.go +* Add utils.Errorf for error logging ++ Add -rm to docker run for removing a container on exit +- Remove error messages which are not actually errors +- Fix `docker rm` with volumes +- Fix some error cases where a HTTP body might not be closed +- Fix panic with wrong dockercfg file +- Fix the attach behavior with -i +* Record termination time in state. +- Use empty string so TempDir uses the OS's temp dir automatically +- Make sure to close the network allocators ++ Autorestart containers by default +* Bump vendor kr/pty to commit 3b1f6487b `(syscall.O_NOCTTY)` +* lxc: Allow set_file_cap capability in container +- Move run -rm to the cli only +* Split stdout stderr +* Always create a new session for the container + +#### Testing + +- Add aggregated docker-ci email report +- Add cleanup to remove leftover containers +* Add nightly release to docker-ci +* Add more tests around auth.ResolveAuthConfig +- Remove a few errors in tests +- Catch errClosing error when TCP and UDP proxies are terminated +* Only run certain tests with TESTFLAGS='-run TestName' make.sh +* Prevent docker-ci to test closing PRs +* Replace panic by log.Fatal in tests +- Increase TestRunDetach timeout + +#### Documentation + +* Add initial draft of the Docker infrastructure doc +* Add devenvironment link to CONTRIBUTING.md +* Add `apt-get install curl` to Ubuntu docs +* Add explanation for export restrictions +* Add .dockercfg doc +* Remove Gentoo install notes about #1422 workaround +* Fix help text for -v option +* Fix Ping endpoint documentation +- Fix parameter names in docs for ADD command +- Fix ironic typo in changelog +* Various command fixes in postgres example +* Document how to edit and release docs +- Minor updates to `postgresql_service.rst` +* Clarify LGTM process to contributors +- Corrected error in the package name +* Document what `vagrant up` is actually doing ++ improve doc search results +* Cleanup whitespace in API 1.5 docs +* use angle brackets in MAINTAINER example email +* Update archlinux.rst ++ Changes to a new style for the docs. Includes version switcher. +* Formatting, add information about multiline json +* Improve registry and index REST API documentation +- Replace deprecated upgrading reference to docker-latest.tgz, which hasn't been updated since 0.5.3 +* Update Gentoo installation documentation now that we're in the portage tree proper +* Cleanup and reorganize docs and tooling for contributors and maintainers +- Minor spelling correction of protocoll -> protocol + +#### Contrib + +* Add vim syntax highlighting for Dockerfiles from @honza +* Add mkimage-arch.sh +* Reorganize contributed completion scripts to add zsh completion + +#### Hack + +* Add vagrant user to the docker group +* Add proper bash completion for "docker push" +* Add xz utils as a runtime dep +* Add cleanup/refactor portion of #2010 for hack and Dockerfile updates ++ Add contrib/mkimage-centos.sh back (from #1621), and associated documentation link +* Add several of the small make.sh fixes from #1920, and make the output more consistent and contributor-friendly ++ Add @tianon to hack/MAINTAINERS +* Improve network performance for VirtualBox +* Revamp install.sh to be usable by more people, and to use official install methods whenever possible (apt repo, portage tree, etc.) +- Fix contrib/mkimage-debian.sh apt caching prevention ++ Added Dockerfile.tmLanguage to contrib +* Configured FPM to make /etc/init/docker.conf a config file +* Enable SSH Agent forwarding in Vagrant VM +* Several small tweaks/fixes for contrib/mkimage-debian.sh + +#### Other + - Builder: Abort build if mergeConfig returns an error and fix duplicate error message -- Runtime: Remove error messages which are not actually errors -* Testing: Only run certain tests with TESTFLAGS='-run TestName' make.sh -* Testing: Prevent docker-ci to test closing PRs -- Documentation: Minor updates to postgresql_service.rst -* Testing: Add nightly release to docker-ci -* Hack: Improve network performance for VirtualBox -* Hack: Add vagrant user to the docker group -* Runtime: Add utils.Errorf for error logging - Packaging: Remove deprecated packaging directory -* Hack: Revamp install.sh to be usable by more people, and to use official install methods whenever possible (apt repo, portage tree, etc.) -- Hack: Fix contrib/mkimage-debian.sh apt caching prevention -* Documentation: Clarify LGTM process to contributors -- Documentation: Small fixes to parameter names in docs for ADD command -* Runtime: Record termination time in state. - Registry: Use correct auth config when logging in. -- Documentation: Corrected error in the package name -* Documentation: Document what `vagrant up` is actually doing -- Runtime: Fix `docker rm` with volumes -- Runtime: Use empty string so TempDir uses the OS's temp dir automatically -- Runtime: Make sure to close the network allocators -* Testing: Replace panic by log.Fatal in tests -+ Documentation: improve doc search results -- Runtime: Fix some error cases where a HTTP body might not be closed -* Hack: Add proper bash completion for "docker push" -* Documentation: Add devenvironment link to CONTRIBUTING.md -* Documentation: Cleanup whitespace in API 1.5 docs -* Documentation: use angle brackets in MAINTAINER example email -- Testing: Increase TestRunDetach timeout -* Documentation: Fix help text for -v option -+ Hack: Added Dockerfile.tmLanguage to contrib -+ Runtime: Autorestart containers by default -* Testing: Adding more tests around auth.ResolveAuthConfig -* Hack: Configured FPM to make /etc/init/docker.conf a config file -* Hack: Add xz utils as a runtime dep -* Documentation: Add `apt-get install curl` to Ubuntu docs -* Documentation: Remove Gentoo install notes about #1422 workaround -* Documentation: Fix Ping endpoint documentation -* Runtime: Bump vendor kr/pty to commit 3b1f6487b (syscall.O_NOCTTY) -* Runtime: lxc: Allow set_file_cap capability in container -* Documentation: Update archlinux.rst -- Documentation: Fix ironic typo in changelog -* Documentation: Add explanation for export restrictions -* Hack: Add cleanup/refactor portion of #2010 for hack and Dockerfile updates -+ Documentation: Changes to a new style for the docs. Includes version switcher. -* Documentation: Formatting, add information about multiline json -+ Hack: Add contrib/mkimage-centos.sh back (from #1621), and associated documentation link -- Runtime: Fix panic with wrong dockercfg file -- Runtime: Fix the attach behavior with -i -* Documentation: Add .dockercfg doc -- Runtime: Move run -rm to the cli only -* Hack: Enable SSH Agent forwarding in Vagrant VM -+ Runtime: Add -rm to docker run for removing a container on exit -* Documentation: Improve registry and index REST API documentation -* Runtime: Split stdout stderr -- Documentation: Replace deprecated upgrading reference to docker-latest.tgz, which hasn't been updated since 0.5.3 -* Documentation: Update Gentoo installation documentation now that we're in the portage tree proper - Registry: Fix the error message so it is the same as the regex -* Runtime: Always create a new session for the container -* Hack: Add several of the small make.sh fixes from #1920, and make the output more consistent and contributor-friendly -* Documentation: Various command fixes in postgres example -* Documentation: Cleanup and reorganize docs and tooling for contributors and maintainers -- Documentation: Minor spelling correction of protocoll -> protocol -* Hack: Several small tweaks/fixes for contrib/mkimage-debian.sh -+ Hack: Add @tianon to hack/MAINTAINERS ## 0.6.3 (2013-09-23) -* Packaging: Update tar vendor dependency + +#### Packaging + +* Add 'docker' group on install for ubuntu package +* Update tar vendor dependency +* Download apt key over HTTPS + +#### Runtime + +- Only copy and change permissions on non-bindmount volumes +* Allow multiple volumes-from +- Fix HTTP imports from STDIN + +#### Documentation + +* Update section on extracting the docker binary after build +* Update development environment docs for new build process +* Remove 'base' image from documentation + +#### Other + - Client: Fix detach issue -- Runtime: Only copy and change permissions on non-bindmount volumes - Registry: Update regular expression to match index -* Runtime: Allow multiple volumes-from -* Packaging: Download apt key over HTTPS -* Documentation: Update section on extracting the docker binary after build -* Documentation: Update development environment docs for new build process -* Documentation: Remove 'base' image from documentation -* Packaging: Add 'docker' group on install for ubuntu package -- Runtime: Fix HTTP imports from STDIN ## 0.6.2 (2013-09-17) + +#### Runtime + ++ Add domainname support ++ Implement image filtering with path.Match +* Remove unnecesasry warnings +* Remove os/user dependency +* Only mount the hostname file when the config exists +* Handle signals within the `docker login` command +- UID and GID are now also applied to volumes +- `docker start` set error code upon error +- `docker run` set the same error code as the process started + +#### Builder + ++ Add -rm option in order to remove intermediate containers +* Allow multiline for the RUN instruction + +#### Registry + +* Implement login with private registry +- Fix push issues + +#### Other + + 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 improvements -- 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 +* Documentation: General improvments ## 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 + +#### Registry + +* Pass "meta" headers in API calls to the registry + +#### Packaging + +- Use correct upstart script with new build tool +- Use libffi-dev, don`t build it from sources +- Remove duplicate mercurial install command ## 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 + +#### Runtime + ++ Add lxc-conf flag to allow custom lxc options ++ Add an option to set the working directory +* Add Image name to LogEvent tests ++ Add -privileged flag and relevant tests, docs, and examples +* Add websocket support to /container//attach/ws +* Add warning when net.ipv4.ip_forwarding = 0 +* Add hostname to environment +* Add last stable version in `docker version` +- Fix race conditions in parallel pull +- Fix Graph ByParent() to generate list of child images per parent image. +- Fix typo: fmt.Sprint -> fmt.Sprintf +- Fix small \n error un docker build +* Fix to "Inject dockerinit at /.dockerinit" +* Fix #910. print user name to docker info output +* Use Go 1.1.2 for dockerbuilder +* Use ranged for loop on channels +- Use utils.ParseRepositoryTag instead of strings.Split(name, ":") in server.ImageDelete +- Improve CMD, ENTRYPOINT, and attach docs. +- Improve connect message with socket error +- Load authConfig only when needed and fix useless WARNING +- Show tag used when image is missing +* Apply volumes-from before creating volumes +- Make docker run handle SIGINT/SIGTERM +- Prevent crash when .dockercfg not readable +- Install script should be fetched over https, not http. +* API, issue 1471: Use groups for socket permissions +- Correctly detect IPv4 forwarding +* Mount /dev/shm as a tmpfs +- Switch from http to https for get.docker.io +* Let userland proxy handle container-bound traffic +* Updated the Docker CLI to specify a value for the "Host" header. +- Change network range to avoid conflict with EC2 DNS +- Reduce connect and read timeout when pinging the registry +* Parallel pull +- Handle ip route showing mask-less IP addresses +* Allow ENTRYPOINT without CMD +- Always consider localhost as a domain name when parsing the FQN repos name +* Refactor checksum + +#### Documentation + +* Add MongoDB image example +* Add instructions for creating and using the docker group +* Add sudo to examples and installation to documentation +* Add ufw doc +* Add a reference to ps -a +* Add information about Docker`s high level tools over LXC. +* Fix typo in docs for docker run -dns +* Fix a typo in the ubuntu installation guide +* Fix to docs regarding adding docker groups +* Update default -H docs +* Update readme with dependencies for building +* Update amazon.rst to explain that Vagrant is not necessary for running Docker on ec2 +* PostgreSQL service example in documentation +* Suggest installing linux-headers by default. +* Change the twitter handle +* Clarify Amazon EC2 installation +* 'Base' image is deprecated and should no longer be referenced in the docs. +* Move note about officially supported kernel +- Solved the logo being squished in Safari + +#### Builder + ++ Add USER instruction do Dockerfile ++ Add workdir support for the Buildfile +* Add no cache for docker build +- Fix docker build and docker events output +- Only count known instructions as build steps +- Make sure ENV instruction within build perform a commit each time +- Forbid certain paths within docker build ADD +- Repository name (and optionally a tag) in build usage +- Make sure ADD will create everything in 0755 + +#### Remote API + +* Sort Images by most recent creation date. +* Reworking opaque requests in registry module +* Add image name in /events +* Use mime pkg to parse Content-Type +* 650 http utils and user agent field + +#### Hack + ++ Bash Completion: Limit commands to containers of a relevant state +* Add docker dependencies coverage testing into docker-ci + +#### Packaging + ++ Docker-brew 0.5.2 support and memory footprint reduction +* Add new docker dependencies into docker-ci +- Revert "docker.upstart: avoid spawning a `sh` process" ++ Docker-brew and Docker standard library ++ Release docker with docker +* Fix the upstart script generated by get.docker.io +* Enabled the docs to generate manpages. +* Revert Bind daemon to 0.0.0.0 in Vagrant. + +#### Register + +* Improve auth push +* Registry unit tests + mock registry + +#### Tests + +* Improve TestKillDifferentUser to prevent timeout on buildbot +- Fix typo in TestBindMounts (runContainer called without image) +* Improve TestGetContainersTop so it does not rely on sleep +* Relax the lo interface test to allow iface index != 1 +* Add registry functional test to docker-ci +* Add some tests in server and utils + +#### Other + * 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//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 +* Don`t read from stdout when only attached to stdin ## 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 -- Runtime: Add hostname to environment + +#### Runtime + +* Use docker group for socket permissions +- Spawn shell within upstart script +- Handle ip route showing mask-less IP addresses +- Add hostname to environment + +#### Builder + +- Make sure ENV instruction within build perform a commit each time ## 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 + +* 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 ## 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 + +#### Runtime + ++ Add `ps` args to `docker top` ++ Add support for container ID files (pidfile like) ++ Add container=lxc in default env ++ Support networkless containers with `docker run -n` and `docker -d -b=none` +* Stdout/stderr logs are now stored in the same file as JSON +* Allocate a /16 IP range by default, with fallback to /24. Try 12 ranges instead of 3. +* Change .dockercfg format to json and support multiple auth remote +- Do not override volumes from config +- Fix issue with EXPOSE override + +#### API + ++ Docker client now sets useragent (RFC 2616) ++ Add /events endpoint + +#### Builder + ++ ADD command now understands URLs ++ CmdAdd and CmdEnv now respect Dockerfile-set ENV variables +- Create directories with 755 instead of 700 within ADD instruction + +#### Hack + +* Simplify unit tests with helpers +* Improve docker.upstart event +* Add coverage testing into docker-ci ## 0.5.0 (2013-07-17) - + Runtime: List all processes running inside a container with 'docker top' - + Runtime: Host directories can be mounted as volumes with 'docker run -v' - + Runtime: Containers can expose public UDP ports (eg, '-p 123/udp') - + 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 + +#### Runtime + ++ List all processes running inside a container with 'docker top' ++ Host directories can be mounted as volumes with 'docker run -v' ++ Containers can expose public UDP ports (eg, '-p 123/udp') ++ Optionally specify an exact public port (eg. '-p 80:4500') +* 'docker login' supports additional options +- Dont save a container`s hostname when committing an image. + +#### Registry + ++ New image naming scheme inspired by Go packaging convention allows arbitrary combinations of registries +- Fix issues when uploading images to a private registry + +#### Builder + ++ ENTRYPOINT instruction sets a default binary entry point to a container ++ VOLUME instruction marks a part of the container as persistent data +* 'docker build' displays the full output of a build by default ## 0.4.8 (2013-07-01) - + 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. - - Tests: Fix issues in the test suite + ++ 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. +- Tests: Fix issues in the test suite ## 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 + +#### Remote API + +* The progress bar updates faster when downloading and uploading large files +- Fix a bug in the optional unix socket transport + +#### Runtime + +* Improve detection of kernel version ++ Host directories can be mounted as volumes with 'docker run -b' +- fix an issue when only attaching to stdin +* Use 'tar --numeric-owner' to avoid uid mismatch across multiple hosts + +#### Hack + +* Improve test suite and dev environment +* Remove dependency on unit tests on 'os/user' + +#### Other + +* Registry: easier push/pull to a custom registry ++ Documentation: add terminology section ## 0.4.6 (2013-06-22) - - Runtime: fix a bug which caused creation of empty images (and volumes) to crash. + +- Runtime: fix a bug which caused creation of empty images (and volumes) to crash. ## 0.4.5 (2013-06-21) - + Builder: 'docker build git://URL' fetches and builds a remote git repository - * Runtime: 'docker ps -s' optionally prints container size - * 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. + ++ Builder: 'docker build git://URL' fetches and builds a remote git repository +* Runtime: 'docker ps -s' optionally prints container size +* 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. ## 0.4.4 (2013-06-19) - - Builder: fix a regression introduced in 0.4.3 which caused builds to fail on new clients. + +- Builder: fix a regression introduced in 0.4.3 which caused builds to fail on new clients. ## 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 + +#### Builder + ++ ADD of a local file will detect tar archives and unpack them +* ADD improvements: use tar for copy + automatically unpack local archives +* ADD uses tar/untar for copies instead of calling 'cp -ar' +* Fixed the behavior of ADD to be (mostly) reverse-compatible, predictable and well-documented. +- Fix a bug which caused builds to fail if ADD was the first command +* Nicer output for 'docker build' + +#### Runtime + +* Remove bsdtar dependency +* Add unix socket and multiple -H support +* Prevent rm of running containers +* Use go1.1 cookiejar +- Fix issue detaching from running TTY container +- Forbid parralel push/pull for a single image/repo. Fixes #311 +- Fix race condition within Run command when attaching. + +#### Client + +* HumanReadable ProgressBar sizes in pull +* Fix docker version`s git commit output + +#### API + +* Send all tags on History API call +* Add tag lookup to history command. Fixes #882 + +#### Documentation + +- Fix missing command in irc bouncer example ## 0.4.2 (2013-06-17) - - Packaging: Bumped version to work around an Ubuntu bug + +- Packaging: Bumped version to work around an Ubuntu bug ## 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 : - + 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 + +#### Remote Api + ++ Add flag to enable cross domain requests ++ Add images and containers sizes in docker ps and docker images + +#### Runtime + ++ Configure dns configuration host-wide with 'docker -d -dns' ++ Detect faulty DNS configuration and replace it with a public default ++ Allow docker run : ++ You can now specify public port (ex: -p 80:4500) +* Improved image removal to garbage-collect unreferenced parents + +#### Client + +* Allow multiple params in inspect +* Print the container id before the hijack in `docker run` + +#### Registry + +* Add regexp check on repo`s name +* Move auth to the client +- Remove login check on pull + +#### Other + +* 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 ## 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 + +#### Builder + ++ Introducing Builder ++ 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile + +#### Remote API + ++ Introducing Remote API ++ control Docker programmatically using a simple HTTP/json API + +#### Runtime + +* Various reliability and usability improvements ## 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. + +#### Builder + ++ 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile ++ 'docker build -t FOO' applies the tag FOO to the newly built container. + +#### Runtime + ++ Interactive TTYs correctly handle window resize +* Fix how configuration is merged between layers + +#### Remote API + ++ Split stdout and stderr on 'docker run' ++ Optionally listen on a different IP and port (use at your own risk) + +#### Documentation + +* Improved install instructions. ## 0.3.3 (2013-05-23) - - Registry: Fix push regression - - Various bugfixes + +- Registry: Fix push regression +- Various bugfixes ## 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 + +#### Registry + +* Improve the checksum process +* Use the size to have a good progress bar while pushing +* Use the actual archive if it exists in order to speed up the push +- Fix error 400 on push + +#### Runtime + +* Store the actual archive on commit ## 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 + +#### Builder + ++ Implement the autorun capability within docker builder ++ Add caching to docker builder ++ Add support for docker builder with native API as top level command ++ Implement ENV within docker builder +- Check the command existance prior create and add Unit tests for the case +* use any whitespaces instead of tabs + +#### Runtime + ++ Add go version to debug infos +* Kernel version - don`t show the dash if flavor is empty + +#### Registry + ++ Add docker search top level command in order to search a repository +- Fix pull for official images with specific tag +- Fix issue when login in with a different user and trying to push +* Improve checksum - async calculation + +#### Images + ++ Output graph of images to dot (graphviz) +- Fix ByParent function + +#### Documentation + ++ New introduction and high-level overview ++ Add the documentation for docker builder +- CSS fix for docker documentation to make REST API docs look better. +- Fix CouchDB example page header mistake +- Fix README formatting +* Update www.docker.io website. + +#### Other + ++ Website: new high-level overview +- Makefile: Swap "go get" for "go get -d", especially to compile on go1.1rc +* Packaging: packaging ubuntu; issue #510: Use goland-stable PPA package to build docker ## 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 + +#### Runtime + +- Fix the command existance check +- strings.Split may return an empty string on no match +- Fix an index out of range crash if cgroup memory is not + +#### Documentation + +* Various improvments ++ New example: sharing data between 2 couchdb databases + +#### Other + +* Vagrant: Use only one deb line in /etc/apt ++ Registry: Implement the new registry ## 0.2.2 (2013-05-03) - + 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 + ++ 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 ## 0.2.1 (2013-05-01) - + 'docker commit -run' bundles a layer with default runtime options: command, ports etc. - * 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 + ++ 'docker commit -run' bundles a layer with default runtime options: command, ports etc. +* 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 ## 0.2.0 (2013-04-23) - - 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 + +- 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 ## 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 - - Fix 'docker stop' for ghost containers - - Fix handling of pidfile - - Various bugfixes and stability improvements + +- 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 +- Fix 'docker stop' for ghost containers +- 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 + +- 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' + +- 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 - - Documentation: installing on Arch Linux - - Documentation: running Redis on docker - - Fixed lxc 0.9 compatibility - - Automatically load aufs module - - Various bugfixes and stability improvements + +- 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 +- Documentation: installing on Arch Linux +- 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' + +- 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 + +- 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 + +- 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 + +- 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 - - Implement registry in order to push/pull images - - TCP port allocation - - Fix termcaps on Linux - - Add documentation - - Add Vagrant support with Vagrantfile - - Add unit tests - - Add repository/tags to ease image management - - Improve the layer implementation + +Initial public release + +- Implement registry in order to push/pull images +- TCP port allocation +- Fix termcaps on Linux +- Add documentation +- Add Vagrant support with Vagrantfile +- Add unit tests +- Add repository/tags to ease image management +- Improve the layer implementation