Chef 0.7.8 Release


Jeppe Nejsum Madsen scoops up the MVP this release for fixing an annoying bug related to fetching remote files, usually encountered in combination with Amazon's Simple Storage Service (CHEF-296) – and also for alerting us to his patch being missing from 0.7.6!  Thanks, for the patch, and the keen eye, Jeppe.  Matthew Todd receives the "Bug Killer" award for tracking down and squashing some hard-to-reproduce API bugs (CHEF-431, CHEF-432). Keep cooking, guys! 

Earlier this week we recalled Chef 0.7.6 due to an unfortunate set of
bugs that slipped into the release. Chef 0.7.8 contains all of the
fixes of 0.7.6, with some extra love for backwards compatibility.

Thanks to our strong community and contributors, particularly Caleb Tennis and Ezra Zygmuntowicz, these bugs were identified moments after our release and have since been resolved by Opscode staffers Adam Jacob and AJ Christensen.

For those interested in the cause of recall and re-release; The Node system was using a reworked Hash based class internally to store Attributes, which kept the Override and Default attributes specified in Roles from being persisted in the Node data directly.  Unfortunately, it was missing a number of crucial Hash behavioural methods – a great shock to cookbook authors.  It now implements the majority of the methods in Hash, and we'll be re-working this sub-system again in the near future to make it actually descendant from Hash.

"I think the most wonderful thing in the world is another chef. I'm always excited about learning new things about food."

Changelog after the jump.

Release Notes – Chef – Version 0.7.8


  • [CHEF-269] – remote_file fails if URL contains % characters
  • [CHEF-431] – ChefServerSlice::OpenidServer#index should treat content_type as a symbol
  • [CHEF-432] – chef-server-slice views should use slice_url instead of url
  • [CHEF-439] – service resource – inherited file handle weirdness
  • [CHEF-472] – Output logging is very choppy
  • [CHEF-473] – attribute setting issue in 0.7.6
  • [CHEF-477] – Walking an attribute with .each when it is deeply nested and has no defaults or overrides causes an exception
  • [CHEF-479] – Attribute setting issue in 0.7.6 – wrong saved names?
  • [CHEF-482] – Nested hashes loaded from JSON don't act like nested hashes
  • [CHEF-483] – Chef::Node::Attribute.should behave_like_a(Hash)
  • [CHEF-484] – Method Missing attribute lookups don't honour auto vivify on read.
  • [CHEF-486] – Attributes added from an attribute file can unneccessarily block run list expansion


  • [CHEF-430] – Add support for HTTP Basic Authentication to Chef::REST

New Feature

  • [CHEF-474] – Switch chef-server syntax highlighting to coderay
  • [CHEF-475] – chef-repo should have a roles directory with chef upgrade from blog post

AJ Christensen