Change to Chef Automate Version and Release Numbering

WARNING MESSAGE: “Existing A2 HA customers should NOT upgrade to 3.x now. Please wait for Automate HA.”

New releases of Chef Automate will move from the current calendar-version indicator to a new, semantic-versioning sequence number in order to better communicate when  a major release is available for customers to upgrade to.  

Why are we doing this?

Chef Automate is a versioned product which supports upgrades and backwards compatibility between tested releases. Automate includes an automatic upgrade feature which, when enabled, checks for newer versions of the software as a background task. Customers may choose to upgrade through this method or may “pin” their version to indicate that they would like to stay with a specific version and not check for updates.  

Automatic upgrades include the versioned software application as well as changes to databases or other key components, which may require user intervention and/or downtime in an operational environment.  

The new versioning scheme will provide notice of available upgrades to all Automate users and, if automatic upgrades are enabled, perform the complex migrations between specific versions with minimal downtime.

What is this new versioning system?

Starting from early March, Automate will move to semantic-versioning (SemVer) with a new version series starting at 3.0.0.  This new version label includes three parts: a Major number, a Minor number, and a Patch number.

Major: The major version number (3.x.x) will change when the release has either major new functionality (for example, a new API or analysis module which is not backwards compatible), a breaking change to infrastructure required by Automate, or a significant business event. Major releases indicate a change to the long-term support of prior versions and customers are strongly encouraged to plan the upgrade to the latest major version. Manual upgrade applies at this level, even if automatic upgrades are enabled.

Minor: A change to the minor version number (x.2.x) will indicate the release of new features or functionality not available in the current major version. Minor version changes will not introduce breaking changes to a major release and are backwards compatible to the initial major release (for example, 1.2.1 is compatible with 1.0.0). Customers may upgrade to the latest minor release but do not have to in order to maintain support. Migrations to the next major version will be supported from any minor release. Minor version upgrades will follow the settings for automatic upgrade; that is, if automatic upgrades are selected, then minor versions will automatically be applied.

Patch: The patch version number (x.x.0) will increment for each new Chef Automate build. For example, new patch versions will be used to indicate bug fixes and small enhancements to existing features. No breaking changes will be introduced in patch versions and customers may upgrade or wait until the next minor or major release. Patch-level changes may be sequential from the minor version base (for example, 1.2.3 may require 1.2.1 and 1.2.2 as intermediate steps).

As an overall example of the new version label, a build released on Feb. 9, 2022, may have had a version indicator on https://docs.chef.io/release_notes_automate/ marked “20220209045542,” whereas future builds will be marked like “3.0.5.”

Who will be impacted?

All customers who use Chef Automate should manually upgrade to the 3.0.0 version when available. Customers who are air-gapped or do not want automatic upgrades are also encouraged to manually upgrade to 3.0.0 to stay with a current version, which includes certain functional improvements. Customers who do not perform the Automate upgrade will not receive notifications for new available upgrades and may lose support if the version they are running falls out of long-term support (LTS).

How do I get this new version?

When the last calendar version and first SemVer release are available, customers will be able to download the new Chef Automate packages, and will manually run the upgrade command with a major-version flag, as in the following example:

$ sudo chef-automate upgrade run --major

Additional manual steps will be prompted in the upgrade and will be documented in the release notes for this release, including Postgres upgrade steps.

When it will be available?

Progress will release the final calendar-versioned release of Chef Automate in early March 2022. Shortly afterward, we will release the first semantic-versioned release as “3.0.0” which is planned to have some significant improvements and a new embedded PostgreSQL 13.5 database migration.

Questions?

We plan to answer further questions formally in the two release notes for Chef Automate – the last calendar-versioned release, and the new, SemVer release.

You can always reach out to us on our Community Slack channel, #automate2_0

Enterprise Customers can reach out to their respective Customer Architect or Support Team.


 

Tags:

Brian Loomis

Brian is Chef’s Director of Architecture and leads a small team defining the future of DevSecOps through creating Progress’ Chef platform. He has over 20 years of management and technology consulting with Microsoft – part of both the .NET and Azure launches – and leading his own agile practice defining platforms and digital products with select customers. Brian has led innovative thinking and launched over a dozen digital cloud products for organizations in the Fortune 50 through startups in manufacturing, healthcare, education, and high-tech. He has degrees from Princeton and Cal State, serves as an advisor to several software architecture professional groups, and was formerly an officer in the U. S. Air Force.