The document discusses versioning policies for Chef cookbooks. It introduces the Cookbook Versioning Policy (CVP) which provides guidelines for assigning version numbers to cookbooks based on the type and impact of changes. Major versions are for breaking changes, minor versions are for adding non-breaking features, and patch versions are for fixing bugs. The CVP aims to prevent breaking changes from surprising users and encourage transparent and consistent versioning practices.
11. Enter CVP
Cookbook Versioning Policy:
Sane Versioning for Chef Cookbooks
http://chef-community.github.io/cvp/
Mad props to Kevin Christen!
Wednesday, June 12, 13
12. Public API
• External interfaces
• Names other recipes may be using
• Libraries, Providers & Resources
• Templates used via Providers
Wednesday, June 12, 13
13. Major Versions
• Breaking changes
• Removing previously
deprecated functionality
Wednesday, June 12, 13
14. Minor Versions
• Adding non-breaking features
• New recipe, resource, provider
• New attribute w/default value
• Relaxing constraints
Wednesday, June 12, 13
17. Mike’s Version Theory
• Don’t break stuff
• Don’t surprise others
• Breaking something? Be LOUD!
• Use similar practices for internal code
Wednesday, June 12, 13