I’ve proposed 2 more Changes for Chef 12.0. They are pretty small and hopefully not too controversial.
Firstly, I’d like to make chef-solo raise an error when attempting to
include_recipe a recipe that’s not in the run_list or dependencies. The tl;dr here is that non-recipe files aren’t loaded if a cookbook isn’t in the run_list or dependency tree, which causes confusing errors. We would have like to have made this condition an error already, but decided not to in order to avoid any possibility of breakage. See these tickets for more background:
The chef-rfc issue for this change is here: https://github.com/opscode/chef-rfc/issues/42 (since it’s a small change it doesn’t get its own RFC, it would be added to RFC 015 https://github.com/opscode/chef-rfc/blob/master/rfc015-chef-12.md
The second change I’m proposing is to finally remove the cookbook overlay feature. This is the feature (or mis-feature IMO) where, when a cookbook appears multiple times in your cookbook_path, chef combines it into a single cookbook with files overlaid. This feature has been deprecated since at least Chef 0.10.4 (deprecation warning was added to master in May 2011). There is more background in this ticket: https://tickets.opscode.com/browse/CHEF-2308
The chef-rfc issue for this change is here: https://github.com/opscode/chef-rfc/issues/43