Kitchen-Docker Changelog
Future CHANGELOG notes will be in GitHub release notes
Unreleased
3.4.1 (2026-08-30)
Bug Fixes
- quote container paths interpolated into docker exec command lines (#496) (ae3a754)
- read the image id from a quiet build (#489) (ddc58b5)
- report this gem's own version to kitchen diagnose (#490) (e28171d)
3.4.0 (2026-08-23)
Features
3.3.5 (2026-08-23)
Bug Fixes
- report when docker cp silently writes nothing (#487) (1bc62ba)
- require test-kitchen 3.0 or newer (#492) (0c64225)
- run every docker command through sudo when use_sudo is set (#485) (2481aad)
- stop printing the image inspect JSON on destroy (#488) (0011558)
3.3.4 (2026-08-23)
Bug Fixes
3.3.3 (2026-08-23)
Bug Fixes
- detect containers that exist but have stopped (#476) (c6c7038)
- detect that an image is in use before removing it (#477) (4c5f255)
- remove the staged script when a command fails (#481) (44de85e)
- report why a temp file could not be written (#480) (70565e5)
3.3.2 (2026-08-23)
Bug Fixes
- escape configured values interpolated into docker command lines (#471) (994b0ca)
- split printenv output on the first equals sign only (#473) (9b0d0d7)
- tolerate stderr warnings when parsing docker run container id (rebase of #452) (#475) (a8ad6f6)
3.3.1 (2026-08-23)
Bug Fixes
3.3.0 (2026-08-22)
Features
Other Changes
3.2.4 (2026-07-28)
Bug Fixes
3.2.3 (2026-06-25)
Bug Fixes
Other Changes
-
chore(deps): update actions/checkout action to v4 (#411) (bd3a992)
-
Tell the user when we can't remove the image if it's in use (#406) (bcb7c2b)
-
Remove obsolete Arch Linux limits.conf workaround (#438) (ed14bc6)
-
Remove use of DSA keys due to openssh deprecation (#427) (f42bd6c)
-
Support docker build output for Docker Desktop v4.31 (#423) (511e4ad)
-
chore(deps): update test-kitchen/.github action to v0.1.2 (#414) (057465d)
-
chore(deps): replace google-github-actions/release-please-action action with googleapis/release-please-action (#432) (c1ba214)
-
chore(deps): update actions/checkout action to v5 (#430) (e756c47)
-
chore(deps): update dependency rspec-its to v2 (#425) (9b22526)
-
chore: Remove EOL operating systems from test matrix (#435) (06a6ccf)
-
chore(deps): update dependency kitchen-inspec to v3 (#428) (0cfbe46)
-
chore(deps): update googleapis/release-please-action action to v4 (#433) (60b83e0)
-
chore(deps): update actions/checkout action to v6 (#443) (8be39d4)
-
chore(deps): update test-kitchen/.github action to v0.2.4 (#442) (3490106)
-
Fix curl package conflict in Amazon Linux 2022 images (#436) (4eccec9)
-
chore(deps): update actions/checkout action to v7 (#453) (8397e75)
-
chore(deps): update googleapis/release-please-action action to v5 (#451) (aa7ba91)
-
chore(deps): update docker/setup-buildx-action action to v4 (#449) (5b0a6dc)
-
chore(deps): update docker/setup-qemu-action action to v4 (#448) (803738e)
3.0.0 (2023-11-15)
- Add CI workflow (#404) (5b350d9)
- Update workflows (14c3e93)
- Fix: Switch to buildx builder (#405) (e6edb34)
- Prep for 3.0.0 release (d4b08cd)
2.15.0 (2023-11-13)
- Breaking rockylinux platform out (#399) (c6f9206)
- Make sure gawk is installed on opensuse. (#402) (fa03ee0)
- Prep for 2.15.0 release (65b4743)
2.14.0 - November 13, 2023
- Make sure the /etc/sudoers.d directory exists by @garethgreenaway in #397
- Breaking almalinux platform out by @garethgreenaway #398
- fix: parse_image_id: Process "docker build" output in reverse line order by @terminalmage in #400
- Allow build temporary Dockerfile in configured custom_dir by @Val in 294
2.13.0 - June 10, 2022
- Added CentOSStream and PhotonOS - @garethgreenaway
- Fixed image parser when output includes a duration timestamp - @RulerOf
- Updated the test suites - @RulerOf
- Adding CentOSStream and PhotonOS (#392) (d3467ff)
- Fix image parser when output includes a duration timestamp (#390) (0c9a147)
- Update test suites (#388) (36c01ab)
2.12.0 - December 22, 2021
- Support Docker BuildKit - @RulerOf
- Add new
docker_platformconfig to allow specifying architectures - @RulerOf
2.11.0 - July 2, 2021
- Update the development dependency on kitchen-inspec to 2.x
- Retrieve hostname state data after container is launched to avoid failures when
use_internal_docker_networkis set - Add a new option for setting container isolation. See the readme for additional details
- Support GPUs in containers with a new
gpusoption that takes the same arguments that would be passed todocker run --gpus - suse platform: use system script for ssh key initialization
- Add support for the
--mountdocker CLI option. See the readme for additional details - Use sudo.d files instead of directly editing the sudoers file
- Allow passing
--tmpfsentries to the docker run command. See the readme for additional details - Use less verbose and quicker setup on Gentoo
- Lowercase the instance-name to avoid issues since docker does not allow instance with capital cases
- Fix the error "Could not parse Docker build output for image ID" by improving the output line matching
- Add support for
almalinux&rockylinux
- Add a maintainer wanted status (9751a14)
- Update kitchen-inspec requirement from ~> 1.1 to ~> 2.0 (#367) (e8106a4)
- Added driver option for container isolation (#351) (7f45feb)
- Support GPU in docker (#347) (f0bce9d)
- Fix CI tests and move Dockerfile configurations to helper file (#370) (d9db4f9)
- Add support for the
--mountCLI option (#363) (5f77c2c) - stop editing /etc/sudoers directly (#334) (6b4e552)
- disables docker buildkit (fixes #337) (#379) (b45c485)
- Updates image_helper for additional output line matching (#382) (1e58989)
- Upgrade to GitHub-native Dependabot (#381) (66cedc4)
- README.md: Fix link to getting-started page (#383) (1b33572)
2.10.0 - Mar 28, 2020
- Switched from require to require_relative to slightly improve load time performance
- Allow for train gem 3.x
- Refactor driver to include Windows support (includes new transport for all supported platforms)
- Allow Multiple Platform Names for Windows (#345) (c2f715e)
- Allow train 3.x dev dep (#358) (73f88e6)
- Use require_relative instead of require (#359) (9b66340)
- Update to the latest Ruby releases in Travis (1726dbf)
2.9.0 - Mar 15, 2019
- Add automatic OS detection for amazonlinux, opensuse/leap, and opensuse/tumbleweed
- On Fedora containers uses dnf to setup the OS not yum
- Add support for Amazon Linux (#323) (bac1803)
- On Fedora install the dependencies with dnf not yum (#333) (9009e85)
- Add support for the opensuse/leap images (#322) (8743b45)
2.8.0 - Jan 18, 2019
- Add new config option
use_internal_docker_network, which allows running Docker within Docker. See readme for usage details. - Resolve errors while loading libraries on archlinux
- Fix failures on Ubuntu 18.04
- Check if image exists before attempting to remove it so we don't fail
- Add oraclelinux platform support
- Prevent
uninitialized constant Kitchen::Driver::Docker::Base64error by requiringbase64
- Disable docker caching since I think it's breaking things. (57a8771)
- archlinux must be updated when repos are refreshed (#307) (6075eb3)
- Update homepage in gemspec (#321) (e1d1d7b)
- mkdir /run/sshd in container to support ubuntu 18.04 (#309) (fe9fa89)
- Added support for oraclelinux (#298) (37eff91)
- Fix bug #314 - check if image exists before remove. (#315) (7f5e8dc)
- require base64 (#311) (2831594)
- feat: added use_internal_docker_network feature (#304) (8f6038d)
- Make sure the travis badge is master (254058c)
2.7.0
- Support for SUSE-based container images.
- Improved support for build context shipping.
- Changed
use_sudoto default tofalsein keeping with modern Docker usage.
- Fix Gentoo support (#230) (668a028)
- Use relative paths when passing -f Dockerfile (#245) (b2b44ba)
- Fix ssh_host key generation failure if file already exists (#253) (350a698)
- Docker for Windows socket example (#255) (08fbc00)
- Add support for sles and opensuse operating systems. (#262) (9eabd01)
- Remove gemnasium badge (#300) (69be64f)
- Change
use_sudoto default to false. (fe3734e) - Changelog for 2.7.0. (8714f2a)
- Swap 12.04 for 18.04. (71218f5)
- Drop 18.04 for now, weird issues with sshd. (8b1e0d0)
- Use specific versions for tests. (6b5a561)
- Possible fix for 18.04 or other debianoids that don't actually use upstart. (56b5aea)
- Test on recent Ruby. (f914ed9)
- Also remove 18.04 here too. (ba57e54)
- Disable Arch linux too for now. (f54d81a)
2.6.0
- Set container name with information from the run so you can identify them later on.
- Upgrade to new driver base class structure.
2.6.0.rc.0 (2016-08-14)
- Include the actual license text for ApacheV2. (d64919b)
- More specific versions because RVM makes me sad. (232e5a8)
- Try caching docker stuff? (03d1104)
- Bundle exec all the things dot guife. (a853861)
- Update README.md (b408e94)
- Updates for the README. [ci skip] (4130893)
- Add coverage reporting. This is going to be sad. (ab83071)
- env container=docker for debians, ext #192 (#216) (6f00783)
- De-legacy the driver by switching to the Base base class. (b6d8a47)
- Set a default container name that includes a bunch of info to track down what launched the container. Shameless borrowed from kitchen-rackspace. (bbefea6)
- Be a little less reserved about string length because docker seems to accept longer strings. (deb1d35)
- Make sure we create an unlocked user now that we aren't setting a password. (ed387b2)
- Prepping an RC release to soak for a bit. (20eaca1)
- Changelog for 2.6.0. (62f4894)
2.5.0
- #209 Fix usage with Kitchen rake tasks.
- Add
run_optionsandbuild_optionsconfiguration. - #195 Fix Arch Linux support.
- Fix shell escaping for build paths and SSH keys.
- Support tmpfs mounts without requiring privileged mode (#212) (f4badb3)
- Remove the tmpfs config option in favor of a more generic run_options config, and build_options in case something is needed there. (255e5cf)
- Minor cleanups. (090c2c3)
- Trying to start on getting CI to be a thing. (5b245c7)
- Clean up the capabilities test suite. (f58d170)
- Some tweaks to the kitchen config based on #195. (d0afc76)
- Fix copyright year. (4982231)
- Bump to a pre-release version number. (bf1eca8)
- Escape the temp file path if needed. Fixes #214. (fd41ceb)
- Another minor cleanup. (f93b21b)
- Copy over the rest of #195. Closes #195. (bc5dd57)
- Upgrade OpenSSL on Arch to avoid mismatch errors. (614b65b)
- Some tweaks to make sudo work on all platforms. (c05dbe9)
- Update the capabilities test. (8828cab)
- Update the dockerfile tests to include the SSH key. (e41c7a8)
- I forgot we need Chef installed for busser to work correctly. (c02fcff)
- Add inspec integration tests. /cc @chris-rock (45d5a1e)
- Fully escape the public key when echo'ing it. (28f1e17)
- Changelog for 2.5.0. (9f02e4f)
2.4.0
- #148 Restored support for older versions of Ruby.
- #149 Handle connecting to a container directly as root.
- #154 Improve container caching by reordering the build steps.
- #176 Expose proxy environment variables to the container automatically.
- #192 Set
$container=dockerfor CentOS images. - #196 Mutex SSH key generation for use with
kitchen -c. - #192 Don't wait when stopping a container.
- Strip the public_key whitespace (#167) (2ae315e)
- Remove Tempfile.create. (727f4d0)
- Note about docker-machine since boot2docker is being deprecated (#187) (f7acd0f)
- Whitespace cleanup. (6588c2c)
- Don't wait while stopping a container (#198) (6b2c855)
- Prepping a 2.4.0 release at long last. (8a8e40a)
2.3.0
build_contextoption (boolean) to enable/disable sending the build context to Docker.
- updated docker version constraint in readme (a80b3af)
- Allow disabling the build context. (#143) (531ecd1)
- minor cleanup and test build_context config (5d07ae0)
- Add docs for build_context. (#144) (94cf846)
- minor version bump, 2.3.0 (7687efd)
2.2.0
- Use a temporary file for each suite instance Docker container Dockerfile, instead of passing their contents via STDIN. This allows for the use of commands like ADD and COPY. Users must now use Docker >= 1.5.0
- Passwordless suite instance Docker container login (SSH), using a generated key pair.
- Support for sharing a host device with suite instance Docker containers.
- README YAML highlighting.
- updated changelog (041b48f)
- Fix docs for run_command default (#140) (b5972dd)
- README.md: Syntax highlight yaml (#139) (cbf76ea)
- Adding passwordless SSH and fixing some of the spec files (#141) (2f1dda3)
- Add support for --devices argument to docker. (#135) (159c13d)
- Docker - Build Context Support (#136) (bf07ff2)
- Post merge adjustments, release prep (#142) (64586e3)
- minor version bump, 2.2.0 (ebe73ba)
2.1.0
- Use
NULinstead of/dev/nullon Windows for output redirection
- Use NUL instead of /dev/null to make it work on Windows (#122) (88e3944)
- minor version bump, windows nul (6aa98bf)
2.0.0
- Use Docker
topandportinstead ofinspect - Don't create the kitchen user if it already exists
- Docker container capabilities options: cap_add, cap_drop
- Docker security profile option (SELinux/AppArmor): security_opt
- wait_for_sshd option (boolean)
- Create
/etc/sudoers.dif missing - Fixed option deprecation warnings, require Docker >= 1.2
- Move away from
docker inspectto avoid spurious output (#100) (6864c86) - update privileged flag (#107) (73b5352)
- update capability flags (#105) (e25167c)
- Add centos 5 /etc/sudoers.d support (#102) (a714406)
- Fix deprecated -dns argument. Add host support (#94) (09bcd6e)
- Do not fail if the user already exists (#101) (e9e8b13)
- removed excess code, cleaned up cap_*, wait_for_sshd conditional (ca6dedd)
- updated readme, move cap_* under privileged (8adcf53)
- fixed cap_* block style (d96f6c7)
- Enable security opt (rebased) (#118) (831356f)
- minor readme edits, escape heading underscores, periods. (879691e)
- readme edit, docker version requirement (8f2fae9)
- readme edit, bold docker version constraint (fbd4541)
- readme edit, docker installation link update (389299e)
1.7.0
- Ensure a container id is set before attempting to inspect a container
- use single quotes for centos platform/release adjustments (b35dbe5)
- ensure there is a container id before inspecting a container (6649630)
- minor version bump (a2d6501)
1.6.0
publish_alloption to publish all ports to the host interfaceinstance_nameoption to name the Docker containerlinksoption to link suite instance Docker containerssocketoption will now default to ENVDOCKER_HOSTif set- Fixed verify dependencies output redirection
- Added
fedorato platform names - Support for
gentooandgentoo-paludisplatforms - Adding sudo rule to
/etc/sudoers.d/#{username}in addition to/etc/sudoers
- tell verify_dependencies to be quieter (#77) (4869efb)
- gentoo support (#78) (35447ea)
- Added configuration details for use_sudo (#95) (a7e3f48)
- added "fedora" as a supported platform value (cd4ebfb)
- Support --name and --link and -P options to link between some containers. (#92) (0792a15)
- Add ENV as default socket and add docs (#71) (7e42958)
- default run_command string concatenation (354c537)
- test instance_name, publish_all, and links. (4a87141)
- redirect stderr & stdout, write out
sudoers.d/#{username}(03b2a30) - minor version bump (bdc10b4)
1.5.0 (2014-07-09)
- Official CentOS image changed how it does tagging (#70) (a44b9bc)
- minor version bump, centos tagging (d21213a)
1.4.0 (2014-06-27)
- simple patch to add volumes-from support (#67) (844eda9)
- Add http proxy and https proxy support to suite containers (#66) (30d239f)
- dockerfile environment component, dried up proxy option (a225d1b)
- updated license copyright (226f377)
- sshd UsePrivilegeSeparation=no to deal w/ tmpfs, http(s)_proxy applied at run (2ffd6a0)
1.3.1 (2014-06-05)
- Add support for all the authentication options. (#63) (aeebcc8)
- use underscores for tls options, tls_ (3d68eb3)
- tls config option default value white space (ab1a83f)
- minor version bump, tls support (3284b2b)
1.2.1 (2014-04-24)
- Added necessary requirement to parse socket uri (#55) (1506316)
- patch level bump, ensure uri has been required (ab4828d)
1.2.0 (2014-04-21)
- Added custom Dockerfile support (#53) (0163c88)
- Added support for platform arch (#46) (3fcaf72)
- parallel/concurrency can break container rm, check if container exists (3f89f57)
- docker "binary" config option, ubuntu 14.04 uses
docker.io, default serverspec (310a85f) - document "binary" config option (8fa842a)
- include chef install for test containers/suites (c8549d7)
- Add -N flag to ssh-keygen commands (#51) (566923f)
1.1.0.beta (2014-03-28)
- added "which" package to rhel/centos provisioning (289c17c)
1.0.0 (2014-03-28)
- added
use_cacheandremove_intermediate_containersconfig options (1bfb4a0) - README: update example .kitchen.local.yml (#45) (de23db2)
- removed
remove_intermediate_containers, little value, we have the cache (a1fc991) - documented
use_cache(ca775b5) - cutting 1.0 \o/ (6b5d21b)
1.0.0.beta (2014-03-20)
- add documentation for run_command config option (d3e83df)
- use tk for testing (cf9907d)
- make the default docker socket apparent in kitchen diagnose output (a3a60af)
- fix documentation styling for run_command (3688ace)
- minor readme edits, run_command (ef96495)
- readme edits, yaml doesn't need quotes (fe8eba4)
- readme, updated docs link, not driver specific (2165fa8)
- base docker image has been deprecated, use ubuntu (99a373b)
- already assuming ubuntu, let's assume platform --> image (d0e038a)
- make disabling upstart configurable, disable_upstart, set to false for ubuntu-upstart image (8639669)
- specify the docker cli tool in the dependency message (4683c39)
- prepare for a 1.0.0.beta \o/ (713f8d6)
- document disable_upstart, remove the known issue (d6f480e)
- readme edit, capitalize distros (6e2df3d)
0.13.0 (2013-12-01)
0.12.0 (2013-11-29)
- compute use_sudo using socket, chef omnibus up to provisioner, socket nil for visability (e053859)
0.11.0 (2013-11-28)
- options is 3rd argument, fixes #24 (#26) (a039b14)
- depend on tk 1.0.0.rc.1 (d7e885f)
- new release, wait_for_sshd() fix (f66f6aa)
0.10.0 (2013-11-19)
- no need for sudo in provision_command (53b98b3)
- Update to support the docker "hostname" command flag (#22) (8f630cd)
- Added option privileged which defaults to false (#23) (9284832)
- pre-release cleanup (16a8caf)
0.9.0 (2013-11-15)
0.8.1 (2013-10-26)
- https://github.com/portertech/kitchen-docker/graphs/contributors (70a2722)
- force /sbin/initctl symlink, minor version bump (8ccd795)
0.8.0 (2013-10-26)
- version bump, less boiler plate (12bad52)
0.8.0.beta (2013-10-26)
- Add a set of computed defaults for a couple of known platform names. (#19) (69185c1)
- default_image rewrite, version bump (beta) (e09f5a5)
0.7.1 (2013-10-09)
- keep upstart hack lines grouped (de80bca)
0.7.0 (2013-10-09)
0.6.0 (2013-10-07)
- readme edit, your -> the suite (920cc37)
- correct forward symbol typo (#15) (3ba8cf2)
- tweaks to support the latest docker builds (4e15329)
0.5.0 (2013-07-19)
- custom provision command(s), version bump (bb0fde2)
0.4.0 (2013-07-17)
- Make sure we have lsb-release installed on debian systems. (#7) (0cc1836)
- Adds support for using dockers memory limiter. (#9) (83bf71a)
- Add options for cpu shares, custom dns, and data volumes. (#11) (bc851fd)
- fixed json parsing, now works w/ "the-stretch" branch (ff32bf2)
- unnecessary default config options, readme white space (ab3e0aa)
0.3.0 (2013-06-24)
- Update test-kitchen dependency to 1.0.0.alpha7 (#6) (ecc1db3)
- specify host (public) ports for forward mappings (a1d5b8f)
- driver config option to remove images, default to false, faster builds (3305c9f)
- driver version bump (1c806d5)
0.2.0 (2013-06-23)
- readme, example .kitchen.local.yml (584e4d1)
- readme, document forward (be49379)
- fixed image id parsing, multiple versions of docker (51f7364)
- fixed container ip parsing, inspect returns an array in newer versions (038fd2e)
- fixed ip address parsing, IpAddress -> IPAddress :/ (8e2ac8a)
- fixed rm container, need to stop a running container first (142f05b)
- driver version bump (afeaaf8)
0.1.3 (2013-05-15)
- rm contaianer instead of kill, #4 (71c4e0d)
- port forwarding, forward: - 22, #3 (084d98e)
- default to base image (1d643be)
- mention upstart issue in readme (55d39fe)
- minor version bump (a541275)
0.1.2 (2013-05-15)
0.1.1 (2013-05-15)
- readme, updated links (d189281)
- verify_dependencies(), check for
docker(6551e7c) - slowly updating the readme (2b52278)
- require_chef_omnibus defaults to
true(5dd6416) - use config username and password in dockerfile (fbfd29a)
- readme, document image and platform (9ac9dbf)
- release something (f9332f8)
0.1.1.dev (2013-05-15)
- dynamic dockerfile (1bac53b)
- multi-platform support, debian & rhel (cc71750)
- UseDNS=no, ubuntu and centos "platform" aliases, ssh-keygen for rhel (36ecca3)
- rhel openssh-clients (scp) and no pam (5b24c5e)
- roll another dev build (fe33de9)
0.1.0.dev (2013-05-15)
- Initial commit (b6d11af)
- kitchen driver create (f4c03cd)
- create an image, create a container, get its ip, let kitchen do its thing (5597110)
- Style guideline updates (#1) (5528799)
- sudo, localhost, chef install, destroy (dc2a965)
- ensure hostname -f works for node.fqdn (7b4415f)
- updated gemspec, homepage (c0f410b)