Versioning

We version artifacts in the common major.minor.patch strategy.

We decided versions should be incremented according to the following rules. The examples provided below are not exhaustive.

PartBreaking Changes?RuleExamples
majorYESbreaking changes without fallback- New Features- Large refactors- Removal of deprecated code- Changes to coding interfaces- Large changes to template bound variables
minorALLOWEDbreaking changes with fallback- Adding new generator behavior which doesn't affect custom templates (or does, with config option for old behavior)- Changing generator templates in a way in which switching to custom templates results in old behavior- Introducing deprecated methods in generators or other shared code
patchNOnew features without breaking changes- New generators- Bug fixes in template or generators

Cadence

For patch release (e.g. 3.0.5 to 3.0.6), we plan to do it on a weekly basis.

For minor release (e.g. 3.1.6 to 3.2.0), we plan to do it on a monthly basis.

For major releases (e.g. 3.3.6 to 4.0.0), we plan to do it on a quarterly basis.