Chef 10.18.0 Released!

Chef 10.18.0 is now available in the usual places, with 30 bug fixes and improvements.


Before we go over what’s new in 10.18.0, I’d like to remind you that we released a security fix for Chef Server last Friday. It’s extremely important that you upgrade as soon as possible. Please help spread the word to any fellow Chef users that may not follow our announcements on the mailing list/twitter/IRC/blog, etc.

Chef 11 Compatibility

Chef 11 is fast approaching, and many of you have already begun testing the Chef Server prerelease. Though most of the changes are on the back-end, there are a few
incompatibilities with Chef 10.x, in particular:

  1. knife client reregister in Chef 10.x does not accept the data returned by a Chef 11 server. Tickets:
  2. Chef 10.x clients cannot read encrypted data bag items created by a Chef 11.x client. Related tickets:

This release of Chef fixes these incompatibilities.

For those interested, a complete list of breaking changes in Chef 11 is available on the Chef wiki. A prerelease of the Chef 11 client will be available soon.

Community Contributions

Xabier de Zuazo has been contributing a ton of quality code recently. In this release, he found and fixed an issue where why run support was accidentally enabled for all providers. For all the great work Xabier has been doing recently, we’ve named him this release’s MVP. Thanks, Xabier!

We had a bunch of great patches from lots of people in this release. In no particular order:

Tickets Fixed this Release


  • [CHEF-2427] – yum package version availability does not work with –enablerepo
  • [CHEF-2812] – 0.10.4 -> 0.10.6 regression when reloading prior state from resources
  • [CHEF-2905] – 11: centos5-gems and chef-full bootstraps fail when wget/curl is not installed.
  • [CHEF-3411] – Error Inspectors fail in Shef, masking real error
  • [CHEF-3493] – Regression in recipe_eval
  • [CHEF-3514] – Bootstrap templates use hardcoded temporary file names
  • [CHEF-3543] – Add support for reading ssh_user, identity_file, and host_key_verify configuration from knife.rb for bootstrap
  • [CHEF-3555] – knife cookbook site install fails due to not allowing string format cookbook_path
  • [CHEF-3560] – knife ssh -G user@gateway does not prompt for gateway password
  • [CHEF-3564] – remote_directory is updated_by_last_action on every run
  • [CHEF-3568] – knife bootstrap does not expand tilde (~)
  • [CHEF-3572] – Chefignore does not ignore filenames with only word characters
  • [CHEF-3574] – There's a typo in the action_reload method of lib/chef/provider/service.rb that causes "reload" actions to display "disable service" messages during whyrun
  • [CHEF-3577] – knife ssh overrides port value in ssh config
  • [CHEF-3589] – Why Run code runs code in {{converge_by}} blocks after the provider action is complete
  • [CHEF-3597] – knife.rb cannot handle frozen strings in chef_server_url (like from ENV)
  • [CHEF-3619] – Chef still has obsolete 'rake/rdoctask' require
  • [CHEF-3622] – Chef fails curl download with –bootstrap-proxy option
  • [CHEF-3632] – All providers have whyrun enabled by default due to RemoteDirectory
  • [CHEF-3650] – whyrun output says resource updated
  • [CHEF-3660] – Deploy Revision Provider Fails on Solaris 9
  • [CHEF-3662] – knife client reregister fails against Chef 11 Server
  • [CHEF-3672] – ubuntu12.04-gems bootstrap needs to be updated for 12.10
  • [CHEF-3689] – Client registration fails on existing clients
  • [CHEF-3718] – peg 2.2.0 version of systemu for win ruby 1.9 compat


  • [CHEF-3006] – log provider – separate name from message for notifies
  • [CHEF-3346] – Improve README format
  • [CHEF-3532] – Simplify code in Chef::Cookbook::CookbookVersionLoader#empty?
  • [CHEF-3562] – Add name attribute to metadata.rb by default
  • [CHEF-3576] – support raspbian as a platform

Dan DeLeo