ancestor: 2.17.0 releases: 2.18.0b1: changes: breaking_changes: - Stopped wrapping all commands sent over SSH on a Windows target with a ``powershell.exe`` executable. This results in one less process being started on each command for Windows to improve efficiency, simplify the code, and make ``raw`` an actual raw command run with the default shell configured on the Windows sshd settings. This should have no affect on most tasks except for ``raw`` which now is not guaranteed to always be running in a PowerShell shell and from having the console output codepage set to UTF-8. To avoid this issue either swap to using ``ansible.windows.win_command``, ``ansible.windows.win_shell``, ``ansible.windows.win_powershell`` or manually wrap the raw command with the shell commands needed to set the output console encoding. - persistent connection plugins - The ``ANSIBLE_CONNECTION_PATH`` config option no longer has any effect. bugfixes: - -> runas become - Generate new token for the SYSTEM token to use for become. This should result in the full SYSTEM token being used and problems starting the process that fails with ``The process creation has been blocked``. - Add a version ceiling constraint for pypsrp to avoid potential breaking changes in the 1.0.0 release. - Add descriptions for ``ansible-galaxy install --help` and ``ansible-galaxy role|collection install --help``. - Avoid truncating floats when casting into int, as it can lead to truncation and unexpected results. 0.99999 will be 0, not 1. - COLOR_SKIP will not alter "included" events color display anymore. - Callbacks now correctly get the resolved connection plugin name as the connection used. - Darwin - add unit tests for Darwin hardware fact gathering. - Fix ``SemanticVersion.parse()`` to store the version string so that ``__repr__`` reports it instead of ``None`` (https://github.com/ansible/ansible/pull/83831). - Fix a traceback when an environment variable contains certain special characters (https://github.com/ansible/ansible/issues/83498) - 'Fix an issue when setting a plugin name from an unsafe source resulted in ``ValueError: unmarshallable object`` (https://github.com/ansible/ansible/issues/82708)' - Fix an issue where registered variable was not available for templating in ``loop_control.label`` on skipped looped tasks (https://github.com/ansible/ansible/issues/83619) - Fix for ``meta`` tasks breaking host/fork affinity with ``host_pinned`` strategy (https://github.com/ansible/ansible/issues/83294) - Fix handlers not being executed in lockstep using the linear strategy in some cases (https://github.com/ansible/ansible/issues/82307) - Fix rapid memory usage growth when notifying handlers using the ``listen`` keyword (https://github.com/ansible/ansible/issues/83392) - Fix the task attribute ``resolved_action`` to show the FQCN instead of ``None`` when ``action`` or ``local_action`` is used in the playbook. - Fix using ``module_defaults`` with ``local_action``/``action`` (https://github.com/ansible/ansible/issues/81905). - Fix using the current task's directory for looking up relative paths within roles (https://github.com/ansible/ansible/issues/82695). - 'Remove deprecated config options DEFAULT_FACT_PATH, DEFAULT_GATHER_SUBSET, and DEFAULT_GATHER_TIMEOUT in favor of setting ``fact_path``, ``gather_subset`` and ``gather_timeout`` as ``module_defaults`` for ``ansible.builtin.setup``. These will apply to both the ``gather_facts`` play keyword, and any ``ansible.builtin.setup`` tasks. To configure these options only for the ``gather_facts`` keyword, set these options as play keywords also.' - Set LANGUAGE environment variable is set to a non-English locale (https://github.com/ansible/ansible/issues/83608). - '``ansible-galaxy install --help`` - Fix the usage text and document that the requirements file passed to ``-r`` can include collections and roles.' - '``ansible-galaxy role install`` - update the default timeout to download archive URLs from 20 seconds to 60 (https://github.com/ansible/ansible/issues/83521).' - '``end_host`` - fix incorrect return code when executing ``end_host`` in the ``rescue`` section (https://github.com/ansible/ansible/issues/83447)' - addressed issue of trailing text been ignored, non-ASCII characters are parsed, enhance white space handling and fixed overly permissive issue of human_to_bytes filter(https://github.com/ansible/ansible/issues/82075) - ansible-config will now properly template defaults before dumping them. - ansible-doc - fixed "inicates" typo in output - ansible-doc - format top-level descriptions with multiple paragraphs as multiple paragraphs, instead of concatenating them (https://github.com/ansible/ansible/pull/83155). - ansible-doc - handle no_fail condition for role. - ansible-doc - make colors configurable. - ansible-galaxy collection install - remove old installation info when installing collections (https://github.com/ansible/ansible/issues/83182). - ansible-galaxy role install - fix symlinks (https://github.com/ansible/ansible/issues/82702, https://github.com/ansible/ansible/issues/81965). - ansible-test - The ``pylint`` sanity test now includes the controller/target context of files when grouping them. This allows the ``--py-version`` option to be passed to ``pylint`` to indicate the minimum supported Python version for each test context, preventing ``pylint`` from defaulting to the Python version used to invoke the test. - ansible-test action-plugin-docs - Fix to check for sidecar documentation for action plugins - ansible_managed restored it's 'templatability' by ensuring the possible injection routes are cut off earlier in the process. - apt - report changed=True when some packages are being removed (https://github.com/ansible/ansible/issues/46314). - apt_* - add more info messages raised while updating apt cache (https://github.com/ansible/ansible/issues/77941). - assemble - update argument_spec with 'decrypt' option which is required by action plugin (https://github.com/ansible/ansible/issues/80840). - atomic_move - fix using the setgid bit on the parent directory when creating files (https://github.com/ansible/ansible/issues/46742, https://github.com/ansible/ansible/issues/67177). - config, restored the ability to set module compression via a variable - connection plugins using the 'extras' option feature would need variables to match the plugin's loaded name, sometimes requiring fqcn, which is not the same as the documented/declared/expected variables. Now we fall back to the 'basename' of the fqcn, but plugin authors can still set the expected value directly. - copy - mtime/atime not updated. Fix now update mtime/atime(https://github.com/ansible/ansible/issues/83013) - csvfile lookup - give an error when no search term is provided using modern config syntax (https://github.com/ansible/ansible/issues/83689). - debconf - fix normalization of value representation for boolean vtypes in new packages (https://github.com/ansible/ansible/issues/83594) - delay keyword is now a float, matching the underlying 'time' API and user expectations. - display - warn user about empty log filepath (https://github.com/ansible/ansible/issues/79959). - display now does a better job of mapping warnings/errors to the proper log severity when using ansible.log. We still use color as a fallback mapping (now prioritiezed by severity) but mostly rely on it beind directly set by warnning/errors calls. - distro package - update the distro package version from 1.8.0 to 1.9.0 (https://github.com/ansible/ansible/issues/82935) - dnf - Ensure that we are handling DownloadError properly in the dnf module - dnf - Substitute variables in DNF cache path (https://github.com/ansible/ansible/pull/80094). - dnf - fix an issue where two packages of the same ``evr`` but different arch failed to install (https://github.com/ansible/ansible/issues/83406) - dnf - honor installroot for ``cachedir``, ``logdir`` and ``persistdir`` - dnf - perform variable substitutions in ``logdir`` and ``persistdir`` - dnf, dnf5 - fix for installing a set of packages by specifying them using a wildcard character (https://github.com/ansible/ansible/issues/83373) - 'dnf5 - re-introduce the ``state: installed`` alias to ``state: present`` (https://github.com/ansible/ansible/issues/83960)' - dnf5 - replace removed API calls - ensure we have logger before we log when we have increased verbosity. - facts - `support_discard` now returns `0` if either `discard_granularity` or `discard_max_hw_bytes` is zero; otherwise it returns the value of `discard_granularity`, as before (https://github.com/ansible/ansible/pull/83480). - facts - add a generic detection for VMware in product name. - facts - add facts about x86_64 flags to detect microarchitecture (https://github.com/ansible/ansible/issues/83331). - fetch - add error message when using ``dest`` with a trailing slash that becomes a local directory - https://github.com/ansible/ansible/issues/82878 - file - retrieve the link's full path when hard linking a soft link with follow (https://github.com/ansible/ansible/issues/33911). - fixed the issue of creating user directory using tilde(~) always reported "changed".(https://github.com/ansible/ansible/issues/82490) - fixed unit test test_borken_cowsay to address mock not been properly applied when existing unix system already have cowsay installed. - freebsd - refactor dmidecode fact gathering code for simplicity. - freebsd - update disk and slices regex for fact gathering (https://github.com/ansible/ansible/pull/82081). - get_url - Verify checksum using tmpsrc, not dest (https://github.com/ansible/ansible/pull/64092) - git - check if git version is available or not before using it for comparison (https://github.com/ansible/ansible/issues/72321). - include_tasks - Display location when attempting to load a task list where ``include_*`` did not specify any value - https://github.com/ansible/ansible/issues/83874 - known_hosts - the returned module invocation now accurately reflects the module arguments. - linear strategy now provides a properly templated task name to the v2_runner_on_started callback event. - 'linear strategy: fix handlers included via ``include_tasks`` handler to be executed in lockstep (https://github.com/ansible/ansible/issues/83019)' - linux - remove extraneous get_bin_path API call. - local - handle error while parsing values in ini files (https://github.com/ansible/ansible/issues/82717). - lookup - Fixed examples of csv lookup plugin (https://github.com/ansible/ansible/issues/83031). - module_defaults - do not display action/module deprecation warnings when using an action_group that contains a deprecated plugin (https://github.com/ansible/ansible/issues/83490). - module_utils atomic_move (used by most file based modules), now correctly handles permission copy and setting mtime correctly across all paths - package_facts - apk fix when cache is empty (https://github.com/ansible/ansible/issues/83126). - package_facts - no longer fails silently when the selected package manager is unable to list packages. - package_facts - returns the correct warning when package listing fails. - persistent connection plugins - The correct Ansible persistent connection helper is now always used. Previously, the wrong script could be used, depending on the value of the ``PATH`` environment variable. As a result, users were sometimes required to set ``ANSIBLE_CONNECTION_PATH`` to use the correct script. - powershell - Implement more robust deletion mechanism for C# code compilation temporary files. This should avoid scenarios where the underlying temporary directory may be temporarily locked by antivirus tools or other IO problems. A failure to delete one of these temporary directories will result in a warning rather than an outright failure. - powershell - Improve CLIXML decoding to decode all control characters and unicode characters that are encoded as surrogate pairs. - psrp - Fix bug when attempting to fetch a file path that contains special glob characters like ``[]`` - replace - Updated before/after example (https://github.com/ansible/ansible/issues/83390). - runtime-metadata sanity test - do not crash on deprecations if ``galaxy.yml`` contains an empty ``version`` field (https://github.com/ansible/ansible/pull/83831). - service - fix order of CLI arguments on FreeBSD (https://github.com/ansible/ansible/pull/81377). - service_facts - don't crash if OpenBSD rcctl variable contains '=' character (https://github.com/ansible/ansible/issues/83457) - service_facts will now detect failed services more accurately across systemd implementations. - setup module (fact gathering), added fallbcak code path to handle mount fact gathering in linux when threading is not available - setup/gather_facts will skip missing ``sysctl`` instead of being a fatal error (https://github.com/ansible/ansible/pull/81297). - shell plugin - properly quote all needed components of shell commands (https://github.com/ansible/ansible/issues/82535) - ssh - Fix bug when attempting to fetch a file path with characters that should be quoted when using the ``piped`` transfer method - support the countme option when using yum_repository - systemd - extend systemctl is-enabled check to handle "enabled-runtime" (https://github.com/ansible/ansible/pull/77754). - systemd facts - handle AttributeError raised while gathering facts on non-systemd hosts. - systemd_service - handle mask operation failure (https://github.com/ansible/ansible/issues/81649). - templating hostvars under native jinja will not cause serialization errors anymore. - the raw arguments error now just displays the short names of modules instead of every possible variation - unarchive - Better handling of files with an invalid timestamp in zip file (https://github.com/ansible/ansible/issues/81092). - unarchive - trigger change when size and content differ when other properties are unchanged (https://github.com/ansible/ansible/pull/83454). - unsafe data - Address an incompatibility when iterating or getting a single index from ``AnsibleUnsafeBytes`` - unsafe data - Address an incompatibility with ``AnsibleUnsafeText`` and ``AnsibleUnsafeBytes`` when pickling with ``protocol=0`` - unsafe data - Enable directly using ``AnsibleUnsafeText`` with Python ``pathlib`` (https://github.com/ansible/ansible/issues/82414) - uri - deprecate 'yes' and 'no' value for 'follow_redirects' parameter. - vault - handle vault password file value when it is directory (https://github.com/ansible/ansible/issues/42960). - vault.is_encrypted_file is now optimized to be called in runtime and not for being called in tests - vault_encrypted test documentation, name and examples have been fixed, other parts were clarified - winrm - Add retry after exceeding commands per user quota that can occur in loops and action plugins running multiple commands. deprecated_features: - Deprecate ``ansible.module_utils.basic.AnsibleModule.safe_eval`` and ``ansible.module_utils.common.safe_eval`` as they are no longer used. - persistent connection plugins - The ``ANSIBLE_CONNECTION_PATH`` config option no longer has any effect, and will be removed in a future release. - yum_repository - deprecate ``async`` option as it has been removed in RHEL 8 and will be removed in ansible-core 2.22. - 'yum_repository - the following options are deprecated: ``deltarpm_metadata_percentage``, ``gpgcakey``, ``http_caching``, ``keepalive``, ``metadata_expire_filter``, ``mirrorlist_expire``, ``protect``, ``ssl_check_cert_permissions``, ``ui_repoid_vars`` as they have no effect for dnf as an underlying package manager. The options will be removed in ansible-core 2.22.' known_issues: - ansible-test - When using ansible-test containers with Podman on a Ubuntu 24.04 host, ansible-test must be run as a non-root user to avoid permission issues caused by AppArmor. - ansible-test - When using the Fedora 40 container with Podman on a Ubuntu 24.04 host, the ``unix-chkpwd`` AppArmor profile must be disabled on the host to allow SSH connections to the container. minor_changes: - Add ``gid_min``, ``gid_max`` to the group plugin to overwrite the defaults provided by the ``/etc/login.defs`` file (https://github.com/ansible/ansible/pull/81770). - Add ``python3.13`` to the default ``INTERPRETER_PYTHON_FALLBACK`` list. - Add ``uid_min``, ``uid_max`` to the user plugin to overwrite the defaults provided by the ``/etc/login.defs`` file (https://github.com/ansible/ansible/pull/81770). - Add a new meta task ``end_role`` (https://github.com/ansible/ansible/issues/22286) - Add a new mount_facts module to support gathering information about mounts that are excluded by default fact gathering. - Introducing COLOR_INCLUDED parameter. This can set a specific color for "included" events. - Removed the shell ``environment`` config entry as this is already covered by the play/task directives documentation and the value itself is not used in the shell plugins. This should remove any confusion around how people set the environment for a task. - Suppress cryptography deprecation warnings for Blowfish and TripleDES when the ``paramiko`` Python module is installed. - The minimum supported Python version on targets is now Python 3.8. - '``ansible-galaxy collection publish`` - add configuration options for the initial poll interval and the exponential when checking the import status of a collection, since the default is relatively slow.' - ansible-config has new 'validate' option to find mispelled/forgein configurations in ini file or environment variables. - ansible-doc - show examples in role entrypoint argument specs (https://github.com/ansible/ansible/pull/82671). - ansible-galaxy - Handle authentication errors and token expiration - ansible-test - Add Ubuntu 24.04 remote. - ansible-test - Add support for Python 3.13. - ansible-test - An ``ansible_core.egg-info`` directory is no longer generated when running tests. - ansible-test - Connection options can be set for ansible-test managed remote Windows instances. - ansible-test - Improve the error message shown when an unknown ``--remote`` or ``--docker`` option is given. - ansible-test - Remove Python 2.7 compatibility imports. - ansible-test - Removed the ``vyos/1.1.8`` network remote as it is no longer functional. - ansible-test - Replace Alpine 3.19 container and remote with Alpine 3.20. - ansible-test - Replace Fedora 39 container and remote with Fedora 40. - ansible-test - Replace FreeBSD 14.0 remote with FreeBSD 14.1. - ansible-test - Replace RHEL 9.3 remote with RHEL 9.4. - ansible-test - Replace Ubuntu 20.04 container with Ubuntu 24.04 container. - ansible-test - The ``empty-init`` sanity test no longer applies to ``module_utils`` packages. - ansible-test - Update ``ansible-test-utility-container`` to version 3.1.0. - ansible-test - Update ``base`` and ``default`` containers to omit Python 3.7. - ansible-test - Update ``coverage`` to version 7.6.1. - ansible-test - Update ``http-test-container`` to version 3.0.0. - ansible-test - Update ``nios-test-container`` to version 5.0.0. - ansible-test - Update ``pypi-test-container`` to version 3.2.0. - ansible-test - Updated the frozen requirements for all sanity tests. - ansible-test - Upgrade ``pip`` used in ansible-test managed virtual environments from version 24.0 to 24.2. - ansible-test - Virtual environments created by ansible-test no longer include the ``wheel`` or ``setuptools`` packages. - ansible-test - update HTTP test container to 3.2.0 (https://github.com/ansible/ansible/pull/83469). - ansible.log now also shows log severity field - distribution.py - Added SL-Micro in Suse OS Family. (https://github.com/ansible/ansible/pull/83541) - dnf - minor internal changes in how the errors from the dnf API are handled; rely solely on the exceptions rather than inspecting text embedded in them - dnf - remove legacy code for unsupported dnf versions - dnf5 - implement ``enable_plugin`` and ``disable_plugin`` options - fact gathering - Gather /proc/sysinfo facts on s390 Linux on Z - facts - add systemd version and features - find - change the datatype of ``elements`` to ``path`` in option ``paths`` (https://github.com/ansible/ansible/pull/83575). - ini lookup - add new ``interpolation`` option (https://github.com/ansible/ansible/issues/83755) - isidentifier - remove unwanted Python 2 specific code. - loop_control - add a break_when option to to break out of a task loop early based on Jinja2 expressions (https://github.com/ansible/ansible/issues/83442). - package_facts module now supports using aliases for supported package managers, for example managers=yum or managers=dnf will resolve to using the underlying rpm. - plugins, deprecations and warnings concerning configuration are now displayed to the user, technical issue that prevented 'de-duplication' have been resolved. - psrp - Remove connection plugin extras vars lookup. This should have no affect on existing users as all options have been documented. - remove extraneous selinux import (https://github.com/ansible/ansible/issues/83657). - replace random with secrets library. - rpm_key - allow validation of gpg key with a subkey fingerprint - rpm_key - enable gpg validation that requires presence of multiple fingerprints - service_mgr - add support for dinit service manager (https://github.com/ansible/ansible/pull/83489). - task timeout now returns timedout key with frame/code that was in execution when the timeout is triggered. - timedout test for checking if a task result represents a 'timed out' task. - unarchive - Remove Python 2.7 compatibility imports. - validate-modules sanity test - detect if names of an option (option name + aliases) do not match between argument spec and documentation (https://github.com/ansible/ansible/issues/83598, https://github.com/ansible/ansible/pull/83599). - validate-modules sanity test - reject option/aliases names that are identical up to casing but belong to different options (https://github.com/ansible/ansible/pull/83530). - vaulted_file test filter added, to test if the provided path is an 'Ansible vaulted' file - yum_repository - add ``excludepkgs`` alias to the ``exclude`` option. release_summary: '| Release Date: 2024-09-24 | `Porting Guide `__ ' removed_features: - Play - removed deprecated ``ROLE_CACHE`` property in favor of ``role_cache``. - Remove deprecated `VariableManager._get_delegated_vars` method (https://github.com/ansible/ansible/issues/82950) - Removed Python 3.10 as a supported version on the controller. Python 3.11 or newer is required. - Removed support for setting the ``vars`` keyword to lists of dictionaries. It is now required to be a single dictionary. - loader - remove deprecated non-inclusive words (https://github.com/ansible/ansible/issues/82947). - paramiko_ssh - removed deprecated ssh_args from the paramiko_ssh connection plugin (https://github.com/ansible/ansible/issues/82939). - paramiko_ssh - removed deprecated ssh_common_args from the paramiko_ssh connection plugin (https://github.com/ansible/ansible/issues/82940). - paramiko_ssh - removed deprecated ssh_extra_args from the paramiko_ssh connection plugin (https://github.com/ansible/ansible/issues/82941). - play_context - remove deprecated PlayContext.verbosity property (https://github.com/ansible/ansible/issues/82945). - utils/listify - remove deprecated 'loader' argument from listify_lookup_plugin_terms API (https://github.com/ansible/ansible/issues/82949). codename: Fool in the Rain fragments: - 2.18.0b1_summary.yaml - 42960_vault_password.yml - 46314.yml - 46742-atomic_move-fix-setgid.yml - 62151-loop_control-until.yml - 64092-get_url_verify_tmpsrc_checksum.yml - 72321_git.yml - 81770-add-uid-guid-minmax-keys.yml - 82075.yml - 82307-handlers-lockstep-linear-fix.yml - 82490_creating_user_dir_using_tilde_always_reports_changed.yml - 82535-properly-quote-shell.yml - 82671-ansible-doc-role-examples.yml - 82708-unsafe-plugin-name-error.yml - 82831_countme_yum_repository.yml - 82878-fetch-dest-is-dir.yml - 82941.yml - 82946.yml - 82947.yml - 83019-linear-handlers-lockstep-fix.yml - 83031.yml - 83155-ansible-doc-paragraphs.yml - 83235-copy-module-update-mtime.yml - 83294-meta-host_pinned-affinity.yml - 83327.yml - 83331.yml - 83373-dnf5-wildcard.yml - 83392-fix-memory-issues-handlers.yml - 83406-dnf-fix-arch-cmp.yml - 83447-end_host-rescue-rc.yml - 83457-service_facts-openbsd-dont-crash-in-equals.yml - 83469-http-test-container.yml - 83480-fix-support-discard.yml - 83498-command-tb-env.yml - 83508_mount_facts.yml - 83530-validate-modules-casing.yml - 83540-update_disto_version.yml - 83541-add-sl-micro-suse-family.yaml - 83575-fix-sanity-ignore-for-find.yml - 83599-validate-modules-aliases.yml - 83601-debconf-normalize-bools.yml - 83619-loop-label-register.yml - 83716-enable-subkey-fingerprint-validation-in-rpm-key-module.yml - 83755-ini-new-interpolation-option.yml - 83803-collection-import-poll-interval.yml - 83831-runtime-metadata-fix.yml - 83874-include-parse-error-location.yml - 83960-dnf5-state-installed-fix.yml - PowerShell-AddType-temp.yml - action-plugin-docs-sidecar.yml - add_systemd_facts.yml - ansible-config-validate.yml - ansible-doc-color.yml - ansible-doc-inicate.yml - ansible-doc.yml - ansible-drop-python-3.7.yml - ansible-galaxy-install-archive-url-timeout.yml - ansible-galaxy-install-help.yml - ansible-galaxy-role-install-symlink.yml - ansible-test-container-update.yml - ansible-test-coverage-update.yml - ansible-test-error-message-improvement.yml - ansible-test-http-test-container-update.yml - ansible-test-nios-container.yml - ansible-test-no-egg-info.yml - ansible-test-platform-updates.yml - ansible-test-pylint-py-version.yml - ansible-test-pypi-test-container-update.yml - ansible-test-sanity-empty-init.yml - ansible-test-sanity-test-requirements.yml - ansible-test-utility-container-update.yml - ansible-test-venv-bootstrap.yml - ansible-test-vyos.yml - ansible-test-windows-remote.yml - ansible_connection_path.yml - ansible_managed_restore.yml - apk_package_facts.yml - apt_cache.yml - assemble.yml - atomic_update_perms_time.yml - become-runas-system.yml - cleanup-outdated-galaxy-install-info.yml - colors_for_included_events.yml - config_init_fix.yml - correct-callback-fqcn-old-style-action-invocation.yml - correct_connection_callback.yml - darwin_facts.yml - delay_type.yml - deprecate-safe-evals.yml - dinit.yml - display_fix_log_severity.yml - dnf-exceptions-vs-text.yml - dnf-installroot-substitutions.yml - dnf-remove-legacy-code.yml - dnf5-api-breaks.yml - dnf5-enable-disable-plugins.yml - dnf_cache_path.yml - dnf_handle_downloaderror.yml - dwim_is_role_fix_task_relative.yml - empty_log_path.yml - enabled_runtime.yml - end_role.yml - extras_fix.yml - fetch-filename.yml - file_hardlink.yml - fix-inconsistent-csvfile-missing-search-error.yml - fix-module-defaults-deprecations.yml - fix_floating_ints.yml - fix_log_verbosity.yml - freebsd_disk_regex.yml - freebsd_facts_refactor.yml - freebsd_service.yml - galaxy-reauth-error-handling.yml - gather-s390-sysinfo.yml - gather_facts_single.yml - getoffmylawn.yml - hostvars_fix.yml - isidentifier.yml - known_hosts_module_args.yml - language.yml - linear_started_name.yml - linux_network_get.yml - listify.yml - local_facts_d.yml - mask_me.yml - mc_fix.yml - package_facts_aliases.yml - package_facts_warnings.yml - powershell-clixml.yml - psrp-extras.yml - psrp-version-req.yml - python-3.13.yml - raw_clean_msg.yml - remove-deprecated-gather-facts-config.yml - remove-deprecated-get_delegated_vars.yml - remove-deprecated-role-cache.yml - remove-deprecated-vars-syntax.yml - remove-python-2-compat.yml - remove-python3.10-controller-support.yml - replace_regex.yml - secrets.yml - selinux_import.yml - service_facts_systemd_fix.yml - shell-environment.yml - ssh-windows.yml - suppress-paramiko-warnings.yml - sysctl_fact_fix.yml - systemd_facts.yml - timedout_test.yml - timeout_show_frame.yml - unarchive_differs.yml - unarchive_timestamp.yml - unsafe-fixes-2.yml - unsafe-intern.yml - uri_follow_redirect.yml - v2.18.0-initial-commit.yaml - vaulted_file_and_fixes.yml - vmware_facts.yml - winrm-quota.yml - yum_repository.yml modules: - description: Retrieve mount information. name: mount_facts namespace: lib.ansible.modules plugins: test: - description: did the task time out name: timedout namespace: null - description: Is this file an encrypted vault name: vaulted_file namespace: null release_date: '2024-09-24' 2.18.0rc1: changes: bugfixes: - Errors now preserve stacked error messages even when YAML is involved. - Fix disabling SSL verification when installing collections and roles from git repositories. If ``--ignore-certs`` isn't provided, the value for the ``GALAXY_IGNORE_CERTS`` configuration option will be used (https://github.com/ansible/ansible/issues/83326). - Improve performance on large inventories by reducing the number of implicit meta tasks. - Use the requested error message in the ansible.module_utils.facts.timeout timeout function instead of hardcoding one. - '``package``/``dnf`` action plugins - provide the reason behind the failure to gather the ``ansible_pkg_mgr`` fact to identify the package backend' - ansible-test - Enable the ``sys.unraisablehook`` work-around for the ``pylint`` sanity test on Python 3.11. Previously the work-around was only enabled for Python 3.12 and later. However, the same issue has been discovered on Python 3.11. - debconf - set empty password values (https://github.com/ansible/ansible/issues/83214). - dnf5 - fix traceback when ``enable_plugins``/``disable_plugins`` is used on ``python3-libdnf5`` versions that do not support this functionality - facts - skip if distribution file path is directory, instead of raising error (https://github.com/ansible/ansible/issues/84006). - user module now avoids changing ownership of files symlinked in provided home dir skeleton minor_changes: - ansible-test - Default to Python 3.13 in the ``base`` and ``default`` containers. - ansible-test - Disable the ``deprecated-`` prefixed ``pylint`` rules as their results vary by Python version. - ansible-test - Improve container runtime probe error handling. When unexpected probe output is encountered, an error with more useful debugging information is provided. - ansible-test - Update ``pylint`` sanity test to use version 3.3.1. - ansible-test - Update the ``base`` and ``default`` containers. release_summary: '| Release Date: 2024-10-14 | `Porting Guide `__ ' codename: Fool in the Rain fragments: - 2.18.0rc1_summary.yaml - ansible-test-probe-error-handling.yml - ansible-test-pylint-fix.yml - ansible-test-update.yml - debconf_empty_password.yml - dnf5-plugins-compat.yml - fix-ansible-galaxy-ignore-certs.yml - fix-module-utils-facts-timeout.yml - fix_errors.yml - os_family.yml - package-dnf-action-plugins-facts-fail-msg.yml - skip-implicit-flush_handlers-no-notify.yml - user_action_fix.yml release_date: '2024-10-14' 2.18.0rc2: changes: bugfixes: - user action will now require O(force) to overwrite the public part of an ssh key when generating ssh keys, as was already the case for the private part. release_summary: '| Release Date: 2024-10-29 | `Porting Guide `__ ' security_fixes: - include_vars action - Ensure that result masking is correctly requested when vault-encrypted files are read. (CVE-2024-8775) - task result processing - Ensure that action-sourced result masking (``_ansible_no_log=True``) is preserved. (CVE-2024-8775) - user action won't allow ssh-keygen, chown and chmod to run on existing ssh public key file, avoiding traversal on existing symlinks (CVE-2024-9902). codename: Fool in the Rain fragments: - 2.18.0rc2_summary.yaml - cve-2024-8775.yml - user_ssh_fix.yml release_date: '2024-10-29'