|
| 1 | +# Devtools Projects Transitioning to CalVer Releases |
| 2 | + |
| 3 | +Projects in the devtools space will be switching to [CalVer](https://calver.org/) |
| 4 | +releases over the next few weeks. This is a surprising change, so let's get into |
| 5 | +what that means. |
| 6 | + |
| 7 | +## What |
| 8 | + |
| 9 | +These are the projects that will be transitioning to CalVer: |
| 10 | + |
| 11 | +- ansible-compat |
| 12 | +- ansible-creator |
| 13 | +- ansible-dev-environment |
| 14 | +- ansible-lint |
| 15 | +- ansible-navigator |
| 16 | +- creator-ee |
| 17 | +- molecule |
| 18 | +- pytest-ansible |
| 19 | +- tox-ansible |
| 20 | +- vscode-ansible |
| 21 | + |
| 22 | +We will use a `YY.MM.MICRO` version format. Thus, a release for March 2025 will be |
| 23 | +named `25.3.0`, and if a patch (ie, non-feature) release is required for that release, |
| 24 | +it will be named `25.3.1`, even if it is released in April, and the month will not |
| 25 | +increment until a new version with features or other significant changes is released. |
| 26 | + |
| 27 | +## Why |
| 28 | + |
| 29 | +This is a bit of a change so let's go over what we hope to accomplish with it. |
| 30 | + |
| 31 | +- Predictable, transparent release cadence |
| 32 | + |
| 33 | + With this, we are committing to time-based releases for all projects. |
| 34 | + While the exact frequency will vary between projects, each will have a release |
| 35 | + between one and three months after the last feature release. |
| 36 | + |
| 37 | +- Version number indicates the age of a release |
| 38 | + |
| 39 | + With CalVer, the age of a release can be trivially determined from the version |
| 40 | + number, instead of having to look up the release notes as at present. |
| 41 | + |
| 42 | +- Easier to translate versions between tools |
| 43 | + |
| 44 | + Many of our tools are interrelated. A consistent version scheme allows one to |
| 45 | + have a good idea of how related but independent tools are expected to work together. |
| 46 | + |
| 47 | +## How |
| 48 | + |
| 49 | +Following this announcement, the next feature release in each project will |
| 50 | +be a CalVer release. |
| 51 | + |
| 52 | +Feature releases will not happen more often than once a month, though |
| 53 | +patch releases may happen more often as needed. We will also make |
| 54 | +releases at least once every three months for each project. |
| 55 | + |
| 56 | +Releases will still split out changes by category, including new features, |
| 57 | +bugfixes, documentation updates, announced deprecations, and removed features. |
| 58 | + |
| 59 | +One of the things we are bringing with this change is an emphasis on fewer |
| 60 | +breaking changes / more emphasis on deprecation cycles and overlapping features. |
| 61 | +When something is deprecated, it will be called out in the release notes, along |
| 62 | +with replacement and how long the feature will remain in place. |
| 63 | + |
| 64 | +## What's Next |
| 65 | + |
| 66 | +As mentioned, this change will begin rolling out over the next few weeks. However, |
| 67 | +if you have any comments or concerns, please let us know. |
0 commit comments