# Devtools Projects Transitioning to CalVer Releases

**URL:** <https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444>\
**Category:** News & Announcements\
**Tags:** devtools, ansible-navigator, molecule, ansible-lint, ee\
**Created:** [January 23, 2024, 4:26pm UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444 "2024-01-23T16:26:03Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Qalthos](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/qalthos/32/1096_2.png) [@Qalthos](https://forum.ansible.com/u/Qalthos)\
**Post date:** [January 23, 2024, 4:26pm UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/1 "2024-01-23T16:26:03Z")

</div>

Projects in the devtools space will be switching to [CalVer](https://calver.org/) releases over the next few weeks. This is a surprising change, so let’s get into what that means.

## What

These are the projects that will be transitioning to CalVer:

- [ansible-compat](https://github.com/ansible/ansible-compat/issues/350)
- ansible-creator (completed)
- ansible-dev-environment (completed)
- [ansible-dev-tools](https://github.com/ansible/ansible-dev-tools/issues/61)
- [ansible-language-server](https://github.com/ansible/ansible-language-server/issues/628)
- [ansible-lint](https://github.com/ansible/ansible-lint/issues/3996)
- [ansible-navigator](https://github.com/ansible/ansible-navigator/issues/1654)
- [creator-ee](https://github.com/ansible/creator-ee/issues/384)
- [molecule](https://github.com/ansible/molecule/issues/4120)
- [pytest-ansible](https://github.com/ansible/pytest-ansible/issues/259)
- [tox-ansible](https://github.com/ansible/tox-ansible/issues/263)
- [vscode-ansible](https://github.com/ansible/tox-ansible/issues/263)

We will use a `YY.MM.MICRO` version format. Thus, a release for March 2025 will be named `25.3.0`, and if a patch (ie, non-feature) release is required for that release, it will be named `25.3.1`, even if it is released in April, and the month will not increment until a new version with features or other significant changes is released.

## Why

This is a bit of a change so let’s go over what we hope to accomplish with it.

- Predictable, transparent release cadence

- Version number indicates the age of a release

- Easier to translate versions between tools

## How

Following this announcement, the next feature release in each project will be a CalVer release.

Feature releases will not happen more often than once a month, though patch releases may happen more often as needed. We will also make releases at least once every three months for each project.

Releases will still split out changes by category, including new features, bugfixes, documentation updates, announced deprecations, and removed features.

One of the things we are bringing with this change is an emphasis on fewer breaking changes / more emphasis on deprecation cycles and overlapping features. When something is deprecated, it will be called out in the release notes, along with replacement and how long the feature will remain in place.

## What’s Next

As mentioned, this change will begin rolling out over the next few weeks. However, if you have any comments or concerns, please let us know.

---

<div class="post-metadata">

**Author:** ![Andersson007](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/andersson007/32/89_2.png) [@Andersson007](https://forum.ansible.com/u/Andersson007)\
**Post date:** [January 25, 2024, 8:56am UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/2 "2024-01-25T08:56:35Z")

</div>

@Qalthos this is a great news!

One thing to mention is that when recently i went through all the projects I noticed that there’s no info about versioning, releasing, no common changelog formation, etc. so would be nice to:

- add the versioning info to at least README (maybe to docsites too).
- make all changelog entries/tools for generating similar across all the projects: e.g. based on labels or whatever the majority of their developers prefer. In some projects, there are just all the commit messages listed w/o splitting to Major, minor, patch, etc. kind of changes in GH releases.

Thank you

---

<div class="post-metadata">

**Author:** ![gotmax23](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gotmax23/32/106_2.png) [@gotmax23](https://forum.ansible.com/u/gotmax23)\
**Post date:** [January 25, 2024, 3:18pm UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/3 "2024-01-25T15:18:44Z")

</div>

[@staff](https://forum.ansible.com/groups/staff), can someone please move this to News & Announcements?

---

<div class="post-metadata">

**Author:** ![gwmngilfen](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gwmngilfen/32/6_2.png) [@gwmngilfen](https://forum.ansible.com/u/gwmngilfen)\
**Post date:** [January 25, 2024, 3:36pm UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/4 "2024-01-25T15:36:25Z")

</div>

Done - I agree this is big enough news to email a lot of people about 😛

---

<div class="post-metadata">

**Author:** ![gundalow](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gundalow/32/99_2.png) [@gundalow](https://forum.ansible.com/u/gundalow)\
**Post date:** [January 31, 2024, 9:29am UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/5 "2024-01-31T09:29:23Z")

</div>

Has there been any discussion around using `YYYY.MM.MICRO` vs `YY.MM.MICRO`?

AWX has just released version 23 (SemVer, not CalVer) and I’m not sure that we will be able to make the transition to CalVer in time to avoid confusion.

Also I wonder if using `YYYY` makes it more obvious that this is a year.

---

<div class="post-metadata">

**Author:** ![ssbarnea](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/ssbarnea/32/4923_2.png) [@ssbarnea](https://forum.ansible.com/u/ssbarnea)\
**Post date:** [January 31, 2024, 11:30am UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/6 "2024-01-31T11:30:16Z")

</div>

No need to worry YY was always the plan, no YYYY. We considered long one long time ago but YY won, also seen in popularity from other project’s.

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [January 31, 2024, 12:03pm UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/7 "2024-01-31T12:03:39Z")

</div>

I think @gundalow’s point is that `YYYY` makes it a lot clearer to distinguish CalVer from regular SemVer (since other Ansible ecosystem projects already use SemVer with major versions in a similar realm, like AWX). I agree using `YYYY` instead of `YY` would make this distinction clearer. But apparently that ship has already sailed.

---

<div class="post-metadata">

**Author:** ![rndmh3ro](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/rndmh3ro/32/269_2.png) [@rndmh3ro](https://forum.ansible.com/u/rndmh3ro)\
**Post date:** [February 7, 2024, 10:55am UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/8 "2024-02-07T10:55:43Z")

</div>

Is there anything with calver that indicates possible breaking changes? Or should we from now on expect that every non-patch release is potentially breaking?

---

<div class="post-metadata">

**Author:** ![gwmngilfen](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gwmngilfen/32/6_2.png) [@gwmngilfen](https://forum.ansible.com/u/gwmngilfen)\
**Post date:** [February 9, 2024, 8:33pm UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/9 "2024-02-09T20:33:07Z")

</div>

@tima you were talking about this at #cfgmgmgtcamp this week, any thoughts on YYYY vs YY?

---

<div class="post-metadata">

**Author:** ![tima](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/tima/32/854_2.png) [@tima](https://forum.ansible.com/u/tima)\
**Post date:** [February 13, 2024, 9:30pm UTC](https://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/10 "2024-02-13T21:30:58Z")

</div>

Continuing the discussion from [Devtools Projects Transitioning to CalVer Releases](http://forum.ansible.com/t/devtools-projects-transitioning-to-calver-releases/3444/9):

It is a bit late for me to have an opinion if I really had much of one. When I talked about this at #cfgmgmtcamp, versions of the tools with YY had already been released. One of the ideas behind the move to CalVer is to form a relationship between the various ansible-dev-tools. These tools are independent from server components like AWX so it doesn’t really bother me that one uses YYYY and another YY. Not sure that was helpful.
