Release Strategy¶
Our release strategy is focused on 3 primary goals: - Provide our customers fixes and small enhancements without taking on unnecessary risk or instability. - Provide a safe upgrade path that will retain fixes and enhancements previously provided to customers - Maintain a single cohesive and consistent product across all customer implementations
Commerce Versioning¶
Commerce adheres to a semantic version pattern made up of 4 parts:
- Major - The year encoded with a counter for the nth release of the year.
- Feature - Increments for each feature added to the Major version series.
- Fix - Increments for each set of fixes applied to each Feature version series.
- Extension - Tag to identify a build that is not officially released software. For example
243.0.0-alpha.4
All products in the Jumpmind Commerce product suite will be released together to keep versions consistent and appropriately communicate compatibility.
Release Types¶
Major¶
This release is represented by a change to the Major version number. These releases are Jumpmind Ecosystem roadmap focused and will contain new features/products, architecture improvements and significant refactors. The aim would be to have 1 GA release per year, typically in the first quarter of the year. These releases will likely contain breaking changes and will require intentional effort to take this update.
Feature¶
This release happens for the purpose of adding business value to existing Major versions and is represented by a change to the minor version number. Drivers of these releases will primarily be customers looking enhancements the core product. These releases are unlikely to introduce breaking changes, unnecessary risk and will not require large upgrade efforts to upgrade to this version. These releases are done monthly.
Fix¶
This release is represented by a change to the Fix version number and will only contain fixes for customer reported bugs. These releases are done every 2 weeks.
Hotfix¶
This release is represented by a change to the Fix version and will only contain the precise changes done to address a Blocker or Critical bug reported by a customer. All other work already done on the release branch is moved to the next Fix number.
Alpha¶
This release is represented with an extension and is a minimally tested preview of an upcoming Major release. These releases are still under-development and may be missing functionality and contain bugs. Alpha releases should never be put into production or higher level environments.