The latest Ansible release (v2.17.4) contains modules that are months behind the latest in the devel branch:
I’d naively had thought that releases would be snapshots of all the code in the Ansible repository. However, I’m guessing that modules (and other components?) are on a different release schedule.
Can anyone point me to information about the builtin modules release schedule? I’m interested to know when certain modules will next be updated.
The answer was not apparent after reading the release and maintenance doc page.
New releases of supported ansible-core versions are done every four weeks, and any backported module bugfixes will be included in that. The older a version is the fewer things are eligible for backport: right now 2.17 can still receive most fixes, 2.16 only critical fixes, and 2.15 only security fixes. New features are never eligible for backporting, and sometimes changes that are eligible might not be backported since it’s a manual process.
Releases for ansible-core 2.x.y are snapshots of the stable branch stable-2.x. The devel branch will be the next stable-2.X branch (right now: stable-2.18; according to the roadmap that was supposed to happen on September 16th).
After reviewing the roadmaps, I see that I hadn’t previously appreciated how far behind devel the latest minor version can be.
It leads me to muse about why so many modules (the things that brought me here) got left behind in ansible-core, and why they aren’t distributed separately. I’m sure there are good reasons for it though!
I’m not sure there is a really good reason for it.
Some of the modules/actions (mostly actions I would say, I can’t think of a module right now) require core support (like ansible.builtin.include_vars) and cannot be implemented in a collection (without tight coupling of that collection and ansible-core itself).
But most modules and plugins don’t fall in that category, and the only reason they’re part of ansible-core and not of a collection is that ansible-core should include some minimal set of batteries (at least that is what I have been told when asking similar things in the past).
(I would - at least nowadays - argue for moving them to a separate collection, maybe called ansible.core Probably including many parts of module_utils itself. I played around with that some time ago in http://forum.ansible.com/t/6700/4.)