From f27791615fdcd2fa4462ffd28c60db0547a214e4 Mon Sep 17 00:00:00 2001 From: Matt Davis <6775756+nitzmahone@users.noreply.github.com> Date: Tue, 21 Apr 2026 09:43:04 -0700 Subject: [PATCH] New release v2.21.0b3 (#86877) --- changelogs/CHANGELOG-v2.21.rst | 26 +++++++++++++++ changelogs/changelog.yaml | 39 ++++++++++++++++++++++ changelogs/fragments/2.21.0b3_summary.yaml | 3 ++ lib/ansible/release.py | 2 +- 4 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/2.21.0b3_summary.yaml diff --git a/changelogs/CHANGELOG-v2.21.rst b/changelogs/CHANGELOG-v2.21.rst index d497099ab8f..0e887c1e90a 100644 --- a/changelogs/CHANGELOG-v2.21.rst +++ b/changelogs/CHANGELOG-v2.21.rst @@ -4,6 +4,32 @@ ansible-core 2.21 "The Rain Song" Release Notes .. contents:: Topics +v2.21.0b3 +========= + +Release Summary +--------------- + +| Release Date: 2026-04-21 +| `Porting Guide `__ + +Minor Changes +------------- + +- task results - Python and Powershell modules do not include the ``invocation`` task result key by default. Injection of the ``invocation`` task result key for Python and Powershell modules may be enabled with the var-settable ``INJECT_INVOCATION`` config item. Most callbacks mask ``invocation`` when displaying a task or loop item result. +- worker process - When controller and forked child workers must share a TTY, the ``WORKER_SESSION_ISOLATION`` config item can be set to ``false`` (via variable/config/envvar) to disable forked worker session isolation. + +Deprecated Features +------------------- + +- task result - Inferred task failure from a non-zero ``rc`` key and absence of a ``failed`` key will be deprecated in Ansible Core 2.22. Actions and modules must explicitly communicate failure by setting the ``failed`` key, using APIs that do so, or raising an unhandled exception. In future releases, the ``rc`` key will receive no special handling during task result processing. + +Bugfixes +-------- + +- ansible-test remote alias - Alias values for ``--controller`` and ``--target`` are properly resolved for ``remote``. Previously, remote alias values (e.g. ``fedora/latest``) resolved to the correct name only for the legacy ``--remote`` arg, failing with an unknown image error for the newer args. +- task results - The ``invocation`` item result key omitted from registered values for looped task results, unless enabled via ``INJECT_INVOCATION``. Previously, it was deleted from registered non-loop results and only available to callbacks. + v2.21.0b2 ========= diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index f0e65b92834..22fb1d77baa 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -573,3 +573,42 @@ releases: - ansible-test-update-distro-containers.yml - start-at-task-fact-gathering.yml release_date: '2026-04-13' + 2.21.0b3: + changes: + bugfixes: + - ansible-test remote alias - Alias values for ``--controller`` and ``--target`` + are properly resolved for ``remote``. Previously, remote alias values (e.g. + ``fedora/latest``) resolved to the correct name only for the legacy ``--remote`` + arg, failing with an unknown image error for the newer args. + - task results - The ``invocation`` item result key omitted from registered + values for looped task results, unless enabled via ``INJECT_INVOCATION``. + Previously, it was deleted from registered non-loop results and only available + to callbacks. + deprecated_features: + - task result - Inferred task failure from a non-zero ``rc`` key and absence + of a ``failed`` key will be deprecated in Ansible Core 2.22. Actions and modules + must explicitly communicate failure by setting the ``failed`` key, using APIs + that do so, or raising an unhandled exception. In future releases, the ``rc`` + key will receive no special handling during task result processing. + minor_changes: + - task results - Python and Powershell modules do not include the ``invocation`` + task result key by default. Injection of the ``invocation`` task result key + for Python and Powershell modules may be enabled with the var-settable ``INJECT_INVOCATION`` + config item. Most callbacks mask ``invocation`` when displaying a task or + loop item result. + - worker process - When controller and forked child workers must share a TTY, + the ``WORKER_SESSION_ISOLATION`` config item can be set to ``false`` (via + variable/config/envvar) to disable forked worker session isolation. + release_summary: '| Release Date: 2026-04-21 + + | `Porting Guide `__ + + ' + codename: The Rain Song + fragments: + - 2.21.0b3_summary.yaml + - configurable_invocation.yml + - configurable_worker_session_isolation.yml + - core_ci_remote_alias.yml + - rc_fail_inference.yml + release_date: '2026-04-21' diff --git a/changelogs/fragments/2.21.0b3_summary.yaml b/changelogs/fragments/2.21.0b3_summary.yaml new file mode 100644 index 00000000000..3bfce7e78e5 --- /dev/null +++ b/changelogs/fragments/2.21.0b3_summary.yaml @@ -0,0 +1,3 @@ +release_summary: | + | Release Date: 2026-04-21 + | `Porting Guide `__ diff --git a/lib/ansible/release.py b/lib/ansible/release.py index 034c4b0d407..c5d4cbfcb0b 100644 --- a/lib/ansible/release.py +++ b/lib/ansible/release.py @@ -17,6 +17,6 @@ from __future__ import annotations -__version__ = '2.21.0b2.post0' +__version__ = '2.21.0b3' __author__ = 'Ansible, Inc.' __codename__ = "The Rain Song"