summaryrefslogtreecommitdiff
path: root/docs/dev/policy/release_and_support_schedule.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dev/policy/release_and_support_schedule.md')
-rw-r--r--docs/dev/policy/release_and_support_schedule.md76
1 files changed, 76 insertions, 0 deletions
diff --git a/docs/dev/policy/release_and_support_schedule.md b/docs/dev/policy/release_and_support_schedule.md
new file mode 100644
index 0000000000..9feb9c0f1d
--- /dev/null
+++ b/docs/dev/policy/release_and_support_schedule.md
@@ -0,0 +1,76 @@
+# Chef Infra Release and Support Schedule
+
+## Versioning Scheme
+
+Chef Infra releases follow a `MAJOR.MINOR.PATCH` versioning scheme based on [Semantic Versioning](https://semver.org).
+
+Given a version number `MAJOR.MINOR.PATCH`:
+
+ * **MAJOR** version releases (e.g. 15.x -> 16.x) will include breaking or backwards-incompatible changes.
+ * _Example: When changing the load order of any cookbook segments_
+ * **MINOR** version releases (e.g. 15.1 -> 15.2) will include new features, bug fixes, and will be backwards-compatible to the best of the maintainers' abilities.
+ * _Example: When adding support to the mount provider for special filesystem types that were previously unsupported._
+ * _Example: Major version bump of a software dependency._
+ * **PATCH** version releases (e.g. 15.1.1 -> 15.1.2) will include backwards-compatible bug fixes.
+ * _Example: Minor version bump of a software dependency._
+
+When incrementing a version, the following conditions will apply:
+
+ * When **MAJOR** increases, **MINOR** and **PATCH** will be reset to zero (e.g. 11.X.X -> 12.0.0)
+ * _Note: New features that did not exist in version 1.1.0 may be released in 2.0.0 without any intermediary releases._
+ * When **MINOR** increases, **PATCH** will be reset to zero (e.g. 11.3.x -> 11.4.0)
+
+### Auto-bumping PATCH versions
+
+Chef projects are managed by our Expeditor release tooling application. This application is executed each time a GitHubb Pull Request is merged and incrementwss the patch version of the software before running the change through our internal CI/CD pipeline. As not all builds will make it successfully through the CI/CD pipeline, the versions available for public consumption might have gaps (e.g. 1.2.1, 1.2.10, 1.2.11, 1.2.12, 1.2.20), but all verisons have been built and tested.
+
+## Support Schedule
+
+Chef currently supports the current **major version** release as well as the previous **major version** release. These releases each fall into one of three distinct lifecycle stages:
+
+ - **Generally Available (GA)**
+ - **Deprecated**
+ - **End of Life (EOL)**
+
+### Generally Available (GA)
+
+This stage indicates that the release version is in active development.
+
+ - Releases occur per our regular release schedule
+ - New features as well as bug fixes ship in each new release
+ - When a new major version release of Chef Infra ships it becomes the new GA release and the previous release moves to the Deprecated stage
+
+### Deprecated
+
+This stage indicates that a release version is no longer in active development and will eventually move to end of life status.
+
+ - Releases do not follow our regular release schedule, but instead only occur as necessary for critical bugs or security vulnerabilities.
+ - After a year releases transition from Deprecated to End of Life status when a new major release is made.
+
+### End of Life (EOL)
+
+This stage indicates a previously deprecated release version, which is no longer supported
+ - No additional releases will be made
+ - Documentation will be archived
+ - Cookbooks and other community tooling may no longer function using this version of Chef Infra
+
+## Release Schedule
+
+### Generally Available Release Schedule
+
+ - **Minor releases**: 2nd week of each month
+ - **Major releases**: Once a year in April
+
+### Deprecated Release Schedule
+
+ - Adhoc released for critical bugs and security vulnerabilities only
+
+## Release Announcements
+
+Each release will be announced to the "chef-release" [Chef Mailing List](https://discourse.chef.io) category, notifying users of the new stable release.
+
+### Example Release / Support Cycle
+
+April 2019: Chef 15.0 released as GA
+April 2020: Chef 15 becomes Deprecated when Chef 16 ships
+April 2021: Chef 15 becomes End of Life when Chef 17 ships