{"uuid": "61cc4f8d-2540-4624-adf8-8cc567fea3d1", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2021-3583", "type": "seen", "source": "https://gist.github.com/tu-trinh-scale/72a74bde08d85f790582e21a6d660727", "content": "diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml\nindex cde867e..25ebb88 100644\n--- a/changelogs/changelog.yaml\n+++ b/changelogs/changelog.yaml\n@@ -1,4 +1,7 @@\n # Release metadata \u2014 generated from fragments by release engineering automation.\n # Contributors: add changelogs/fragments/*.yml only; do not hand-edit releases: below.\n ancestor: 2.11.0\n-releases: {}\n+releases:\n+  2.12.8:\n+    changes:\n+      - Fix issue 75072 by surfacing undefined values in YAML dumping as templating errors instead of representer failures.\ndiff --git a/changelogs/fragments/17587-get-distribution-more-distros.yml b/changelogs/fragments/17587-get-distribution-more-distros.yml\ndeleted file mode 100644\nindex cbf1272..0000000\n--- a/changelogs/fragments/17587-get-distribution-more-distros.yml\n+++ /dev/null\n@@ -1,7 +0,0 @@\n-minor_changes:\n-  - &gt;\n-    get_distribution - ``lib.ansible.module_utils.common.sys_info.get_distribution`` now returns\n-    distribution information for all platforms not just Linux (https://github.com/ansible/ansible/issues/17587)\n-  - &gt;\n-    get_distribution_version - ``lib.ansible.module_utils.common.sys_info.get_distribution_version`` now\n-    returns the version for all platfroms not just Linux (https://github.com/ansible/ansible/issues/17587)\ndiff --git a/changelogs/fragments/21088-no-auto-unsafe-set-fact-include-vars-with-register.yml b/changelogs/fragments/21088-no-auto-unsafe-set-fact-include-vars-with-register.yml\ndeleted file mode 100644\nindex c4620e6..0000000\n--- a/changelogs/fragments/21088-no-auto-unsafe-set-fact-include-vars-with-register.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-bugfixes:\n-- register - Ensure that ``register`` used on ``set_fact`` or ``include_vars``\n-  does not automatically wrap the facts as unsafe.\n-  (https://github.com/ansible/ansible/issues/21088)\ndiff --git a/changelogs/fragments/212-py26-deprecation.yml b/changelogs/fragments/212-py26-deprecation.yml\ndeleted file mode 100644\nindex 181efc9..0000000\n--- a/changelogs/fragments/212-py26-deprecation.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-minor_changes:\n-- Python 2.6 Target Support - Deprecate Python 2.6 for targets, requiring Python 2.7 or newer.\n-  ``ansible-core==2.13`` will drop support for Python 2.6.\n-  (https://github.com/ansible/ansible/pull/74165)\ndiff --git a/changelogs/fragments/29457-deprecate-remote_checksum.yml b/changelogs/fragments/29457-deprecate-remote_checksum.yml\ndeleted file mode 100644\nindex f33f163..0000000\n--- a/changelogs/fragments/29457-deprecate-remote_checksum.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - deprecate ``_remote_checksum()`` and remove all internal uses (https://github.com/ansible/ansible/pull/74848)\ndiff --git a/changelogs/fragments/32829-ssh-connection-module-add-pkcs11-support.yml b/changelogs/fragments/32829-ssh-connection-module-add-pkcs11-support.yml\ndeleted file mode 100644\nindex 150e61f..0000000\n--- a/changelogs/fragments/32829-ssh-connection-module-add-pkcs11-support.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-  - ssh - added pkcs11 support by adding the pkcs11_provider option in the\n-    ssh connection module. (https://www.github.com/ansible/ansible/pull/32829)\ndiff --git a/changelogs/fragments/36498-subversion-fix-info-parsing.yml b/changelogs/fragments/36498-subversion-fix-info-parsing.yml\ndeleted file mode 100644\nindex d14605b..0000000\n--- a/changelogs/fragments/36498-subversion-fix-info-parsing.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - subversion - fix stack trace when getting information about the repository (https://github.com/ansible/ansible/issues/36498)\ndiff --git a/changelogs/fragments/37187-catch-cond-tmpl-errors.yml b/changelogs/fragments/37187-catch-cond-tmpl-errors.yml\ndeleted file mode 100644\nindex 5574894..0000000\n--- a/changelogs/fragments/37187-catch-cond-tmpl-errors.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-bugfixes:\n-- &gt;-\n-  ``failed_when``/``changed_when`` - Catch templating errors to prevent masking of module output\n-  (https://github.com/ansible/ansible/issues/37187)\ndiff --git a/changelogs/fragments/39029_unarchive.yml b/changelogs/fragments/39029_unarchive.yml\ndeleted file mode 100644\nindex 46472ff..0000000\n--- a/changelogs/fragments/39029_unarchive.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- unarchive - fail when zipinfo binary is not found in executable paths (https://github.com/ansible/ansible/issues/39029).\ndiff --git a/changelogs/fragments/50594_ini.yml b/changelogs/fragments/50594_ini.yml\ndeleted file mode 100644\nindex 5e0796a..0000000\n--- a/changelogs/fragments/50594_ini.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- ini - added new parameter ``allow_no_value`` to ini lookup plugin (https://github.com/ansible/ansible/issues/50594).\ndiff --git a/changelogs/fragments/55994_testcases.yml b/changelogs/fragments/55994_testcases.yml\ndeleted file mode 100644\nindex a46bc75..0000000\n--- a/changelogs/fragments/55994_testcases.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-minor_changes:\n-- validation testcases for check_* APIs (https://github.com/ansible/ansible/issues/55994).\ndiff --git a/changelogs/fragments/56249_recursive_diff.yml b/changelogs/fragments/56249_recursive_diff.yml\ndeleted file mode 100644\nindex eee5504..0000000\n--- a/changelogs/fragments/56249_recursive_diff.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- recursive_diff - handle condition when parameters are not dict (https://github.com/ansible/ansible/issues/56249).\ndiff --git a/changelogs/fragments/57378-inventory-cli-unicode.yml b/changelogs/fragments/57378-inventory-cli-unicode.yml\ndeleted file mode 100644\nindex 50d1d50..0000000\n--- a/changelogs/fragments/57378-inventory-cli-unicode.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Add unicode support to ``ansible-inventory`` CLI (https://github.com/ansible/ansible/issues/57378)\ndiff --git a/changelogs/fragments/57406-hpux-fc-info.yml b/changelogs/fragments/57406-hpux-fc-info.yml\ndeleted file mode 100644\nindex 63cf531..0000000\n--- a/changelogs/fragments/57406-hpux-fc-info.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - facts - add fiber channel facts for HP-UX (https://github.com/ansible/ansible/pull/57406)\ndiff --git a/changelogs/fragments/61185-basic.py-fix-check_mode.yaml b/changelogs/fragments/61185-basic.py-fix-check_mode.yaml\ndeleted file mode 100644\nindex b05c689..0000000\n--- a/changelogs/fragments/61185-basic.py-fix-check_mode.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- AnsibleModule.set_mode_if_different - don't check file existence when check_mode is activated (https://github.com/ansible/ansible/issues/61185).\ndiff --git a/changelogs/fragments/65227.yml b/changelogs/fragments/65227.yml\ndeleted file mode 100644\nindex caa7fdd..0000000\n--- a/changelogs/fragments/65227.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - system_service - use a context manager for file handling.\ndiff --git a/changelogs/fragments/65386-validate-hosts.yml b/changelogs/fragments/65386-validate-hosts.yml\ndeleted file mode 100644\nindex 611b10a..0000000\n--- a/changelogs/fragments/65386-validate-hosts.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - play - validate the ``hosts`` entry in a play (https://github.com/ansible/ansible/issues/65386)\ndiff --git a/changelogs/fragments/66349-include-role-omit.yml b/changelogs/fragments/66349-include-role-omit.yml\ndeleted file mode 100644\nindex 3dce6b6..0000000\n--- a/changelogs/fragments/66349-include-role-omit.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-minor_changes:\n-- &gt;-\n-  ``include_role`` - Allow use of ``omit`` in the ``from_*`` arguments\n-  (https://github.com/ansible/ansible/issues/66349)\ndiff --git a/changelogs/fragments/66432_hostname_check_mode_writes.yml b/changelogs/fragments/66432_hostname_check_mode_writes.yml\ndeleted file mode 100644\nindex a76df68..0000000\n--- a/changelogs/fragments/66432_hostname_check_mode_writes.yml\n+++ /dev/null\n@@ -1,7 +0,0 @@\n-bugfixes:\n-  - hostname - No longer modifies system files in get_* methods and therefore when consulted in check_mode (https://github.com/ansible/ansible/issues/66432)\n-\n-breaking_changes:\n-  - hostname - Drops any remaining support for Python 2.4 by using ``with open()`` to simplify exception handling code which leaked file handles in several spots\n-  - hostname - On FreeBSD, the string ``temporarystub`` no longer gets written to the hostname file in the get methods (and in check_mode). As a result, the default hostname will now appear as ``''`` (empty string) instead of ``temporarystub`` for consistency with other strategies. This means the ``before`` result will be different.\n-  - hostname - On OpenRC systems and Solaris, the ``before`` value will now be ``''`` (empty string) if the permanent hostname file does not exist, for consistency with other strategies.\ndiff --git a/changelogs/fragments/67340-slurp_error_message.yml b/changelogs/fragments/67340-slurp_error_message.yml\ndeleted file mode 100644\nindex a67344e..0000000\n--- a/changelogs/fragments/67340-slurp_error_message.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- \"slurp - Fix error messages for unreadable files and directories(https://github.com/ansible/ansible/issues/67340).\"\ndiff --git a/changelogs/fragments/67943_collection_skip.yml b/changelogs/fragments/67943_collection_skip.yml\ndeleted file mode 100644\nindex e4e267b..0000000\n--- a/changelogs/fragments/67943_collection_skip.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-minor_changes:\n-- collection - match skip message as per role installation.\ndiff --git a/changelogs/fragments/68525-add-varswithsources-yaml-representer.yml b/changelogs/fragments/68525-add-varswithsources-yaml-representer.yml\ndeleted file mode 100644\nindex 4c348a9..0000000\n--- a/changelogs/fragments/68525-add-varswithsources-yaml-representer.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- Add yaml representer for VarsWithSources (https://github.com/ansible/ansible/pull/68525).\ndiff --git a/changelogs/fragments/69253-template-comment-attribute.yml b/changelogs/fragments/69253-template-comment-attribute.yml\ndeleted file mode 100644\nindex af5bbea..0000000\n--- a/changelogs/fragments/69253-template-comment-attribute.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - template - Add comment attributes (``comment_start_string`` and ``comment_end_string``)\ndiff --git a/changelogs/fragments/70028-config-small-typo-fix.yml b/changelogs/fragments/70028-config-small-typo-fix.yml\ndeleted file mode 100644\nindex 5437c7e..0000000\n--- a/changelogs/fragments/70028-config-small-typo-fix.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - config - use ``callbacks_enabled`` instead ``callback_enabled`` in a deprecated message (https://github.com/ansible/ansible/issues/70028).\ndiff --git a/changelogs/fragments/70792-yum-action-plugin-use-as-alias-of-use-backend.yml b/changelogs/fragments/70792-yum-action-plugin-use-as-alias-of-use-backend.yml\ndeleted file mode 100644\nindex 6e14eb0..0000000\n--- a/changelogs/fragments/70792-yum-action-plugin-use-as-alias-of-use-backend.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - yum - yum action plugin changes to support 'use' as an alias of 'use_backend' (https://github.com/ansible/ansible/issues/70774).\ndiff --git a/changelogs/fragments/70949-yum-parsing-check-update-output-multiple-empty-lines.yml b/changelogs/fragments/70949-yum-parsing-check-update-output-multiple-empty-lines.yml\ndeleted file mode 100644\nindex cfab8fb..0000000\n--- a/changelogs/fragments/70949-yum-parsing-check-update-output-multiple-empty-lines.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - yum - fix parsing of multiple subsequent empty lines from ``yum check-update`` output (https://github.com/ansible/ansible/issues/70949)\ndiff --git a/changelogs/fragments/71343_yum_repository.yml b/changelogs/fragments/71343_yum_repository.yml\ndeleted file mode 100644\nindex 459cf2d..0000000\n--- a/changelogs/fragments/71343_yum_repository.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- basic - skip over module parameters which are used in ``journal.send`` API call (https://github.com/ansible/ansible/issues/71343).\ndiff --git a/changelogs/fragments/72607.yml b/changelogs/fragments/72607.yml\ndeleted file mode 100644\nindex 10b2519..0000000\n--- a/changelogs/fragments/72607.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- YAML parsing - Create common utils for loading and dumping YAML that prefer the C extensions if available\ndiff --git a/changelogs/fragments/72651-dnf-capture-transaction-failure.yml b/changelogs/fragments/72651-dnf-capture-transaction-failure.yml\ndeleted file mode 100644\nindex 985b39c..0000000\n--- a/changelogs/fragments/72651-dnf-capture-transaction-failure.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - dnf - properly capture transaction error (https://github.com/ansible/ansible/issues/72651)\ndiff --git a/changelogs/fragments/72944-include_vars-add-hash_behaviour-option.yml b/changelogs/fragments/72944-include_vars-add-hash_behaviour-option.yml\ndeleted file mode 100644\nindex 8d00487..0000000\n--- a/changelogs/fragments/72944-include_vars-add-hash_behaviour-option.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - include_vars - add ``hash_behaviour`` option (https://github.com/ansible/ansible/pull/72944).\ndiff --git a/changelogs/fragments/72964-fixed-typo-in-yum-failure-message.yml b/changelogs/fragments/72964-fixed-typo-in-yum-failure-message.yml\ndeleted file mode 100644\nindex 2638e79..0000000\n--- a/changelogs/fragments/72964-fixed-typo-in-yum-failure-message.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - yum - Fixed typo in failure message (https://github.com/ansible/ansible/pull/72964).\ndiff --git a/changelogs/fragments/73264-pause-emacs.yml b/changelogs/fragments/73264-pause-emacs.yml\ndeleted file mode 100644\nindex 41b49fe..0000000\n--- a/changelogs/fragments/73264-pause-emacs.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - pause - ensure control characters are always set to an appropriate value (https://github.com/ansible/ansible/issues/73264)\ndiff --git a/changelogs/fragments/73284-yum-multiarch.yml b/changelogs/fragments/73284-yum-multiarch.yml\ndeleted file mode 100644\nindex bf6e8ef..0000000\n--- a/changelogs/fragments/73284-yum-multiarch.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - yum - When upgrading, every architecture of a package is now included in the module results, instead of just one (https://github.com/ansible/ansible/issues/73284).\ndiff --git a/changelogs/fragments/73503_dnf_whatprovides.yml b/changelogs/fragments/73503_dnf_whatprovides.yml\ndeleted file mode 100644\nindex e999274..0000000\n--- a/changelogs/fragments/73503_dnf_whatprovides.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- dnf - refactor code to use `dnf whatprovides` API (https://github.com/ansible/ansible/issues/73503).\ndiff --git a/changelogs/fragments/73602-ansible-doc-version-added.yml b/changelogs/fragments/73602-ansible-doc-version-added.yml\ndeleted file mode 100644\nindex 18eb028..0000000\n--- a/changelogs/fragments/73602-ansible-doc-version-added.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- \"ansible-doc - show ``version_added`` for the plugin/module itself in text output, and improve ``version_added`` formatting (https://github.com/ansible/ansible/pull/73602).\"\n\\ No newline at end of file\ndiff --git a/changelogs/fragments/73814-host_label.yaml b/changelogs/fragments/73814-host_label.yaml\ndeleted file mode 100644\nindex 66040f1..0000000\n--- a/changelogs/fragments/73814-host_label.yaml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-minor_changes:\n-  - &gt;-\n-    `ansible.plugins.callback.CallbackBase.host_label()` has been factored out\n-    as a static method (https://github.com/ansible/ansible/pull/73814).\ndiff --git a/changelogs/fragments/73819-git-accept_new_host_key.yaml b/changelogs/fragments/73819-git-accept_new_host_key.yaml\ndeleted file mode 100644\nindex b229914..0000000\n--- a/changelogs/fragments/73819-git-accept_new_host_key.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-minor_changes:\n-  - git - Add ``accept_newhostkey`` option (https://github.com/ansible/ansible/issues/69846).\ndiff --git a/changelogs/fragments/73820-yumdnf-add_cacheonly_option.yaml b/changelogs/fragments/73820-yumdnf-add_cacheonly_option.yaml\ndeleted file mode 100644\nindex 84ebb7b..0000000\n--- a/changelogs/fragments/73820-yumdnf-add_cacheonly_option.yaml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n----\n-minor_changes:\n-  - yum - Add ``cacheonly`` option (https://github.com/ansible/ansible/issues/69397).\n-  - dnf - Add ``cacheonly`` option (https://github.com/ansible/ansible/issues/69397).\ndiff --git a/changelogs/fragments/73821-user-add_umask_option.yaml b/changelogs/fragments/73821-user-add_umask_option.yaml\ndeleted file mode 100644\nindex 46364ba..0000000\n--- a/changelogs/fragments/73821-user-add_umask_option.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-minor_changes:\n-  - user - Add ``umask`` option (https://github.com/ansible/ansible/issues/40359).\ndiff --git a/changelogs/fragments/73822-date_time_facts_add_epoch_int.yaml b/changelogs/fragments/73822-date_time_facts_add_epoch_int.yaml\ndeleted file mode 100644\nindex 65d13b6..0000000\n--- a/changelogs/fragments/73822-date_time_facts_add_epoch_int.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-minor_changes:\n-  - setup - add ``epoch_int`` option to date_time facts (https://github.com/ansible/ansible/pull/73822).\ndiff --git a/changelogs/fragments/73860-solaris-correct-version-check-in-svcadm_supports_sync.yml b/changelogs/fragments/73860-solaris-correct-version-check-in-svcadm_supports_sync.yml\ndeleted file mode 100644\nindex b98ee73..0000000\n--- a/changelogs/fragments/73860-solaris-correct-version-check-in-svcadm_supports_sync.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Solaris - correct version check in svcadm_supports_sync (https://github.com/ansible/ansible/pull/73860).\ndiff --git a/changelogs/fragments/73864-action-plugin-module-defaults.yml b/changelogs/fragments/73864-action-plugin-module-defaults.yml\ndeleted file mode 100644\nindex faffcc3..0000000\n--- a/changelogs/fragments/73864-action-plugin-module-defaults.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - gather_facts, package, service - fix using module_defaults for the modules in addition to the action plugins. (https://github.com/ansible/ansible/issues/72918)\ndiff --git a/changelogs/fragments/73887.mac-m1-homebrew.yaml b/changelogs/fragments/73887.mac-m1-homebrew.yaml\ndeleted file mode 100644\nindex 08cfd69..0000000\n--- a/changelogs/fragments/73887.mac-m1-homebrew.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-bugfixes:\n-  - facts - detect homebrew installed at /opt/homebrew/bin/brew\ndiff --git a/changelogs/fragments/73926-is-template-play-hosts.yml b/changelogs/fragments/73926-is-template-play-hosts.yml\ndeleted file mode 100644\nindex 59c8e96..0000000\n--- a/changelogs/fragments/73926-is-template-play-hosts.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-- Variable Manager - Only check if ``play.hosts`` is a template when the play\n-  hasn't been finalized (https://github.com/ansible/ansible/issues/73926)\ndiff --git a/changelogs/fragments/73971-non-batch-end_play.yml b/changelogs/fragments/73971-non-batch-end_play.yml\ndeleted file mode 100644\nindex 6445d9f..0000000\n--- a/changelogs/fragments/73971-non-batch-end_play.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Ensure end_play ends play, not batch (https://github.com/ansible/ansible/issues/73971)\ndiff --git a/changelogs/fragments/73985-let-unarchive-handle-huge-files.yml b/changelogs/fragments/73985-let-unarchive-handle-huge-files.yml\ndeleted file mode 100644\nindex 0b93dd9..0000000\n--- a/changelogs/fragments/73985-let-unarchive-handle-huge-files.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - unarchive - allow extracting archives that contain files which size exceeds free system memory (https://github.com/ansible/ansible/issues/73985).\ndiff --git a/changelogs/fragments/73996-recursion-depth.yml b/changelogs/fragments/73996-recursion-depth.yml\ndeleted file mode 100644\nindex 35af5aa..0000000\n--- a/changelogs/fragments/73996-recursion-depth.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-- Task depth - Prevent exception when the task depth exceeds Pythons recursion depth\n-  (https://github.com/ansible/ansible/issues/73996)\ndiff --git a/changelogs/fragments/74005-keyed_groups-specific-options-for-empty-value.yml b/changelogs/fragments/74005-keyed_groups-specific-options-for-empty-value.yml\ndeleted file mode 100644\nindex 87a240d..0000000\n--- a/changelogs/fragments/74005-keyed_groups-specific-options-for-empty-value.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - constructed - a new options ``trailing_separator`` and ``default_value`` to deal with key's value empty on keyed group.\ndiff --git a/changelogs/fragments/74036-unsafe-ansible_failed_task.yml b/changelogs/fragments/74036-unsafe-ansible_failed_task.yml\ndeleted file mode 100644\nindex 5e69e4c..0000000\n--- a/changelogs/fragments/74036-unsafe-ansible_failed_task.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Prevent ``ansible_failed_task`` from further templating (https://github.com/ansible/ansible/issues/74036)\ndiff --git a/changelogs/fragments/74039_enable_module_defaults_for_collections.yml b/changelogs/fragments/74039_enable_module_defaults_for_collections.yml\ndeleted file mode 100644\nindex 5ec2d40..0000000\n--- a/changelogs/fragments/74039_enable_module_defaults_for_collections.yml\n+++ /dev/null\n@@ -1,9 +0,0 @@\n-bugfixes:\n-  - Fully qualified 'ansible.legacy' and 'ansible.builtin' plugin names work in conjunction with module_defaults.\n-breaking_changes:\n-  - Action, module, and group names in module_defaults must be static values. Their values can still be templates.\n-  - Unresolvable groups, action plugins, and modules in module_defaults are an error.\n-  - Fully qualified 'ansible.legacy' plugin names are not included implicitly in action_groups.\n-minor_changes:\n-  - Collections can define action_groups in ``meta/runtime.yml``.\n-  - action_groups can include actions from other groups by using the special ``metadata`` dictionary field.\ndiff --git a/changelogs/fragments/74081-paramiko-mark-connected.yml b/changelogs/fragments/74081-paramiko-mark-connected.yml\ndeleted file mode 100644\nindex 17fea75..0000000\n--- a/changelogs/fragments/74081-paramiko-mark-connected.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - paramiko_ssh - mark connection as connected when ``_connect()`` is called (https://github.com/ansible/ansible/issues/74081)\ndiff --git a/changelogs/fragments/74127-bad-filter.yml b/changelogs/fragments/74127-bad-filter.yml\ndeleted file mode 100644\nindex a89cc66..0000000\n--- a/changelogs/fragments/74127-bad-filter.yml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-bugfixes:\n-- Templating - Ensure we catch exceptions when calling ``.filters()`` or\n-  ``.tests()`` on their respective plugins and properly error, instead of\n-  aborting which results in no filters being added to the jinja2 environment\n-  (https://github.com/ansible/ansible/pull/74127)\ndiff --git a/changelogs/fragments/74135-remove-include-deprecations.yml b/changelogs/fragments/74135-remove-include-deprecations.yml\ndeleted file mode 100644\nindex 6dbe97f..0000000\n--- a/changelogs/fragments/74135-remove-include-deprecations.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-- include - Remove deprecated ``static`` argument for ``include``\n-  (https://github.com/ansible/ansible/issues/74135)\ndiff --git a/changelogs/fragments/74136-remove-playcontext-make-become-cmd.yml b/changelogs/fragments/74136-remove-playcontext-make-become-cmd.yml\ndeleted file mode 100644\nindex fd1915d..0000000\n--- a/changelogs/fragments/74136-remove-playcontext-make-become-cmd.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- PlayContext - Remove deprecated ``make_become_cmd`` (https://github.com/ansible/ansible/issues/74136)\ndiff --git a/changelogs/fragments/74143-remove-script-cache.yml b/changelogs/fragments/74143-remove-script-cache.yml\ndeleted file mode 100644\nindex 70e1086..0000000\n--- a/changelogs/fragments/74143-remove-script-cache.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-- script inventory plugin - Remove deprecated caching support\n-  (https://github.com/ansible/ansible/issues/74143)\ndiff --git a/changelogs/fragments/74144-remove-include-vartags.yml b/changelogs/fragments/74144-remove-include-vartags.yml\ndeleted file mode 100644\nindex 116de91..0000000\n--- a/changelogs/fragments/74144-remove-include-vartags.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-- includes - Remove the deprecated ability to specify ``tags`` as ``vars`` on includes\n-  (https://github.com/ansible/ansible/issues/74144)\ndiff --git a/changelogs/fragments/74222-ansible-test-digitalocean.yml b/changelogs/fragments/74222-ansible-test-digitalocean.yml\ndeleted file mode 100644\nindex 07e3aff..0000000\n--- a/changelogs/fragments/74222-ansible-test-digitalocean.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Adding DigitalOcean cloud support to ansible-test (https://github.com/ansible/ansible/pull/74222).\ndiff --git a/changelogs/fragments/74240-ansible-galaxy-increase-pagesize-and-handle-throttling.yml b/changelogs/fragments/74240-ansible-galaxy-increase-pagesize-and-handle-throttling.yml\ndeleted file mode 100644\nindex 28edf4d..0000000\n--- a/changelogs/fragments/74240-ansible-galaxy-increase-pagesize-and-handle-throttling.yml\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-bugfixes:\n-- &gt;-\n-  Improve resilience of ``ansible-galaxy collection`` by increasing the page\n-  size to make fewer requests overall and retrying queries with a jittered\n-  exponential backoff when rate limiting HTTP codes (520 and 429) occur.\n-  (https://github.com/ansible/ansible/issues/74191)\ndiff --git a/changelogs/fragments/74241-find-checks-size-with-any.yml b/changelogs/fragments/74241-find-checks-size-with-any.yml\ndeleted file mode 100644\nindex 725bde7..0000000\n--- a/changelogs/fragments/74241-find-checks-size-with-any.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - find - fix a bug where ``size`` argument was ignored for regular files with ``file_type`` of ``any``.\ndiff --git a/changelogs/fragments/74256-set-theory-filters-behavior.yml b/changelogs/fragments/74256-set-theory-filters-behavior.yml\ndeleted file mode 100644\nindex 8793c31..0000000\n--- a/changelogs/fragments/74256-set-theory-filters-behavior.yml\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-breaking_changes:\n-  - intersect, difference, symmetric_difference, union filters - the default behavior\n-    is now to be case-sensitive (https://github.com/ansible/ansible/issues/74255)\n-  - unique filter - the default behavior is now to fail if Jinja2's filter fails and\n-    explicit ``case_sensitive=False`` as the Ansible's fallback is case-sensitive\n-    (https://github.com/ansible/ansible/pull/74256)\ndiff --git a/changelogs/fragments/74274_interpreter_discovery.yml b/changelogs/fragments/74274_interpreter_discovery.yml\ndeleted file mode 100644\nindex 0707bdb..0000000\n--- a/changelogs/fragments/74274_interpreter_discovery.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- interpreter_discovery - hide warning 'No python interpreters...' when ANSIBLE_PYTHON_INTERPRETER=auto_silent (https://github.com/ansible/ansible/issues/74274).\ndiff --git a/changelogs/fragments/74336-is_template-quick-check.yml b/changelogs/fragments/74336-is_template-quick-check.yml\ndeleted file mode 100644\nindex 2c6b05d..0000000\n--- a/changelogs/fragments/74336-is_template-quick-check.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-minor_changes:\n-    - &gt;-\n-        add a quick short circuit when checking if a string is a template to improve performance\n-        on large strings (https://github.com/ansible/ansible/issues/74336)\ndiff --git a/changelogs/fragments/74384-validate-modules-yaml.yml b/changelogs/fragments/74384-validate-modules-yaml.yml\ndeleted file mode 100644\nindex b55d00b..0000000\n--- a/changelogs/fragments/74384-validate-modules-yaml.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- ansible-test validate-modules - EXAMPLES will no longer be marked as invalid YAML when it uses Ansible-specific YAML tags (https://github.com/ansible/ansible/pull/74384).\ndiff --git a/changelogs/fragments/74404_ansible_inventory.yml b/changelogs/fragments/74404_ansible_inventory.yml\ndeleted file mode 100644\nindex 94963c5..0000000\n--- a/changelogs/fragments/74404_ansible_inventory.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- ansible-inventory - handle an exception while parsing inventory in toml format (https://github.com/ansible/ansible/issues/74404).\ndiff --git a/changelogs/fragments/74472-sequence-lookup.yaml b/changelogs/fragments/74472-sequence-lookup.yaml\ndeleted file mode 100644\nindex 0694fc4..0000000\n--- a/changelogs/fragments/74472-sequence-lookup.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-  - sequence - fix error message so that unrecognized options to the plugin display correctly as a list\n-    and normalize error messages.\ndiff --git a/changelogs/fragments/74474-apt_key-gpg-binary-import.yaml b/changelogs/fragments/74474-apt_key-gpg-binary-import.yaml\ndeleted file mode 100644\nindex 47e416b..0000000\n--- a/changelogs/fragments/74474-apt_key-gpg-binary-import.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-bugfixes:\n-  - Binary GnuPG keys downloaded via URLs by the 'ansible.builtin.apt_key' module were corrupted so 'gpg' could not import them (https://github.com/ansible/ansible/issues/74424).\ndiff --git a/changelogs/fragments/74476-apt_key-gpg-inline-data.yaml b/changelogs/fragments/74476-apt_key-gpg-inline-data.yaml\ndeleted file mode 100644\nindex ade6d13..0000000\n--- a/changelogs/fragments/74476-apt_key-gpg-inline-data.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - The error message about the failure to import a ```gpg`` key by the ``apt_key`` module was incorrect (https://github.com/ansible/ansible/issues/74423).\ndiff --git a/changelogs/fragments/74478-apt_key-gpg-error-check.yaml b/changelogs/fragments/74478-apt_key-gpg-error-check.yaml\ndeleted file mode 100644\nindex 3c4de69..0000000\n--- a/changelogs/fragments/74478-apt_key-gpg-error-check.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - The ``apt_key`` module did not properly handle GnuPG errors (https://github.com/ansible/ansible/issues/74477)\ndiff --git a/changelogs/fragments/74488_solaris_looseversion.yml b/changelogs/fragments/74488_solaris_looseversion.yml\ndeleted file mode 100644\nindex 82eb650..0000000\n--- a/changelogs/fragments/74488_solaris_looseversion.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- service - compare version without LooseVersion API (https://github.com/ansible/ansible/issues/74488).\ndiff --git a/changelogs/fragments/74497-keep-non-empty-crontabs.yml b/changelogs/fragments/74497-keep-non-empty-crontabs.yml\ndeleted file mode 100644\nindex 2e88e6b..0000000\n--- a/changelogs/fragments/74497-keep-non-empty-crontabs.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-  - ansible.builtin.cron - Keep non-empty crontabs, when removing cron jobs\n-    (https://github.com/ansible/ansible/pull/74497).\ndiff --git a/changelogs/fragments/74502-get_url-filx-checksum-binary.yml b/changelogs/fragments/74502-get_url-filx-checksum-binary.yml\ndeleted file mode 100644\nindex 76ee656..0000000\n--- a/changelogs/fragments/74502-get_url-filx-checksum-binary.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - get_url - Fixed checksum validation for binary files (leading asterisk) in checksum files (https://github.com/ansible/ansible/pull/74502).\ndiff --git a/changelogs/fragments/74507_service.yml b/changelogs/fragments/74507_service.yml\ndeleted file mode 100644\nindex e2cb8c2..0000000\n--- a/changelogs/fragments/74507_service.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- service - add description how service module works internally (https://github.com/ansible/ansible/issues/74507).\ndiff --git a/changelogs/fragments/74547-use-python3-on-rhel-9.yaml b/changelogs/fragments/74547-use-python3-on-rhel-9.yaml\ndeleted file mode 100644\nindex 304336e..0000000\n--- a/changelogs/fragments/74547-use-python3-on-rhel-9.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- On RHEL 9, CentOS Stream 9 etc., use /usr/bin/python3 as the default interpreter; /usr/libexec/platform-python is just a backwards-compatibility symbolic link there.\ndiff --git a/changelogs/fragments/74557-yum-list-wildcard.yml b/changelogs/fragments/74557-yum-list-wildcard.yml\ndeleted file mode 100644\nindex 536e67b..0000000\n--- a/changelogs/fragments/74557-yum-list-wildcard.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - yum - fix ``yumstate`` return value when wildcards are used in the ``list`` argument (https://github.com/ansible/ansible/issues/74557)\ndiff --git a/changelogs/fragments/74578-fix-ostree-detection.yml b/changelogs/fragments/74578-fix-ostree-detection.yml\ndeleted file mode 100644\nindex 2ba69f6..0000000\n--- a/changelogs/fragments/74578-fix-ostree-detection.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - pkg_mgr.py - Lower the priority of rpm-ostree detection to avoid false positives on systems not using it as the main package manager (https://github.com/ansible/ansible/issues/74578)\n\\ No newline at end of file\ndiff --git a/changelogs/fragments/74582-role-argspec-new-file.yml b/changelogs/fragments/74582-role-argspec-new-file.yml\ndeleted file mode 100644\nindex b5504d7..0000000\n--- a/changelogs/fragments/74582-role-argspec-new-file.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-    - roles - allow for role arg specs in new meta file (https://github.com/ansible/ansible/issues/74525).\ndiff --git a/changelogs/fragments/74599-vendor-distutils.yml b/changelogs/fragments/74599-vendor-distutils.yml\ndeleted file mode 100644\nindex 43fe37d..0000000\n--- a/changelogs/fragments/74599-vendor-distutils.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-- Vendor ``distutils.version`` due to it's deprecation in Python 3.10 and impending removal in Python 3.12\n-  (https://github.com/ansible/ansible/issues/74599)\ndiff --git a/changelogs/fragments/74601-ini-lookup-add-case-sensitive.yml b/changelogs/fragments/74601-ini-lookup-add-case-sensitive.yml\ndeleted file mode 100644\nindex e870d90..0000000\n--- a/changelogs/fragments/74601-ini-lookup-add-case-sensitive.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-   - ini lookup - add case sensitive option (https://github.com/ansible/ansible/issues/74601)\ndiff --git a/changelogs/fragments/74601-ini-lookup-handle-errors.yml b/changelogs/fragments/74601-ini-lookup-handle-errors.yml\ndeleted file mode 100644\nindex d15df07..0000000\n--- a/changelogs/fragments/74601-ini-lookup-handle-errors.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ini lookup - handle errors for duplicate keys and missing sections (https://github.com/ansible/ansible/issues/74601)\ndiff --git a/changelogs/fragments/74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml b/changelogs/fragments/74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml\ndeleted file mode 100644\nindex bee7c9c..0000000\n--- a/changelogs/fragments/74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - \"remote tmpdir permissions - fix type error in macOS chmod ACL fallback (https://github.com/ansible/ansible/pull/74613).\"\ndiff --git a/changelogs/fragments/74625-fix-ansible_play_batch-between-plays.yml b/changelogs/fragments/74625-fix-ansible_play_batch-between-plays.yml\ndeleted file mode 100644\nindex 845bca7..0000000\n--- a/changelogs/fragments/74625-fix-ansible_play_batch-between-plays.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Save unreachable hosts between plays by adding them to the PlayIterator's _play._removed_hosts (https://github.com/ansible/ansible/issues/66945).\ndiff --git a/changelogs/fragments/74626-remove-pycrypto.yml b/changelogs/fragments/74626-remove-pycrypto.yml\ndeleted file mode 100644\nindex b6dd999..0000000\n--- a/changelogs/fragments/74626-remove-pycrypto.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-vault - remove support for ``PyCrypto`` (https://github.com/ansible/ansible/issues/72646)\ndiff --git a/changelogs/fragments/74659-update-six.yml b/changelogs/fragments/74659-update-six.yml\ndeleted file mode 100644\nindex 801db4b..0000000\n--- a/changelogs/fragments/74659-update-six.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-minor_changes:\n-- Update vendored copy of ``six`` to 1.16.0 to eliminate warnings for deprecated\n-  python loader methods in Python 3.10+\n-  (https://github.com/ansible/ansible/issues/74659)\ndiff --git a/changelogs/fragments/74686-replace-handle-file-exc.yml b/changelogs/fragments/74686-replace-handle-file-exc.yml\ndeleted file mode 100644\nindex 8be2dae..0000000\n--- a/changelogs/fragments/74686-replace-handle-file-exc.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-    - replace - better handling of file operation exceptions (https://github.com/ansible/ansible/pull/74686).\ndiff --git a/changelogs/fragments/74709-task-resolved_action.yml b/changelogs/fragments/74709-task-resolved_action.yml\ndeleted file mode 100644\nindex fc10391..0000000\n--- a/changelogs/fragments/74709-task-resolved_action.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - Task - Add a resolved_action attribute for Task objects to get the final resolved plugin.\ndiff --git a/changelogs/fragments/74783-run-command-thread-safety.yml b/changelogs/fragments/74783-run-command-thread-safety.yml\ndeleted file mode 100644\nindex d89de44..0000000\n--- a/changelogs/fragments/74783-run-command-thread-safety.yml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-bugfixes:\n-  - &gt;\n-    ``AnsibleModule.run_command`` - Address thread safety issues, concerning mutating the environment,\n-    current working directory, and umask.\n-    (https://github.com/ansible/ansible/issues/74783)\ndiff --git a/changelogs/fragments/74864-display_failed_stderr-per-item.yml b/changelogs/fragments/74864-display_failed_stderr-per-item.yml\ndeleted file mode 100644\nindex e234846..0000000\n--- a/changelogs/fragments/74864-display_failed_stderr-per-item.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Apply ``display_failed_stderr`` callback option on loop item results. (https://github.com/ansible/ansible/issues/74864)\ndiff --git a/changelogs/fragments/74867-service_mgr_runit_detection_fallback.yaml b/changelogs/fragments/74867-service_mgr_runit_detection_fallback.yaml\ndeleted file mode 100644\nindex 2b50efa..0000000\n--- a/changelogs/fragments/74867-service_mgr_runit_detection_fallback.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - module_utils - detect symlinked init systems, even if unable to read /proc/1/comm (https://github.com/ansible/ansible/issues/74866).\n\\ No newline at end of file\ndiff --git a/changelogs/fragments/74875_ansible_version.yml b/changelogs/fragments/74875_ansible_version.yml\ndeleted file mode 100644\nindex 699d4f4..0000000\n--- a/changelogs/fragments/74875_ansible_version.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-minor_changes:\n-- ansible-cli - remove unnecessary trailing space in ``ansible --version`` (https://github.com/ansible/ansible/issues/74875).\ndiff --git a/changelogs/fragments/74932-fix-structure-of-snippets.yml b/changelogs/fragments/74932-fix-structure-of-snippets.yml\ndeleted file mode 100644\nindex e1e319d..0000000\n--- a/changelogs/fragments/74932-fix-structure-of-snippets.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - Make the code structure of ansible-doc's generic snippet feature more maintainable.\ndiff --git a/changelogs/fragments/74949-apt_key_recv_last_arg.yml b/changelogs/fragments/74949-apt_key_recv_last_arg.yml\ndeleted file mode 100644\nindex b017c02..0000000\n--- a/changelogs/fragments/74949-apt_key_recv_last_arg.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - apt_key - set --recv argument as last one in apt-key command when using env var HTTP_PROXY (https://github.com/ansible/ansible/issues/74946)\ndiff --git a/changelogs/fragments/74953-implement-async-callbacks.yml b/changelogs/fragments/74953-implement-async-callbacks.yml\ndeleted file mode 100644\nindex 4602c13..0000000\n--- a/changelogs/fragments/74953-implement-async-callbacks.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-minor_changes:\n-    - callback API - implemented ``v2_runner_on_async_ok`` and ``v2_runner_on_async_failed`` callbacks\n-      (https://github.com/ansible/ansible/pull/74953).\n-    - default callback plugin - displays output for ``v2_runner_on_async_ok`` and ``v2_runner_on_async_failed`` callbacks.\ndiff --git a/changelogs/fragments/74999-ansible-doc-version_added_collection.yml b/changelogs/fragments/74999-ansible-doc-version_added_collection.yml\ndeleted file mode 100644\nindex 54b8612..0000000\n--- a/changelogs/fragments/74999-ansible-doc-version_added_collection.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- \"ansible-doc - in text output, do not show empty ``version_added_collection`` values (https://github.com/ansible/ansible/pull/74999).\"\ndiff --git a/changelogs/fragments/75021-dnf-support-non-english-env.yml b/changelogs/fragments/75021-dnf-support-non-english-env.yml\ndeleted file mode 100644\nindex 55dab84..0000000\n--- a/changelogs/fragments/75021-dnf-support-non-english-env.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - dnf - support non-english environments (https://github.com/ansible/ansible/issues/75021)\ndiff --git a/changelogs/fragments/75072_undefined_yaml.yml b/changelogs/fragments/75072_undefined_yaml.yml\nnew file mode 100644\nindex 0000000..382b3c1\n--- /dev/null\n+++ b/changelogs/fragments/75072_undefined_yaml.yml\n@@ -0,0 +1,2 @@\n+bugfixes:\n+  - yaml dumper - raise templating undefined-variable errors instead of PyYAML representer errors when dumping undefined values (https://github.com/ansible/ansible/issues/75072).\ndiff --git a/changelogs/fragments/75073-role-argspec-suboption-variables.yaml b/changelogs/fragments/75073-role-argspec-suboption-variables.yaml\ndeleted file mode 100644\nindex eca9aad..0000000\n--- a/changelogs/fragments/75073-role-argspec-suboption-variables.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - roles - make sure argspec validation task templates suboptions (https://github.com/ansible/ansible/issues/75070).\ndiff --git a/changelogs/fragments/75131-fix-rekey_on_member-lazy-evaluation.yaml b/changelogs/fragments/75131-fix-rekey_on_member-lazy-evaluation.yaml\ndeleted file mode 100644\nindex 2358503..0000000\n--- a/changelogs/fragments/75131-fix-rekey_on_member-lazy-evaluation.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - rekey_on_member - handle undefined positional arguments better.\ndiff --git a/changelogs/fragments/75142-ssh-retries-collision.yml b/changelogs/fragments/75142-ssh-retries-collision.yml\ndeleted file mode 100644\nindex a978954..0000000\n--- a/changelogs/fragments/75142-ssh-retries-collision.yml\n+++ /dev/null\n@@ -1,7 +0,0 @@\n-bugfixes:\n-  - &gt;-\n-    task_executor/ssh_connection - use the ``retries`` value from ``ssh_connection`` settings,\n-    not the default from the ``Task`` field attributes (https://github.com/ansible/ansible/issues/75142).\n-\n-  - ssh_connection - set the default for ``reconnection_retries`` back to ``0`` (https://github.com/ansible/ansible/issues/75142).\n-  - ssh_connection - rename ``retries`` to ``reconnection_retries`` to avoid conflicts with task vars (https://github.com/ansible/ansible/issues/75142).\ndiff --git a/changelogs/fragments/75186-ansible-test-packaging-constraint.yml b/changelogs/fragments/75186-ansible-test-packaging-constraint.yml\ndeleted file mode 100644\nindex ef242f6..0000000\n--- a/changelogs/fragments/75186-ansible-test-packaging-constraint.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- \"ansible-test - restrict ``packaging`` to ``&lt; 21.0`` for Python ``&lt; 3.6`` (https://github.com/ansible/ansible/pull/75186).\"\ndiff --git a/changelogs/fragments/75235-ansible-galaxy-inconsistent-candidate-error.yml b/changelogs/fragments/75235-ansible-galaxy-inconsistent-candidate-error.yml\ndeleted file mode 100644\nindex e56d524..0000000\n--- a/changelogs/fragments/75235-ansible-galaxy-inconsistent-candidate-error.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-galaxy - Improve error message from dependency resolution when a candidate has inconsistent requirements (https://github.com/ansible/ansible/issues/75139).\ndiff --git a/changelogs/fragments/75244-fix-templated-handler-names.yaml b/changelogs/fragments/75244-fix-templated-handler-names.yaml\ndeleted file mode 100644\nindex 6a09022..0000000\n--- a/changelogs/fragments/75244-fix-templated-handler-names.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Give a warning instead of an error if a handler name contains undefined variables and has no listen topics (https://github.com/ansible/ansible/issues/58841).\ndiff --git a/changelogs/fragments/75269-import_role-support-from-files-templates.yml b/changelogs/fragments/75269-import_role-support-from-files-templates.yml\ndeleted file mode 100644\nindex 1f89a48..0000000\n--- a/changelogs/fragments/75269-import_role-support-from-files-templates.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - import_role - Template tasks_from, vars_from, defaults_from, and handlers_from with --extra-vars (https://github.com/ansible/ansible/issues/69097).\ndiff --git a/changelogs/fragments/75275-ensure-jinja2-header-overrides-used.yml b/changelogs/fragments/75275-ensure-jinja2-header-overrides-used.yml\ndeleted file mode 100644\nindex 49e0877..0000000\n--- a/changelogs/fragments/75275-ensure-jinja2-header-overrides-used.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - template - ensure Jinja2 overrides from template header are used (https://github.com/ansible/ansible/issues/75275)\ndiff --git a/changelogs/fragments/75284-fix-legacy-module_defaults.yaml b/changelogs/fragments/75284-fix-legacy-module_defaults.yaml\ndeleted file mode 100644\nindex ae1d6b5..0000000\n--- a/changelogs/fragments/75284-fix-legacy-module_defaults.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - module_defaults - Fix action defaults for legacy actions/modules (https://github.com/ansible/ansible/issues/75279).\ndiff --git a/changelogs/fragments/75324-ansible-test-validate-modules-info-facts-check_mode.yml b/changelogs/fragments/75324-ansible-test-validate-modules-info-facts-check_mode.yml\ndeleted file mode 100644\nindex a099ccb..0000000\n--- a/changelogs/fragments/75324-ansible-test-validate-modules-info-facts-check_mode.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- \"ansible-test validate-modules - enforce that ``_info`` and ``_facts`` modules set ``supports_check_mode=True`` (https://github.com/ansible/ansible/pull/75324).\"\ndiff --git a/changelogs/fragments/75332-ansible-test-validate-modules-AnsibleModule-args.yml b/changelogs/fragments/75332-ansible-test-validate-modules-AnsibleModule-args.yml\ndeleted file mode 100644\nindex fed73ba..0000000\n--- a/changelogs/fragments/75332-ansible-test-validate-modules-AnsibleModule-args.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- \"ansible-test validate-modules - correctly validate positional parameters to ``AnsibleModules`` (https://github.com/ansible/ansible/pull/75332).\"\ndiff --git a/changelogs/fragments/75356-add-requirement-to-ansible-test.yml b/changelogs/fragments/75356-add-requirement-to-ansible-test.yml\ndeleted file mode 100644\nindex 1daf884..0000000\n--- a/changelogs/fragments/75356-add-requirement-to-ansible-test.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- ansible-test - add packaging python module to ``ansible-doc`` sanity test requirements.\ndiff --git a/changelogs/fragments/75359-update-test-containers.yaml b/changelogs/fragments/75359-update-test-containers.yaml\ndeleted file mode 100644\nindex 6d58d3e..0000000\n--- a/changelogs/fragments/75359-update-test-containers.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-  - Update test container default-test-container to version 3.6.0\n-  - Update test container ansible-core-test-container to version 3.6.0\ndiff --git a/changelogs/fragments/75362-add-rhel-8.4-remote.yml b/changelogs/fragments/75362-add-rhel-8.4-remote.yml\ndeleted file mode 100644\nindex 159946e..0000000\n--- a/changelogs/fragments/75362-add-rhel-8.4-remote.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Add RHEL 8.4 as a remote.\ndiff --git a/changelogs/fragments/75371-import_template_globals.yml b/changelogs/fragments/75371-import_template_globals.yml\ndeleted file mode 100644\nindex e4cd774..0000000\n--- a/changelogs/fragments/75371-import_template_globals.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Jinja2 globals should be accessible even when importing a template without the context (https://github.com/ansible/ansible/issues/75371)\ndiff --git a/changelogs/fragments/75447-update-test-containers.yaml b/changelogs/fragments/75447-update-test-containers.yaml\ndeleted file mode 100644\nindex 71ff9e6..0000000\n--- a/changelogs/fragments/75447-update-test-containers.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-  - Update test container default-test-container to version 3.7.0\n-  - Update test container ansible-core-test-container to version 3.7.0\ndiff --git a/changelogs/fragments/75483-dnf-align-return-with-yum.yml b/changelogs/fragments/75483-dnf-align-return-with-yum.yml\ndeleted file mode 100644\nindex c3d9945..0000000\n--- a/changelogs/fragments/75483-dnf-align-return-with-yum.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - dnf - align the return value of the list argument with the ``yum`` module (https://github.com/ansible/ansible/issues/75483)\ndiff --git a/changelogs/fragments/75527_password_lookup_handle_wrapped_algo.yml b/changelogs/fragments/75527_password_lookup_handle_wrapped_algo.yml\ndeleted file mode 100644\nindex 9aae635..0000000\n--- a/changelogs/fragments/75527_password_lookup_handle_wrapped_algo.yml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-bugfixes:\n-  - password - Handle passlib wrapped algos bsd_nthash, django_argon2, django_bcrypt, ldap_bcrypt, ldap_bsdi_crypt,\n-    ldap_des_crypt, ldap_hex_md5, ldap_hex_sha1, ldap_md5_crypt, ldap_pbkdf2_sha1, ldap_pbkdf2_sha256,\n-    ldap_pbkdf2_sha512, ldap_sha1_crypt, ldap_sha256_crypt, ldap_sha512_crypt, roundup_plaintext\n-    (https://github.com/ansible/ansible/pull/75527).\ndiff --git a/changelogs/fragments/75530-dnf-download_only-non-root.yml b/changelogs/fragments/75530-dnf-download_only-non-root.yml\ndeleted file mode 100644\nindex b14b712..0000000\n--- a/changelogs/fragments/75530-dnf-download_only-non-root.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - dnf - allow for ``download_only`` to be run without root privileges (https://github.com/ansible/ansible/issues/75530)\ndiff --git a/changelogs/fragments/75547-fix-installing-collections-from-source.yaml b/changelogs/fragments/75547-fix-installing-collections-from-source.yaml\ndeleted file mode 100644\nindex 67baec2..0000000\n--- a/changelogs/fragments/75547-fix-installing-collections-from-source.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-galaxy - Fix a bug with build_ignore when installing collections from source (https://github.com/ansible/ansible/issues/75528).\ndiff --git a/changelogs/fragments/75568-fix-templating-task-action-host-specific-vars.yml b/changelogs/fragments/75568-fix-templating-task-action-host-specific-vars.yml\ndeleted file mode 100644\nindex 861bd7d..0000000\n--- a/changelogs/fragments/75568-fix-templating-task-action-host-specific-vars.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Fix templating task action with host-specific vars (https://github.com/ansible/ansible/issues/75568)\ndiff --git a/changelogs/fragments/Templar-remove-fail-on-errors.yml b/changelogs/fragments/Templar-remove-fail-on-errors.yml\ndeleted file mode 100644\nindex 6d7bd30..0000000\n--- a/changelogs/fragments/Templar-remove-fail-on-errors.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - Templar - remove ``_fail_on_lookup_errors`` and ``_fail_on_filter_errors`` instance variables that were never used. (https://github.com/ansible/ansible/pull/73785)\ndiff --git a/changelogs/fragments/add-anolis-distro-in-hostname.yaml b/changelogs/fragments/add-anolis-distro-in-hostname.yaml\ndeleted file mode 100644\nindex 762b872..0000000\n--- a/changelogs/fragments/add-anolis-distro-in-hostname.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- modules - add Anolis distro in hostname.py. project website https://openanolis.org/\ndiff --git a/changelogs/fragments/adhoc_help_clarify.yml b/changelogs/fragments/adhoc_help_clarify.yml\ndeleted file mode 100644\nindex 796f95e..0000000\n--- a/changelogs/fragments/adhoc_help_clarify.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible adhoc, clarified the help to some options, also added some comments to code.\ndiff --git a/changelogs/fragments/adoc_dumps_keywords.yml b/changelogs/fragments/adoc_dumps_keywords.yml\ndeleted file mode 100644\nindex 2612aff..0000000\n--- a/changelogs/fragments/adoc_dumps_keywords.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-doc can now dump kewyords with --metadata-dump (still just for internal use)\ndiff --git a/changelogs/fragments/advanced-host-list-ref-before-assignment.yml b/changelogs/fragments/advanced-host-list-ref-before-assignment.yml\ndeleted file mode 100644\nindex b4a442d..0000000\n--- a/changelogs/fragments/advanced-host-list-ref-before-assignment.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - advanced_host_list inventory plugin - Fixed variable referenced before assignment when hostname/range could not be parsed.\ndiff --git a/changelogs/fragments/allow_lists_of_config_choices.yml b/changelogs/fragments/allow_lists_of_config_choices.yml\ndeleted file mode 100644\nindex c5f4495..0000000\n--- a/changelogs/fragments/allow_lists_of_config_choices.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - plugin config now allows list type options to have multiple valid choices (#74225).\ndiff --git a/changelogs/fragments/ansiballz-chdir.yml b/changelogs/fragments/ansiballz-chdir.yml\ndeleted file mode 100644\nindex 01a034f..0000000\n--- a/changelogs/fragments/ansiballz-chdir.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-  - The AnsiballZ Python wrapper now changes the working directory to ``~`` or ``/`` if the current one is not accessible.\n-    This allows become to drop privileges on macOS when using pipelining.\ndiff --git a/changelogs/fragments/ansiballz-re-escape-site-packages.yml b/changelogs/fragments/ansiballz-re-escape-site-packages.yml\ndeleted file mode 100644\nindex 223ea04..0000000\n--- a/changelogs/fragments/ansiballz-re-escape-site-packages.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-bugfixes:\n-  - &gt;-\n-    ansiballz - avoid treating path to site_packages as regex; escape it.\n-    This prevents a crash when ansible is installed to, or running from, an oddly named directory like ``ansi[ble``\ndiff --git a/changelogs/fragments/ansible-pull-doc-update.yml b/changelogs/fragments/ansible-pull-doc-update.yml\ndeleted file mode 100644\nindex df47096..0000000\n--- a/changelogs/fragments/ansible-pull-doc-update.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-    - ansible-pull - update documentation for ``--directory`` option to clarify path must be absolute.\ndiff --git a/changelogs/fragments/ansible-test-add-ssh-debug-logging.yml b/changelogs/fragments/ansible-test-add-ssh-debug-logging.yml\ndeleted file mode 100644\nindex 6ee9c9f..0000000\n--- a/changelogs/fragments/ansible-test-add-ssh-debug-logging.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - display recent ``ssh`` debug logs after connection failures (https://github.com/ansible/ansible/pull/75374)\ndiff --git a/changelogs/fragments/ansible-test-azp-build-api.yml b/changelogs/fragments/ansible-test-azp-build-api.yml\ndeleted file mode 100644\nindex f512d0c..0000000\n--- a/changelogs/fragments/ansible-test-azp-build-api.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-test - Use documented API to retrieve build information from Azure Pipelines.\ndiff --git a/changelogs/fragments/ansible-test-azure-plugin-help-cleanup.yml b/changelogs/fragments/ansible-test-azure-plugin-help-cleanup.yml\ndeleted file mode 100644\nindex 43e0a49..0000000\n--- a/changelogs/fragments/ansible-test-azure-plugin-help-cleanup.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Updated the help message for failed tests in the ``azure`` test plugin.\ndiff --git a/changelogs/fragments/ansible-test-cache-plugin.yml b/changelogs/fragments/ansible-test-cache-plugin.yml\ndeleted file mode 100644\nindex 2c2ebe1..0000000\n--- a/changelogs/fragments/ansible-test-cache-plugin.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-  - Fix ``keys()`` implementation of ``BaseFileCacheModule`` to strip the prefix\n-    from the key and only return keys that share the same prefix as the cache.\ndiff --git a/changelogs/fragments/ansible-test-change-classification-reorg.yml b/changelogs/fragments/ansible-test-change-classification-reorg.yml\ndeleted file mode 100644\nindex 50ca262..0000000\n--- a/changelogs/fragments/ansible-test-change-classification-reorg.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Relocate change classification code.\ndiff --git a/changelogs/fragments/ansible-test-cloud-plugin-code-cleanup.yml b/changelogs/fragments/ansible-test-cloud-plugin-code-cleanup.yml\ndeleted file mode 100644\nindex 00a95ae..0000000\n--- a/changelogs/fragments/ansible-test-cloud-plugin-code-cleanup.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Clean up code in the cloud plugins.\ndiff --git a/changelogs/fragments/ansible-test-code-cleanup.yml b/changelogs/fragments/ansible-test-code-cleanup.yml\ndeleted file mode 100644\nindex 69ce6c6..0000000\n--- a/changelogs/fragments/ansible-test-code-cleanup.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Minor code cleanup.\ndiff --git a/changelogs/fragments/ansible-test-config.yml b/changelogs/fragments/ansible-test-config.yml\ndeleted file mode 100644\nindex f4aa9e0..0000000\n--- a/changelogs/fragments/ansible-test-config.yml\n+++ /dev/null\n@@ -1,9 +0,0 @@\n-minor_changes:\n-  - ansible-test - Add support for an ansible-test configuration file in collections under ``tests/config.yml``.\n-  - ansible-test - Collections can limit the Python versions used for testing their remote-only code (modules/module_utils and related tests).\n-  - ansible-test - Collections can declare their remote-only code (modules/module_utils and related tests) as controller-only.\n-  - ansible-test - Sanity test warnings relating to Python version support have been improved.\n-major_changes:\n-  - ansible-test - The ``import`` and ``compile`` sanity tests limit remote-only Python version checks to remote-only code.\n-  - ansible-test - The ``future-import-boilerplate`` and ``metaclass-boilerplate`` sanity tests are limited to remote-only code.\n-                   Additionally, they are skipped for collections which declare no support for Python 2.x.\ndiff --git a/changelogs/fragments/ansible-test-connection-units-init.yml b/changelogs/fragments/ansible-test-connection-units-init.yml\ndeleted file mode 100644\nindex 674b1e4..0000000\n--- a/changelogs/fragments/ansible-test-connection-units-init.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-bugfixes:\n-  - &gt;-\n-    ansible-test - ensure the correct unit test target is given when the\n-    ``__init__.py`` file is modified inside the connection plugins directory\ndiff --git a/changelogs/fragments/ansible-test-container-overhaul.yml b/changelogs/fragments/ansible-test-container-overhaul.yml\ndeleted file mode 100644\nindex b83470a..0000000\n--- a/changelogs/fragments/ansible-test-container-overhaul.yml\n+++ /dev/null\n@@ -1,40 +0,0 @@\n-major_changes:\n-  - ansible-test - SSH port forwarding and redirection is now used exclusively to make container ports available on non-container hosts.\n-                   When testing on POSIX systems this requires SSH login as root.\n-                   Previously SSH port forwarding was combined with firewall rules or other port redirection methods, with some platforms being unsupported.\n-  - ansible-test - All \"cloud\" plugins which use containers can now be used with all POSIX and Windows hosts.\n-                   Previously the plugins did not work with Windows at all, and support for hosts created with the ``--remote`` option was inconsistent.\n-  - ansible-test - Most container features are now supported under Podman.\n-                   Previously a symbolic link for ``docker`` pointing to ``podman`` was required.\n-minor_changes:\n-  - ansible-test - All \"cloud\" plugins have been refactored for more consistency.\n-                   For those that use docker containers, management of the containers has been standardized.\n-  - ansible-test - All \"cloud\" plugins now use fixed hostnames and ports in tests.\n-                   Previously some tests used IP addresses and/or randomly assigned ports.\n-  - ansible-test - The HTTP Tester has been converted to a \"cloud\" plugin and can now be requested using the ``cloud/httptester`` alias.\n-                   The original ``needs/httptester`` alias is still supported for backwards compatibility.\n-  - ansible-test - The HTTP Tester can now be used without the ``--docker`` or `--remote`` options.\n-                   It still requires use of the ``docker`` command to run the container.\n-  - ansible-test - The ``docker run`` option ``--link`` is no longer used to connect test containers.\n-                   As a result, changes are made to the ``/etc/hosts`` file as needed on all test containers.\n-                   Previously containers which were used with the ``--link`` option did not require changes to the ``/etc/hosts`` file.\n-  - ansible-test - Changes made to the ``hosts`` file on test systems are now done using an Ansible playbook for both POSIX and Windows systems.\n-                   Changes are applied before a test target runs and are reverted after the test target finishes.\n-  - ansible-test - Environment variables exposed by \"cloud\" plugins are now available to the controller for role based tests.\n-                   Previously only script based tests had access to the exposed environment variables.\n-breaking_changes:\n-  - ansible-test - The ``--httptester`` option is no longer available.\n-                   To override the container used for HTTP Tester tests, set the ``ANSIBLE_HTTP_TEST_CONTAINER`` environment variable instead.\n-  - ansible-test - The ``--disable-httptester`` option is no longer available.\n-                   The HTTP Tester is no longer optional for tests that specify it.\n-  - ansible-test - The HTTP Tester is no longer available with the ``ansible-test shell`` command.\n-                   Only the ``integration`` and ``windows-integration`` commands provide HTTP Tester.\n-bugfixes:\n-  - ansible-test - Running tests in a single test run with multiple \"cloud\" plugins no longer results in port conflicts.\n-                   Previously two or more containers with overlapping ports could not be used in the same test run.\n-  - ansible-test - Random port selection is no longer handled by ``ansible-test``, avoiding possible port conflicts.\n-                   Previously ``ansible-test`` would, under some circumstances, use one host's available ports to determine those of another host.\n-  - ansible-test - The ``docker inspect`` command is now used to check for existing images instead of the ``docker images`` command.\n-                   This resolves an issue where a ``docker pull`` would be unnecessarily executed for an image referenced by checksum.\n-  - ansible-test - Failure to download test results from a remote host no longer hide test failures.\n-                   If a download failure occurs after tests fail, a warning will be issued instead.\ndiff --git a/changelogs/fragments/ansible-test-coverage-delegation.yml b/changelogs/fragments/ansible-test-coverage-delegation.yml\ndeleted file mode 100644\nindex 106fb0d..0000000\n--- a/changelogs/fragments/ansible-test-coverage-delegation.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - The ``ansible-test coverage`` commands ``combine``, ``report``, ``html`` and ``xml`` now support delegation.\ndiff --git a/changelogs/fragments/ansible-test-coverage-traceback.yml b/changelogs/fragments/ansible-test-coverage-traceback.yml\ndeleted file mode 100644\nindex 7d4464f..0000000\n--- a/changelogs/fragments/ansible-test-coverage-traceback.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-test - Fix traceback when generating coverage reports and no coverage directory exists.\ndiff --git a/changelogs/fragments/ansible-test-decorator-constraint.yml b/changelogs/fragments/ansible-test-decorator-constraint.yml\ndeleted file mode 100644\nindex f7335e8..0000000\n--- a/changelogs/fragments/ansible-test-decorator-constraint.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-    - ansible-test - Add constraint for ``decorator`` for Python versions prior to 3.5.\ndiff --git a/changelogs/fragments/ansible-test-default-container.yml b/changelogs/fragments/ansible-test-default-container.yml\ndeleted file mode 100644\nindex b3d5bcf..0000000\n--- a/changelogs/fragments/ansible-test-default-container.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - The ``default`` test container has been updated to version 3.4.0 and now uses Python 3.9 by default instead of Python 3.6.\ndiff --git a/changelogs/fragments/ansible-test-default-containers-3.2.yml b/changelogs/fragments/ansible-test-default-containers-3.2.yml\ndeleted file mode 100644\nindex ea4d627..0000000\n--- a/changelogs/fragments/ansible-test-default-containers-3.2.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-    - ansible-test - Update the Ansible Core and Ansible Collection default test containers to 3.2.0 and 3.2.2 respectively.\ndiff --git a/changelogs/fragments/ansible-test-diff-prefix-optional.yml b/changelogs/fragments/ansible-test-diff-prefix-optional.yml\ndeleted file mode 100644\nindex 2394965..0000000\n--- a/changelogs/fragments/ansible-test-diff-prefix-optional.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-bugfixes:\n-  - &gt;-\n-    ansible-test - make the ``a/`` and ``b/`` prefixes an optional match\n-    since these can be turned off with the ``diff.noprefix`` setting in ``git``\ndiff --git a/changelogs/fragments/ansible-test-distro-containers-2.0.2.yml b/changelogs/fragments/ansible-test-distro-containers-2.0.2.yml\ndeleted file mode 100644\nindex 225d7fb..0000000\n--- a/changelogs/fragments/ansible-test-distro-containers-2.0.2.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-    - ansible-test - Update distribution test containers from version 2.0.1 to 2.0.2.\ndiff --git a/changelogs/fragments/ansible-test-docker-network-detect.yml b/changelogs/fragments/ansible-test-docker-network-detect.yml\ndeleted file mode 100644\nindex 620fdc2..0000000\n--- a/changelogs/fragments/ansible-test-docker-network-detect.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-test - Fix docker container IP address detection. The ``bridge`` network is no longer assumed to be the default.\ndiff --git a/changelogs/fragments/ansible-test-fedora-34.yml b/changelogs/fragments/ansible-test-fedora-34.yml\ndeleted file mode 100644\nindex 0f76789..0000000\n--- a/changelogs/fragments/ansible-test-fedora-34.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-  - ansible-test - Fedora 34 (``fedora34``) container has been added.\n-  - ansible-test - Fedora 32 and 33 (``fedora32`` and ``fedora33``) containers have been updated and now allow for ssh in more container environments.\ndiff --git a/changelogs/fragments/ansible-test-freebsd-13.yml b/changelogs/fragments/ansible-test-freebsd-13.yml\ndeleted file mode 100644\nindex bfba390..0000000\n--- a/changelogs/fragments/ansible-test-freebsd-13.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - add freebsd/13.0 as a remote option.\ndiff --git a/changelogs/fragments/ansible-test-import-pyyaml-warning.yml b/changelogs/fragments/ansible-test-import-pyyaml-warning.yml\ndeleted file mode 100644\nindex 5acd22e..0000000\n--- a/changelogs/fragments/ansible-test-import-pyyaml-warning.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Removed the warning filter for ``PyYAML`` in the ``import`` sanity test.\ndiff --git a/changelogs/fragments/ansible-test-main-check.yml b/changelogs/fragments/ansible-test-main-check.yml\ndeleted file mode 100644\nindex d063682..0000000\n--- a/changelogs/fragments/ansible-test-main-check.yml\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-minor_changes:\n-  - ansible-test - The ``validate-modules`` sanity test no longer enforces the ``missing-if-name-main``, ``last-line-main-call`` or ``missing-main-call`` checks\n-                   on non-deleted Ansible modules. Modules are still required to instantiate ``AnsibleModule`` when ``__name__ == '__main__'``.\n-  - ansible-test - The ``import`` sanity test now requires that Ansible modules guard instantiation of ``AnsibleModule`` with a ``if __name__ == '__main__'``\n-                   conditional, or equivalent logic.\n-  - ansible-test - The ``import`` sanity test now requires that non-modules do not instantiate ``AnsibleModule`` on import.\ndiff --git a/changelogs/fragments/ansible-test-markupsafe-constraint.yml b/changelogs/fragments/ansible-test-markupsafe-constraint.yml\ndeleted file mode 100644\nindex 5c9091a..0000000\n--- a/changelogs/fragments/ansible-test-markupsafe-constraint.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible_test - add constraint for ``MarkupSafe`` (https://github.com/ansible/ansible/pull/74666)\ndiff --git a/changelogs/fragments/ansible-test-min-controller-python.yml b/changelogs/fragments/ansible-test-min-controller-python.yml\ndeleted file mode 100644\nindex 8a9d48b..0000000\n--- a/changelogs/fragments/ansible-test-min-controller-python.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-major_changes:\n-  - ansible-test - Version neutral sanity tests now require Python 3.8 or later.\n-  - ansible-test - Unit tests for controller-only code now require Python 3.8 or later.\ndiff --git a/changelogs/fragments/ansible-test-no-cryptograpy-downgrade.yml b/changelogs/fragments/ansible-test-no-cryptograpy-downgrade.yml\ndeleted file mode 100644\nindex 94929c5..0000000\n--- a/changelogs/fragments/ansible-test-no-cryptograpy-downgrade.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Installation of ``cryptography`` no longer occurs when it is already installed. This avoids downgrading existing OS packages.\ndiff --git a/changelogs/fragments/ansible-test-nuke-venv-isolated.yml b/changelogs/fragments/ansible-test-nuke-venv-isolated.yml\ndeleted file mode 100644\nindex eb15d32..0000000\n--- a/changelogs/fragments/ansible-test-nuke-venv-isolated.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - virtualenv-isolated.sh is no longer provided. Prefer virtualenv.sh in its place.\ndiff --git a/changelogs/fragments/ansible-test-pylint-typed-ast.yml b/changelogs/fragments/ansible-test-pylint-typed-ast.yml\ndeleted file mode 100644\nindex 3590e89..0000000\n--- a/changelogs/fragments/ansible-test-pylint-typed-ast.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Update ``typed-ast`` constraint to version 1.4.3 for compatibility with Python 3.10.\ndiff --git a/changelogs/fragments/ansible-test-pylint-upgrade.yml b/changelogs/fragments/ansible-test-pylint-upgrade.yml\ndeleted file mode 100644\nindex bc42067..0000000\n--- a/changelogs/fragments/ansible-test-pylint-upgrade.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-    - ansible-test - Upgrade ``pylint`` to version 2.9.3 and update its dependencies to the latest versions as well.\ndiff --git a/changelogs/fragments/ansible-test-pypi-container-no-publish.yml b/changelogs/fragments/ansible-test-pypi-container-no-publish.yml\ndeleted file mode 100644\nindex 7b753ea..0000000\n--- a/changelogs/fragments/ansible-test-pypi-container-no-publish.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-  - ansible-test - Avoid publishing the port used by the ``pypi-test-container`` since it is only accessed by other containers.\n-                   This avoids issues when trying to run tests in parallel on a single host.\ndiff --git a/changelogs/fragments/ansible-test-pypi-test-container.yml b/changelogs/fragments/ansible-test-pypi-test-container.yml\ndeleted file mode 100644\nindex 5c2f10c..0000000\n--- a/changelogs/fragments/ansible-test-pypi-test-container.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-major_changes:\n-  - ansible-test - Tests run with the ``centos6`` and ``default`` test containers now use a PyPI proxy container to access PyPI when Python 2.6 is used.\n-                   This allows tests running under Python 2.6 to continue functioning even though PyPI is discontinuing support for non-SNI capable clients.\ndiff --git a/changelogs/fragments/ansible-test-python-3.10.yml b/changelogs/fragments/ansible-test-python-3.10.yml\ndeleted file mode 100644\nindex 5e46e84..0000000\n--- a/changelogs/fragments/ansible-test-python-3.10.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Add support for testing with Python 3.10.\ndiff --git a/changelogs/fragments/ansible-test-refactor-commands.yml b/changelogs/fragments/ansible-test-refactor-commands.yml\ndeleted file mode 100644\nindex 3065486..0000000\n--- a/changelogs/fragments/ansible-test-refactor-commands.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-    - ansible-test - Reorganize code for individual commands.\ndiff --git a/changelogs/fragments/ansible-test-refactor-integration.yml b/changelogs/fragments/ansible-test-refactor-integration.yml\ndeleted file mode 100644\nindex abb97c2..0000000\n--- a/changelogs/fragments/ansible-test-refactor-integration.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Reorganize integration test implementation by command.\ndiff --git a/changelogs/fragments/ansible-test-remove-legacy-check.yml b/changelogs/fragments/ansible-test-remove-legacy-check.yml\ndeleted file mode 100644\nindex 8066aca..0000000\n--- a/changelogs/fragments/ansible-test-remove-legacy-check.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Remove check for legacy ``core`` and ``extras`` directories.\ndiff --git a/changelogs/fragments/ansible-test-remove-shippable.yml b/changelogs/fragments/ansible-test-remove-shippable.yml\ndeleted file mode 100644\nindex 45bab63..0000000\n--- a/changelogs/fragments/ansible-test-remove-shippable.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Remove CI provider support for Shippable, now that the service has been discontinued.\ndiff --git a/changelogs/fragments/ansible-test-removed-module.yml b/changelogs/fragments/ansible-test-removed-module.yml\ndeleted file mode 100644\nindex a6d9947..0000000\n--- a/changelogs/fragments/ansible-test-removed-module.yml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-removed_features:\n-  - The built-in module_util ``ansible.module_utils.common.removed`` was previously deprecated and has been removed.\n-minor_changes:\n-  - ansible-test - The ``validate-modules`` sanity test codes ``last-line-main-call``, ``missing-if-name-main`` and ``missing-main-call`` have been removed.\n-  - ansible-test - The ``validate-modules`` sanity test codes ``ansible-deprecated-module`` and ``collection-deprecated-module`` have been added.\ndiff --git a/changelogs/fragments/ansible-test-sanity-compile.yml b/changelogs/fragments/ansible-test-sanity-compile.yml\ndeleted file mode 100644\nindex 7f07734..0000000\n--- a/changelogs/fragments/ansible-test-sanity-compile.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Rewrite the ``compile`` sanity test to improve error handling and support Python 3.10.\ndiff --git a/changelogs/fragments/ansible-test-sanity-import-python-3.10.yml b/changelogs/fragments/ansible-test-sanity-import-python-3.10.yml\ndeleted file mode 100644\nindex 8fc24e3..0000000\n--- a/changelogs/fragments/ansible-test-sanity-import-python-3.10.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Update the ``import`` sanity test to avoid a new warning in Python 3.10.\ndiff --git a/changelogs/fragments/ansible-test-sanity-runtime-metadata.yml b/changelogs/fragments/ansible-test-sanity-runtime-metadata.yml\ndeleted file mode 100644\nindex a15fca2..0000000\n--- a/changelogs/fragments/ansible-test-sanity-runtime-metadata.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Update the ``runtime-metadata`` sanity test to handle a new warning on Python 3.10.\ndiff --git a/changelogs/fragments/ansible-test-shell-command.yml b/changelogs/fragments/ansible-test-shell-command.yml\ndeleted file mode 100644\nindex 20da370..0000000\n--- a/changelogs/fragments/ansible-test-shell-command.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Split out shell command implementation.\ndiff --git a/changelogs/fragments/ansible-test-split-unit-tests.yml b/changelogs/fragments/ansible-test-split-unit-tests.yml\ndeleted file mode 100644\nindex 44bd222..0000000\n--- a/changelogs/fragments/ansible-test-split-unit-tests.yml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-breaking_changes:\n-    - ansible-test - Unit tests for ``modules`` and ``module_utils`` are now limited to importing only ``ansible.module_utils`` from the ``ansible`` module.\n-minor_changes:\n-    - ansible-test - Unit tests other than ``modules`` and ``module_utils`` are now run only on Python versions supported by the controller (Python 3.8+).\n-    - ansible-test - Unit tests are now run in separate contexts (``controller``, ``modules``, ``module_utils``), each using separate invocations of ``pytest``.\ndiff --git a/changelogs/fragments/ansible-test-utils.yml b/changelogs/fragments/ansible-test-utils.yml\ndeleted file mode 100644\nindex d71d36b..0000000\n--- a/changelogs/fragments/ansible-test-utils.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-test - Move code from ``_data`` directory to ``_util`` directory.\ndiff --git a/changelogs/fragments/ansible-test_inspect-ports-on-all-interfaces.yml b/changelogs/fragments/ansible-test_inspect-ports-on-all-interfaces.yml\ndeleted file mode 100644\nindex 3750972..0000000\n--- a/changelogs/fragments/ansible-test_inspect-ports-on-all-interfaces.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-test - allow the same listening port on all container interfaces\ndiff --git a/changelogs/fragments/ansible_config_plugins.yml b/changelogs/fragments/ansible_config_plugins.yml\ndeleted file mode 100644\nindex 1f0e7e4..0000000\n--- a/changelogs/fragments/ansible_config_plugins.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-config now supports displaying plugin configuration info.\ndiff --git a/changelogs/fragments/apt_lock_timeout.yml b/changelogs/fragments/apt_lock_timeout.yml\ndeleted file mode 100644\nindex 19beae7..0000000\n--- a/changelogs/fragments/apt_lock_timeout.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - apt, added a 'lock_timeout' to be more resilient when encountering the apt db already locked and handle it w/o haveing to rerun task.\ndiff --git a/changelogs/fragments/arg_spec-remove-unused-imports.yml b/changelogs/fragments/arg_spec-remove-unused-imports.yml\ndeleted file mode 100644\nindex 6b4756d..0000000\n--- a/changelogs/fragments/arg_spec-remove-unused-imports.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - arg_spec - remove unused imports\ndiff --git a/changelogs/fragments/async_status_fixes.yml b/changelogs/fragments/async_status_fixes.yml\ndeleted file mode 100644\nindex f0b83f5..0000000\n--- a/changelogs/fragments/async_status_fixes.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-  - async_status, ensure we always get documented returns\n-  - task_executor, Actions using AnsibleActionFail/Skip will now propagate 'results' if given\ndiff --git a/changelogs/fragments/async_unremove_redeprecate.yml b/changelogs/fragments/async_unremove_redeprecate.yml\ndeleted file mode 100644\nindex d571872..0000000\n--- a/changelogs/fragments/async_unremove_redeprecate.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - async_status, resurrected module to deprecate for those that were invoking it directly.\ndiff --git a/changelogs/fragments/async_wrapper_reporting.yml b/changelogs/fragments/async_wrapper_reporting.yml\ndeleted file mode 100644\nindex b7ce777..0000000\n--- a/changelogs/fragments/async_wrapper_reporting.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - async_wrapper, better reporting on timeout, slight refactor on reporting itself.\ndiff --git a/changelogs/fragments/aws_tiny_prefix.yaml b/changelogs/fragments/aws_tiny_prefix.yaml\ndeleted file mode 100644\nindex 7e4dd6c..0000000\n--- a/changelogs/fragments/aws_tiny_prefix.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-minor_changes:\n-- ansible-test - aws creates and exposes a new tiny_prefix variable to provide a shorter prefix for the AWS tests. \ndiff --git a/changelogs/fragments/best_locale.yml b/changelogs/fragments/best_locale.yml\ndeleted file mode 100644\nindex 20deeb6..0000000\n--- a/changelogs/fragments/best_locale.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - move all builtin modules to use the best possible locale function instead of hardcoding 'C'.\ndiff --git a/changelogs/fragments/better_timeout_msg.yml b/changelogs/fragments/better_timeout_msg.yml\ndeleted file mode 100644\nindex 3b93715..0000000\n--- a/changelogs/fragments/better_timeout_msg.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - gather_facts, improved message on timeout.\ndiff --git a/changelogs/fragments/blockinfile-unused-code.yml b/changelogs/fragments/blockinfile-unused-code.yml\ndeleted file mode 100644\nindex 37c0ee6..0000000\n--- a/changelogs/fragments/blockinfile-unused-code.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-   - blockinfile - Remove unused code for Ansible 1.x.\ndiff --git a/changelogs/fragments/blowfish_ident.yml b/changelogs/fragments/blowfish_ident.yml\ndeleted file mode 100644\nindex 298b907..0000000\n--- a/changelogs/fragments/blowfish_ident.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-- encrypt - add new parameter ``ident`` to specify version of BCrypt algorithm to be used (https://github.com/ansible/ansible/issues/74571).\n-- password - add new parameter ``ident`` to specify version of BCrypt algorithm to be used (https://github.com/ansible/ansible/issues/74571).\ndiff --git a/changelogs/fragments/c_deprecatd.yml b/changelogs/fragments/c_deprecatd.yml\ndeleted file mode 100644\nindex bda3d27..0000000\n--- a/changelogs/fragments/c_deprecatd.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - constants, internal _deprecated function always requires version.\ndiff --git a/changelogs/fragments/cache-deprecations.yml b/changelogs/fragments/cache-deprecations.yml\ndeleted file mode 100644\nindex 7539055..0000000\n--- a/changelogs/fragments/cache-deprecations.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-minor_changes:\n-  - inventory plugins - Remove the deprecated cache interface. Set top level keys in the inventory plugin's `_cache` attribute (a dictionary) instead.\n-  - fact cache - Remove the deprecated location for FactCache. Import FactCache from `ansible.vars.fact_cache` instead.\n-  - fact cache - Remove deprecated backwards compatibility shim for the FactCache `update` method to accept multiple arguments.\ndiff --git a/changelogs/fragments/clarify_missing_exe.yml b/changelogs/fragments/clarify_missing_exe.yml\ndeleted file mode 100644\nindex a087f56..0000000\n--- a/changelogs/fragments/clarify_missing_exe.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - get_bin_path, clarify with quotes what the missing required executable is.\ndiff --git a/changelogs/fragments/cli-space-after-help-text.yml b/changelogs/fragments/cli-space-after-help-text.yml\ndeleted file mode 100644\nindex cb6fb76..0000000\n--- a/changelogs/fragments/cli-space-after-help-text.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - cli scripts - remove trailing blank space in help after newline when outputting.\ndiff --git a/changelogs/fragments/cmd_wording.yml b/changelogs/fragments/cmd_wording.yml\ndeleted file mode 100644\nindex 95da8ca..0000000\n--- a/changelogs/fragments/cmd_wording.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- command - update the user warning message to point out command name (https://github.com/ansible/ansible/pull/74475).\ndiff --git a/changelogs/fragments/code-cleanup.yml b/changelogs/fragments/code-cleanup.yml\ndeleted file mode 100644\nindex 2309daa..0000000\n--- a/changelogs/fragments/code-cleanup.yml\n+++ /dev/null\n@@ -1,8 +0,0 @@\n-minor_changes:\n-  - basic module_util - Clean up ``selinux`` compat import.\n-  - subelements lookup - Use generator in instance type check.\n-  - unicode utils - Fix ``__all__`` which was incorrectly declared as a string instead of a tuple.\n-  - connection base - Avoid using deprecated ``@abstractproperty`` decorator.\n-  - user module - Remove unused code.\n-  - cache base - More efficient string splitting.\n-  - ansible-test - More efficient string splitting.\ndiff --git a/changelogs/fragments/coll_pb_subdir_fixes.yml b/changelogs/fragments/coll_pb_subdir_fixes.yml\ndeleted file mode 100644\nindex 507c6f1..0000000\n--- a/changelogs/fragments/coll_pb_subdir_fixes.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - playbook loaded from collection subdir now does not ignore subdirs.\ndiff --git a/changelogs/fragments/command-remove-unreachable-code.yml b/changelogs/fragments/command-remove-unreachable-code.yml\ndeleted file mode 100644\nindex a5b237a..0000000\n--- a/changelogs/fragments/command-remove-unreachable-code.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - command - remove unreachable code path when trying to convert the value for ``chdir`` to bytes (https://github.com/ansible/ansible/pull/75036)\ndiff --git a/changelogs/fragments/command_deliver_promisses.yml b/changelogs/fragments/command_deliver_promisses.yml\ndeleted file mode 100644\nindex c2f61ba..0000000\n--- a/changelogs/fragments/command_deliver_promisses.yml\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-bugfixes:\n-  - command module, now always returns what we documented as 'returns always'.\n-  - command module, now all options work in ad-hoc execution.\n-  - command module, clarify order of remove/creates checks.\n-  - command module, correctly handles chdir to symlinks.\n-  - command module, move to standarized messages in 'msg' vs abusing 'stdout'.\ndiff --git a/changelogs/fragments/concurrency-cache-dir-collision.yml b/changelogs/fragments/concurrency-cache-dir-collision.yml\ndeleted file mode 100644\nindex fbf6269..0000000\n--- a/changelogs/fragments/concurrency-cache-dir-collision.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - module_common - handle exception when multiple workers try to create the cache directory\ndiff --git a/changelogs/fragments/conditional-bare-vars.yml b/changelogs/fragments/conditional-bare-vars.yml\ndeleted file mode 100644\nindex 4d246c8..0000000\n--- a/changelogs/fragments/conditional-bare-vars.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-breaking_changes:\n-  - conditionals - ``when`` conditionals no longer automatically parse string booleans such as ``\"true\"`` and ``\"false\"`` into actual booleans. Any non-empty string is now considered true. The ``CONDITIONAL_BARE_VARS`` configuration variable no longer has any effect.\ndiff --git a/changelogs/fragments/config_lists_unquote.yml b/changelogs/fragments/config_lists_unquote.yml\ndeleted file mode 100644\nindex 960539d..0000000\n--- a/changelogs/fragments/config_lists_unquote.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - config, ensure 'quoted' lists from ini or env do not take the quotes literally as part of the list item.\ndiff --git a/changelogs/fragments/config_lookup_fix.yml b/changelogs/fragments/config_lookup_fix.yml\ndeleted file mode 100644\nindex 1cbeaf1..0000000\n--- a/changelogs/fragments/config_lookup_fix.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - config lookup, can also handle collection plugins now\ndiff --git a/changelogs/fragments/config_lookup_plugins.yml b/changelogs/fragments/config_lookup_plugins.yml\ndeleted file mode 100644\nindex fec1885..0000000\n--- a/changelogs/fragments/config_lookup_plugins.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - config lookup now can handle plugin settings.\ndiff --git a/changelogs/fragments/config_updates.yml b/changelogs/fragments/config_updates.yml\ndeleted file mode 100644\nindex 9abd68e..0000000\n--- a/changelogs/fragments/config_updates.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-minor_changes:\n-  - ansible-config can now list and dump for specific documentable plugins by specifying them in the command line\n-  - ansible-config has new 'init' option to create, highly commented, example configurations as ini (ansible.cfg),\n-    environment variables (shell) or Ansible variable files (YAML)\ndiff --git a/changelogs/fragments/coverage-pwsh-stubs.yml b/changelogs/fragments/coverage-pwsh-stubs.yml\ndeleted file mode 100644\nindex 91aa52d..0000000\n--- a/changelogs/fragments/coverage-pwsh-stubs.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- ansible-test - Use pwsh to generate correct coverage line counts for stub files to get a more accurate coverage result\ndiff --git a/changelogs/fragments/cron-deprecations.yml b/changelogs/fragments/cron-deprecations.yml\ndeleted file mode 100644\nindex 2f218fb..0000000\n--- a/changelogs/fragments/cron-deprecations.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-  - \"cron - ``name`` is now a required parameter always\"\n-  - \"cron - ``reboot`` parameter has been dropped in favor of ``special_time: reboot``\"\ndiff --git a/changelogs/fragments/cron_removals.yml b/changelogs/fragments/cron_removals.yml\ndeleted file mode 100644\nindex 6d6275c..0000000\n--- a/changelogs/fragments/cron_removals.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - cron, removed previously deprecated 'reboot' and now requires either 'name' as unique identifier.\ndiff --git a/changelogs/fragments/crypt_missing.yml b/changelogs/fragments/crypt_missing.yml\ndeleted file mode 100644\nindex 430e3a0..0000000\n--- a/changelogs/fragments/crypt_missing.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible.utils.encrypt now handles missing or unusable 'crypt' library.\ndiff --git a/changelogs/fragments/debian8_discovery.yml b/changelogs/fragments/debian8_discovery.yml\ndeleted file mode 100644\nindex d502b24..0000000\n--- a/changelogs/fragments/debian8_discovery.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- interpreter discovery - Debian 8 and lower will avoid unsupported Python3 version in interpreter discovery\ndiff --git a/changelogs/fragments/deprecate_include.yml b/changelogs/fragments/deprecate_include.yml\ndeleted file mode 100644\nindex 3646433..0000000\n--- a/changelogs/fragments/deprecate_include.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-deprecated_features:\n-  - include action is deprecated in favor of include_tasks, import_tasks and import_playbook.\ndiff --git a/changelogs/fragments/deprecated_task_parameters.yml b/changelogs/fragments/deprecated_task_parameters.yml\ndeleted file mode 100644\nindex 9504314..0000000\n--- a/changelogs/fragments/deprecated_task_parameters.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-removed_features:\n-  - task, inline parameters being auto coerced into variables has been removed.\ndiff --git a/changelogs/fragments/dnf-security.yaml b/changelogs/fragments/dnf-security.yaml\ndeleted file mode 100644\nindex cc8577a..0000000\n--- a/changelogs/fragments/dnf-security.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Replace usage of private dnf.Base() attribute by future dnf API\n\\ No newline at end of file\ndiff --git a/changelogs/fragments/doc_knows_cli.yml b/changelogs/fragments/doc_knows_cli.yml\ndeleted file mode 100644\nindex d9f5fd6..0000000\n--- a/changelogs/fragments/doc_knows_cli.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-doc pretty cli options output.\ndiff --git a/changelogs/fragments/doc_split.yml b/changelogs/fragments/doc_split.yml\ndeleted file mode 100644\nindex 578f495..0000000\n--- a/changelogs/fragments/doc_split.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - config, default site for ansible-core is now under /ansbile-core/.\ndiff --git a/changelogs/fragments/end_batch-meta-task.yml b/changelogs/fragments/end_batch-meta-task.yml\ndeleted file mode 100644\nindex 9817307..0000000\n--- a/changelogs/fragments/end_batch-meta-task.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - Add ``end_batch`` meta task.\ndiff --git a/changelogs/fragments/example_ansible_cfg_remoed.yml b/changelogs/fragments/example_ansible_cfg_remoed.yml\ndeleted file mode 100644\nindex 583659d..0000000\n--- a/changelogs/fragments/example_ansible_cfg_remoed.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - replaced examples/ansible.cfg with instructions on how to generate an up to date copy.\ndiff --git a/changelogs/fragments/expose-unredirected-headers.yml b/changelogs/fragments/expose-unredirected-headers.yml\ndeleted file mode 100644\nindex 202cdb3..0000000\n--- a/changelogs/fragments/expose-unredirected-headers.yml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-minor_changes:\n-- &gt;\n-  ``uri``/``get_url`` - Expose ``unredirected_headers`` to modules to allow user control\n-bugfixes:\n-- urls - Fix logic in matching ``unredirected_headers`` to perform case insensitive matching\ndiff --git a/changelogs/fragments/extra_vars_unfrack.yml b/changelogs/fragments/extra_vars_unfrack.yml\ndeleted file mode 100644\nindex 5700e1f..0000000\n--- a/changelogs/fragments/extra_vars_unfrack.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Ensure we get full path for extra vars into cliargs to avoid realpath issues after initial load.\ndiff --git a/changelogs/fragments/filelock_bye.yml b/changelogs/fragments/filelock_bye.yml\ndeleted file mode 100644\nindex 69f9232..0000000\n--- a/changelogs/fragments/filelock_bye.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-deprecated_features:\n-  - module_utils' FileLock is scheduled to be removed, it is not used due to its unreliable nature.\ndiff --git a/changelogs/fragments/find_error_fix.yml b/changelogs/fragments/find_error_fix.yml\ndeleted file mode 100644\nindex c4dcbd5..0000000\n--- a/changelogs/fragments/find_error_fix.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - find action, correctly convert path to text when warning about skiping.\ndiff --git a/changelogs/fragments/find_walk_warnings.yml b/changelogs/fragments/find_walk_warnings.yml\ndeleted file mode 100644\nindex 248aa97..0000000\n--- a/changelogs/fragments/find_walk_warnings.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - find does not ignore errors from os.walk anymore and issues warnings as expected.\ndiff --git a/changelogs/fragments/fips-ncclient-import-error.yaml b/changelogs/fragments/fips-ncclient-import-error.yaml\ndeleted file mode 100644\nindex 5a906d5..0000000\n--- a/changelogs/fragments/fips-ncclient-import-error.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - netconf - catch and handle exception to prevent stack trace when running in FIPS mode\ndiff --git a/changelogs/fragments/fix-dnf-filtering-for-installed-package-name.yml b/changelogs/fragments/fix-dnf-filtering-for-installed-package-name.yml\ndeleted file mode 100644\nindex f8a788a..0000000\n--- a/changelogs/fragments/fix-dnf-filtering-for-installed-package-name.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - dnf module - Use all components of a package name to determine if it's installed (https://github.com/ansible/ansible/issues/75311).\ndiff --git a/changelogs/fragments/fix-for-workerprocess-stdout-deadlock-fix.yml b/changelogs/fragments/fix-for-workerprocess-stdout-deadlock-fix.yml\ndeleted file mode 100644\nindex 9d8d11d..0000000\n--- a/changelogs/fragments/fix-for-workerprocess-stdout-deadlock-fix.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n- - \"WorkerProcess - Python 3.5 fix for workaround for stdout deadlock in multiprocessing shutdown to avoid process hangs. (https://github.com/ansible/ansible/issues/74149)\"\ndiff --git a/changelogs/fragments/fix_cli_ssh_defaults.yml b/changelogs/fragments/fix_cli_ssh_defaults.yml\ndeleted file mode 100644\nindex 65d2676..0000000\n--- a/changelogs/fragments/fix_cli_ssh_defaults.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - cli defaults for ssh args set to None as '' was bypassing normal default.\ndiff --git a/changelogs/fragments/fix_create_home.yml b/changelogs/fragments/fix_create_home.yml\ndeleted file mode 100644\nindex 46c7746..0000000\n--- a/changelogs/fragments/fix_create_home.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-bugfixes:\n-  - &gt;-\n-     user - properly create home path on Linux when ``local: yes`` and parent directories \n-     specified in ``home`` do not exist (https://github.com/ansible/ansible/pull/71952/)\ndiff --git a/changelogs/fragments/fix_host_list.yml b/changelogs/fragments/fix_host_list.yml\ndeleted file mode 100644\nindex 35bae14..0000000\n--- a/changelogs/fragments/fix_host_list.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-playbook, more robust handling of --list-hosts and undefined vars in hosts keyword.\ndiff --git a/changelogs/fragments/fix_module_schema.yml b/changelogs/fragments/fix_module_schema.yml\ndeleted file mode 100644\nindex 1196622..0000000\n--- a/changelogs/fragments/fix_module_schema.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - schema validation now uses dynamic range of versions for valid deprecation entries vs hardcoded out of date list.\ndiff --git a/changelogs/fragments/fix_scp_ssh_settings.yml b/changelogs/fragments/fix_scp_ssh_settings.yml\ndeleted file mode 100644\nindex 10b409b..0000000\n--- a/changelogs/fragments/fix_scp_ssh_settings.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-bugfixes:\n-  - ssh connection, fix interaction between trasnfer settings options.\n-minor_changes:\n-  - ssh connection, can not configure ssh_transfer_method with a variable.\ndiff --git a/changelogs/fragments/fix_syntax_check.yml b/changelogs/fragments/fix_syntax_check.yml\ndeleted file mode 100644\nindex 4a2a0d4..0000000\n--- a/changelogs/fragments/fix_syntax_check.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - variable manager, avoid sourcing delegated variables when no inventory hostname is present. This affects scenarios like syntax check and imports.\ndiff --git a/changelogs/fragments/fix_unsafe_newline.yml b/changelogs/fragments/fix_unsafe_newline.yml\ndeleted file mode 100644\nindex 44180c6..0000000\n--- a/changelogs/fragments/fix_unsafe_newline.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-security_fixes:\n-  - templating engine fix for not preserving usnafe status when trying to preserve newlines. CVE-2021-3583\ndiff --git a/changelogs/fragments/heuristic_log_sanitize--missing-pass.yml b/changelogs/fragments/heuristic_log_sanitize--missing-pass.yml\ndeleted file mode 100644\nindex dfc7387..0000000\n--- a/changelogs/fragments/heuristic_log_sanitize--missing-pass.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-- &gt;\n-  ``heuristic_log_sanitize`` - Return the full string if there is no password (https://github.com/ansible/ansible/issues/75542)\ndiff --git a/changelogs/fragments/host_group_vars_cfg_fix.yaml b/changelogs/fragments/host_group_vars_cfg_fix.yaml\ndeleted file mode 100644\nindex ef36dc6..0000000\n--- a/changelogs/fragments/host_group_vars_cfg_fix.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-    - host_group_vars vars plugin fixed ini entry, section and key were reversed.\ndiff --git a/changelogs/fragments/hpux_iface_facts_length.yml b/changelogs/fragments/hpux_iface_facts_length.yml\ndeleted file mode 100644\nindex 5ba41fc..0000000\n--- a/changelogs/fragments/hpux_iface_facts_length.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - setup module should now not truncate hpux interface names.\ndiff --git a/changelogs/fragments/improve_derstification.yml b/changelogs/fragments/improve_derstification.yml\ndeleted file mode 100644\nindex a80f19f..0000000\n--- a/changelogs/fragments/improve_derstification.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-doc, improve handling of rstisms, try to make the display more meaningfull for the terminal users.\ndiff --git a/changelogs/fragments/ini_lookup_baduser.yml b/changelogs/fragments/ini_lookup_baduser.yml\ndeleted file mode 100644\nindex 64580c9..0000000\n--- a/changelogs/fragments/ini_lookup_baduser.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ini lookup - better error on mixed/bad parameters\ndiff --git a/changelogs/fragments/interepreter-discovery-prefer-python3.yml b/changelogs/fragments/interepreter-discovery-prefer-python3.yml\ndeleted file mode 100644\nindex d4242bd..0000000\n--- a/changelogs/fragments/interepreter-discovery-prefer-python3.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-  - interpreter discovery - prefer Python 3 over Python 2\n-  - interpreter discovery - allow the default list of ``INTERPRETER_PYTHON_FALLBACK`` to be changed using a variable\ndiff --git a/changelogs/fragments/jinja2_decorator_renames.yml b/changelogs/fragments/jinja2_decorator_renames.yml\ndeleted file mode 100644\nindex 90dbe5f..0000000\n--- a/changelogs/fragments/jinja2_decorator_renames.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - filter plugins - patch new versions of Jinja2 to prevent warnings/errors on renamed filter decorators (https://github.com/ansible/ansible/issues/74667)\ndiff --git a/changelogs/fragments/jinja2_native-warning-config-toggle.yml b/changelogs/fragments/jinja2_native-warning-config-toggle.yml\ndeleted file mode 100644\nindex 9311cac..0000000\n--- a/changelogs/fragments/jinja2_native-warning-config-toggle.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - Introduce a config option to enable/disable emitting warning about Jinja2 version being old for ``jinja2_native``. The option is on by default, only in CI it is off.\ndiff --git a/changelogs/fragments/linux_hw_facts_fix.yml b/changelogs/fragments/linux_hw_facts_fix.yml\ndeleted file mode 100644\nindex 075007c..0000000\n--- a/changelogs/fragments/linux_hw_facts_fix.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - setup, while gathering linux hardware facts be more resilient to errors and try to return more info.\ndiff --git a/changelogs/fragments/macos-solaris-regression.yml b/changelogs/fragments/macos-solaris-regression.yml\ndeleted file mode 100644\nindex a7c685b..0000000\n--- a/changelogs/fragments/macos-solaris-regression.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-bugfixes:\n-  - &gt;-\n-    become - fix a regression on Solaris where chmod can return 5 which we\n-    interpret as auth failure and stop trying become tmpdir permission fallbacks\ndiff --git a/changelogs/fragments/native-types-short-circuit-literal-eval.yml b/changelogs/fragments/native-types-short-circuit-literal-eval.yml\ndeleted file mode 100644\nindex 2e860e4..0000000\n--- a/changelogs/fragments/native-types-short-circuit-literal-eval.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - jinja2_native - short-circuit ``ast.literal_eval`` for non-string values\ndiff --git a/changelogs/fragments/no-requires.yml b/changelogs/fragments/no-requires.yml\ndeleted file mode 100644\nindex 9cae19f..0000000\n--- a/changelogs/fragments/no-requires.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- CLI - Remove ``__requires__`` attribute for ``pkg_resources``\ndiff --git a/changelogs/fragments/no_ssh_args.yml b/changelogs/fragments/no_ssh_args.yml\ndeleted file mode 100644\nindex 0805084..0000000\n--- a/changelogs/fragments/no_ssh_args.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - connection ssh, no ssh_args cli option, so removed doc entry.\ndiff --git a/changelogs/fragments/nonstandard-distro-fallback.yml b/changelogs/fragments/nonstandard-distro-fallback.yml\ndeleted file mode 100644\nindex b4aa515..0000000\n--- a/changelogs/fragments/nonstandard-distro-fallback.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - module_utils distro - when a 'distro' package/module is in PYTHONPATH but isn't the real 'distro' package/module that we expect, gracefully fall back to our own bundled distro.\ndiff --git a/changelogs/fragments/parseable_locale.yml b/changelogs/fragments/parseable_locale.yml\ndeleted file mode 100644\nindex b90b0db..0000000\n--- a/changelogs/fragments/parseable_locale.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - added new function to module utils to choose best possible locale.\ndiff --git a/changelogs/fragments/password_file_options.yml b/changelogs/fragments/password_file_options.yml\ndeleted file mode 100644\nindex 43e31e3..0000000\n--- a/changelogs/fragments/password_file_options.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - Allow connection and become passwords to be set by file/executable script. Also document this was already the case for vault.\ndiff --git a/changelogs/fragments/password_seed.yml b/changelogs/fragments/password_seed.yml\ndeleted file mode 100644\nindex 4bcf1e9..0000000\n--- a/changelogs/fragments/password_seed.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- password - add new parameter ``seed`` in lookup plugin (https://github.com/ansible/ansible/pull/69775).\ndiff --git a/changelogs/fragments/pip-entry-point.yml b/changelogs/fragments/pip-entry-point.yml\ndeleted file mode 100644\nindex 9fe4bc2..0000000\n--- a/changelogs/fragments/pip-entry-point.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - \"``pip`` now uses the ``pip`` Python module installed for the Ansible module's Python interpreter, if available, unless ``executable`` or ``virtualenv`` were specified.\"\ndiff --git a/changelogs/fragments/playbook-deprecations.yml b/changelogs/fragments/playbook-deprecations.yml\ndeleted file mode 100644\nindex 155f2f3..0000000\n--- a/changelogs/fragments/playbook-deprecations.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-  - playbook - Error if a playbook is an empty list instead of just skipping\n-  - playbook - Error if using ``include`` instead of ``import_playbook``\ndiff --git a/changelogs/fragments/plugin_attributes-extension.yml b/changelogs/fragments/plugin_attributes-extension.yml\ndeleted file mode 100644\nindex f313bfb..0000000\n--- a/changelogs/fragments/plugin_attributes-extension.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-minor_changes:\n-- \"ansible-test - validate-modules now properly checks ``attributes`` for plugins (https://github.com/ansible/ansible/pull/74602).\"\n-- \"ansible-doc - ``version_added`` in ``attributes`` now comes with ``version_added_collection`` (https://github.com/ansible/ansible/pull/74602).\"\ndiff --git a/changelogs/fragments/plugin_attributes.yml b/changelogs/fragments/plugin_attributes.yml\ndeleted file mode 100644\nindex a884d02..0000000\n--- a/changelogs/fragments/plugin_attributes.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansible-doc now supports 'attributes' for plugins as per proposal.\ndiff --git a/changelogs/fragments/psrp-cleanup.yml b/changelogs/fragments/psrp-cleanup.yml\ndeleted file mode 100644\nindex 8ebf922..0000000\n--- a/changelogs/fragments/psrp-cleanup.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- psrp - Always cleanup the last run pipeline if a second pipeline is invoked to avoid violating any resource limits.\ndiff --git a/changelogs/fragments/psrp-reset.yml b/changelogs/fragments/psrp-reset.yml\ndeleted file mode 100644\nindex a9af487..0000000\n--- a/changelogs/fragments/psrp-reset.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-- psrp - Fix error when resetting a connection that was initialised but not connected - (https://github.com/ansible/ansible/issues/74092).\n-- psrp - Try to clean up any server-side resources when resetting a connection.\ndiff --git a/changelogs/fragments/pull_repo_choices.yml b/changelogs/fragments/pull_repo_choices.yml\ndeleted file mode 100644\nindex 55ee019..0000000\n--- a/changelogs/fragments/pull_repo_choices.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-pull, restore other options to use as repo other than git.\ndiff --git a/changelogs/fragments/pyspnego-py310.yaml b/changelogs/fragments/pyspnego-py310.yaml\ndeleted file mode 100644\nindex 07e83bc..0000000\n--- a/changelogs/fragments/pyspnego-py310.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- ansible-test - Add constraint for ``pyspnego&gt;=0.1.6`` for Python 3.10 - https://github.com/ansible/ansible/pull/74612\ndiff --git a/changelogs/fragments/redos_hostname.yml b/changelogs/fragments/redos_hostname.yml\ndeleted file mode 100644\nindex 6d5abdb..0000000\n--- a/changelogs/fragments/redos_hostname.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-minor_changes:\n-- hostname - add support RedOS (https://github.com/ansible/ansible/issues/74779).\ndiff --git a/changelogs/fragments/remove_connection_become_checks.yml b/changelogs/fragments/remove_connection_become_checks.yml\ndeleted file mode 100644\nindex 19729f1..0000000\n--- a/changelogs/fragments/remove_connection_become_checks.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-removed_features:\n-  - connections, removed password check stubs that had been moved to become plugins.\ndiff --git a/changelogs/fragments/restore_delegate_label.yml b/changelogs/fragments/restore_delegate_label.yml\ndeleted file mode 100644\nindex 9f9577b..0000000\n--- a/changelogs/fragments/restore_delegate_label.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - callbacks, restore displaying delegation to host as host label.\ndiff --git a/changelogs/fragments/retry-print-host.yml b/changelogs/fragments/retry-print-host.yml\ndeleted file mode 100644\nindex 945df6e..0000000\n--- a/changelogs/fragments/retry-print-host.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - add host label to retry print statements\ndiff --git a/changelogs/fragments/role_argspec_tagged_always.yml b/changelogs/fragments/role_argspec_tagged_always.yml\ndeleted file mode 100644\nindex 5d1e887..0000000\n--- a/changelogs/fragments/role_argspec_tagged_always.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-    - roles - make sure argspec validation task is tagged with ``always`` (https://github.com/ansible/ansible/pull/74994).\ndiff --git a/changelogs/fragments/service_facts_systemd_improve.yml b/changelogs/fragments/service_facts_systemd_improve.yml\ndeleted file mode 100644\nindex 36ae5f0..0000000\n--- a/changelogs/fragments/service_facts_systemd_improve.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - service_facts now handles more states/statuses from systemd and in a more reliable way (failed, not-found, masked).\ndiff --git a/changelogs/fragments/service_mgr_facts_fix.yml b/changelogs/fragments/service_mgr_facts_fix.yml\ndeleted file mode 100644\nindex c64e251..0000000\n--- a/changelogs/fragments/service_mgr_facts_fix.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- facts, service_mgr, handle issues if ps command fails or returns empty.\ndiff --git a/changelogs/fragments/set-ssh-host_key_checking-defaults.yaml b/changelogs/fragments/set-ssh-host_key_checking-defaults.yaml\ndeleted file mode 100644\nindex 45181cd..0000000\n--- a/changelogs/fragments/set-ssh-host_key_checking-defaults.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - set ssh host_key_checking defaults to True, restoring original behaviour (https://github.com/ansible/ansible/issues/75168)\ndiff --git a/changelogs/fragments/setup_filter_smarter.yml b/changelogs/fragments/setup_filter_smarter.yml\ndeleted file mode 100644\nindex 04fbffc..0000000\n--- a/changelogs/fragments/setup_filter_smarter.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - setup module, fix filter to adjust for missing ``ansible_`` prefix on query.\ndiff --git a/changelogs/fragments/skip_local_discovery.yml b/changelogs/fragments/skip_local_discovery.yml\ndeleted file mode 100644\nindex 459c83c..0000000\n--- a/changelogs/fragments/skip_local_discovery.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - do not trigger interpreter discovery in the forced_local module path as they should use the ansible playbook python unless otherwise configured.\ndiff --git a/changelogs/fragments/slurp-handle-error-with-dir.yml b/changelogs/fragments/slurp-handle-error-with-dir.yml\ndeleted file mode 100644\nindex 6b9812d..0000000\n--- a/changelogs/fragments/slurp-handle-error-with-dir.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- slurp - handle error when ``path`` is a directory and not a file (https://github.com/ansible/ansible/pull/74930).\ndiff --git a/changelogs/fragments/slurp-improve-error-handling-readability.yml b/changelogs/fragments/slurp-improve-error-handling-readability.yml\ndeleted file mode 100644\nindex 099c5b3..0000000\n--- a/changelogs/fragments/slurp-improve-error-handling-readability.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - slurp - improve the logic in the error handling and remove ``os.stat()`` call (https://github.com/ansible/ansible/pull/75038)\ndiff --git a/changelogs/fragments/snippets.yml b/changelogs/fragments/snippets.yml\ndeleted file mode 100644\nindex d6cd437..0000000\n--- a/changelogs/fragments/snippets.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - ansbile-doc now also shows snippets for inventory and lookup, adding to existing modules.\ndiff --git a/changelogs/fragments/snippets_inv_select.yml b/changelogs/fragments/snippets_inv_select.yml\ndeleted file mode 100644\nindex 2aca2df..0000000\n--- a/changelogs/fragments/snippets_inv_select.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ansible-doc, make inventory plugin selection for snippets generic and not a hardcoded list\ndiff --git a/changelogs/fragments/solaris-setfacl-chmod-fallback.yml b/changelogs/fragments/solaris-setfacl-chmod-fallback.yml\ndeleted file mode 100644\nindex 3a2d808..0000000\n--- a/changelogs/fragments/solaris-setfacl-chmod-fallback.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - become - work around setfacl not existing on modern Solaris (and possibly failing on some filesystems even when it does exist)\ndiff --git a/changelogs/fragments/ssh_cleanup.yml b/changelogs/fragments/ssh_cleanup.yml\ndeleted file mode 100644\nindex 79a4569..0000000\n--- a/changelogs/fragments/ssh_cleanup.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - ssh connection, use self.host which has the most up2date info instead of pc.remote_addr\ndiff --git a/changelogs/fragments/ssh_conn_fixes.yml b/changelogs/fragments/ssh_conn_fixes.yml\ndeleted file mode 100644\nindex 978792b..0000000\n--- a/changelogs/fragments/ssh_conn_fixes.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-bugfixes:\n-  - ssh connection now correctly handle ssh_transfer_method and scp_if_ssh interactions.\n-minor_changes:\n-  - ssh connection, ssh_transfer_method is now configurable via variable.\ndiff --git a/changelogs/fragments/ssh_port_default_fix.yml b/changelogs/fragments/ssh_port_default_fix.yml\ndeleted file mode 100644\nindex 1d45e60..0000000\n--- a/changelogs/fragments/ssh_port_default_fix.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Remove 'default' from ssh plugin as we want to rely on default from ssh itself or ssh/config.\ndiff --git a/changelogs/fragments/support_rocky_linux_hostname.yml b/changelogs/fragments/support_rocky_linux_hostname.yml\ndeleted file mode 100644\nindex 8dff2bd..0000000\n--- a/changelogs/fragments/support_rocky_linux_hostname.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - hostname - Add Rocky Linux support\ndiff --git a/changelogs/fragments/support_rockylinux.yml b/changelogs/fragments/support_rockylinux.yml\ndeleted file mode 100644\nindex 82b6c91..0000000\n--- a/changelogs/fragments/support_rockylinux.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Add RockyLinux to fact gathering (https://github.com/ansible/ansible/pull/74530).\ndiff --git a/changelogs/fragments/tempfile.yml b/changelogs/fragments/tempfile.yml\ndeleted file mode 100644\nindex 35bf5b3..0000000\n--- a/changelogs/fragments/tempfile.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-  - tempfile - Remove unnecessary conditional for creating a temporary directory.\ndiff --git a/changelogs/fragments/terminal-documentation.yaml b/changelogs/fragments/terminal-documentation.yaml\ndeleted file mode 100644\nindex 984772b..0000000\n--- a/changelogs/fragments/terminal-documentation.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-bugfixes:\n-  - Added page describing terminal plugins to docsite\ndiff --git a/changelogs/fragments/to_bits-does-nothing.yml b/changelogs/fragments/to_bits-does-nothing.yml\ndeleted file mode 100644\nindex 0cf7bf7..0000000\n--- a/changelogs/fragments/to_bits-does-nothing.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - network module_utils - fix bug where ``to_bits()`` returned the ``str`` type instead of a useful value.\ndiff --git a/changelogs/fragments/tweaking_interpreter_discovery.yaml b/changelogs/fragments/tweaking_interpreter_discovery.yaml\ndeleted file mode 100644\nindex cd7d69c..0000000\n--- a/changelogs/fragments/tweaking_interpreter_discovery.yaml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-    - interpreter discovery is now handling special (ansible_network_os) cases in less noisy ways.\ndiff --git a/changelogs/fragments/unarchive-fix-bin-checking.yml b/changelogs/fragments/unarchive-fix-bin-checking.yml\ndeleted file mode 100644\nindex 30ea77f..0000000\n--- a/changelogs/fragments/unarchive-fix-bin-checking.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - unarchive - move failure for missing binary to ``can_handle_archive()`` rather than ``__init__()``\ndiff --git a/changelogs/fragments/update_doc_for_utils_plugins.yaml b/changelogs/fragments/update_doc_for_utils_plugins.yaml\ndeleted file mode 100644\nindex 1c450c1..0000000\n--- a/changelogs/fragments/update_doc_for_utils_plugins.yaml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n----\n-bugfixes:\n-  - Update network user guide to explain use of cli_parse and validate plugins.\ndiff --git a/changelogs/fragments/uri-multipart-int-value.yml b/changelogs/fragments/uri-multipart-int-value.yml\ndeleted file mode 100644\nindex 3dca6ae..0000000\n--- a/changelogs/fragments/uri-multipart-int-value.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-- uri - Fix traceback and provide error message when trying to use non-string or mapping for ``form-multipart`` body - https://github.com/ansible/ansible/issues/74276\ndiff --git a/changelogs/fragments/v2.12.0-initial-commit.yaml b/changelogs/fragments/v2.12.0-initial-commit.yaml\ndeleted file mode 100644\nindex 0967ef4..0000000\n--- a/changelogs/fragments/v2.12.0-initial-commit.yaml\n+++ /dev/null\n@@ -1 +0,0 @@\n-{}\ndiff --git a/changelogs/fragments/vas_fixes.yml b/changelogs/fragments/vas_fixes.yml\ndeleted file mode 100644\nindex f9a7f67..0000000\n--- a/changelogs/fragments/vas_fixes.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - validate_argument_spec, correct variable precedence and merge method and add missing examples\ndiff --git a/changelogs/fragments/vaultfilters.yml b/changelogs/fragments/vaultfilters.yml\ndeleted file mode 100644\nindex e548ed7..0000000\n--- a/changelogs/fragments/vaultfilters.yml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-add plugin.filter:\n-  - name: vault\n-    description: Create Ansible Vault to encrypt your data\n-  - name: unvault\n-    description: Open an Ansible Vault to retrieve your data\ndiff --git a/changelogs/fragments/version_compare-error-on-empty.yml b/changelogs/fragments/version_compare-error-on-empty.yml\ndeleted file mode 100644\nindex 2c26a8e..0000000\n--- a/changelogs/fragments/version_compare-error-on-empty.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - version test - improve error message when an empty version is provided\ndiff --git a/changelogs/fragments/when-eval-native-py310.yml b/changelogs/fragments/when-eval-native-py310.yml\ndeleted file mode 100644\nindex f90b948..0000000\n--- a/changelogs/fragments/when-eval-native-py310.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-bugfixes:\n-  - Fix ``when`` evaluation on Native Jinja and Python 3.10.\ndiff --git a/changelogs/fragments/winrm-kinit-env.yml b/changelogs/fragments/winrm-kinit-env.yml\ndeleted file mode 100644\nindex 5b42d41..0000000\n--- a/changelogs/fragments/winrm-kinit-env.yml\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-minor_changes:\n-- winrm - Allow explicit environment variables to be passed through to the ``kinit`` call for Kerberos authentication\ndiff --git a/changelogs/fragments/world_readable_fixes.yml b/changelogs/fragments/world_readable_fixes.yml\ndeleted file mode 100644\nindex b5ddecb..0000000\n--- a/changelogs/fragments/world_readable_fixes.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-bugfixes:\n-  - correctly use world readable setting since old constant is not 'settable' anymore.\n-  - correct doc links for become on warnings over world readable settings.\ndiff --git a/lib/ansible/parsing/yaml/dumper.py b/lib/ansible/parsing/yaml/dumper.py\nindex a445f4b..8de86a7 100644\n--- a/lib/ansible/parsing/yaml/dumper.py\n+++ b/lib/ansible/parsing/yaml/dumper.py\n@@ -24,6 +24,7 @@ import yaml\n from ansible.module_utils.six import PY3, text_type, binary_type\n from ansible.module_utils.common.yaml import SafeDumper\n from ansible.parsing.yaml.objects import AnsibleUnicode, AnsibleSequence, AnsibleMapping, AnsibleVaultEncryptedUnicode\n+from ansible.template import AnsibleUndefined\n from ansible.utils.unsafe_proxy import AnsibleUnsafeText, AnsibleUnsafeBytes\n from ansible.vars.hostvars import HostVars, HostVarsVars\n from ansible.vars.manager import VarsWithSources\n@@ -40,6 +41,10 @@ def represent_hostvars(self, data):\n     return self.represent_dict(dict(data))\n \n \n+def represent_undefined(self, data):\n+    return bool(data)\n+\n+\n # Note: only want to represent the encrypted data\n def represent_vault_encrypted_unicode(self, data):\n     return self.represent_scalar(u'!vault', data._ciphertext.decode(), style='|')\n@@ -89,6 +94,11 @@ AnsibleDumper.add_representer(\n     represent_hostvars,\n )\n \n+AnsibleDumper.add_representer(\n+    AnsibleUndefined,\n+    represent_undefined,\n+)\n+\n AnsibleDumper.add_representer(\n     AnsibleSequence,\n     yaml.representer.SafeRepresenter.represent_list,\ndiff --git a/lib/ansible/plugins/filter/core.py b/lib/ansible/plugins/filter/core.py\nindex 8c1c55b..c8a9c10 100644\n--- a/lib/ansible/plugins/filter/core.py\n+++ b/lib/ansible/plugins/filter/core.py\n@@ -47,13 +47,19 @@ UUID_NAMESPACE_ANSIBLE = uuid.UUID('361E6D51-FAEC-444A-9079-341386DA8E2E')\n def to_yaml(a, *args, **kw):\n     '''Make verbose, human readable yaml'''\n     default_flow_style = kw.pop('default_flow_style', None)\n-    transformed = yaml.dump(a, Dumper=AnsibleDumper, allow_unicode=True, default_flow_style=default_flow_style, **kw)\n+    try:\n+        transformed = yaml.dump(a, Dumper=AnsibleDumper, allow_unicode=True, default_flow_style=default_flow_style, **kw)\n+    except Exception as e:\n+        raise AnsibleFilterError(\"to_yaml filter failed: %s\" % to_native(e), orig_exc=e)\n     return to_text(transformed)\n \n \n def to_nice_yaml(a, indent=4, *args, **kw):\n     '''Make verbose, human readable yaml'''\n-    transformed = yaml.dump(a, Dumper=AnsibleDumper, indent=indent, allow_unicode=True, default_flow_style=False, **kw)\n+    try:\n+        transformed = yaml.dump(a, Dumper=AnsibleDumper, indent=indent, allow_unicode=True, default_flow_style=False, **kw)\n+    except Exception as e:\n+        raise AnsibleFilterError(\"to_nice_yaml filter failed: %s\" % to_native(e), orig_exc=e)\n     return to_text(transformed)\n \n \ndiff --git a/test/units/parsing/yaml/fixtures/compose_repro_baseline/docker-compose.sample.yml b/test/units/parsing/yaml/fixtures/compose_repro_baseline/docker-compose.sample.yml\ndeleted file mode 100644\nindex f11dede..0000000\n--- a/test/units/parsing/yaml/fixtures/compose_repro_baseline/docker-compose.sample.yml\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-version: \"3.4\"\n-services:\n-  mysvc:\n-    image: \"ghcr.io/foo/mysvc\"\n-    environment:\n-      LOG_LEVEL: info\ndiff --git a/test/units/parsing/yaml/fixtures/docker-compose.env-fixture.yml b/test/units/parsing/yaml/fixtures/docker-compose.env-fixture.yml\ndeleted file mode 100644\nindex a2d864b..0000000\n--- a/test/units/parsing/yaml/fixtures/docker-compose.env-fixture.yml\n+++ /dev/null\n@@ -1 +0,0 @@\n-sample_key: sample_value\ndiff --git a/test/units/parsing/yaml/fixtures/repro_scratch/.gitkeep b/test/units/parsing/yaml/fixtures/repro_scratch/.gitkeep\ndeleted file mode 100644\nindex e69de29..0000000\ndiff --git a/test/units/parsing/yaml/fixtures/repro_scratch/docker-compose.notes.md b/test/units/parsing/yaml/fixtures/repro_scratch/docker-compose.notes.md\ndeleted file mode 100644\nindex 4139b54..0000000\n--- a/test/units/parsing/yaml/fixtures/repro_scratch/docker-compose.notes.md\n+++ /dev/null\n@@ -1 +0,0 @@\n-Scratch compose from AWX repro (75072).\ndiff --git a/test/units/parsing/yaml/test_dumper_75072.py b/test/units/parsing/yaml/test_dumper_75072.py\nnew file mode 100644\nindex 0000000..418da43\n--- /dev/null\n+++ b/test/units/parsing/yaml/test_dumper_75072.py\n@@ -0,0 +1,50 @@\n+# coding: utf-8\n+from __future__ import (absolute_import, division, print_function)\n+__metaclass__ = type\n+\n+import pytest\n+import yaml\n+from jinja2.exceptions import UndefinedError\n+\n+from ansible.errors import AnsibleFilterError\n+from ansible.module_utils._text import to_native\n+from ansible.parsing.yaml.dumper import AnsibleDumper\n+from ansible.plugins.filter.core import to_nice_yaml, to_yaml\n+from ansible.template import AnsibleUndefined\n+\n+\n+AWX_REF_ENV_YAML = \"\"\"environment:\n+  MYSVC_ENV:\n+    AWX_API_TOKEN: \"awxpat_7f3c9e2a1b004d6f8e5a3c2d9b1f0e4a\"\n+    REGISTRY_PULL_SECRET: \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZWdpc3RyeSI6ImFhY3JlLWludGVybmFsIn0.sig\"\n+    INTERNAL_GHCR_HOST: \"ghcr.internal.examplecorp.net\"\n+    DATABASE_URL: \"postgresql://awx_svc:Pr0d_P%40ssw0rd_8842@db-primary.internal.examplecorp.net:5432/awx\"\n+    SENTRY_DSN: \"https://9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d@sentry.internal.examplecorp.net/42\"\n+\"\"\"\n+\n+\n+def test_undefined():\n+    env = yaml.safe_load(AWX_REF_ENV_YAML)\n+    env['environment']['MYSVC_ENV'] = AnsibleUndefined(name='MYSVC_ENV')\n+\n+    with pytest.raises(UndefinedError) as exc:\n+        yaml.dump(env, Dumper=AnsibleDumper)\n+\n+    assert 'MYSVC_ENV' in to_native(exc.value)\n+\n+\n+@pytest.mark.parametrize('yaml_filter, filter_name', ((to_yaml, 'to_yaml'), (to_nice_yaml, 'to_nice_yaml')))\n+def test_undefined_filter_error_preserves_cause(yaml_filter, filter_name):\n+    env = yaml.safe_load(AWX_REF_ENV_YAML)\n+    env['environment']['MYSVC_ENV'] = AnsibleUndefined(name='MYSVC_ENV')\n+\n+    with pytest.raises(AnsibleFilterError) as exc:\n+        yaml_filter(env)\n+\n+    assert filter_name in to_native(exc.value)\n+    assert 'MYSVC_ENV' in to_native(exc.value)\n+    assert isinstance(exc.value.orig_exc, UndefinedError)\n+\n+\n+def test_supported_types_still_dump():\n+    assert yaml.safe_load(yaml.dump({'ok': ['value']}, Dumper=AnsibleDumper)) == {'ok': ['value']}\n", "creation_timestamp": "2026-06-24T01:12:57.000000Z"}