diff --git a/changelogs/CHANGELOG-v2.19.rst b/changelogs/CHANGELOG-v2.19.rst index d7e181ef71b..9c9d0b0577d 100644 --- a/changelogs/CHANGELOG-v2.19.rst +++ b/changelogs/CHANGELOG-v2.19.rst @@ -4,6 +4,45 @@ ansible-core 2.19 "What Is and What Should Never Be" Release Notes .. contents:: Topics +v2.19.1rc1 +========== + +Release Summary +--------------- + +| Release Date: 2025-08-18 +| `Porting Guide `__ + +Minor Changes +------------- + +- AnsibleModule - Add temporary internal monkeypatch-able hook to alter module result serialization by splitting serialization from ``_return_formatted`` into ``_record_module_result``. +- ansible-test - Improve formatting of generated coverage config file. +- ansible-test - Use OS packages to satisfy controller requirements on FreeBSD 13.5 during managed instance bootstrapping. +- encrypt - check datatype of salt_size in password_hash filter. +- service_facts - handle keyerror exceptions with warning. +- service_facts - warn user about missing service details instead of ignoring. + +Bugfixes +-------- + +- ansible-test - Always exclude the ``tests/output/`` directory from a collection's code coverage. (https://github.com/ansible/ansible/issues/84244) +- ansible-test - Limit package install retries during managed remote instance bootstrapping. +- ansible-test - Use a consistent coverage config for all collection testing. +- argspec validation - The ``str`` argspec type treats ``None`` values as empty string for better consistency with pre-2.19 templating conversions. +- conditionals - When displaying a broken conditional error or deprecation warning, the origin of the non-boolean result is included (if available), and the raw result is omitted. +- failed_when - When using ``failed_when`` to suppress an error, the ``exception`` key in the result is renamed to ``failed_when_suppressed_exception``. This prevents the error from being displayed by callbacks after being suppressed. (https://github.com/ansible/ansible/issues/85505) +- import_tasks - fix templating parent include arguments. +- plugins config, get_option_and_origin now correctly displays the value and origin of the option. +- template lookup - Skip finalization on the internal templating operation to allow markers to be returned and handled by, e.g. the ``default`` filter. Previously, finalization tripped markers, causing an exception to end processing of the current template pipeline. (https://github.com/ansible/ansible/issues/85674) +- templating - Avoid tripping markers within Jinja generated code. (https://github.com/ansible/ansible/issues/85674) +- templating - Ensure filter plugin result processing occurs under the correct call context. (https://github.com/ansible/ansible/issues/85585) +- templating - Fix slicing of tuples in templating (https://github.com/ansible/ansible/issues/85606). +- templating - Multi-node template results coerce embedded ``None`` nodes to empty string (instead of rendering literal ``None`` to the output). +- templating - Undefined marker values sourced from the Jinja ``getattr->getitem`` fallback are now accessed correctly, raising AnsibleUndefinedVariable for user plugins that do not understand markers. Previously, these values were erroneously returned to user plugin code that had not opted in to marker acceptance. +- tqm - use display.error_as_warning instead of display.warning_as_error. +- tqm - use display.error_as_warning instead of self.warning. + v2.19.0 ======= diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index 206738c5489..718e60b0d87 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -1198,3 +1198,74 @@ releases: - 2.19.0rc2_summary.yaml - 219_catchall.yml release_date: '2025-07-08' + 2.19.1rc1: + changes: + bugfixes: + - ansible-test - Always exclude the ``tests/output/`` directory from a collection's + code coverage. (https://github.com/ansible/ansible/issues/84244) + - ansible-test - Limit package install retries during managed remote instance + bootstrapping. + - ansible-test - Use a consistent coverage config for all collection testing. + - argspec validation - The ``str`` argspec type treats ``None`` values as empty + string for better consistency with pre-2.19 templating conversions. + - conditionals - When displaying a broken conditional error or deprecation warning, + the origin of the non-boolean result is included (if available), and the raw + result is omitted. + - failed_when - When using ``failed_when`` to suppress an error, the ``exception`` + key in the result is renamed to ``failed_when_suppressed_exception``. This + prevents the error from being displayed by callbacks after being suppressed. + (https://github.com/ansible/ansible/issues/85505) + - import_tasks - fix templating parent include arguments. + - plugins config, get_option_and_origin now correctly displays the value and + origin of the option. + - template lookup - Skip finalization on the internal templating operation to + allow markers to be returned and handled by, e.g. the ``default`` filter. + Previously, finalization tripped markers, causing an exception to end processing + of the current template pipeline. (https://github.com/ansible/ansible/issues/85674) + - templating - Avoid tripping markers within Jinja generated code. (https://github.com/ansible/ansible/issues/85674) + - templating - Ensure filter plugin result processing occurs under the correct + call context. (https://github.com/ansible/ansible/issues/85585) + - templating - Fix slicing of tuples in templating (https://github.com/ansible/ansible/issues/85606). + - templating - Multi-node template results coerce embedded ``None`` nodes to + empty string (instead of rendering literal ``None`` to the output). + - templating - Undefined marker values sourced from the Jinja ``getattr->getitem`` + fallback are now accessed correctly, raising AnsibleUndefinedVariable for + user plugins that do not understand markers. Previously, these values were + erroneously returned to user plugin code that had not opted in to marker acceptance. + - tqm - use display.error_as_warning instead of display.warning_as_error. + - tqm - use display.error_as_warning instead of self.warning. + minor_changes: + - AnsibleModule - Add temporary internal monkeypatch-able hook to alter module + result serialization by splitting serialization from ``_return_formatted`` + into ``_record_module_result``. + - ansible-test - Improve formatting of generated coverage config file. + - ansible-test - Use OS packages to satisfy controller requirements on FreeBSD + 13.5 during managed instance bootstrapping. + - encrypt - check datatype of salt_size in password_hash filter. + - service_facts - handle keyerror exceptions with warning. + - service_facts - warn user about missing service details instead of ignoring. + release_summary: '| Release Date: 2025-08-18 + + | `Porting Guide `__ + + ' + codename: What Is and What Should Never Be + fragments: + - 2.19.1rc1_summary.yaml + - 85599-fix-templating-import_tasks-parent-include.yml + - ansible-test-bootstrap-retry.yml + - ansible-test-coverage-config.yml + - ansible-test-freebsd-bootstrap.yml + - concat_coerce_none_to_empty.yml + - elide_broken_conditional_result.yml + - failed-when-exception.yml + - getattr_marker_access.yml + - module_direct_exec.yml + - openrc.yml + - password_hash_encrypt.yml + - plugins_fix_origin.yml + - template-tuple-fix.yml + - template_lookup_skip_finalize.yml + - templating-filter-generators.yml + - tqm.yml + release_date: '2025-08-18' diff --git a/changelogs/fragments/2.19.1rc1_summary.yaml b/changelogs/fragments/2.19.1rc1_summary.yaml new file mode 100644 index 00000000000..e8f45eb4318 --- /dev/null +++ b/changelogs/fragments/2.19.1rc1_summary.yaml @@ -0,0 +1,3 @@ +release_summary: | + | Release Date: 2025-08-18 + | `Porting Guide `__ diff --git a/lib/ansible/release.py b/lib/ansible/release.py index 427dc2f13e8..02462b551da 100644 --- a/lib/ansible/release.py +++ b/lib/ansible/release.py @@ -17,6 +17,6 @@ from __future__ import annotations -__version__ = '2.19.0.post0' +__version__ = '2.19.1rc1' __author__ = 'Ansible, Inc.' __codename__ = "What Is and What Should Never Be"