From 26ceef90338d51827cf56b6ba1818a26e1aab275 Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Sat, 5 Apr 2025 17:19:41 +0200 Subject: [PATCH 1/4] Describe general Ansible major version release schedule; announce that Ansible 12.0.0's release schedule gets delayed according to ansible-core 2.19.0's release schedule. --- docs/docsite/rst/roadmap/COLLECTIONS_12.rst | 40 +++++++++++-------- .../rst/roadmap/ansible_roadmap_index.rst | 31 ++++++++++++++ 2 files changed, 54 insertions(+), 17 deletions(-) diff --git a/docs/docsite/rst/roadmap/COLLECTIONS_12.rst b/docs/docsite/rst/roadmap/COLLECTIONS_12.rst index 0848a56f14c..ac44947eebf 100644 --- a/docs/docsite/rst/roadmap/COLLECTIONS_12.rst +++ b/docs/docsite/rst/roadmap/COLLECTIONS_12.rst @@ -20,24 +20,30 @@ This release schedule includes dates for the `ansible `__, Ansible 12.0.0's schedule will be adjusted accordingly. + The below dates will be updated once we know more about the ansible-core 2.19.0 release schedule. + + The release schedule of Ansible 12.0.0 will follow the :ref:`general Ansible release schedule `, which depends on ansible-core 2.19.0's release schedule as described in that link. + +:~~2025-03-31~~: ansible-core feature freeze, stable-2.19 branch created. +:~~2025-04-07~~: Start of ansible-core 2.19 betas +:~~2025-04-08~~: Ansible-12.0.0 alpha1 [1]_ +:~~2025-04-28~~: First ansible-core 2.19 release candidate. +:~~2025-04-29~~: Ansible-12.0.0 alpha2 [1]_ +:~~2025-05-19~~: Ansible-core-2.19.0 released. +:~~2025-05-19~~: Last day for collections to make backwards incompatible releases that will be accepted into Ansible-12. This includes adding new collections to Ansible 12.0.0; from now on new collections have to wait for 12.1.0 or later. +:~~2025-05-20~~: Ansible-12.0.0 beta1 -- feature freeze [2]_ (collection owners and interested users should test for bugs). +:~~2025-05-27~~: Ansible-12.0.0 rc1 [3]_ [4]_ (weekly release candidates as needed; test and alert us to any blocker bugs). Blocker bugs will slip release. +:~~2025-05-30~~: Last day to trigger an Ansible-12.0.0rc2 release because of major defects in Ansible-12.0.0rc1. +:~~2025-06-03~~: Ansible-12.0.0rc2 when necessary, otherwise Ansible-12.0.0 release. +:~~2025-06-10~~: Ansible-12.0.0 release when Ansible-12.0.0rc2 was necessary. +:~~2025-06-03 or 2023-06-10~~: Create the ansible-build-data directory and files for Ansible-13. +:~~2025-06-16~~: Release of ansible-core 2.19.1. +:~~2025-06-17~~: Release of Ansible-12.1.0 (bugfix + compatible features: every four weeks.) + +.. [1] In case there are any additional ansible-core beta releases or release candidates, we will try to do another Ansible-12.0.0 alpha release. This might mean that we will release Ansible-12.0.0 alpha2 earlier (and release Ansible-12.0.0 alpha3 or later on ~~2025-04-29~~) and / or release one or more additional alpha after ~~2025-04-29~~. .. [2] No new modules or major features accepted after this date. In practice, this means we will freeze the semver collection versions to compatible release versions. For example, if the version of community.crypto on this date was community.crypto 2.3.0; Ansible-12.0.0 could ship with community.crypto 2.3.1. It would not ship with community.crypto 2.4.0. diff --git a/docs/docsite/rst/roadmap/ansible_roadmap_index.rst b/docs/docsite/rst/roadmap/ansible_roadmap_index.rst index b6a26272212..c2a27989870 100644 --- a/docs/docsite/rst/roadmap/ansible_roadmap_index.rst +++ b/docs/docsite/rst/roadmap/ansible_roadmap_index.rst @@ -15,6 +15,37 @@ You can submit feedback on the current roadmap by creating a :ref:`community top Visit the :ref:`Ansible communication guide` for details on how to join and use Ansible communication platforms. +.. _ansible_general_major_release_schedule: + +General release schedule for a new major Ansible release +-------------------------------------------------------- + +The release of a new major Ansible version (``X.0.0``) is coupled to a new major ansible-core release (``2.Y.0``). This section describes the general schedule. A more specific schedule will be mentioned on each major version's roadmap page (see below). If ansible-core releases are delayed, the Ansible release schedule is usually updated to adhere to this general release schedule. + +The generic release schedule of a new major Ansible version ``X.0.0`` can be split up into three phases: + +1. When ansible-core 2.Y.0 **beta** releases are published, there will be one Ansible X.0.0 **alpha** release roughly one day after the corresponding ansible-core beta release. + +1. When ansible-core 2.Y.0 **rc (release candidate)** releases are published, there will be one Ansible X.0.0 **alpha** release roughly one day after the corresponding ansible-core rc release. + +1. When ansible-core 2.Y.0 is generally made available (usually on a Monday), the following schedule will happen from that day on: + + 1. The day of the ansible-core 2.Y.0 day is the last day for collections to make backwards incompatible releases that will be accepted into Ansible X.0.0. This includes adding new collections to Ansible X.0.0; from now on new collections have to wait for X.1.0 or later. + + 1. Ansible's feature freeze will happen on the next day (usually Tuesday), and the first (and usually only) Ansible X.0.0 **beta** release (b1) will be made. + + 1. One week later (again on Tuesday), the first Ansible X.0.0 **rc (release candidate)** will be released. For this release, only bugfix updates for collections are accepted from the versions included in the Ansible X.0.0 b1. + + 1. If no release blockers showed up by Friday of the same week, Ansible X.0.0 will be made generally available on Tuesday of the following week (thus one week after X.0.0 rc1). + + 1. If there have been release blockers, a second release candidate release, Ansible X.0.0 rc2, will happen on Tuesday of the following week (one week after X.0.0 rc1), and the general availability will usually happen one week after that (again on a Tuesday). + + 1. Four weeks after the ansible-core 2.Y.0 release, and 1-2 weeks after the Ansible X.0.0 release, ansible-core 2.Y.1 will be released on (usuaully) a Monday, and one day later (usually Tuesday) there will be the Ansible X.1.0 release. + + Note that the schedule might be extended with further Ansible X.0.0 beta or X.0.0 release candidate releases if special need becomes obvious, potentially due to larger changes in ansible-core that require more testing in collections. + The above schedule (especially with X.0.0 being generally available one week after X.0.0 rc1) is a optimistic schedule, which usually works fine, but might not be enough. + + .. toctree:: :maxdepth: 1 :glob: From 5938ff5333de49ce9ffb870a2a45a28e5876ae15 Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Mon, 7 Apr 2025 19:20:02 +0200 Subject: [PATCH 2/4] Improve formulation. Co-authored-by: Don Naro --- docs/docsite/rst/roadmap/ansible_roadmap_index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docsite/rst/roadmap/ansible_roadmap_index.rst b/docs/docsite/rst/roadmap/ansible_roadmap_index.rst index c2a27989870..354a004a6db 100644 --- a/docs/docsite/rst/roadmap/ansible_roadmap_index.rst +++ b/docs/docsite/rst/roadmap/ansible_roadmap_index.rst @@ -42,8 +42,8 @@ The generic release schedule of a new major Ansible version ``X.0.0`` can be spl 1. Four weeks after the ansible-core 2.Y.0 release, and 1-2 weeks after the Ansible X.0.0 release, ansible-core 2.Y.1 will be released on (usuaully) a Monday, and one day later (usually Tuesday) there will be the Ansible X.1.0 release. - Note that the schedule might be extended with further Ansible X.0.0 beta or X.0.0 release candidate releases if special need becomes obvious, potentially due to larger changes in ansible-core that require more testing in collections. - The above schedule (especially with X.0.0 being generally available one week after X.0.0 rc1) is a optimistic schedule, which usually works fine, but might not be enough. + Note that the schedule might be extended with further Ansible X.0.0 beta or X.0.0 release candidate releases if circumstances require additional time, such as when larger changes in ansible-core require more testing in collections. + The above schedule (especially with X.0.0 being generally available one week after X.0.0 rc1) is an optimistic schedule, which usually works fine, but might not always provide enough time. .. toctree:: From 1e3c5f267d93aec2104e7c8182aaf92aafa3e2da Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Wed, 9 Apr 2025 20:14:54 +0200 Subject: [PATCH 3/4] Undo Ansible 12 roadmap changes. --- docs/docsite/rst/roadmap/COLLECTIONS_12.rst | 40 +++++++++------------ 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/docs/docsite/rst/roadmap/COLLECTIONS_12.rst b/docs/docsite/rst/roadmap/COLLECTIONS_12.rst index ac44947eebf..0848a56f14c 100644 --- a/docs/docsite/rst/roadmap/COLLECTIONS_12.rst +++ b/docs/docsite/rst/roadmap/COLLECTIONS_12.rst @@ -20,30 +20,24 @@ This release schedule includes dates for the `ansible `__, Ansible 12.0.0's schedule will be adjusted accordingly. - The below dates will be updated once we know more about the ansible-core 2.19.0 release schedule. - - The release schedule of Ansible 12.0.0 will follow the :ref:`general Ansible release schedule `, which depends on ansible-core 2.19.0's release schedule as described in that link. - -:~~2025-03-31~~: ansible-core feature freeze, stable-2.19 branch created. -:~~2025-04-07~~: Start of ansible-core 2.19 betas -:~~2025-04-08~~: Ansible-12.0.0 alpha1 [1]_ -:~~2025-04-28~~: First ansible-core 2.19 release candidate. -:~~2025-04-29~~: Ansible-12.0.0 alpha2 [1]_ -:~~2025-05-19~~: Ansible-core-2.19.0 released. -:~~2025-05-19~~: Last day for collections to make backwards incompatible releases that will be accepted into Ansible-12. This includes adding new collections to Ansible 12.0.0; from now on new collections have to wait for 12.1.0 or later. -:~~2025-05-20~~: Ansible-12.0.0 beta1 -- feature freeze [2]_ (collection owners and interested users should test for bugs). -:~~2025-05-27~~: Ansible-12.0.0 rc1 [3]_ [4]_ (weekly release candidates as needed; test and alert us to any blocker bugs). Blocker bugs will slip release. -:~~2025-05-30~~: Last day to trigger an Ansible-12.0.0rc2 release because of major defects in Ansible-12.0.0rc1. -:~~2025-06-03~~: Ansible-12.0.0rc2 when necessary, otherwise Ansible-12.0.0 release. -:~~2025-06-10~~: Ansible-12.0.0 release when Ansible-12.0.0rc2 was necessary. -:~~2025-06-03 or 2023-06-10~~: Create the ansible-build-data directory and files for Ansible-13. -:~~2025-06-16~~: Release of ansible-core 2.19.1. -:~~2025-06-17~~: Release of Ansible-12.1.0 (bugfix + compatible features: every four weeks.) - -.. [1] In case there are any additional ansible-core beta releases or release candidates, we will try to do another Ansible-12.0.0 alpha release. This might mean that we will release Ansible-12.0.0 alpha2 earlier (and release Ansible-12.0.0 alpha3 or later on ~~2025-04-29~~) and / or release one or more additional alpha after ~~2025-04-29~~. +:2025-03-31: ansible-core feature freeze, stable-2.19 branch created. +:2025-04-07: Start of ansible-core 2.19 betas +:2025-04-08: Ansible-12.0.0 alpha1 [1]_ +:2025-04-28: First ansible-core 2.19 release candidate. +:2025-04-29: Ansible-12.0.0 alpha2 [1]_ +:2025-05-19: Ansible-core-2.19.0 released. +:2025-05-19: Last day for collections to make backwards incompatible releases that will be accepted into Ansible-12. This includes adding new collections to Ansible 12.0.0; from now on new collections have to wait for 12.1.0 or later. +:2025-05-20: Ansible-12.0.0 beta1 -- feature freeze [2]_ (collection owners and interested users should test for bugs). +:2025-05-27: Ansible-12.0.0 rc1 [3]_ [4]_ (weekly release candidates as needed; test and alert us to any blocker bugs). Blocker bugs will slip release. +:2025-05-30: Last day to trigger an Ansible-12.0.0rc2 release because of major defects in Ansible-12.0.0rc1. +:2025-06-03: Ansible-12.0.0rc2 when necessary, otherwise Ansible-12.0.0 release. +:2025-06-10: Ansible-12.0.0 release when Ansible-12.0.0rc2 was necessary. +:2025-06-03 or 2023-06-10: Create the ansible-build-data directory and files for Ansible-13. +:2025-06-16: Release of ansible-core 2.19.1. +:2025-06-17: Release of Ansible-12.1.0 (bugfix + compatible features: every four weeks.) + +.. [1] In case there are any additional ansible-core beta releases or release candidates, we will try to do another Ansible-12.0.0 alpha release. This might mean that we will release Ansible-12.0.0 alpha2 earlier (and release Ansible-12.0.0 alpha3 or later on 2025-04-29) and / or release one or more additional alpha after 2024-04-29. .. [2] No new modules or major features accepted after this date. In practice, this means we will freeze the semver collection versions to compatible release versions. For example, if the version of community.crypto on this date was community.crypto 2.3.0; Ansible-12.0.0 could ship with community.crypto 2.3.1. It would not ship with community.crypto 2.4.0. From 6c3848d9a301f01c58e7ab2fffe46c79953e6ea0 Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Wed, 9 Apr 2025 20:15:16 +0200 Subject: [PATCH 4/4] Fix typo. --- docs/docsite/rst/roadmap/ansible_roadmap_index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docsite/rst/roadmap/ansible_roadmap_index.rst b/docs/docsite/rst/roadmap/ansible_roadmap_index.rst index 354a004a6db..f9a6bb6f5a0 100644 --- a/docs/docsite/rst/roadmap/ansible_roadmap_index.rst +++ b/docs/docsite/rst/roadmap/ansible_roadmap_index.rst @@ -40,7 +40,7 @@ The generic release schedule of a new major Ansible version ``X.0.0`` can be spl 1. If there have been release blockers, a second release candidate release, Ansible X.0.0 rc2, will happen on Tuesday of the following week (one week after X.0.0 rc1), and the general availability will usually happen one week after that (again on a Tuesday). - 1. Four weeks after the ansible-core 2.Y.0 release, and 1-2 weeks after the Ansible X.0.0 release, ansible-core 2.Y.1 will be released on (usuaully) a Monday, and one day later (usually Tuesday) there will be the Ansible X.1.0 release. + 1. Four weeks after the ansible-core 2.Y.0 release, and 1-2 weeks after the Ansible X.0.0 release, ansible-core 2.Y.1 will be released on (usually) a Monday, and one day later (usually Tuesday) there will be the Ansible X.1.0 release. Note that the schedule might be extended with further Ansible X.0.0 beta or X.0.0 release candidate releases if circumstances require additional time, such as when larger changes in ansible-core require more testing in collections. The above schedule (especially with X.0.0 being generally available one week after X.0.0 rc1) is an optimistic schedule, which usually works fine, but might not always provide enough time.