diff options
author | Lee Garrett <lgarrett@rocketjump.eu> | 2021-11-17 20:15:37 +0100 |
---|---|---|
committer | Lee Garrett <lgarrett@rocketjump.eu> | 2021-11-17 20:15:37 +0100 |
commit | b1739f3e93dadd7d8fa794644ceedc24bddc8388 (patch) | |
tree | 193d287510fd44d67857e2d6b6bfcbb2b495c60a /changelogs/changelog.yaml | |
parent | 13e2c2e94d3559b85a7d813d98e9835b891b0a9f (diff) | |
download | debian-ansible-core-b1739f3e93dadd7d8fa794644ceedc24bddc8388.zip |
New upstream version 2.12.0
Diffstat (limited to 'changelogs/changelog.yaml')
-rw-r--r-- | changelogs/changelog.yaml | 2913 |
1 files changed, 976 insertions, 1937 deletions
diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index 4d0bd4bf..7e14bc45 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -1,2046 +1,1085 @@ -ancestor: 2.10.0 +ancestor: 2.11.0 releases: - 2.11.0: + 2.12.0: changes: - bugfixes: - - ansible-test - ensure the correct unit test target is given when the ``__init__.py`` - file is modified inside the connection plugins directory - major_changes: - - 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. This - allows tests running under Python 2.6 to continue functioning even though - PyPI is discontinuing support for non-SNI capable clients. - minor_changes: - - ansible-test - Update distribution test containers from version 2.0.1 to 2.0.2. - - ansible-test - Update the Ansible Core and Ansible Collection default test - containers to 3.2.0 and 3.2.2 respectively. - release_summary: '| Release Date: 2021-04-26 + release_summary: '| Release Date: 2021-11-05 | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ ' - codename: Hey Hey, What Can I Do + codename: Dazed and Confused fragments: - - ansible-test-connection-units-init.yml - - ansible-test-default-containers-3.2.yml - - ansible-test-distro-containers-2.0.2.yml - - ansible-test-pypi-test-container.yml - - v2.11.0_summary.yaml - release_date: '2021-04-26' - 2.11.0b1: + - v2.12.0_summary.yaml + release_date: '2021-11-05' + 2.12.0b1: changes: breaking_changes: - - Made SCM collections be reinstalled regardless of ``--force`` being present. - - NetBSD virtualization facts (specifically ``ansible_virtualization_type``) - now returns a more accurate value by checking the value of the ``machdep.hypervisor`` - ``sysctl`` key. This change is breaking because in some cases previously, - we would erroneously report ``xen`` even when the target is not running on - Xen. This prevents that behavior in most cases. (https://github.com/ansible/ansible/issues/69352) - - "Replaced the in-tree dependency resolver with an external implementation - that pip >= 20.3 uses now by default \u2014 ``resolvelib``. (https://github.com/ansible/ansible/issues/71784)" - - The ``meta`` module now supports tags for user-defined tasks. Internal ``meta`` - tasks continue to always run. (https://github.com/ansible/ansible/issues/64558) - - ansible-galaxy login command has been removed (see https://github.com/ansible/ansible/issues/71560) - bugfixes: - - ANSIBLE_COLLECTIONS_PATHS - remove deprecation so that users of Ansible 2.9 - and 2.10+ can use the same var when specifying a collection path without a - warning. - - Added unsafe_writes test. - - Address compat with rpmfluff-0.6 for integration tests - - 'Address the deprecation of the use of stdlib distutils in packaging. It''s - a short-term hotfix for the problem (https://github.com/ansible/ansible/issues/70456, - https://github.com/pypa/setuptools/issues/2230, https://github.com/pypa/setuptools/commit/bd110264) - - ' - - Adjust various hard-coded action names to also include their ``ansible.builtin.`` - and ``ansible.legacy.`` prefixed version (https://github.com/ansible/ansible/issues/71817, - https://github.com/ansible/ansible/issues/71818, https://github.com/ansible/ansible/pull/71824). - - Allow TypeErrors on Undefined variables in filters to be handled or deferred - when processing for loops. - - Allow `~` to be present in file names in galaxy roles (https://github.com/ansible/ansible/issues/72966) - - Always mention the name of the deprecated or tombstoned plugin in routing - deprecation/tombstone messages (https://github.com/ansible/ansible/pull/73059). - - Ansible output now uses stdout to determine column width instead of stdin - - AnsibleModule - added arg ``ignore_invalid_cwd`` to ``AnsibleModule.run_command()``, - to control its behaviour when ``cwd`` is invalid. (https://github.com/ansible/ansible/pull/72390) - - Apply ``_wrap_native_text`` only for builtin filters specified in STRING_TYPE_FILTERS. - - Be smarter about collection paths ending with ansible_collections, emulating - a-galaxy behaviour. Issue 72628 - - CLI - Restore git information in version output when running from source - - Collection callbacks were ignoring options and rules for stdout and adhoc - cases. - - Collections - Ensure ``action_loader.get`` is called with ``collection_list`` - to properly find collections when ``collections:`` search is specified (https://github.com/ansible/ansible/issues/72170) - - Command module now returns stdout & stderr if executable is missing or an - unknown error occurs - - ConfigManager - Normalize ConfigParser between Python2 and Python3 to for - handling comments (https://github.com/ansible/ansible/issues/73709) - - Continue execution when 'flatten' filter when it hits a None/null value as - part of the list. - - Correct the inventory source error parse handling, specifically make the config - INVENTORY_ANY_UNPARSED_IS_FAILED work as expected. - - Display - Use wcswidth to calculate printable width of a text string (https://github.com/ansible/ansible/issues/63105) - - Enabled unsafe_writes for get_url which was ignoring the paramter. - - Ensure Ansible's unique filter preserves order (https://github.com/ansible/ansible/issues/63417) - - Ensure if a traceback halts ``strategy.run`` that we still attempt to clean - up (https://github.com/ansible/ansible/issues/23958) - - Ensure password passed in by -k is used on delegated hosts that do not have - ansible_password set - - Ensure the correct options are used when ssh executables are used that don't - match ssh executable names. - - Facts collection - get serial number of NVMe device without sg_inq (https://github.com/ansible/ansible/issues/66663). - - 'Fix --list-tasks format `role_name : task_name` when task name contains the - role name. (https://github.com/ansible/ansible/issues/72505)' - - Fix ``RecursionError`` when templating large vars structures (https://github.com/ansible/ansible/issues/71920) - - 'Fix ``delegate_facts: true`` when ``ansible_python_interpreter`` is not set. - (https://github.com/ansible/ansible/issues/70168)' - - Fix an exit code for a non-failing playbook (https://github.com/ansible/ansible/issues/71306) - - Fix ansible-galaxy collection list to show collections in site-packages (https://github.com/ansible/ansible/issues/70147) - - Fix bytestring vs string comparison in module_utils.basic.is_special_selinux_path() - so that special-cased filesystems which don't support SELinux context attributes - still allow files to be manipulated on them. (https://github.com/ansible/ansible/issues/70244) - - Fix execution of the meta tasks 'clear_facts', 'clear_host_errors', 'end_play', - 'end_host', and 'reset_connection' when the CLI flag '--flush-cache' is provided. - - Fix fileglob bug where it could return different results for different order - of parameters (https://github.com/ansible/ansible/issues/72873). - - Fix incorrect msg in the results dict in loops - - Fix incorrect re-run of roles with tags (https://github.com/ansible/ansible/issues/69848) - - Fix incorrect variable scoping when using ``import with context`` in Jinja2 - templates. (https://github.com/ansible/ansible/issues/72615) - - Fix jsonfile cache plugin option '_uri' to be a type path instead of a string. - (https://github.com/ansible/ansible/issues/38002) - - 'Fix notifying handlers via `role_name : handler_name` when handler name contains - the role name. (https://github.com/ansible/ansible/issues/70582)' - - Fix parsing of values when using empty string as a key (https://github.com/ansible/ansible/issues/57132) - - Fix statistics reporting when rescue block contains another block (issue https://github.com/ansible/ansible/issues/61253). - - Fix to previous deprecation change (#70504) which caused command warning deprecation - to show in all cases, even when not specified by the user. - - Fixed TypeError instancemethod expecting at least 2 arguments for apt_repository(issue - https://github.com/ansible/ansible/issues/69308, PR https://github.com/ansible/ansible/pull/69463) - - Fixed issue when `netstat` is either missing or doesn't have execution permissions - leading to incorrect command being executed. - - Fixes ``ansible-galaxy role info`` to support multiple roles on the command - line (https://github.com/ansible/ansible/pull/70148) - - Fixes ansible-test traceback when plugin author is not a string or a list - of strings (https://github.com/ansible/ansible/pull/70507) - - Handle more varnames that can create conflicts, expand a function in general, - handle jinja2 globals in particular (https://github.com/ansible/ansible/issues/41955). - - INTERPRETER_PYTHON_DISTRO_MAP - prefer ``/usr/libexec/platform-python`` on - ``oraclelinux 8`` when other pythons are present. - - Improve Ansible config deprecations to show the source of the deprecation - (ansible-core). Also remove space before a comma in config deprecations (https://github.com/ansible/ansible/pull/72697). - - Improved/fixed regular expressions in ``validate-modules/validate_modules/schema.py`` - and ``utils/collection_loader/_collection_finder.py`` (https://github.com/ansible/ansible/pull/73577). - - Includes - Explicitly get the include task, and not assume it is the parent - (https://github.com/ansible/ansible/issues/65710) - - InventoryManager - Fix unhandled exception when given limit file was actually - a directory. - - InventoryManager - Fix unhandled exception when inventory directory was empty - or contained empty subdirectories (https://github.com/ansible/ansible/issues/73658). - - JSON Encoder - Ensure we treat single vault encrypted values as strings (https://github.com/ansible/ansible/issues/70784) - - Lookup user by UID in password database if login name is not found (https://github.com/ansible/ansible/issues/17029) - - Pass expression in angle-bracket notation as filename argument to a ``compile()`` - built-in function, so that Python debuggers do not try to parse it as filename. - - Pass the connection's timeout to connection plugins instead of the task's - timeout. - - Provide more information in AnsibleUndefinedVariable (https://github.com/ansible/ansible/issues/55152) - - Python module_utils finder - refactor logic to eliminate many corner cases, - remove recursion, fix base module_utils redirections - - Remove an embedded function from RoleMixin and add tests for it (https://github.com/ansible/ansible/pull/72754). - - Remove the warning displayed when validating the arg spec of a role with dependencies - and add it to the documentation. - - Restore the ability for changed_when/failed_when to function with group_by - (#70844). - - Restored unsafe_writes functionality which was being skipped. - - Restructured pipelining settings to be at the connection plugins leaving base - config as global and for backwards compatiblity. - - SSH plugin - Improve error message when ssh client is not found on the host - - Skip invalid collection names when listing in ansible-doc instead of throwing - exception. Issue#72257 - - Skip literal_eval for string filters results in native jinja. (https://github.com/ansible/ansible/issues/70831) - - Stop adding the connection variables to the output results - - Suppress warning when user directory used in --playbook-dir option with ansible-inventory - command (https://github.com/ansible/ansible/issues/65262). - - TOML inventory - Ensure we register dump functions for ``AnsibleUnsafe`` to - support dumping unsafe values. Note that the TOML format has no functionality - to mark that the data is unsafe for re-consumption. (https://github.com/ansible/ansible/issues/71307) - - Terminal plugins - add "\e[m" to the list of ANSI sequences stripped from - device output - - The ``docker`` and ``k8s`` action groups / module default groups now also - support the moved modules in `community.docker <https://galaxy.ansible.com/community/docker>`_, - `community.kubevirt <https://github.com/ansible-collections/community.kubevirt>`_, - `community.okd <https://galaxy.ansible.com/community/okd>`_, and `kubernetes.core - <https://galaxy.ansible.com/kubernetes/core>`_ (https://github.com/ansible/ansible/pull/72428). - - The ``flush()`` method of ``CachePluginAdjudicator`` now calls the plugin's - ``flush()`` method instead of iterating over the keys that the adjudicator - knows about and deleting those from the cache. (https://github.com/ansible/ansible/issues/68770) - - The `ansible_become` value was not being treated as a boolean value when set - in an INI format inventory file (fixes bug https://github.com/ansible/ansible/issues/70476). - - The machine-readable changelog ``changelogs/changelog.yaml`` is now contained - in the release. - - Updated docs and added warning on max_fail_percentage and free strategy usage. - fixes issue 16666. - - VariableManager - Add the 'vars' key before getting delegated variables (https://github.com/ansible/ansible/issues/71092). - - Vault - Allow single vault encrypted values to be used directly as module - parameters. (https://github.com/ansible/ansible/issues/68275) - - account for bug in Python 2.6 that occurs during interpreter shutdown to avoid - stack trace - - action plugins - change all action/module delegations to use FQ names while - allowing overrides (https://github.com/ansible/ansible/issues/69788) - - add AlmaLinux to fact gathering (https://github.com/ansible/ansible/pull/73458) - - add constraints file for ``ansible_runner`` test since an update to ``psutil`` - is now causing test failures - - add magic/connection vars updates from delegated host info. - - add support for alpine linux 'apk' package manager in package_facts - - allow become method 'su' to work on 'local' connection by allocating a fake - tty. - - ansible-console - Ctrl+C (in a task) abort current task, and put you back - on prompt (this behavior doesn't change) (ditto) - - ansible-console - Ctrl+C (on prompt) used to exit the shell, unlike most shells, - it should just reset the current line (ie. abort it and spawn a new prompt) - (https://github.com/ansible/ansible/issues/68529) - - ansible-console - Ctrl+D (on prompt) now exit the shell, this is the expected - behavior in a shell (cf bash, sh, zsh, ipython, ...) (ditto) - - ansible-console - add more documentation, specifically on various commands[1] - (https://github.com/ansible/ansible/issues/72195) - - ansible-console - fixes few strings' typos - - ansible-console - remove useless and poorly formatted comment section (replaced - with [1]) - - ansible-doc - account for an empty ``meta/main.yml`` file when displaying - role information (https://github.com/ansible/ansible/pull/73590) - - ansible-doc - collection name for plugin top-level deprecation was not inserted - when deprecating by version (https://github.com/ansible/ansible/pull/70344). - - ansible-doc - improve error message in text formatter when ``description`` - is missing for a (sub-)option or a return value or its ``contains`` (https://github.com/ansible/ansible/pull/70046). - - ansible-doc - improve man page formatting to avoid problems when YAML anchors - are used (https://github.com/ansible/ansible/pull/70045). - - ansible-doc - include the collection name in the text output (https://github.com/ansible/ansible/pull/70401). - - ansible-doc - plugin option deprecations now also get ``collection_name`` - added (https://github.com/ansible/ansible/pull/71735). - - ansible-doc - properly show plugin name when ``name:`` is used instead of - ``<plugin_type>:`` (https://github.com/ansible/ansible/pull/71966). - - ansible-galaxy - Cache the responses for available collection versions after - getting all pages. (https://github.com/ansible/ansible/issues/73071) - - ansible-galaxy - Instead of assuming the first defined server is galaxy, filter - based on the servers that support the v1 API, and return the first of those - (https://github.com/ansible/ansible/issues/65440) - - ansible-galaxy - Use ``sys.exit`` instead of ``exit`` when reporting an error - for the removed login command. - - ansible-galaxy - correct ``collections-path`` command line argument (https://github.com/ansible/ansible/issues/73127) - - ansible-galaxy - fixed galaxy role init command (https://github.com/ansible/ansible/issues/71977). - - ansible-galaxy collection download - fix downloading tar.gz files and collections - in git repositories (https://github.com/ansible/ansible/issues/70429) - - ansible-galaxy collection install - fix fallback mechanism if the AH server - did not have the collection requested - https://github.com/ansible/ansible/issues/70940 - - ansible-galaxy download - fix bug when downloading a collection in a SCM subdirectory - - ansible-test - Add ``pytest < 6.0.0`` constraint for managed installations - on Python 3.x to avoid issues with relative imports. - - ansible-test - Always connect additional Docker containers to the network - used by the current container (if any). - - ansible-test - Always map ``/var/run/docker.sock`` into test containers created - by the ``--docker`` option if the docker host is not ``localhost``. - - ansible-test - Attempt to detect the Docker hostname instead of assuming ``localhost``. - - ansible-test - Avoid using ``/tmp`` to resolve occasional failures starting - tests with the ``--docker`` option. - - ansible-test - Change classification using ``--changed`` now consistently - handles common configuration files for supported CI providers. - - ansible-test - Change detection now properly resolves relative imports instead - of treating them as absolute imports. - - ansible-test - Correctly detect changes in a GitHub pull request when running - on Azure Pipelines. - - ansible-test - Correctly detect running in a Docker container on Azure Pipelines. - - ansible-test - Do not try to validate PowerShell modules ``setup.ps1``, ``slurp.ps1``, - and ``async_status.ps1`` - - ansible-test - Prefer container IP at ``.NetworkSettings.Networks.{NetworkName}.IPAddress`` - over ``.NetworkSettings.IPAddress``. - - ansible-test - Running tests using an installed version of ``ansible-test`` - against one Python version from another no longer fails due to a missing ``egg-info`` - directory. This could occur when testing plugins which import ``pkg_resources``. - - ansible-test - Running tests using an installed version of ``ansible-test`` - no longer generates an error attempting to create an ``egg-info`` directory - when an existing one is not found in the expected location. This could occur - if the existing ``egg-info`` directory included a Python version specifier - in the name. - - ansible-test - Skip installing requirements if they are already installed. - - ansible-test - Symbolic links are no longer used to inject ``python`` into - the environment, since they do not work reliably in all cases. Instead, the - existing Python based exec wrapper is always used. - - ansible-test - Temporarily limit ``cryptography`` to versions before 3.4 to - enable tests to function. - - ansible-test - The ``--raw`` option for ``ansible-test shell --remote`` now - uses ``sh`` for the shell instead of ``bash``, which may not be present. - - ansible-test - The ``--remote`` option has been updated for Python 2.7 to - work around breaking changes in the newly released ``get-pip.py`` bootstrapper. - - ansible-test - The ``--remote`` option has been updated to use a versioned - ``get-pip.py`` bootstrapper to avoid issues with future releases. - - ansible-test - The ``ansible-doc`` sanity test now works for ``netconf`` plugins. - - ansible-test - The ``changelog`` sanity test has been updated to ensure ``rstcheck`` - does not load the ``sphinx`` module. - - ansible-test - The ``cs`` and ``openshift`` test plugins now search for containers - on the current network instead of assuming the ``bridge`` network. - - ansible-test - The ``resource_prefix`` variable provided to tests running - on Azure Pipelines is now converted to lowercase to match other CI providers. - - ansible-test - Unified SSH key management for all instances created with the - ``--remote`` or ``--docker`` options. - - ansible-test - Using the ``--remote`` option on Azure Pipelines now works - from a job running in a container. - - ansible-test - ``cryptography`` is now limited to versions prior to 3.2 only - when an incompatible OpenSSL version (earlier than 1.1.0) is detected - - 'ansible-test - add constraint for ``cffi`` to prevent failure on systems - with older versions of ``gcc`` (https://foss.heptapod.net/pypy/cffi/-/issues/480) - - ' - - ansible-test - convert target paths to unicode on Python 2 to avoid ``UnicodeDecodeError`` - (https://github.com/ansible/ansible/issues/68398, https://github.com/ansible/ansible/pull/72623). - - ansible-test - improve classification of changes to ``.gitignore``, ``COPYING``, - ``LICENSE``, ``Makefile``, and all files ending with one of ``.in`, ``.md`, - ``.rst``, ``.toml``, ``.txt`` in the collection root directory (https://github.com/ansible/ansible/pull/72353). - - ansible-test - integration and unit test change detection now works for filter, - lookup and test plugins - - ansible-test now always uses the ``--python`` option for ``virtualenv`` to - select the correct interpreter when creating environments with the ``--venv`` - option - - ansible-test sanity changelog test - bump dependency on antsibull-changelog - to 0.9.0 so that `fragments that add new plugins or objects <https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelogs.rst#adding-new-roles-playbooks-test-and-filter-plugins>`_ - will not fail validation (https://github.com/ansible/ansible/pull/73428). - - ansible-test units - fixed collection location code to work under pytest >= - 6.0.0 - - ansible-test validate-modules - ``version_added`` on module level was not - validated for modules in collections (https://github.com/ansible/ansible/pull/70869). - - ansible-test validate-modules - return correct error codes ``option-invalid-version-added`` - resp. ``return-invalid-version-added`` instead of the wrong error ``deprecation-either-date-or-version`` - when an invalid value of ``version_added`` is specified for an option or a - return value (https://github.com/ansible/ansible/pull/70869). - - ansible-test validate-modules - when a module uses ``add_file_common_args=True`` - and does not use a keyword argument for ``argument_spec`` in ``AnsibleModule()``, - the common file arguments were not considered added during validation (https://github.com/ansible/ansible/pull/72334). - - ansible_pkg_mgr fact - now correctly returns ``atomic_container`` when run - on "RHEL for Edge" images and Fedora/RHEL/CentOS Atomic Host (https://github.com/ansible/ansible/issues/73084). - - api - time.clock is removed in Python 3.8, add backward compatible code (https://github.com/ansible/ansible/issues/70649). - - apt - add ``fail_on_autoremove`` param to apt module to avoid unintended package - removals (https://github.com/ansible/ansible/issues/63231) - - apt - include exception message from apt python library in error output - - apt_key - Specifying ``file`` as mutually exclusive with ``data``, ``keyserver``, - ``url`` (https://github.com/ansible/ansible/pull/70492). - - apt_repository - fixes ``mode`` doc to remove ineffective default (https://github.com/ansible/ansible/pull/70319). - - assemble - fix decrypt argument in the module (https://github.com/ansible/ansible/issues/65450). - - async - Fix Python 3 interpreter parsing from module by comparing with bytes - (https://github.com/ansible/ansible/issues/70690) - - async_wrapper - Fix race condition when ``~/.ansible_async`` folder tries - to be created by multiple async tasks at the same time - https://github.com/ansible/ansible/issues/59306 - - avoid possible errors accessing os.environ by not assuming existance of variables. - - basic - handle exceptions for default selectors in Python 2.7 (https://github.com/ansible/ansible/issues/71704). - - basic - use PollSelector implementation when DefaultSelector fails (https://github.com/ansible/ansible/issues/70238). - - bcrypt hashing - Ensure we repair the salt, to avoid warnings (https://github.com/ansible/ansible/issues/36129) - - 'blockinfile - properly insert a block at the end of a file that does not - have a trailing newline character (https://github.com/ansible/ansible/issues/72055) - - ' - - blockinfile now returns name of backup file when this option is used. - - clarified changed status to reflect existing rule that had never been written - down. - - collection loader - fix bogus code coverage entries for synthetic packages - - collection metadata - ensure collection loader uses libyaml/CSafeLoader to - parse collection metadata if available - - cron - cron file should not be empty after adding var (https://github.com/ansible/ansible/pull/71207) - - cron - encode and decode crontab files in UTF-8 explicitly to allow non-ascii - chars in cron filepath and job (https://github.com/ansible/ansible/issues/69492) - - default callback - Ensure that the ``host_pinned`` strategy is not treated - as lockstep (https://github.com/ansible/ansible/issues/73364) - - delegate_to - Ensure that calculating ``delegate_to`` vars with a loop uses - the correct context to correctly evaluate the loop (https://github.com/ansible/ansible/issues/37132) - - display correct error information when an error exists in the last line of - the file (https://github.com/ansible/ansible/issues/16456) - - distribution - add support for Pardus Linux distribution (https://github.com/ansible/ansible/issues/71636). - - distribution facts - Allow ``distribution_major_version`` and ``distribution_version`` - to work for RC and PRERELEASE versions of FreeBSD (and derived distributions) - (https://github.com/ansible/ansible/issues/72331). - - dnf - fix filtering to avoid dependncy conflicts (https://github.com/ansible/ansible/issues/72316) - - 'dnf - it is now possible to specify both ``security: true`` and ``bugfix: - true`` to install updates of both types. Previously, only security would get - installed if both were true. (https://github.com/ansible/ansible/issues/70854)' - - ensure 'local' connection always has the correct default user for actions - to consume. - - ensure delegated vars can resolve hostvars object and access vars from hostvars[inventory_hostname]. - - ensure find_mount_point consistently returns text. - - ensure we don't clobber role vars data when getting an empty file - - expect - Operate pexpect with bytes to avoid potential encoding issues (https://github.com/ansible/ansible/issues/29351) - - facts - account for Slackware OS with ``+`` in the name (https://github.com/ansible/ansible/issues/38760) - - facts - fix distribution fact for SLES4SAP (https://github.com/ansible/ansible/pull/71559). - - facts - fix incorrect UTC timestamp in ``iso8601_micro`` and ``iso8601`` - - facts - properly report virtualization facts for Linux guests running on bhyve - (https://github.com/ansible/ansible/issues/73167) - - file - prevent link src from being rewritten when src is not specified explicitly - (https://github.com/ansible/ansible/issues/65448) - - file - the module should warn in check_mode when path an owner/group don't - exist (https://github.com/ansible/ansible/issues/67307). - - find module - Don't treat empty excludes as a match (https://github.com/ansible/ansible/issues/70640) - - find module - Stop traversing directories past the requested depth. (https://github.com/ansible/ansible/issues/73627) - - fix issue with inventory_hostname and delegated host vars mixing on connection - settings. - - fortimanager httpapi plugin - fix redirect to point to the ``fortinet.fortimanager`` - collection (https://github.com/ansible/ansible/pull/71073). - - galaxy - handle plus sign in user token appearing in role url (https://github.com/ansible/ansible/issues/45475). - - get_sysctl now handles multiline values and does not die silently anymore. - - get_url - skip checksum during ``--check`` (https://github.com/ansible/ansible/issues/61369). - - git - Only pass ``--raw`` flag to git verify commands (verify-tag, verify-commit) - when ``gpg_whitelist`` is in use. Otherwise don't pass it so that non-whitelist - GPG validation still works on older Git versions. (https://github.com/ansible/ansible/issues/64469) - - gluster modules - fix redirect to point to the ``gluster.gluster`` collection - (https://github.com/ansible/ansible/pull/71240). - - hostname - Fixed an issue where the hostname on the alinux could not be set. - - hostname - add Almalinux support (https://github.com/ansible/ansible/pull/73619) - - hostname - add macOS support (https://github.com/ansible/ansible/pull/54439) - - if the ``type`` for a module parameter in the argument spec is callable, do - not pass ``kwargs`` to avoid errors (https://github.com/ansible/ansible/issues/70017) - - import_playbook - change warning about extra parameters to deprecation (https://github.com/ansible/ansible/issues/72745) - - improve deprecation message when using bare variable (https://github.com/ansible/ansible/pull/70687) - - inventory - pass the vars dictionary to combine_vars instead of an individual - key's value (https://github.com/ansible/ansible/issues/72975). - - inventory plugins - Let plugins define the sanitization method for the constructed - ``groups`` feature. - - inventory_hostnames - Use ``InventoryManager`` instead of trying to replicate - its behavior (https://github.com/ansible/ansible/issues/17268) - - is_string/vault - Ensure the is_string helper properly identifies AnsibleVaultEncryptedUnicode - as a string (https://github.com/ansible/ansible/pull/71609) - - lineinfile - fix not subscriptable error in exception handling around file - creation - - linux network facts - get the correct value for broadcast address (https://github.com/ansible/ansible/issues/64384) - - native jinja2 types - properly handle Undefined in nested data. - - package - use list of built in package managers from facts rather than creating - a new list - - paramiko connection plugin - Ensure we only reset the connection when one - has been previously established (https://github.com/ansible/ansible/issues/65812) - - password hashing - Ensure we validate salts against allowed characters and - length when using ``crypt`` (https://github.com/ansible/ansible/issues/71107) - - password lookup - Try to automatically generate salts using known salt sizes - (https://github.com/ansible/ansible/issues/53750) - - 'pause - Fix indefinite hang when using a pause task on a background process - (https://github.com/ansible/ansible/issues/32142) - - ' - - pause - catch additional error on setting up curses (https://github.com/ansible/ansible/pull/73588). - - pause - do not warn when running in the background if a timeout is provided - (https://github.com/ansible/ansible/issues/73042) - - pause - handle exception when there is no stdout (https://github.com/ansible/ansible/pull/47851) - - powershell - fix escaping of strings that broken modules like fetch when dealing - with special chars - https://github.com/ansible/ansible/issues/62781 - - powershell - fix the CLIXML parser when it contains nested CLIXML objects - - https://github.com/ansible/ansible/issues/69550 - - powershell - remove getting the PowerShell version from the env var ``POWERSHELL_VERSION``. - This feature never worked properly and can cause conflicts with other libraries - that use this var - - psrp - Fix hang when copying an empty file to the remote target - - psrp - Use native PSRP mechanism when copying files to support custom endpoints - - quote filter - normalize how ``None`` is handled, to match Python3 behavior - (https://github.com/ansible/ansible/issues/32174) - - reboot - Add support for the runit init system, used on Void Linux, that does - not support the normal Linux syntax. - - remove contradictory recomendation from template docs. https://github.com/ansible/ansible/issues/63484 - - remove redundant remote_user setting in play_context for local as plugin already - does it, also removes fork/thread issue from use of pwd library. - - reset logging level to INFO due to CVE-2019-14846. - - runas - create a new token when running as ``SYSTEM`` to ensure it has the - full privileges assigned to that account - - service - Fix for the BSD rcconf code using a Python 2 specific string replace - function - - 'set_mode_if_different - handle symlink if it is inside a directory with sticky - bit set (https://github.com/ansible/ansible/pull/45198) - - ' - - several fixes to make apt_key better at identifying needs for change and also - to avoid changes in check_mode. - - shell - fix quoting of mkdir command in creation of remote_tmp in order to - allow spaces and other special characters (https://github.com/ansible/ansible/issues/69577). - - splunk httpapi plugin - switch from splunk.enterprise_security to splunk.es - in runtime.yml to reflect upstream change of Collection Name - - 'ssh connection plugin - use ``get_option()`` rather than ``_play_context`` - to ensure ``ANSBILE_SSH_ARGS`` are applied properly (https://github.com/ansible/ansible/issues/70437) - - ' - - stat - handle colons in filename while parsing the mimetype output (https://github.com/ansible/ansible/issues/70256). - - strftime filter - Input epoch is allowed to be a float (https://github.com/ansible/ansible/issues/71257) - - 'systemd - account for templated unit files using ``@`` when searching for - the unit file (https://github.com/ansible/ansible/pull/72347#issuecomment-730626228) - - ' - - systemd - fixed chroot usage on new versions of systemd, that broke because - of upstream changes in systemctl output - - 'systemd - follow up fix to https://github.com/ansible/ansible/issues/72338 - to use ``list-unit-files`` rather than ``list-units`` in order to show all - units files on the system. - - ' - - systemd - made the systemd module work correctly when the SYSTEMD_OFFLINE - environment variable is set - - 'systemd - preserve the full unit name when using a templated service and - ``systemd`` failed to parse dbus due to a known bug in ``systemd`` (https://github.com/ansible/ansible/pull/72985) - - ' - - 'systemd - work around bug with ``systemd`` 245 and 5.8 kernel that does not - correctly report service state (https://github.com/ansible/ansible/issues/71528) - - ' - - 'task parsing - strip spaces from action name when using ``action: foo bar=baz`` - form. (https://github.com/ansible/ansible/issues/62136)' - - templating - fix error message for ``x in y`` when y is undefined (https://github.com/ansible/ansible/issues/70984) - - the unvault lookup plugin returned a byte string. Now returns a real string. - - to_text(stdout) before json.loads in psrp.Connection.put_file in case stdout - is bytes - - unarchive - ``zip`` unarchive no longer errors on RHEL/CentOS 6 and old Fedora - when attempting to use a numeric gid (https://github.com/ansible/ansible/issues/71903). - - unarchive - check ``fut_gid`` against ``run_gid`` in addition to supplemental - groups (https://github.com/ansible/ansible/issues/49284) - - undeprecate hash_merge setting and add more docs clarifying its use and why - not to use it. - - uri - ``status_code`` elements are type ``int`` - - url lookup - make sure that options supplied in ansible.cfg are actually used - (https://github.com/ansible/ansible/pull/71736). - - url lookup - set default user agent to ``ansible-httpget`` (https://github.com/ansible/ansible/pull/72324) - - urls - Close filedescriptor of certificate chain tempfile to prevent stale - filedescriptor leakage (https://github.com/ansible/ansible/pull/71825). - - 'user - AnsibleModule.run_command returns a tuple of return code, stdout and - stderr. The module main function of the user module expects user.create_user - to return a tuple of return code, stdout and stderr. Fix the locations where - stdout and stderr got reversed. - - ' - - 'user - Local users with an expiry date cannot be created as the ``luseradd`` - / ``lusermod`` commands do not support the ``-e`` option. Set the expiry time - in this case via ``lchage`` after the user was created / modified. (https://github.com/ansible/ansible/issues/71942) - - ' - - 'user - do the right thing when ``password_lock=True`` and ``password`` are - used together (https://github.com/ansible/ansible/issues/72992) - - ' - - user - don't create home directory and missing parents when create_home == - false (https://github.com/ansible/ansible/pull/70600). - - validate-modules - do not raise an ``AttributeError`` if a value is assigned - to a module attribute in a try/except block. - - vault - Support reading raw binary data from stdin under python3 - - virtual facts - kubevirt is now identified as "KubeVirt" and with a "guest" - role instead of "kvm" and "host" role (https://github.com/ansible/ansible/issues/72001). - - wait_for - catch and ignore errors when getting active connections with psutil - (https://github.com/ansible/ansible/issues/72322) - - win setup - Fix redirection path for the windows setup module - - windows async - use full path when calling PowerShell to reduce reliance on - environment vars being correct - https://github.com/ansible/ansible/issues/70655 - - winrm - preserve winrm forensic data on put_file failures - - yamllint - do not raise an ``AttributeError`` if a value is assigned to a - module attribute at the top of the module. - deprecated_features: - - Starting in 2.14, shell and command modules will no longer have the option - to warn and suggest modules in lieu of commands. The ``warn`` parameter to - these modules is now deprecated and defaults to ``False``. Similarly, the - ``COMMAND_WARNINGS`` configuration option is also deprecated and defaults - to ``False``. These will be removed and their presence will become an error - in 2.14. - - apt_key - the parameter ``key`` does not have any effect, has been deprecated - and will be removed in ansible-core version 2.14 (https://github.com/ansible/ansible/pull/70319). - - psrp - Set the minimum version of ``pypsrp`` to ``0.4.0``. - known_issues: - - ansible-test - The ``pylint`` sanity test no longer correctly detects "bad" - variable names for non-constants. See https://github.com/PyCQA/pylint/issues/3701 - for additional details. - major_changes: - - A collection can be reinstalled with new version requirements without using - the ``--force`` flag. The collection's dependencies will also be updated if - necessary with the new requirements. Use ``--upgrade`` to force transitive - dependency updates. - - 'Declared ``resolvelib >= 0.5.3, < 0.6.0`` a direct dependency of - - ansible-core. Refs: - - - https://github.com/sarugaku/resolvelib - - - https://pypi.org/p/resolvelib - - - https://pradyunsg.me/blog/2020/03/27/pip-resolver-testing - - ' - - It became possible to install Ansible Collections from local folders and namespaces - folder similar to SCM structure with multiple collections. - - It became possible to upgrade Ansible collections from Galaxy servers using - the ``--upgrade`` option with ``ansible-galaxy collection install``. - - Support for role argument specification validation at role execution time. - When a role contains an argument spec, an implicit validation task is inserted - at the start of role execution. - - add ``ArgumentSpecValidator`` class for validating parameters against an argument - spec outside of ``AnsibleModule`` (https://github.com/ansible/ansible/pull/73335) - minor_changes: - - Add ``--format`` CLI option to ``ansible-galaxy collection list`` which allows - for ``human`` (default), ``yaml``, or ``json``. (https://github.com/ansible/ansible/pull/73474) - - Add an example for using var in with_sequence (https://github.com/ansible/ansible/issues/68836). - - Add new rolespec_validate option to the import/include_role modules do allow - disabling of the implicit role arg validation task on a per-role basis. - - Add option to pass extra vars to ansible-inventory - - Add path of collection location in Ansible CLI version info. - - Add standard Python 2/3 compatibility boilerplate to setup script, module_utils - and docs_fragments which were missing them. - - Add support for `argument_specs` data in role metadata. - - Add support for datetime.date object type in module result (https://github.com/ansible/ansible/issues/70583). - - Add which conditional is being evaluated at each step when debugging. - - Add yum/dnf version comparison documentation for package install - - Added NO_COLOR environment var to ansible color configuration, allowing it - to integrate with existing convention. - - Added name of aliases in user error (https://github.com/ansible/ansible/issues/58752). - - Added support for GSSAPI/Kerberos authentication with ``urls.py`` that is - used by ``uri`` and ``get_url``. - - Added support for specify custom credentials for GSSAPI authentication. - - Allow an attribute to be passed to the min and max filters with Jinja 2.10+ - - Allow for the skipped filter to be used on a registered looped task results. - (https://github.com/ansible/ansible/issues/16949) - - Allow inventory plugins access to extra vars by default - - Allow unsafe_writes to be set on target via env var, for those targets that - need a blanket setting. - - Also added extra vars cli option to console CLI. - - AnsiballZ - Improve performance of ``ModuleDepFinder`` by using faster lookups - and reducing the object types that are walked while looking for ``import`` - statements. (https://github.com/ansible/ansible/pull/70475) - - CLI - Specify jinja version in ``--version`` output - - CLI - Specify whether PyYAML includes libyaml support in version output - - CLI version displays clarified as core version - - 'Collection routing: Cisco NSO content from community.network migrated to - cisco.nso (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: DellEMC content from community.general migrated to dellemc.openmanage - (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: FortiOS content from community.network migrated to community.fortios - (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: Google content from community.general migrated to community.google - (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: Hashi Vault content from community.general migrated to - community.hashi_vault (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: Hetzner Robot content from community.general migrated - to community.hrobot (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: KubeVirt content from community.general migrated to community.kubevirt - (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: OC content from community.general migrated to community.okd - (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: PostgreSQL content from community.general migrated to - community.postgresql (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: RouterOS content from community.network migrated to community.routeros - (https://github.com/ansible/ansible/pull/73046).' - - 'Collection routing: docker content from community.general migrated to community.docker - (https://github.com/ansible/ansible/pull/73046).' - - Controller - Add warning for Ansible 2.11 when running a Python version older - than Python 3.8 to inform users that 2.12 will only support Python 3.8 and - newer on the controller. Starting with Ansible 2.11, the project will only - be packaged for Python 3.8 and newer. - - Discourage the use of 'hexdigits' in password lookup, as it distorts expected - entropy. - - Enable extra vars for inventory plugin options - - Errors - Ensure that errors passed with ``orig_exc`` include the context of - that exception (https://github.com/ansible/ansible/issues/68605) - - Filters - Add new ``split`` filter for splitting strings - - Fixed ansible-doc to not substitute for words followed by parenthesis. For - instance, ``IBM(International Business Machines)`` will no longer be substituted - with a link to a non-existent module. https://github.com/ansible/ansible/pull/71070 - - Force the template module to use non-native Jinja2 (https://github.com/ansible/ansible/issues/46169) - - Internal config entries will not be documented, to mark an entry as internal - it must start with `_`. - - Interpreter Discovery - Add Python 3.8 and Python 3.9 to the fallback list - - Minor code cleanup in plugin loader. - - Module API - libselinux-python is no longer required for basic module API - selinux operations (affects core modules assemble, blockinfile, copy, cron, - file, get_url, lineinfile, setup, replace, unarchive, uri, user, yum_repository) - - Module API - new module_respawn API allows modules that need to run under - a specific Python interpreter to respawn in place under that interpreter - - Module iptables multiport destination support added (https://github.com/ansible/ansible/pull/72928) - - Module iptables set/ipset support added (https://github.com/ansible/ansible/pull/72984) - - New 'timeout' feature added to adhoc and console CLIs, corresponding to the - recent 'timeout' task keyword. - - New virtualization facts, ``virtualization_tech_guest`` and ``virtualization_tech_host`` - now allow for conveying when a system is a host or guest of multiple virtualization - technologies. - - Now 'choices' keyword in config definitions also restricts valid values for - the entry. - - Refactored ``ansible-galaxy collection [download|install|list|verify]`` CLI - subcommands with the public interface kept intact. - - Restructured _fixup_perms2() in ansible.plugins.action to make it more linear - - Shadow prompt input to ansible-vault encrypt-string unless the ``--show-input`` - flag is set - - Switch to hashlib.sha256() for ansible-test to allow for FIPs mode. - - TOML inventory plugin is no longer in preview status - - Templar - reduce the complexity of ``Templar._lookup`` (https://github.com/ansible/ansible/pull/73277) - - The ``csvfile`` lookup plugin now uses ``parse_kv()`` internally. As a result, - multi-word search keys can now be passed. - - The ``csvfile`` lookup plugin's documentation has been fixed; it erroneously - said that the delimiter could be ``t`` which was never true. We now accept - ``\t``, however, and the error in the documentation has been fixed to note - that. - - The constructed inventory plugin has new option to force using vars plugins - on previouslly processed inventory sources. - - The find module is now more specific about the reasons it skips candidate - files. - - The logging functionality in module_utils.basic now returns a nicer error - when it falls back to syslog but ends up getting a TypeError thrown back. - - The new dependency resolver prefers ``MANIFEST.json`` over ``galaxy.yml`` - if it exists in the target directory. - - The plugin loader now keeps track of the collection where a plugin was resolved - to, in particular whether the plugin was loaded from ansible-core's internal - paths (``ansible.builtin``) or from user-supplied paths (no collection name). - - Toggle allowing usage of extra_vars in compose - - When connecting as an unprivileged user, and becoming an unprivileged user, - we now fall back to also trying ``chmod +a`` which works on macOS and makes - use of ACLs. - - allow tree callback plugin to be configurable, for use with playbooks. - - ansible-doc - In Windows setup steps, ``ExecutionPolicy`` should be restored - to default value ``RemoteSigned`` (https://github.com/ansible/ansible/pull/72993). - - ansible-doc - provide ``has_action`` field in JSON output for modules. That - information is currently only available in the text view (https://github.com/ansible/ansible/pull/72359). - - ansible-doc has new option to show keyword documentation. - - ansible-doc will now format, ``L()``, ``R()``, and ``HORIZONTALLINE`` in plugin - docs just as the website docs do. https://github.com/ansible/ansible/pull/71070 - - ansible-galaxy - Add installation successful message - - ansible-galaxy - Added caching mechanisms when retrieving collection info - to speed up installs and downloads - - ansible-galaxy - Change the output verbosity level of the download message - from 3 to 0 (https://github.com/ansible/ansible/issues/70010) - - ansible-galaxy - Ensure ``get_collection_versions`` returns an empty list - when a collection does not exist for consistency across API versions. - - 'ansible-galaxy - find any collection dependencies in the globally configured - Galaxy servers and not just the server the parent collection is from. - - ' - - ansible-test - A warning is no longer emitted when a ``pip*`` or ``python*`` - binary is found without a matching couterpart. - - ansible-test - Add ``macos/10.15`` as a supported value for the ``--remote`` - option. - - ansible-test - Add a ``--docker-network`` option to choose the network for - running containers when using the ``--docker`` option. - - ansible-test - Add support for running tests on Fedora 33 (https://github.com/ansible/ansible/pull/72861). - - ansible-test - Added Ubuntu 20.04 LTS image to the default completion list - - ansible-test - Added a ``--export`` option to the ``ansible-test coverage - combine`` command to facilitate multi-stage aggregation of coverage in CI - pipelines. - - ansible-test - Added the ``-remote rhel/7.9`` option to run tests on RHEL - 7.9 - - ansible-test - Allow custom ``--remote-stage`` options for development and - testing. - - ansible-test - CentOS 8 container is now 8.2.2004 (https://github.com/ansible/distro-test-containers/pull/45). - - ansible-test - Changed the internal name of the custom plugin used to identify - use of unwanted imports and functions. - - ansible-test - Cleaned up code to resolve warnings and errors reported by - PyCharm. - - ansible-test - Code cleanup in the ``import`` sanity test. - - ansible-test - Code cleanup in the internal logic for code coverage collection - of PowerShell modules. - - ansible-test - Collections can now specify pip constraints for unit and integration - test requirements using ``tests/unit/constraints.txt`` and ``tests/integration/constraints.txt`` - respectively. - - ansible-test - Containers used with the ``--remote`` option have been updated - to version 1.29.0 to include the latest Ansible requirements. - - ansible-test - Files used to track remote instances no longer have a region - suffix. - - ansible-test - Fix ``ansible-test coverage`` reporting sub-commands (``report``, - ``html``, ``xml``) on Python 2.6. - - ansible-test - Fix container hostname/IP discovery for the ``acme`` test plugin. - - ansible-test - FreeBSD 11.4 and 12.2 provisioning can now be used with the - ``--python 3.8`` option. - - ansible-test - FreeBSD instances provisioned with ``--remote`` now make ``libyaml`` - available for use with PyYAML installation. - - ansible-test - Generation of an ``egg-info`` directory, if needed, is now - done after installing test dependencies and before running tests. When running - from an installed version of ``ansible-test`` a temporary directory is used - to avoid permissions issues. Previously it was done before installing test - dependencies and adjacent to the installed directory. - - ansible-test - Implemented CloudStack test container selection by ENV variable - `ANSIBLE_CLOUDSTACK_CONTAINER` with a default to `quay.io/ansible/cloudstack-test-container:1.4.0`. - - ansible-test - Improved handling of minimum Python version requirements for - sanity tests. Supported versions are now included in warning messages displayed - when tests are skipped. - - ansible-test - More sanity test requirements have been pinned to specific - versions to provide consistent test results. - - ansible-test - Most sanity test specific ``pip`` constraints are now used - only when running sanity tests. This should reduce conflicts with ``pip`` - requirements and constraints when testing collections. - - ansible-test - Most sanity tests are now skipped on Python 3.5 and earlier - with a warning. Previously this was done for Python 2.7 and earlier. - - ansible-test - Now supports freebsd/11.4 remote (https://github.com/ansible/ansible/issues/48782). - - ansible-test - Now supports freebsd/12.2 remote (https://github.com/ansible/ansible/issues/72366). - - ansible-test - OpenSuse container now uses Leap 15.2 (https://github.com/ansible/distro-test-containers/pull/48). - - ansible-test - Pin the ``virtualenv`` version used for ``--remote`` pip installs - to the latest version supported by Python 2.x, which is version 16.7.10. - - ansible-test - Provisioning of RHEL instances now includes installation of - pinned versions of ``packaging`` and ``pyparsing`` to match the downstream - vendored versions. - - ansible-test - RHEL 8.2+ provisioning can now be used with the ``--python - 3.8`` option, taking advantage of the Python 3.8 AppStream. - - ansible-test - Raise the number of bytes scanned by ansible-test to determine - if a file is binary to 4096. - - ansible-test - Refactor code for installing ``cryptography`` to allow re-use - in the future. - - ansible-test - Refactor code to remove unused logic for obsolete support of - multiple provisioning endpoints. - - ansible-test - Remove ``pytest < 6.0.0`` constraint for managed installations - on Python 3.x now that pytest 6 is supported. - - ansible-test - Remove em dash from the Pytest configuration file in order - to be readable on systems where preferred encoding is ASCII. (https://github.com/ansible/ansible/issues/71739) - - 'ansible-test - Remove outdated ``--docker`` completion entries: fedora30, - fedora31, ubuntu1604' - - 'ansible-test - Remove outdated ``--remote`` completion entries: freebsd/11.1, - freebsd/12.1, osx/10.11, macos/10.15, rhel/7.6, rhel/7.8, rhel/8.1, rhel/8.2' - - 'ansible-test - Remove outdated ``--windows`` completion entries: 2008, 2008-R2' - - ansible-test - Remove the discontinued ``us-east-2`` choice from the ``--remote-aws-region`` - option. - - 'ansible-test - Remove unused ``--remote`` completion entry: power/centos/7' - - ansible-test - Removed ``pip`` constraints related to integration tests that - have been moved to collections. This should reduce conflicts with ``pip`` - requirements and constraints when testing collections. - - ansible-test - Removed the obsolete ``--remote-aws-region`` provisioning option. - - ansible-test - Removed the obsolete ``tower`` test plugin for testing Tower - modules. - - ansible-test - Removed unused provisioning code and cleaned up remote provider - management logic. - - ansible-test - Rename internal functions to match associated constant names - that were previously updated. - - ansible-test - Reorganize internal ``pylint`` configuration files for easier - comparison and maintenance. - - ansible-test - Report the correct line number in the ``yamllint`` sanity test - when reporting ``libyaml`` parse errors in module documentation. - - ansible-test - Request remote resources by provider name for all provider - types. - - ansible-test - Show a warning when the obsolete ``--remote-aws-region`` option - is used. - - ansible-test - Silence ``pip`` warnings about Python 3.5 being EOL when installing - requirements. - - ansible-test - Support custom remote endpoints with the ``--remote-endpoint`` - option. - - ansible-test - The ``--remote`` option no longer pre-installs the ``virtualenv`` - module on Python 3.x instances. The Python built-in ``venv`` module should - be used instead. - - ansible-test - The ``default`` container for both collections and core have - been updated to versions 2.11.0 and 1.9.0 respectively. - - ansible-test - The ``pylint`` sanity test is now skipped with a warning on - Python 3.9 due to unresolved upstream regressions. - - ansible-test - The ``pylint`` sanity test is now supported on Python 3.8. - - ansible-test - The ``rstcheck`` sanity test is no longer used for collections, - but continues to be used for ansible-core. - - ansible-test - Ubuntu containers as well as ``default-test-container`` and - ``ansible-base-test-container`` are now slightly smaller due to apt cleanup - (https://github.com/ansible/distro-test-containers/pull/46). - - ansible-test - Update ``pylint`` and its dependencies to the latest available - versions to support Python 3.9. - - ansible-test - Update built-in service endpoints for the ``--remote`` option. - - ansible-test - Updated the default test containers to version 3.1.0. - - ansible-test - Upgrade ansible-runner version used in compatibility tests, - remove some tasks that were only needed with older versions, and skip in python2 - because ansible-runner is soon dropping it. - - ansible-test - Use new endpoint for Parallels based instances with the ``--remote`` - option. - - ansible-test - ``default-test-container`` and ``ansible-base-test-container`` - now use Python 3.9.0 instead of 3.9.0rc1. - - ansible-test - add https endpoint for ansible-test - - ansible-test - add macOS 11.1 as a remote target (https://github.com/ansible/ansible/pull/72622) - - ansible-test - add the collection plugin directories ``plugin_utils`` and - ``sub_plugins`` to list of plugin types. This ensures such plugins are tested - for the ``import`` sanity test (https://github.com/ansible/ansible/pull/73599). - - ansible-test - centos6 end of life - container image updated to point to vault - base repository (https://github.com/ansible/distro-test-containers/pull/54) - - ansible-test - centos6 image now has multiple fallback yum repositories for - CentOS Vault. - - ansible-test - default container now uses default-test-container 2.7.0 and - ansible-base-test-container 1.6.0. This brings in Python 3.9.0rc1 for testing. - - ansible-test - now makes a better attempt to support podman when calling ``docker - images`` and asking for JSON format. - - ansible-test - python-cryptography is now bounded at <3.2, as 3.2 drops support - for OpenSSL 1.0.2 upon which some of our CI infrastructure still depends. - - ansible-test - remote macOS instances no longer install ``virtualenv`` during - provisioning - - ansible-test - the ACME test container was updated, it now supports external - account creation and has a basic OCSP responder (https://github.com/ansible/ansible/pull/71097, - https://github.com/ansible/acme-test-container/releases/tag/2.0.0). - - ansible-test - the ``import`` sanity test now also tries to import all non-module - and non-module_utils Python files in ``lib/ansible/`` resp. ``plugins/`` (https://github.com/ansible/ansible/pull/72497). - - ansible-test - virtualenv helper scripts now prefer ``venv`` on Python 3 over - ``virtualenv`` - - ansible-test Now supports RHEL 8.3 - - ansible-test pylint - ensure that removal collection version numbers conform - to the semantic versioning specification at https://semver.org/ (https://github.com/ansible/ansible/pull/71679). - - ansible-test pylint sanity test - stop ignoring ``used-before-assignment`` - errors (https://github.com/ansible/ansible/pull/73639). - - ansible-test runtime-metadata - compare deprecation and tombstone versions - to the current version to ensure that they are correct (https://github.com/ansible/ansible/pull/72625). - - ansible-test runtime-metadata - ensure that removal collection version numbers - conform to the semantic versioning specification at https://semver.org/ (https://github.com/ansible/ansible/pull/71679). - - ansible-test runtime-metadata - ensure that the tombstone removal date is - not in the future (https://github.com/ansible/ansible/pull/72625). - - ansible-test runtime-metadata - validate removal version numbers, and check - removal dates more strictly (https://github.com/ansible/ansible/pull/71679). - - ansible-test validate-modules - ensure that removal collection version numbers - and version_added collection version numbers conform to the semantic versioning - specification at https://semver.org/ (https://github.com/ansible/ansible/pull/71679). - - ansible-test validate-modules - no longer assume that ``default`` for ``type=bool`` - options is ``false``, as the default is ``none`` and for some modules, ``none`` - and ``false`` mean different things (https://github.com/ansible/ansible/issues/69561). - - ansible-test validate-modules - validate removal version numbers (https://github.com/ansible/ansible/pull/71679). - - ansible.utils.encrypt now returns `AnsibleError` instead of crypt.crypt's - `OSError` on Python 3.9 - - apt - module now works under any supported Python interpreter - - apt_repository - module now works under any supported Python interpreter - - callback plugins - ``meta`` tasks now get sent to ``v2_playbook_on_task_start``. - Explicit tasks are always sent. Plugins can opt in to receiving implicit ones. - - callbacks - Add feature allowing forks to send callback events (https://github.com/ansible/ansible/issues/14681) - - conditionals - change the default of CONDITIONAL_BARE_VARS to False (https://github.com/ansible/ansible/issues/70682). - - 'config - more types are now automatically coerced to string when ``type: - str`` is used and the value is parsed as a different type' - - constructed - Add a toggle to allow the separator to be omitted if no prefix - has been provided. - - constructed inventory plugin - Sanitize group names created from the ``groups`` - option silently. - - create ``get_type_validator`` standalone function and move that functionality - out of ``AnsibleModule`` (https://github.com/ansible/ansible/pull/72667) - - create ``get_unsupported_parameters`` validation function (https://github.com/ansible/ansible/pull/72447/files) - - debconf - add a note about no_log=True since module might expose sensitive - information to logs (https://github.com/ansible/ansible/issues/32386). - - default callback - add ``show_task_path_on_failure`` option to display file - and line number of tasks only on failed tasks when running at normal verbosity - level (https://github.com/ansible/ansible/issues/64625) - - default callback - task name is now shown for ``include_tasks`` when using - the ``free`` strategy (https://github.com/ansible/ansible/issues/71277). - - default callback - task name is now shown for ``include_tasks`` when using - the ``linear`` strategy with ``ANSIBLE_DISPLAY_SKIPPED_HOSTS=0``. - - default_callback - moving 'check_mode_markers' documentation in default_callback - doc_fragment (https://github.com/ansible-collections/community.general/issues/565). - - distribution - add support for DragonFly distribution (https://github.com/ansible/ansible/issues/43739). - - distribution - added distribution fact and hostname support for Parrot OS - (https://github.com/ansible/ansible/pull/69158). - - distribution - handle NetBSD OS Family (https://github.com/ansible/ansible/issues/43739). - - distribution facts - ``distribution_release`` is now ``"Stream"`` on CentOS - Stream (https://github.com/ansible/ansible/issues/73027). - - dnf - Add nobest option (https://github.com/ansible/ansible/issues/69983) - - 'dnf - When ``state: absent``, package names are now matched similarly to - how the ``dnf`` CLI matches them (https://github.com/ansible/ansible/issues/72809).' - - dnf - module now works under any supported Python interpreter - - dnf - now shows specific package changes (installations/removals) under ``results`` - in check_mode. (https://github.com/ansible/ansible/issues/66132) - - facts - ``/dev/kvm`` is now consulted in Linux virtualization facts, and the - host is considered a KVM host if this file exists and none of the pre-existing - checks matched. - - facts - add new fact ``date_time['tz_dst']``, which returns the daylight saving - timezone (https://github.com/ansible/ansible/issues/69004). - - facts - add uptime to openbsd - - find module - Now has a ``read_whole_file`` boolean parameter which allows - for reading the whole file and doing an ``re.search()`` regex evaluation on - it when searching using the ``contains`` option. This allows (for example) - for ensuring the very end of the file matches a pattern. - - galaxy - add documentation about galaxy parameters in examples/ansible.cfg - (https://github.com/ansible/ansible/issues/68402). - - galaxy - handle token as dict while loading from yaml file (https://github.com/ansible/ansible/issues/70887). - - get_url - allow checksum urls to point to file:// resources, moving scheme - test to function - - get_url - handle same SHA sum for checksum file (https://github.com/ansible/ansible/issues/71420). - - git - add ``single_branch`` parameter (https://github.com/ansible/ansible/pull/28465) - - hash filter - fail when unsupported hash type is passed as an argument (https://github.com/ansible/ansible/issues/70258) - - inventory cache - do not show a warning when the cache file does not (yet) - exist. - - iptables - add a note about ipv6-icmp in protocol parameter (https://github.com/ansible/ansible/issues/70905). - - iptables - fixed get_chain_policy API (https://github.com/ansible/ansible/issues/68612). - - iptables - reorder comment postition to be at the end (https://github.com/ansible/ansible/issues/71444). - - lineinfile - add search_string parameter for non-regexp searching (https://github.com/ansible/ansible/issues/70470) - - linux facts - Add additional check to ensure 'container' virtual fact gets - added to guest_tech when appropriate (https://github.com/ansible/ansible/pull/71385) - - meta - now include a ``skip_reason`` when skipped (https://github.com/ansible/ansible/pull/71355). - - module_utils - ``get_file_attributes()`` now takes an optional ``include_version`` - boolean parameter. When ``True`` (default), the file's version/generation - number is included in the result (but requires ``lsattr -v`` to work on the - target platform). - - now !unsafe works on all types of data, not just strings, even recursively - for mappings and sequences. - - package_facts - module support for apt and rpm now works under any supported - Python interpreter - - pipe lookup - update docs for Popen with shell=True usages (https://github.com/ansible/ansible/issues/70159). - - plugin examples - Allow non-YAML examples, so that examples for plugins like - the INI and TOML inventory plugins can be directly represented (https://github.com/ansible/ansible/pull/71184) - - plugin option validation - now the option type ``dict``/``dictionary`` is - also validated by the config manager (https://github.com/ansible/ansible/pull/71928). - - 'reboot - add ``reboot_command`` parameter to allow specifying the command - used to reboot the system (https://github.com/ansible/ansible/issues/51359) - - ' - - remove ``excommunicate`` debug command from AnsiballZ - - selinux - return selinux_getpolicytype facts correctly. - - service_facts - return service state information on AIX. - - setup - allow list of filters (https://github.com/ansible/ansible/pull/68551). - - setup.py - Declare that Python 3.9 is now supported (https://github.com/ansible/ansible/pull/72861). - - setup.py - Skip doing conflict checks for ``sdist`` and ``egg_info`` commands - (https://github.com/ansible/ansible/pull/71310) - - subelements - clarify the lookup plugin documentation for parameter handling - (https://github.com/ansible/ansible/issues/38182). - - subversion - ``validate_certs`` option, which, when true, will avoid passing - ``--trust-server-cert`` to ``svn`` commands (https://github.com/ansible/ansible/issues/22599). - - unarchive - Add support for .tar.zst (zstd compression) (https://github.com/ansible/ansible/pull/73265). - - unarchive - add ``RETURN`` documentation (https://github.com/ansible/ansible/issues/67445). - - 'unarchive - add ``include`` parameter to allow extracting specific files - from an archive (https://github.com/ansible/ansible/pull/40522) - - ' - - update sphinx to 2.1.2 and rstcheck to 3.3.1 for building documentation. - - uri - add ``ca_path`` argument to allow specification of a CA certificate - (https://github.com/ansible/ansible/pull/71979). - - user - add new parameters ``password_expire_max`` and ``password_expire_min`` - for controlling password expiration (https://github.com/ansible/ansible/issues/68775) - - varnames lookup plugin - Fixed grammar error in exception message when the - plugin is given a non-string term. - - vault - Provide better error for single value encrypted values to indicate - the file, line, and column of the errant vault (https://github.com/ansible/ansible/issues/72276) - - version test - Add semantic version functionality - - virtual facts - containerd cgroup is now recognized as container tech (https://github.com/ansible/ansible/issues/66304). - - virtualization facts - Detect ``vdsmd`` in addition to ``vdsm`` when trying - to detect RHEV hosts. (https://github.com/ansible/ansible/issues/66147) - - winrm - Added ``ansible_winrm_kinit_args`` that can be used to control the - args that are sent to the ``kinit`` call for Kerberos authentication. - - yum - module now works under any supported Python interpreter - - yum_repository - added boolean option module_hotfixes which allows to enable - functionality for dnf. - release_summary: '| Release Date: 2021-03-02 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - removed_features: - - Removed `SharedPluginLoaderObj` class from ansible.plugins.strategy. It was - deprecated in favor of using the standard plugin loader. - - Removed `_get_item()` alias from callback plugin base class which had been - deprecated in favor of `_get_item_label()`. - - The "user" parameter was previously deprecated and is now removed in favor - of "scope" - - The deprecated ``ansible.constants.BECOME_METHODS`` has been removed. - - The deprecated ``ansible.constants.get_config()`` has been removed. - - The deprecated ``ansible.constants.mk_boolean()`` has been removed. - - '`with_*` loops are no longer optimized for modules whose `name` parameters - can take lists (mostly package managers). Use `name` instead of looping over - individual names with `with_items` and friends.' - security_fixes: - - '**security issue** - Mask default and fallback values for ``no_log`` module - options (CVE-2021-20228)' - - '**security issue** - copy - Redact the value of the no_log ''content'' parameter - in the result''s invocation.module_args in check mode. Previously when used - with check mode and with ''-vvv'', the module would not censor the content - if a change would be made to the destination path. (CVE-2020-14332) - - ' - - Sanitize no_log values from any response keys that might be returned from - the uri module (CVE-2020-14330). - - dnf - Previously, regardless of the ``disable_gpg_check`` option, packages - were not GPG validated. They are now. (CVE-2020-14365) - codename: Hey Hey, What Can I Do - fragments: - - 14681-allow-callbacks-from-forks.yml - - 16456-correct-YAML-error-message-when-file-load-failed.yml - - 16949-global-skipped-result-flag-looped-tasks.yml - - 17029-prevent-user-fact-lookup-failure-is-logname-is-set.yml - - 17268-inventory-hostnames.yml - - 22599_svn_validate_certs.yml - - 23958-cleanup.yml - - 29351-expect-bytes.yml - - 32143-pause-background-hangs.yml - - 32174-normalize-None-quote.yml - - 322214-hostname-macos-support.yml - - 32386_debconf_password.yml - - 37132-delegate-to-loop-context.yml - - 38182_subelements.yml - - 38760-slackware-os-dist.yml - - 40522-unarchive-add-include.yml - - 43739_dragonflybsd_disto.yml - - 45475_galaxy.yml - - 46169-non-native-template-module.yml - - 50909-min-max-attrs.yml - - 52229-vault-python3-binary-stdin.yml - - 55152-add-more-info-to-AnsibleUndefinedVariable.yml - - 565_default_callback.yml - - 58752_argument_aliases.yml - - 60882-keyed_groups-leading-separator-toggle.yaml - - 61234-yum-dnf-version-comp-doc.yml - - 61369_get_url.yml - - 62136_strip_spaces_from_action_names.yml - - 63105-wcswidth.yml - - 63378_find_module_regex_whole_file.yml - - 63417-unique-filter-preserve-order.yml - - 64469_git_no_raw.yml - - 64625-show-file-path-on-task-failure-callback-option.yml - - 65262_ansible_inventory.yml - - 65710-find-include-parent.yml - - 65812-paramiko-attribute-error.yml - - 66132_dnf_show_pkgs_in_check_mode.yml - - 66147_rhev_vdsm_vdsmd.yml - - 66304-facts_containerd.yml - - 67508-meta-task-tags.yaml - - 68275-vault-module-args.yml - - 68402_galaxy.yml - - 68551_allow_list_of_filters_for_the_setup_module.yml - - 68605-ansible-error-orig-exc-context.yml - - 68612_iptables.yml - - 68770_cache_adjudicator_flush.yml - - 69352-netbsd-virtual-facts.yml - - 69463-fix-apt_repository-typeerror- instancemethod.yaml - - 69531_user_password_expire.yml - - 69578-shell-remote_tmp-quoting.yaml - - 69640-file_should_warn_when_path_and_owner_or_group_dont_exist.yml - - 69848-fix-rerunning-tagged-roles.yml - - 70017-avoid-params-to-callable-checkers.yml - - 70042-dnf-repository-hotfixes.yml - - 70045-ansible-doc-yaml-anchors.yml - - 70046-ansible-doc-description-crash.yml - - 70056-add-a-param-to-apt-module-to-avoid-unintended-uninstalls.yml - - 70099-make-apt-errors-more-transparent.yaml - - 70122-improve-error-message-ssh-client-is-not-found.yml - - 70148-galaxy-role-info.yaml - - 70168-fix-delegate_facts-without-interpreter-set.yml - - 70238_selector.yml - - 70244-selinux-special-fs.yml - - 70256_stat_colon_split.yml - - 70258-hash-filter-fail-unsupported-type.yml - - 70261_pipe_lookup.yml - - 70284-facts-get-nvme-serial-from-file.yml - - 70318-dnf-add-nobest-option.yml - - 70319-reduce-ignored-module-sanity-tests.yml - - 70344-plugin-deprecation-collection-name.yml - - 70375-galaxy-server.yml - - 70426-allow-non-ascii-chars-in-cron.yml - - 70437-ssh-args.yml - - 70449-facts-add-dst-timezone.yml - - 70465-assemble-fix-decrypt-argument.yaml - - 70475-modify-module.yaml - - 70484-bool-ansible-become.yaml - - 70492-replace-filename-with-file-in-apt_key.yml - - 70507-validate-null-author.yaml - - 70524-fix-download-collections.yaml - - 70525-setuptools-disutils-reorder.yml - - 70583_datetime_date_in_module_result.yml - - 70587-package_facts-apk.yml - - 70600-user-module-dont-create-home-when-create_home-is-false.yml - - 70640-find-empty-excludes.yml - - 70649_time_clock.yml - - 70683-terminal-ansi-re.yaml - - 70687-improve-deprecation-message-bare-variable.yaml - - 70690-async-interpreter.yml - - 70704-void-linux-reboot.yml - - 70762-sanitize-uri-keys.yml - - 70784-vault-is-string.yml - - 70831-skip-literal_eval-string-filter-native-jinja.yml - - 70854-dnf-mutually-exclusive-filters.yml - - 70869-ansible-test-validate-modules-version-added.yml - - 70887_galaxy_token.yml - - 70905_iptables_ipv6.yml - - 70922-fix-block-in-rescue.yml - - 70984-templating-ansibleundefined-in-operator.yml - - 71007_callback_on_meta.yml - - 71073-fortimanager-httpapi-redirect.yml - - 71097-ansible-test-acme-container.yml - - 71107-encryption.yml - - 71184-allow-non-yaml-examples.yml - - 71197-systemctl-ignore-message.yaml - - 71205_get_url_allow_checksum_file_url.yml - - 71214-add-vars-variable-for-delegated-vars.yaml - - 71240-gluster-modules-redirect.yml - - 71257-strftime-float.yml - - 71277-include_tasks-show-name-with-free-strategy.yml - - 71279-skip-conflict-check.yml - - 71306-fix-exit-code-no-failure.yml - - 71307-toml-dumps-unsafe.yml - - 71355_execute_meta_skip_reason.yml - - 71385-enhance-container-reporting-linux-vfacts.yml - - 71420_get_url.yml - - 71496-iptables-reorder-comment-position.yml - - 71528-systemd-capbpf-workaround.yml - - 71528-systemd-improve-unit-searching.yml - - 71528-systemd-list-unit-files.yml - - 71559-fix-distribution-fact-sles4sap.yaml - - 71609-is_string-vault.yml - - 71636_distro.yml - - 71679-ansible-test.yml - - 71704_selector.yml - - 71722-fix-default-connection-timeout.yaml - - 71735-deprecation-tagging.yml - - 71739-remove-em-dash-from-pytest-config.yml - - 71824-action-fqcns.yml - - 71825-close-file-descriptor-after-building-cert-chaing.yml - - 71903-unarchive-gid-cast.yml - - 71905_bump-cloudstack-test-container.yml - - 71920-fix-templating-recursion-error.yml - - 71921-raise-bytes-for-binary-test.yml - - 71928-ensure_type-dict.yml - - 71966-ansible-doc-plugin-name.yml - - 71977-ansible-galaxy-role-init.yml - - 71979_ca_path_for_uri.yaml - - 72025-fact-add-uptime-to-openbsd.yml - - 72055-blockinfile-fix-insert-after-line-no-linesep.yml - - 72073-service_facts-aix-src.yml - - 72170-action-loader-collection-list.yml - - 72197-upgrade-test-ansible-runner.yml - - 72276-provide-better-vault-error.yml - - 72315-fact-caching-relative-to-config.yml - - 72316-dnf-filtering.yml - - 72322-wait-for-handle-errors.yml - - 72331-truenas-rc-major-version.yml - - 72411-fips-mode-ansible-test.yml - - 72428-action-groups-docker-k8s.yml - - 72497-ansible-test-import-plugins.yml - - 72511-always-prepend-role-to-task-name.yml - - 72516-fix-aix-network-facts.yml - - 72545_fix_facts_value_empty_key.yml - - 72546-unarchive-returndoc.yml - - 72591-ansible-galaxy-collection-resolvelib.yaml - - 72615-jinja-import-context-fix.yml - - 72623-ansible-test-unicode-paths.yml - - 72697-improve-config-deprecations.yml - - 72699-validate-modules-default-for-bools.yml - - 72745-import_playbook-deprecation-extra-params.yml - - 72754-extract-emb-func.yaml - - 72809-dnf-remove-NV.yml - - 72873-fix-fileglob-ordering.yml - - 72894-add-alinux-hostname-module-support.yml - - 72928_adding_multiport_support.yml - - 72966-allow-tilde-inside-galaxy-roles.yml - - 72979-fix-inventory-merge-hash-replace.yaml - - 72984_adding_set_support.yml - - 72992-user-account-lock-always-changes.yml - - 72993-ansible-doc-has_action.yml - - 73004-let-command-always-return-stdout-and-stderr.yml - - 73027-differentiate-centos-stream.yml - - 73059-improve-deprecation-texts.yml - - 73084-rhel-for-edge-pkg_mgr-fact-fix.yml - - 73120-rolemetadata-argspecs.yml - - 73152-role-arg-spec.yaml - - 73167-bhyve-facts.yml - - 73176_sphinx_rstcheck_versions.yml - - 73263-shadow-encrypt-string.yml - - 73277-reduce-lookup-complexity.yml - - 73335-argument-spec_validator.yml - - 73336-ansible-galaxy_collection_install_upgrade.yaml - - 73364-default-callback-host-pinned-not-lockstep.yml - - 73428-changelog-linting-bump-version.yml - - 73429-inventory-sanitization-constructed-features.yml - - 73456-let-vault-lookup-output-string.yml - - 73463_self_signed_https_endpoint_for_ansible-test.yml - - 73474-galaxy-list-format-options.yml - - 73498-INTERPRETER_PYTHON_DISTRO_MAP-Treat-oracle-same-as-rhel-centos.yml - - 73557-ansible-galaxy-cache-paginated-response.yml - - 73577-regex-fix.yml - - 73589-rolespec-validate.yml - - 73599-ansible-test-new-plugin-dirs.yml - - 73619-hostname-almalinux-support.yml - - 73639-ansible-test-pylint-ignores.yml - - 73653-rolespec-rm-warning.yml - - 73658-inventorymanager-throws-on-empty-inventory-dir.yml - - 73665-fixes-ansible-console.yml - - 73700-let-file-module-not-change-link-to-absolute-on-touch.yml - - 73709-normalize-configparser.yml - - 73718-find-dir-depth-traversal.yml - - add_keywords_to_ansible_doc.yml - - added_existing_nocolor.yml - - allow_restricted_config_values.yml - - ansiballz-remove-excommunicate.yaml - - ansible-base-update-containers.yml - - ansible-boilerplate.yml - - ansible-doc-collection-name.yml - - ansible-doc-formats.yml - - ansible-doc-has_action.yml - - ansible-doc-role-empty-meta-main.yml - - ansible-galaxy-stdout.yml - - ansible-galaxy-version-response.yml - - ansible-test-acme-test-plugin.yml - - ansible-test-azp-agent-temp-dir.yml - - ansible-test-azp-change-detection.yml - - ansible-test-azp-resource-prefix.yml - - ansible-test-centos6-eol.yml - - ansible-test-centos6-vault-mirrors.yml - - ansible-test-change-classification.yml - - ansible-test-changelog-lint-update.yml - - ansible-test-cleanup-pylint-config.yml - - ansible-test-cleanup.yml - - ansible-test-code-cleanup.yml - - ansible-test-code-naming.yml - - ansible-test-collection-classification.yml - - ansible-test-collection-constraints.yml - - ansible-test-constraints-cryptography-old-openssl.yml - - ansible-test-constraints-cryptography.yml - - ansible-test-container-ip-lookup.yml - - ansible-test-coverage-code-cleanup.yml - - ansible-test-coverage-combine-export.yml - - ansible-test-coverage-py26.yml - - ansible-test-cryptography-refactor.yml - - ansible-test-default-3.1.0.yml - - ansible-test-default-container-update.yml - - ansible-test-docker-default-network.yml - - ansible-test-docker-detection-fix.yml - - ansible-test-docker-not-localhost.yml - - ansible-test-docker-socket.yml - - ansible-test-egg-info-handling.yml - - ansible-test-endpoint-update.yml - - ansible-test-fedora33.yml - - ansible-test-freebsd-python-3.8.yml - - ansible-test-freebsd-pyyaml-libyaml.yml - - ansible-test-freebsd11-4.yml - - ansible-test-freebsd12-2.yml - - ansible-test-macos-10.15.yml - - ansible-test-more-code-cleanup.yml - - ansible-test-network-container-search.yml - - ansible-test-parallels-endpoint.yml - - ansible-test-pip-bootstrap-s3.yml - - ansible-test-pip-bootstrap.yml - - ansible-test-platforms.yml - - ansible-test-plugin-classification.yml - - ansible-test-podman-json-format.yml - - ansible-test-pylint-plugin-name.yml - - ansible-test-pylint-python-3.8-3.9.yml - - ansible-test-pylint-upgrade.yml - - ansible-test-pytest-cap-revert.yml - - ansible-test-pytest-cap.yml - - ansible-test-python-exec-wrapper.yml - - ansible-test-python-pip-warnings.yml - - ansible-test-relative-import-analysis.yml - - ansible-test-remote-aws-region.yml - - ansible-test-remote-shell-raw.yml - - ansible-test-rhel-python-3.8.yml - - ansible-test-rhel-requirements.yml - - ansible-test-rstcheck-core-only.yml - - ansible-test-runtime-dates-versions.yml - - ansible-test-sanity-ansible-doc.yml - - ansible-test-sanity-importer-cleanup.yml - - ansible-test-sanity-yamllint-lineno.yml - - ansible-test-ssh-key-management.yml - - ansible-test-tower-plugin.yml - - ansible-test-ubuntu2004.yml - - ansible-test-update-current-distro-containers.yml - - ansible-test-updates.yml - - ansible-test-validate-modules-file-common-args.yml - - ansible-test-venv-virtualenv-fallback.yml - - ansible-test-virtualenv-fix.yml - - ansible-test-virtualenv-install.yml - - ansible_runtime_meta.yml - - ansible_test_yamllint_avoid_attribute_exception.yaml - - apt_key_fixes.yml - - arg_spec-check_arguments-handle_aliases.yml - - arg_spec-get_type_validator.yml - - async-race-condition.yml - - better_os_environ_access.yml - - better_winrm_putfile_error.yml - - blockinfile_fix_no_backup_return.yml - - bsd_rcconf_string_replace.yaml - - cffi-constraint.yml - - changed_clarified.yml - - changed_when_group_by.yml - - changelog-yaml.yml - - ci-add-macos-11.yml - - colleciton_flex_ac_dir_paths.yml - - collection-ad-hoc.yml - - collection-list-site-packages.yaml - - collection_meta_use_libyaml.yml - - collections_cb_fix.yml - - command-warnings-deprecation-2.yml - - command-warnings-deprecation.yml - - constants-deprecation.yml - - constructed_vars_plugins.yml - - controller-python-warning.yml - - copy-sanitize-check-mode-invocation-args.yaml - - core_version.yml - - crypt-oserror.yml - - cryptography-fix.yml - - csvfile-parse_kv.yml - - date-time-facts-fix-utctime.yml - - default-test-container160.yml - - delegate_has_hostvars.yml - - delegation_password.yml - - deprecation-callback-get_item.yml - - deprecation-strategy-SharedPluginLoaderObj.yml - - deprecation-systemd-user.yml - - deprecation-taskexecutor-squash.yml - - dev-kvm.yml - - display-stdout-column-width.yml - - distribution_support_netbsd.yml - - distribution_support_parrot.yml - - dnf_gpg.yml - - enable_su_on_local.yaml - - ensure_local_user_correctness.yml - - facts_fixes.yml - - find_explicit.yml - - fix-cron-file-regression.yaml - - fix-incorrect-msg-in-loops-results.yml - - fix_ansible_issue_71942.yaml - - fix_bogus_coverage.yml - - fix_expression_as_filename_in_compile.yaml - - fix_inventory_source_parse_error_handling.yml - - fix_lp_flat.yml - - fix_meta_tasks_with_flush_cache.yml - - fix_mount_point.yml - - fix_reversed_return_value_order_72088.yaml - - fix_role_var_loading.yml - - fix_ssh_executable_options.yml - - fixup_perms2-cleanup.yml - - fq_action_module_resolution.yml - - galaxy-cache.yml - - galaxy-collection-fallback.yml - - galaxy-collection-list-correct-arg-name.yml - - galaxy-download-scm.yaml - - galaxy-servers.yml - - galaxy-sys-exit.yml - - galaxy_collections_paths-remove-dep.yml - - galaxy_login_bye.yml - - get_file_attributes-without-lsattr-version.yml - - git-add-single_branch.yml - - give_compose_extra_vars.yml - - handle_undefined_in_type_errors_filters.yml - - inventory-cache-file-missing-warning.yaml - - keep_log_at_info.yml - - kubevirt-virt-fact.yml - - lineinfile-add-search_string-parameter-for-non-regexp-searching.yaml - - lineinfile_exc_fix.yml - - linux-network-facts-broadcast-address.yaml - - macos-chmod-acl.yml - - max_fail_free.yml - - moar_reserved_vars.yml - - module_respawn.yml - - module_utils_finder_refactor.yml - - more-types-to-string-config.yml - - multivirt.yml - - native-jinja2-types-properly-handle-nested-undefined.yml - - no_log-fallback.yml - - package-use-manager-from-facts.yaml - - passwd_lookup_hexdigits.yml - - pause-catch-error-when-no-std-exists.yml - - pause-do-not-warn-background-with-seconds.yml - - pause-import.yml - - pipelinig_to_plugins.yml - - play_context_remove_redundant_pwd.yml - - plugin-loader-cleanup.yml - - plugin-loader-collection-name.yml - - powershell-fix-quoting.yaml - - powershell-nested-clixml.yml - - powershell-version-env.yml - - ps-sanity-requirements.yml - - psrp-copy-empty-file.yml - - psrp-copy.yaml - - psrp-json-loads-bytes.yml - - py26-multiprocess-queue-bug.yml - - py38-py39-fallback.yml - - pytest-collections-fix.yml - - reboot-add-boot-command-parameter.yaml - - remove_contradiction.yml - - rhel-7.9.yml - - rpmfluff-compat-fixes.yml - - run-command-cwd.yml - - runas-become-system-privileges.yml - - runtime-splunk-redirect.yml - - selinux_getpolicytype_compat.yml - - set_fact-connection_vars.yml - - set_mode_if_different-symlink-sticky-dir.yml - - setup-py-declare-py39.yml - - skip_invalid_coll_name_when_listing.yml - - split-filter.yml - - support_almalinux.yml - - syslog-prettier-error.yml - - systemd-preserve-full-unit-name.yml - - test-ansible-runner-pin-psutil.yml - - test_rhel83.yml - - timeout_moar_clis.yml - - toml-no-preview.yml - - tree_config.yml - - unarchive-check-future-gid-against-run-gid.yml - - unarchive-support-zst.yml - - undo_hashmerge_depr.yml - - unsafe_for_all.yml - - unsafe_writes_env.yml - - unsafe_writes_fix.yml - - update-conditionals-bare-vars-default.yml - - uri-status-code-int.yml - - url-lookup-add-httpagent.yml - - url-lookup-ini.yml - - urls-gssapi.yml - - v2.11.0-initial-commit.yaml - - v2.11.0b1_summary.yaml - - validate-modules-ps-doc-blacklist.yaml - - validate-modules_found_try_except_import_fails_module_attribute.yaml - - vanquish-rare-container-bootstrap-failure.yml - - varnames-error-grammar.yml - - version-jinja.yml - - version-libyaml-git.yml - - version-test-semver.yml - - which_when_false.yml - - win_async_full_path.yml - - win_setup-redirection.yaml - - winrm_kinit_args.yaml - - with_seq_example.yml - - wrap_native_text-non-collections-only.yml - modules: - - description: Validate role argument specs. - name: validate_argument_spec - namespace: '' - release_date: '2021-03-02' - 2.11.0b2: - changes: - bugfixes: - - A handler defined within a role will now search handlers subdir for included - tasks (issue https://github.com/ansible/ansible/issues/71222). - - ALLOW_WORLD_READABLE_TMP, switched to 'moved' message as 'deprecation' is - misleading since config settings still work w/o needing change. - - Automatically remove async cache files for polled async tasks that have completed - (issue https://github.com/ansible/ansible/issues/73206). - - Deal with failures when sorting JSON and you have incompatible key types. - - Setup virtualization_facts - add RHV and oVirt type. This change will fully - work for VMs in clusters at cluster level 4.4 or newer (https://github.com/ansible/ansible/pull/72876). - - '[set_fact] Corrected and expanded documentation as well as now raise errors - that were previously ignored.' - - ansible-test - ensure unit test paths for connection and inventory plugins - are correctly identified for collections (https://github.com/ansible/ansible/issues/73876). - - connection/ssh, ensure parameters come from correct source get_option, so - functionality matches docs. - - connection/ssh, fix reset to use same parameters to check if socket exists - as actually used, was hardcoded to default string construction previouslly. - - j2 plugin loader clarified comments, made note with better fqcn detection. - - notify keyword is not ignored anymore on import_tasks, also able to apply - to blocks now. - - restrict module valid JSON parsed output to objects as lists are not valid - responses. - - setup, don't give up on all local facts gathering if one script file fails. - - su become plugin, ensure correct type for localization option. - minor_changes: - - ansible-test - The generated ``resource_prefix`` variable now meets the host - name syntax requirements specified in RFC 1123 and RFC 952. The value used - for local tests now places the random number before the hostname component, - rather than after. If the resulting value is too long, it will be truncated. - - ansible-test validate-modules - option names that seem to indicate they contain - secret information that should be marked ``no_log=True`` are now flagged in - the validate-modules sanity test. False positives can be marked by explicitly - setting ``no_log=False`` for these options in the argument spec. Please note - that many false positives are expected; the assumption is that it is by far - better to have false positives than false negatives (https://github.com/ansible/ansible/pull/73508). - - distribution - add facts about Amazon Linux Distribution facts (https://github.com/ansible/ansible/issues/73742). - - module payload builder - module_utils imports in any nested block (eg, ``try``, - ``if``) are treated as optional during module payload builds; this allows - modules to implement runtime fallback behavior for module_utils that do not - exist in older versions of Ansible. - release_summary: '| Release Date: 2021-03-15 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - 72876-setup-facts-add-redhat-vendor.yml - - 73508-validate-modules-no_log.yml - - 73742_amazon_distribution.yml - - 73760-async-cleanup.yml - - 73809-search-handler-subdir.yml - - 73876-ansible_test-units.yml - - allow_world_readable_move.yml - - ansible-test-resource-prefix.yml - - fix_import_notify.yml - - fix_json_module_parsing.yml - - fix_set_fact.yml - - inv_json_sort_types_fix.yml - - j2ploader_minor.yml - - local_facts_continue.yml - - optional_module_utils.yml - - ssh_connection_fixes.yml - - su_fix.yml - - v2.11.0b2_summary.yaml - release_date: '2021-03-15' - 2.11.0b3: - changes: - bugfixes: - - Fix adding unrelated candidate names to the plugin loader redirect list. - - Strategy - When building the task in the Strategy from the Worker, ensure - it is properly marked as finalized and squashed. Addresses an issue with ``ansible_failed_task``. - (https://github.com/ansible/ansible/issues/57399) - - ansible-pull - Run all playbooks that when multiple are supplied via the command - line (https://github.com/ansible/ansible/issues/72708) - - find module, fix default pattern when use_regex is true. - major_changes: - - AnsibleModule - use ``ArgumentSpecValidator`` class for validating argument - spec and remove private methods related to argument spec validation. Any modules - using private methods should now use the ``ArgumentSpecValidator`` class or - the appropriate validation function. - minor_changes: - - Callbacks - Migrate more places in the ``TaskExecutor`` to sending callbacks - directly over the queue, instead of sending them as ``TaskResult`` and short - circuiting in the Strategy to send the callback. This enables closer to real - time callbacks of retries and loop results (https://github.com/ansible/ansible/issues/73899) - - setup - fix distribution facts for Older Amazon Linux with ``/etc/os-release`` - (https://github.com/ansible/ansible/issues/73946). - release_summary: '| Release Date: 2021-03-19 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - 57399-finalize-task-in-strategy.yml - - 72708_ansible_pull_multiple_playbooks.yml - - 73863-fix-plugin-redirect-list.yaml - - 73899-more-te-callbacks.yml - - 73946_amazon_linux.yml - - fix_find_default.yml - - use-validator-in-ansiblemodule.yml - - v2.11.0b3_summary.yaml - release_date: '2021-03-19' - 2.11.0b4: - changes: - bugfixes: - - Correctly set template_path and template_fullpath for usage in template lookup - and action plugins. - - Try to avoid kernel 'blocking' state on reading files while fact gathering. - - apt - fix policy_rc_d parameter throwing an exception when restoring original - file (https://github.com/ansible/ansible/issues/66211) - - argument spec validation - fix behavior of ``apply_defaults=True`` when an - empty dictionary is specified for such an option (https://github.com/ansible/ansible/pull/74029). - - pause - do not accept enter to continue when a timeout is set (https://github.com/ansible/ansible/issues/73948) - - setup module, fix error handling on bad subset given - - wait_for module, move missing socket into function to get proper comparrison - in time. - minor_changes: - - ansible-galaxy CLI - ``collection verify`` command now exits with a non-zero - exit code on verification failure - - ansible-galaxy CLI - ``collection verify`` command now supports a ``--offline`` - option for local-only verification - release_summary: '| Release Date: 2021-03-29 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - 73840_apt-policy-rc-d.yml - - 73948-pause-no-enter-with-timeout.yml - - 74029-argspec-apply_defaults.yml - - fix_setup_bad_subset.yml - - galaxy_verify_exitcode.yml - - galaxy_verify_local.yml - - less_blocks_on_facts.yml - - template_temp_vars_fix.yml - - v2.11.0b4_summary.yaml - - wait_for_fix.yml - release_date: '2021-03-29' - 2.11.0rc1: - changes: - bugfixes: - - OpenBSD module_utils - update sysctl variable name - - WorkerProcess - Implement workaround for stdout deadlock in multiprocessing - shutdown to avoid process hangs. - - ansible-test - Add a ``six < 1.14.0`` constraint for Python 2.6. - - ansible-test - The ``--export`` option for ``ansible-test coverage`` is now - limited to the ``combine`` command. It was previously available for reporting - commands on which it had no effect. - - ansible-test - The ``ansible-test coverage combine`` option ``--export`` now - exports relative paths. This avoids loss of coverage data when aggregating - across systems with different absolute paths. Paths will be converted back - to absolute when generating reports. - - debug action, prevent setting facts when displaying ansible_facts. - minor_changes: - - ansible-test - Add constraint for ``decorator`` for Python versions prior - to 3.5. - - service_facts - return service state information on OpenBSD. - release_summary: '| Release Date: 2021-04-05 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - ansible-test-decorator-constraint.yml - - ansible-test-fix-coverage-export.yml - - ansible-test-six.yml - - debug_dont_set_facts.yml - - openbsd-service.yml - - openbsd-sysutil.yml - - v2.11.0rc1_summary.yaml - - workerprocess-stdout-deadlock.yml - release_date: '2021-04-05' - 2.11.0rc2: - changes: - bugfixes: - - WorkerProcess - Python 3.5 fix for workaround for stdout deadlock in multiprocessing - shutdown to avoid process hangs. (https://github.com/ansible/ansible/issues/74149) - release_summary: '| Release Date: 2021-04-06 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - fix-for-workerprocess-stdout-deadlock-fix.yml - - v2.11.0rc2_summary.yaml - release_date: '2021-04-06' - 2.11.1: - changes: - release_summary: '| Release Date: 2021-05-24 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - v2.11.1_summary.yaml - release_date: '2021-05-24' - 2.11.1rc1: - changes: + - Action, module, and group names in module_defaults must be static values. + Their values can still be templates. + - Fully qualified 'ansible.legacy' plugin names are not included implicitly + in action_groups. + - Unresolvable groups, action plugins, and modules in module_defaults are an + error. + - ansible-test - Automatic installation of requirements for "cloud" test plugins + no longer occurs. The affected test plugins are ``aws``, ``azure``, ``cs``, + ``hcloud``, ``nios``, ``opennebula``, ``openshift`` and ``vcenter``. Collections + should instead use one of the supported integration test requirements files, + such as the ``tests/integration/requirements.txt`` file. + - ansible-test - The HTTP Tester is no longer available with the ``ansible-test + shell`` command. Only the ``integration`` and ``windows-integration`` commands + provide HTTP Tester. + - ansible-test - The ``--disable-httptester`` option is no longer available. + The HTTP Tester is no longer optional for tests that specify it. + - ansible-test - The ``--httptester`` option is no longer available. To override + the container used for HTTP Tester tests, set the ``ANSIBLE_HTTP_TEST_CONTAINER`` + environment variable instead. + - ansible-test - Unit tests for ``modules`` and ``module_utils`` are now limited + to importing only ``ansible.module_utils`` from the ``ansible`` module. + - 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. + - 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 + - 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. + - 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. + - intersect, difference, symmetric_difference, union filters - the default behavior + is now to be case-sensitive (https://github.com/ansible/ansible/issues/74255) + - unique filter - the default behavior is now to fail if Jinja2's filter fails + and explicit ``case_sensitive=False`` as the Ansible's fallback is case-sensitive + (https://github.com/ansible/ansible/pull/74256) bugfixes: - Add RockyLinux to fact gathering (https://github.com/ansible/ansible/pull/74530). + - Add unicode support to ``ansible-inventory`` CLI (https://github.com/ansible/ansible/issues/57378) + - Add yaml representer for VarsWithSources (https://github.com/ansible/ansible/pull/68525). + - Added page describing terminal plugins to docsite + - AnsibleModule.set_mode_if_different - don't check file existence when check_mode + is activated (https://github.com/ansible/ansible/issues/61185). + - Apply ``display_failed_stderr`` callback option on loop item results. (https://github.com/ansible/ansible/issues/74864) + - 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). + - Ensure end_play ends play, not batch (https://github.com/ansible/ansible/issues/73971) + - Ensure we get full path for extra vars into cliargs to avoid realpath issues + after initial load. + - Fix ``keys()`` implementation of ``BaseFileCacheModule`` to strip the prefix + from the key and only return keys that share the same prefix as the cache. + - Fix ``when`` evaluation on Native Jinja and Python 3.10. + - Fix templating task action with host-specific vars (https://github.com/ansible/ansible/issues/75568) + - Fully qualified 'ansible.legacy' and 'ansible.builtin' plugin names work in + conjunction with module_defaults. + - 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). - Improve resilience of ``ansible-galaxy collection`` by increasing the page size to make fewer requests overall and retrying queries with a jittered exponential backoff when rate limiting HTTP codes (520 and 429) occur. (https://github.com/ansible/ansible/issues/74191) + - Jinja2 globals should be accessible even when importing a template without + the context (https://github.com/ansible/ansible/issues/75371) + - PlayContext - Remove deprecated ``make_become_cmd`` (https://github.com/ansible/ansible/issues/74136) + - PowerShell - Ignore the ``LIB`` environment variable when compiling C# Ansible + code - Prevent ``ansible_failed_task`` from further templating (https://github.com/ansible/ansible/issues/74036) - Remove 'default' from ssh plugin as we want to rely on default from ssh itself or ssh/config. - - The error message about the failure to import a ``gpg`` key by the ``apt_key`` + - Replace usage of private dnf.Base() attribute by future dnf API + - Save unreachable hosts between plays by adding them to the PlayIterator's + _play._removed_hosts (https://github.com/ansible/ansible/issues/66945). + - Solaris - correct version check in svcadm_supports_sync (https://github.com/ansible/ansible/pull/73860). + - Task depth - Prevent exception when the task depth exceeds Pythons recursion + depth (https://github.com/ansible/ansible/issues/73996) + - Templating - Ensure we catch exceptions when calling ``.filters()`` or ``.tests()`` + on their respective plugins and properly error, instead of aborting which + results in no filters being added to the jinja2 environment (https://github.com/ansible/ansible/pull/74127) + - The ``apt_key`` module did not properly handle GnuPG errors (https://github.com/ansible/ansible/issues/74477) + - 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). + - Update network user guide to explain use of cli_parse and validate plugins. + - Variable Manager - Only check if ``play.hosts`` is a template when the play + hasn't been finalized (https://github.com/ansible/ansible/issues/73926) + - WorkerProcess - Python 3.5 fix for workaround for stdout deadlock in multiprocessing + shutdown to avoid process hangs. (https://github.com/ansible/ansible/issues/74149) + - '``AnsibleModule.run_command`` - Address thread safety issues, concerning + mutating the environment, current working directory, and umask. (https://github.com/ansible/ansible/issues/74783) + + ' + - '``failed_when``/``changed_when`` - Catch templating errors to prevent masking + of module output (https://github.com/ansible/ansible/issues/37187)' + - '``heuristic_log_sanitize`` - Return the full string if there is no password + (https://github.com/ansible/ansible/issues/75542) + + ' + - '``pip`` now uses the ``pip`` Python module installed for the Ansible module''s + Python interpreter, if available, unless ``executable`` or ``virtualenv`` + were specified.' + - advanced_host_list inventory plugin - Fixed variable referenced before assignment + when hostname/range could not be parsed. + - ansiballz - avoid treating path to site_packages as regex; escape it. This + prevents a crash when ansible is installed to, or running from, an oddly named + directory like ``ansi[ble`` + - ansible-doc - in text output, do not show empty ``version_added_collection`` + values (https://github.com/ansible/ansible/pull/74999). + - ansible-doc can now dump kewyords with --metadata-dump (still just for internal + use) + - ansible-doc, fix output for internal metadata dump option + - ansible-doc, make inventory plugin selection for snippets generic and not + a hardcoded list + - ansible-galaxy - Fix a bug with build_ignore when installing collections from + source (https://github.com/ansible/ansible/issues/75528). + - ansible-galaxy - Fix handling HTTP exceptions from Galaxy servers. Continue + to the next server in the list until the collection is found. + - ansible-galaxy - Improve error message from dependency resolution when a candidate + has inconsistent requirements (https://github.com/ansible/ansible/issues/75139). + - ansible-inventory - handle an exception while parsing inventory in toml format + (https://github.com/ansible/ansible/issues/74404). + - ansible-playbook, more robust handling of --list-hosts and undefined vars + in hosts keyword. + - ansible-pull - update documentation for ``--directory`` option to clarify + path must be absolute. + - ansible-pull, restore other options to use as repo other than git. + - ansible-test - Add constraint for ``pyspnego>=0.1.6`` for Python 3.10 - https://github.com/ansible/ansible/pull/74612 - ansible-test - Avoid publishing the port used by the ``pypi-test-container`` since it is only accessed by other containers. This avoids issues when trying to run tests in parallel on a single host. + - ansible-test - Failure to download test results from a remote host no longer + hide test failures. If a download failure occurs after tests fail, a warning + will be issued instead. - ansible-test - Fix docker container IP address detection. The ``bridge`` network is no longer assumed to be the default. + - ansible-test - Fix traceback when generating coverage reports and no coverage + directory exists. + - ansible-test - Random port selection is no longer handled by ``ansible-test``, + avoiding possible port conflicts. Previously ``ansible-test`` would, under + some circumstances, use one host's available ports to determine those of another + host. + - ansible-test - Running tests in a single test run with multiple "cloud" plugins + no longer results in port conflicts. Previously two or more containers with + overlapping ports could not be used in the same test run. + - ansible-test - Tab completion after options like ``--docker`` which accept + an optional argument will no longer provide incorrect completions. + - ansible-test - The ``--python`` and ``--venv`` options are no longer ignored + by some commands, such as ``coverage``. + - ansible-test - The ``docker inspect`` command is now used to check for existing + images instead of the ``docker images`` command. This resolves an issue where + a ``docker pull`` would be unnecessarily executed for an image referenced + by checksum. + - ansible-test - Use ``--strict`` for ``pytest`` on Python 2.6 since ``--strict-markers`` + is not available. - ansible-test - Use documented API to retrieve build information from Azure Pipelines. + - ansible-test - Use pwsh to generate correct coverage line counts for stub + files to get a more accurate coverage result + - ansible-test - add packaging python module to ``ansible-doc`` sanity test + requirements. + - ansible-test - allow the same listening port on all container interfaces + - ansible-test - ensure the correct unit test target is given when the ``__init__.py`` + file is modified inside the connection plugins directory + - ansible-test - make the ``a/`` and ``b/`` prefixes an optional match since + these can be turned off with the ``diff.noprefix`` setting in ``git`` + - ansible-test - restrict ``packaging`` to ``< 21.0`` for Python ``< 3.6`` (https://github.com/ansible/ansible/pull/75186). + - 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). + - ansible-test validate-modules - correctly validate positional parameters to + ``AnsibleModules`` (https://github.com/ansible/ansible/pull/75332). - ansible.builtin.cron - Keep non-empty crontabs, when removing cron jobs (https://github.com/ansible/ansible/pull/74497). - ansible.utils.encrypt now handles missing or unusable 'crypt' library. - ansible_test - add constraint for ``MarkupSafe`` (https://github.com/ansible/ansible/pull/74666) - - apt_key - Binary GnuPG keys downloaded via URLs were corrupted so GnuPG could - not import them (https://github.com/ansible/ansible/issues/74424). + - 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) + - arg_spec - remove unused imports + - async_status, ensure we always get documented returns + - async_status, resurrected module to deprecate for those that were invoking + it directly. + - basic - skip over module parameters which are used in ``journal.send`` API + call (https://github.com/ansible/ansible/issues/71343). - become - fix a regression on Solaris where chmod can return 5 which we interpret as auth failure and stop trying become tmpdir permission fallbacks - become - work around setfacl not existing on modern Solaris (and possibly failing on some filesystems even when it does exist) - - callback default, now uses task delegate_to instead of delegate vars to display - delegate to host - - callbacks, restores missing delegate_vars + - callbacks, restore displaying delegation to host as host label. + - cli defaults for ssh args set to None as '' was bypassing normal default. + - command - remove unreachable code path when trying to convert the value for + ``chdir`` to bytes (https://github.com/ansible/ansible/pull/75036) + - command module, clarify order of remove/creates checks. + - command module, correctly handles chdir to symlinks. + - command module, move to standarized messages in 'msg' vs abusing 'stdout'. + - command module, now all options work in ad-hoc execution. + - command module, now always returns what we documented as 'returns always'. + - config - use ``callbacks_enabled`` instead ``callback_enabled`` in a deprecated + message (https://github.com/ansible/ansible/issues/70028). + - config lookup, can also handle collection plugins now + - config, ensure 'quoted' lists from ini or env do not take the quotes literally + as part of the list item. + - connection ssh, no ssh_args cli option, so removed doc entry. + - constants, internal _deprecated function always requires version. - correct doc links for become on warnings over world readable settings. - correctly use world readable setting since old constant is not 'settable' anymore. + - dnf - align the return value of the list argument with the ``yum`` module + (https://github.com/ansible/ansible/issues/75483) + - dnf - properly capture transaction error (https://github.com/ansible/ansible/issues/72651) + - dnf - refactor code to use `dnf whatprovides` API (https://github.com/ansible/ansible/issues/73503). + - dnf - support non-english environments (https://github.com/ansible/ansible/issues/75021) + - dnf module - Use all components of a package name to determine if it's installed + (https://github.com/ansible/ansible/issues/75311). + - do not trigger interpreter discovery in the forced_local module path as they + should use the ansible playbook python unless otherwise configured. - facts - detect homebrew installed at /opt/homebrew/bin/brew + - facts, service_mgr, handle issues if ps command fails or returns empty. - filter plugins - patch new versions of Jinja2 to prevent warnings/errors on renamed filter decorators (https://github.com/ansible/ansible/issues/74667) + - find - fix a bug where ``size`` argument was ignored for regular files with + ``file_type`` of ``any``. + - find action, correctly convert path to text when warning about skiping. + - find does not ignore errors from os.walk anymore and issues warnings as expected. + - gather_facts, improved message on timeout. + - gather_facts, package, service - fix using module_defaults for the modules + in addition to the action plugins. (https://github.com/ansible/ansible/issues/72918) + - get_bin_path, clarify with quotes what the missing required executable is. - get_url - Fixed checksum validation for binary files (leading asterisk) in checksum files (https://github.com/ansible/ansible/pull/74502). + - getent, fix return data for when there are multiple results for the same key + - git - Fix git path used when .git file is present (https://github.com/ansible/ansible/issues/75608). + - host_group_vars vars plugin fixed ini entry, section and key were reversed. - hostname - Add Rocky Linux support + - hostname - No longer modifies system files in get_* methods and therefore + when consulted in check_mode (https://github.com/ansible/ansible/issues/66432) + - include - Remove deprecated ``static`` argument for ``include`` (https://github.com/ansible/ansible/issues/74135) + - includes - Remove the deprecated ability to specify ``tags`` as ``vars`` on + includes (https://github.com/ansible/ansible/issues/74144) + - ini lookup - better error on mixed/bad parameters - ini lookup - handle errors for duplicate keys and missing sections (https://github.com/ansible/ansible/issues/74601) - interpreter discovery - Debian 8 and lower will avoid unsupported Python3 version in interpreter discovery + - interpreter discovery is now handling special (ansible_network_os) cases in + less noisy ways. + - interpreter_discovery - hide warning 'No python interpreters...' when ANSIBLE_PYTHON_INTERPRETER=auto_silent + (https://github.com/ansible/ansible/issues/74274). + - module_common - handle exception when multiple workers try to create the cache + directory + - module_defaults - Fix action defaults for legacy actions/modules (https://github.com/ansible/ansible/issues/75279). + - module_utils - detect symlinked init systems, even if unable to read /proc/1/comm + (https://github.com/ansible/ansible/issues/74866). + - netconf - catch and handle exception to prevent stack trace when running in + FIPS mode + - network module_utils - fix bug where ``to_bits()`` returned the ``str`` type + instead of a useful value. + - paramiko_ssh - mark connection as connected when ``_connect()`` is called + (https://github.com/ansible/ansible/issues/74081) + - password - Handle passlib wrapped algos bsd_nthash, django_argon2, django_bcrypt, + ldap_bcrypt, ldap_bsdi_crypt, ldap_des_crypt, ldap_hex_md5, ldap_hex_sha1, + ldap_md5_crypt, ldap_pbkdf2_sha1, ldap_pbkdf2_sha256, ldap_pbkdf2_sha512, + ldap_sha1_crypt, ldap_sha256_crypt, ldap_sha512_crypt, roundup_plaintext (https://github.com/ansible/ansible/pull/75527). - pause - ensure control characters are always set to an appropriate value (https://github.com/ansible/ansible/issues/73264) + - 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) + - play - validate the ``hosts`` entry in a play (https://github.com/ansible/ansible/issues/65386) - playbook loaded from collection subdir now does not ignore subdirs. - plugin config now allows list type options to have multiple valid choices (#74225). + - psrp - Always cleanup the last run pipeline if a second pipeline is invoked + to avoid violating any resource limits. + - psrp - Fix error when resetting a connection that was initialised but not + connected - (https://github.com/ansible/ansible/issues/74092). + - psrp - Try to clean up any server-side resources when resetting a connection. + - recursive_diff - handle condition when parameters are not dict (https://github.com/ansible/ansible/issues/56249). + - register - Ensure that ``register`` used on ``set_fact`` or ``include_vars`` + does not automatically wrap the facts as unsafe. (https://github.com/ansible/ansible/issues/21088) + - rekey_on_member - handle undefined positional arguments better. + - remote tmpdir permissions - fix type error in macOS chmod ACL fallback (https://github.com/ansible/ansible/pull/74613). - replace - better handling of file operation exceptions (https://github.com/ansible/ansible/pull/74686). - roles - allow for role arg specs in new meta file (https://github.com/ansible/ansible/issues/74525). + - roles - fix unexpected ``AttributeError`` when an empty ``argument_specs.yml`` + is present (https://github.com/ansible/ansible/pull/75604). + - roles - make sure argspec validation task is tagged with ``always`` (https://github.com/ansible/ansible/pull/74994). + - roles - make sure argspec validation task templates suboptions (https://github.com/ansible/ansible/issues/75070). + - schema validation now uses dynamic range of versions for valid deprecation + entries vs hardcoded out of date list. + - script inventory plugin - Remove deprecated caching support (https://github.com/ansible/ansible/issues/74143) + - sequence - fix error message so that unrecognized options to the plugin display + correctly as a list and normalize error messages. - service - compare version without LooseVersion API (https://github.com/ansible/ansible/issues/74488). + - set ssh host_key_checking defaults to True, restoring original behaviour (https://github.com/ansible/ansible/issues/75168) + - setup module should now not truncate hpux interface names. + - setup module, fix filter to adjust for missing ``ansible_`` prefix on query. + - setup, while gathering linux hardware facts be more resilient to errors and + try to return more info. + - slurp - Fix error messages for unreadable files and directories(https://github.com/ansible/ansible/issues/67340). + - slurp - handle error when ``path`` is a directory and not a file (https://github.com/ansible/ansible/pull/74930). + - slurp - improve the logic in the error handling and remove ``os.stat()`` call + (https://github.com/ansible/ansible/pull/75038) + - ssh connection now correctly handle ssh_transfer_method and scp_if_ssh interactions. + - ssh connection, fix interaction between trasnfer settings options. + - ssh connection, use self.host which has the most up2date info instead of pc.remote_addr + - ssh_connection - rename ``retries`` to ``reconnection_retries`` to avoid conflicts + with task vars (https://github.com/ansible/ansible/issues/75142). + - ssh_connection - set the default for ``reconnection_retries`` back to ``0`` + (https://github.com/ansible/ansible/issues/75142). + - subversion - fix stack trace when getting information about the repository + (https://github.com/ansible/ansible/issues/36498) + - system_service - use a context manager for file handling. + - task_executor, Actions using AnsibleActionFail/Skip will now propagate 'results' + if given + - task_executor/ssh_connection - use the ``retries`` value from ``ssh_connection`` + settings, not the default from the ``Task`` field attributes (https://github.com/ansible/ansible/issues/75142). + - template - ensure Jinja2 overrides from template header are used (https://github.com/ansible/ansible/issues/75275) + - unarchive - allow extracting archives that contain files which size exceeds + free system memory (https://github.com/ansible/ansible/issues/73985). + - unarchive - fail when zipinfo binary is not found in executable paths (https://github.com/ansible/ansible/issues/39029). + - unarchive - move failure for missing binary to ``can_handle_archive()`` rather + than ``__init__()`` + - 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 + - urls - Fix logic in matching ``unredirected_headers`` to perform case insensitive + matching + - validate_argument_spec, correct variable precedence and merge method and add + missing examples + - variable manager, avoid sourcing delegated variables when no inventory hostname + is present. This affects scenarios like syntax check and imports. + - version test - improve error message when an empty version is provided + - yum - Fixed typo in failure message (https://github.com/ansible/ansible/pull/72964). + - 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). + - yum - fix ``yumstate`` return value when wildcards are used in the ``list`` + argument (https://github.com/ansible/ansible/issues/74557) + - yum - fix parsing of multiple subsequent empty lines from ``yum check-update`` + output (https://github.com/ansible/ansible/issues/70949) + - yum - yum action plugin changes to support 'use' as an alias of 'use_backend' + (https://github.com/ansible/ansible/issues/70774). + deprecated_features: + - ansible-test - The ``--docker-no-pull`` option is deprecated and has no effect. + - ansible-test - The ``--no-pip-check`` option is deprecated and has no effect. + - include action is deprecated in favor of include_tasks, import_tasks and import_playbook. + - module_utils' FileLock is scheduled to be removed, it is not used due to its + unreliable nature. + known_issues: + - ansible-test - Tab completion anywhere other than the end of the command with + the new composite options will provide incorrect results. See https://github.com/kislyuk/argcomplete/issues/351 + for additional details. + major_changes: + - Python Controller Requirement - Python 3.8 or newer is required for the control + node (the machine that runs Ansible) (https://github.com/ansible/ansible/pull/74013) + - ansible-test - All "cloud" plugins which use containers can now be used with + all POSIX and Windows hosts. Previously the plugins did not work with Windows + at all, and support for hosts created with the ``--remote`` option was inconsistent. + - ansible-test - Collections can now specify controller and target specific + integration test requirements and constraints. If provided, they take precedence + over the previously available requirements and constraints files. + - ansible-test - Integration tests run with the ``integration`` command can + now be executed on two separate hosts instead of always running on the controller. + The target host can be one provided by ``ansible-test`` or by the user, as + long as it is accessible using SSH. + - ansible-test - Most container features are now supported under Podman. Previously + a symbolic link for ``docker`` pointing to ``podman`` was required. + - ansible-test - New ``--controller`` and ``--target`` / ``--target-python`` + options have been added to allow more control over test environments. + - ansible-test - Python 3.8 - 3.10 are now required to run ``ansible-test``, + thus matching the Ansible controller Python requirements. Older Python versions + (2.6 - 2.7 and 3.5 - 3.10) can still be the target for relevant tests. + - ansible-test - SSH port forwarding and redirection is now used exclusively + to make container ports available on non-container hosts. When testing on + POSIX systems this requires SSH login as root. Previously SSH port forwarding + was combined with firewall rules or other port redirection methods, with some + platforms being unsupported. + - ansible-test - Sanity tests always run in isolated Python virtual environments + specific to the requirements of each test. The environments are cached. + - ansible-test - Sanity tests are now separated into two categories, controller + and target. All tests except ``import`` and ``compile`` are controller tests. + The controller tests always run using the same Python version used to run + ``ansible-test``. The target tests use the Python version(s) specified by + the user, or all available Python versions. + - ansible-test - Sanity tests now use fully pinned requirements that are independent + of each other and other test types. + - 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. This + allows tests running under Python 2.6 to continue functioning even though + PyPI is discontinuing support for non-SNI capable clients. + - ansible-test - The ``future-import-boilerplate`` and ``metaclass-boilerplate`` + sanity tests are limited to remote-only code. Additionally, they are skipped + for collections which declare no support for Python 2.x. + - ansible-test - The ``import`` and ``compile`` sanity tests limit remote-only + Python version checks to remote-only code. + - ansible-test - Unit tests for controller-only code now require Python 3.8 + or later. + - ansible-test - Version neutral sanity tests now require Python 3.8 or later. + - junit callback - The ``junit_xml`` and ``ordereddict`` Python modules are + no longer required to use the ``junit`` callback plugin. minor_changes: + - Add ``end_batch`` meta task. + - Allow connection and become passwords to be set by file/executable script. + Also document this was already the case for vault. + - CLI - Remove ``__requires__`` attribute for ``pkg_resources`` + - Collections can define action_groups in ``meta/runtime.yml``. + - 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. + - Make the code structure of ansible-doc's generic snippet feature more maintainable. + - 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. + - PowerShell - Added support for optional module_util imports by scanning for + ``-Optional`` at the end of the import declaration + - Python 2.6 Target Support - Deprecate Python 2.6 for targets, requiring Python + 2.7 or newer. ``ansible-core==2.13`` will drop support for Python 2.6. (https://github.com/ansible/ansible/pull/74165) + - Task - Add a resolved_action attribute for Task objects to get the final resolved + plugin. + - Templar - remove ``_fail_on_lookup_errors`` and ``_fail_on_filter_errors`` + instance variables that were never used. (https://github.com/ansible/ansible/pull/73785) + - The AnsiballZ Python wrapper now changes the working directory to ``~`` or + ``/`` if the current one is not accessible. This allows become to drop privileges + on macOS when using pipelining. + - Update test container ansible-core-test-container to version 3.6.0 + - Update test container ansible-core-test-container to version 3.7.0 + - Update test container default-test-container to version 3.6.0 + - Update test container default-test-container to version 3.7.0 + - Update vendored copy of ``six`` to 1.16.0 to eliminate warnings for deprecated + python loader methods in Python 3.10+ (https://github.com/ansible/ansible/issues/74659) + - Update vendored copy of distro to 1.6.0 + - Vendor ``distutils.version`` due to it's deprecation in Python 3.10 and impending + removal in Python 3.12 (https://github.com/ansible/ansible/issues/74599) + - YAML parsing - Create common utils for loading and dumping YAML that prefer + the C extensions if available + - '``include_role`` - Allow use of ``omit`` in the ``from_*`` arguments (https://github.com/ansible/ansible/issues/66349)' + - '``uri``/``get_url`` - Expose ``unredirected_headers`` to modules to allow + user control + + ' + - '`ansible.plugins.callback.CallbackBase.host_label()` has been factored out + as a static method (https://github.com/ansible/ansible/pull/73814).' + - action_groups can include actions from other groups by using the special ``metadata`` + dictionary field. + - add a quick short circuit when checking if a string is a template to improve + performance on large strings (https://github.com/ansible/ansible/issues/74336) + - add host label to retry print statements + - added new function to module utils to choose best possible locale. + - adds the ``undef`` keyword to the templating environment. This allows for + directly creating Undefined values in templates. It is most useful for providing + a hint for variables which must be overridden. + - ansbile-doc now also shows snippets for inventory and lookup, adding to existing + modules. - ansible adhoc, clarified the help to some options, also added some comments to code. + - ansible-cli - remove unnecessary trailing space in ``ansible --version`` (https://github.com/ansible/ansible/issues/74875). + - ansible-config can now list and dump for specific documentable plugins by + specifying them in the command line + - ansible-config has new 'init' option to create, highly commented, example + configurations as ini (ansible.cfg), environment variables (shell) or Ansible + variable files (YAML) + - ansible-config now supports displaying plugin configuration info. + - ansible-doc - ``version_added`` in ``attributes`` now comes with ``version_added_collection`` + (https://github.com/ansible/ansible/pull/74602). + - 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). + - ansible-doc now supports 'attributes' for plugins as per proposal. + - ansible-doc pretty cli options output. + - ansible-doc, improve handling of rstisms, try to make the display more meaningfull + for the terminal users. + - ansible-galaxy - Allow specification of client_id override value for Keycloak + Token (https://github.com/ansible/ansible/issues/75593). + - ansible-galaxy - Allow validate_certs to be configured for individual Galaxy + servers (https://github.com/ansible/ansible/issues/75677). + - ansible-galaxy - Installing a collection from a git repository without specifying + a version (or using the version ``HEAD``) will clone the repository using + --depth=1. + - ansible-galaxy - Non-HTTP exceptions from Galaxy servers are now a warning + and only fatal if the collection to download|install|verify is not available + from any of the servers (https://github.com/ansible/ansible/issues/75443). + - ansible-test - A new ``base`` test container is available. It is similar to + the ``default`` test container, but contains no pre-installed Python packages + other than ``pip`` and its dependencies. + - ansible-test - Add RHEL 8.4 as a remote. + - ansible-test - Add ``--prime-venvs`` option to create virtual environments + without running tests. + - ansible-test - Add constraint for ``decorator`` for Python versions prior + to 3.5. + - ansible-test - Add support for Windows Server 2022. + - ansible-test - Add support for an ansible-test configuration file in collections + under ``tests/config.yml``. + - ansible-test - Add support for testing with Python 3.10. + - ansible-test - Added a ``--prime-containers`` option to support downloading + containers without running tests. + - ansible-test - Adding DigitalOcean cloud support to ansible-test (https://github.com/ansible/ansible/pull/74222). + - ansible-test - All "cloud" plugins have been refactored for more consistency. + For those that use docker containers, management of the containers has been + standardized. + - ansible-test - All "cloud" plugins now use fixed hostnames and ports in tests. + Previously some tests used IP addresses and/or randomly assigned ports. + - ansible-test - Changes made to the ``hosts`` file on test systems are now + done using an Ansible playbook for both POSIX and Windows systems. Changes + are applied before a test target runs and are reverted after the test target + finishes. + - ansible-test - Clean up code in the cloud plugins. + - ansible-test - Collections can declare their remote-only code (modules/module_utils + and related tests) as controller-only. + - ansible-test - Collections can limit the Python versions used for testing + their remote-only code (modules/module_utils and related tests). + - ansible-test - Command line help has been updated to hide the ``--remote`` + option (and related options) when the user lacks an API key to use the feature. + - ansible-test - Constraints provided by ``ansible-test`` for Python package + installs have been reduced. + - ansible-test - Default settings are now applied to unknown versions of known + ``--remote`` platforms. + - ansible-test - Distribution specific test containers have been updated to + version 3.0.0. + - ansible-test - Environment checking (``pip``, ``python``, ``~/.ssh/known_hosts``, + etc.) is no longer performed when running integration tests. + - ansible-test - Environment variables exposed by "cloud" plugins are now available + to the controller for role based tests. Previously only script based tests + had access to the exposed environment variables. + - ansible-test - Fedora 32 and 33 (``fedora32`` and ``fedora33``) containers + have been updated and now allow for ssh in more container environments. + - ansible-test - Fedora 34 (``fedora34``) container has been added. + - ansible-test - Installation of ``cryptography`` no longer occurs when it is + already installed. This avoids downgrading existing OS packages. + - ansible-test - Minor code cleanup. + - ansible-test - More efficient string splitting. + - ansible-test - Most scripts used internally by ``ansible-test`` no longer + have a shebang or the executable bit set. + - ansible-test - Move code from ``_data`` directory to ``_util`` directory. + - ansible-test - Relocate change classification code. + - ansible-test - Remove CI provider support for Shippable, now that the service + has been discontinued. + - ansible-test - Remove check for legacy ``core`` and ``extras`` directories. + - ansible-test - Remove deprecated container ``fedora32``. + - ansible-test - Remove deprecated remote platforms ``freebsd/11.4`` and ``rhel/8.3```. + - ansible-test - Removed the warning filter for ``PyYAML`` in the ``import`` + sanity test. + - ansible-test - Removed unused pip constraints. Collections may need to add + their own constraints if they depended on any which were removed. + - ansible-test - Reorganize code for individual commands. + - ansible-test - Reorganize integration test implementation by command. + - ansible-test - Rewrite the ``compile`` sanity test to improve error handling + and support Python 3.10. + - ansible-test - Sanity test warnings relating to Python version support have + been improved. + - ansible-test - Set minimum version constraints for ``pytest``. + - ansible-test - Split out shell command implementation. + - ansible-test - The "injector" scripts are now generated at runtime to avoid + issues with symlinks and shebangs. + - ansible-test - The HTTP Tester can now be used without the ``--docker`` or + `--remote`` options. It still requires use of the ``docker`` command to run + the container. + - ansible-test - The HTTP Tester has been converted to a "cloud" plugin and + can now be requested using the ``cloud/httptester`` alias. The original ``needs/httptester`` + alias is still supported for backwards compatibility. + - ansible-test - The ``--docker-keep-git`` option (used only for testing ansible-core) + has been renamed to ``--keep-git``. + - ansible-test - The ``--python`` option can be used without another delegation + option such as the ``--venv`` or ``--docker`` options. + - ansible-test - The ``ansible-test coverage`` commands ``combine``, ``report``, + ``html`` and ``xml`` now support delegation. + - 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. + - ansible-test - The ``docker run`` option ``--link`` is no longer used to connect + test containers. As a result, changes are made to the ``/etc/hosts`` file + as needed on all test containers. Previously containers which were used with + the ``--link`` option did not require changes to the ``/etc/hosts`` file. + - ansible-test - The ``import`` sanity test now requires that Ansible modules + guard instantiation of ``AnsibleModule`` with a ``if __name__ == '__main__'`` + conditional, or equivalent logic. + - ansible-test - The ``import`` sanity test now requires that non-modules do + not instantiate ``AnsibleModule`` on import. + - ansible-test - The ``validate-modules`` sanity test codes ``ansible-deprecated-module`` + and ``collection-deprecated-module`` have been added. + - ansible-test - The ``validate-modules`` sanity test codes ``last-line-main-call``, + ``missing-if-name-main`` and ``missing-main-call`` have been removed. + - ansible-test - The ``validate-modules`` sanity test no longer enforces the + ``missing-if-name-main``, ``last-line-main-call`` or ``missing-main-call`` + checks on non-deleted Ansible modules. Modules are still required to instantiate + ``AnsibleModule`` when ``__name__ == '__main__'``. + - ansible-test - Unit tests are now run in separate contexts (``controller``, + ``modules``, ``module_utils``), each using separate invocations of ``pytest``. + - ansible-test - Unit tests other than ``modules`` and ``module_utils`` are + now run only on Python versions supported by the controller (Python 3.8+). + - ansible-test - Update ``typed-ast`` constraint to version 1.4.3 for compatibility + with Python 3.10. + - ansible-test - Update distribution test containers from version 2.0.1 to 2.0.2. + - ansible-test - Update the Ansible Core and Ansible Collection default test + containers to 3.2.0 and 3.2.2 respectively. + - ansible-test - Update the ``import`` sanity test to avoid a new warning in + Python 3.10. + - ansible-test - Update the ``runtime-metadata`` sanity test to handle a new + warning on Python 3.10. + - ansible-test - Updated the ``default`` containers to version 4.0.1. + - ansible-test - Updated the help message for failed tests in the ``azure`` + test plugin. + - ansible-test - Upgrade ``pylint`` to version 2.9.3 and update its dependencies + to the latest versions as well. + - ansible-test - Using an unknown ``--docker`` or ``--remote`` environment now + requires specifying a Python version. + - ansible-test - add freebsd/13.0 as a remote option. + - ansible-test - aws creates and exposes a new tiny_prefix variable to provide + a shorter prefix for the AWS tests. + - ansible-test - display recent ``ssh`` debug logs after connection failures + (https://github.com/ansible/ansible/pull/75374) + - ansible-test - validate-modules now properly checks ``attributes`` for plugins + (https://github.com/ansible/ansible/pull/74602). + - ansible-test - virtualenv-isolated.sh is no longer provided. Prefer virtualenv.sh + in its place. + - ansible-test validate-modules - enforce that ``_info`` and ``_facts`` modules + set ``supports_check_mode=True`` (https://github.com/ansible/ansible/pull/75324). + - ansible-vault - remove support for ``PyCrypto`` (https://github.com/ansible/ansible/issues/72646) + - apt - added an ``allow_downgrade`` option to enable safe downgrade of packages + without using ``force`` which doesn't verify signatures (https://github.com/ansible/ansible/issues/29451, + https://github.com/ansible/ansible/pull/74852). + - 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. + - async tasks - the use of the task-level ``ANSIBLE_ASYNC_DIR`` variable within + ``environment:`` is no longer valid. Use the shell configuration variable + ``async_dir`` instead. + - async_wrapper, better reporting on timeout, slight refactor on reporting itself. + - basic module_util - Clean up ``selinux`` compat import. + - blockinfile - Remove unused code for Ansible 1.x. + - cache base - More efficient string splitting. + - callback API - implemented ``v2_runner_on_async_ok`` and ``v2_runner_on_async_failed`` + callbacks (https://github.com/ansible/ansible/pull/74953). + - cli scripts - remove trailing blank space in help after newline when outputting. + - collection - match skip message as per role installation. - command - update the user warning message to point out command name (https://github.com/ansible/ansible/pull/74475). - release_summary: '| Release Date: 2021-05-17 + - config lookup now can handle plugin settings. + - config, default site for ansible-core is now under /ansbile-core/. + - connection base - Avoid using deprecated ``@abstractproperty`` decorator. + - constructed - a new options ``trailing_separator`` and ``default_value`` to + deal with key's value empty on keyed group. + - cron - ``name`` is now a required parameter always + - 'cron - ``reboot`` parameter has been dropped in favor of ``special_time: + reboot``' + - cron, removed previously deprecated 'reboot' and now requires either 'name' + as unique identifier. + - default callback plugin - displays output for ``v2_runner_on_async_ok`` and + ``v2_runner_on_async_failed`` callbacks. + - deprecate ``_remote_checksum()`` and remove all internal uses (https://github.com/ansible/ansible/pull/74848) + - dnf - Add ``cacheonly`` option (https://github.com/ansible/ansible/issues/69397). + - dnf - allow for ``download_only`` to be run without root privileges (https://github.com/ansible/ansible/issues/75530) + - encrypt - add new parameter ``ident`` to specify version of BCrypt algorithm + to be used (https://github.com/ansible/ansible/issues/74571). + - fact cache - Remove deprecated backwards compatibility shim for the FactCache + `update` method to accept multiple arguments. + - fact cache - Remove the deprecated location for FactCache. Import FactCache + from `ansible.vars.fact_cache` instead. + - facts - add fiber channel facts for HP-UX (https://github.com/ansible/ansible/pull/57406) + - galaxy - support role artifact download from API response ``download_url`` + location (https://github.com/ansible/ansible/issues/73103). + - 'get_distribution - ``lib.ansible.module_utils.common.sys_info.get_distribution`` + now returns distribution information for all platforms not just Linux (https://github.com/ansible/ansible/issues/17587) + + ' + - 'get_distribution_version - ``lib.ansible.module_utils.common.sys_info.get_distribution_version`` + now returns the version for all platfroms not just Linux (https://github.com/ansible/ansible/issues/17587) + + ' + - git - Add ``accept_newhostkey`` option (https://github.com/ansible/ansible/issues/69846). + - hostname - add support RedOS (https://github.com/ansible/ansible/issues/74779). + - import_role - Template tasks_from, vars_from, defaults_from, and handlers_from + with --extra-vars (https://github.com/ansible/ansible/issues/69097). + - include_vars - add ``hash_behaviour`` option (https://github.com/ansible/ansible/pull/72944). + - ini - added new parameter ``allow_no_value`` to ini lookup plugin (https://github.com/ansible/ansible/issues/50594). + - ini lookup - add case sensitive option (https://github.com/ansible/ansible/issues/74601) + - interpreter discovery - allow the default list of ``INTERPRETER_PYTHON_FALLBACK`` + to be changed using a variable + - interpreter discovery - prefer Python 3 over Python 2 + - inventory plugins - Remove the deprecated cache interface. Set top level keys + in the inventory plugin's `_cache` attribute (a dictionary) instead. + - jinja2_native - short-circuit ``ast.literal_eval`` for non-string values + - 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. + - modules - add Anolis distro in hostname.py. project website https://openanolis.org/ + - move all builtin modules to use the best possible locale function instead + of hardcoding 'C'. + - password - add new parameter ``ident`` to specify version of BCrypt algorithm + to be used (https://github.com/ansible/ansible/issues/74571). + - password - add new parameter ``seed`` in lookup plugin (https://github.com/ansible/ansible/pull/69775). + - password_hash uses passlib default if option isn't set + - playbook - Error if a playbook is an empty list instead of just skipping + - playbook - Error if using ``include`` instead of ``import_playbook`` + - replaced examples/ansible.cfg with instructions on how to generate an up to + date copy. + - service - add description how service module works internally (https://github.com/ansible/ansible/issues/74507). + - service_facts now handles more states/statuses from systemd and in a more + reliable way (failed, not-found, masked). + - setup - add ``epoch_int`` option to date_time facts (https://github.com/ansible/ansible/pull/73822). + - ssh - added pkcs11 support by adding the pkcs11_provider option in the ssh + connection module. (https://www.github.com/ansible/ansible/pull/32829) + - ssh connection, can not configure ssh_transfer_method with a variable. + - ssh connection, ssh_transfer_method is now configurable via variable. + - subelements lookup - Use generator in instance type check. + - tempfile - Remove unnecessary conditional for creating a temporary directory. + - template - Add comment attributes (``comment_start_string`` and ``comment_end_string``) + - unicode utils - Fix ``__all__`` which was incorrectly declared as a string + instead of a tuple. + - user - Add ``umask`` option (https://github.com/ansible/ansible/issues/40359). + - user module - Remove unused code. + - validation testcases for check_* APIs (https://github.com/ansible/ansible/issues/55994). + - winrm - Allow explicit environment variables to be passed through to the ``kinit`` + call for Kerberos authentication + - yaml dumper - YAML representer for AnsibleUndefined (https://github.com/ansible/ansible/issues/75072). + - yum - Add ``cacheonly`` option (https://github.com/ansible/ansible/issues/69397). + release_summary: '| Release Date: 2021-09-27 | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ ' - codename: Hey Hey, What Can I Do + removed_features: + - The built-in module_util ``ansible.module_utils.common.removed`` was previously + deprecated and has been removed. + - connections, removed password check stubs that had been moved to become plugins. + - task, inline parameters being auto coerced into variables has been removed. + security_fixes: + - templating engine fix for not preserving usnafe status when trying to preserve + newlines. CVE-2021-3583 + codename: Dazed and Confused fragments: + - 17587-get-distribution-more-distros.yml + - 21088-no-auto-unsafe-set-fact-include-vars-with-register.yml + - 212-py26-deprecation.yml + - 29457-deprecate-remote_checksum.yml + - 32829-ssh-connection-module-add-pkcs11-support.yml + - 36498-subversion-fix-info-parsing.yml + - 37187-catch-cond-tmpl-errors.yml + - 39029_unarchive.yml + - 50594_ini.yml + - 55994_testcases.yml + - 56249_recursive_diff.yml + - 57378-inventory-cli-unicode.yml + - 57406-hpux-fc-info.yml + - 61185-basic.py-fix-check_mode.yaml + - 65227.yml + - 65386-validate-hosts.yml + - 66349-include-role-omit.yml + - 66432_hostname_check_mode_writes.yml + - 67340-slurp_error_message.yml + - 67943_collection_skip.yml + - 68525-add-varswithsources-yaml-representer.yml + - 69253-template-comment-attribute.yml + - 70028-config-small-typo-fix.yml + - 70792-yum-action-plugin-use-as-alias-of-use-backend.yml + - 70949-yum-parsing-check-update-output-multiple-empty-lines.yml + - 71343_yum_repository.yml + - 72607.yml + - 72651-dnf-capture-transaction-failure.yml + - 72944-include_vars-add-hash_behaviour-option.yml + - 72964-fixed-typo-in-yum-failure-message.yml + - 73114-fix-ansible-role-download.yaml - 73264-pause-emacs.yml + - 73284-yum-multiarch.yml + - 73503_dnf_whatprovides.yml + - 73602-ansible-doc-version-added.yml + - 73814-host_label.yaml + - 73819-git-accept_new_host_key.yaml + - 73820-yumdnf-add_cacheonly_option.yaml + - 73821-user-add_umask_option.yaml + - 73822-date_time_facts_add_epoch_int.yaml + - 73860-solaris-correct-version-check-in-svcadm_supports_sync.yml + - 73864-action-plugin-module-defaults.yml - 73887.mac-m1-homebrew.yaml + - 73926-is-template-play-hosts.yml + - 73971-non-batch-end_play.yml + - 73985-let-unarchive-handle-huge-files.yml + - 73996-recursion-depth.yml + - 74005-keyed_groups-specific-options-for-empty-value.yml + - 74013-controller-py38-min.yml - 74036-unsafe-ansible_failed_task.yml + - 74039_enable_module_defaults_for_collections.yml + - 74081-paramiko-mark-connected.yml + - 74127-bad-filter.yml + - 74135-remove-include-deprecations.yml + - 74136-remove-playcontext-make-become-cmd.yml + - 74143-remove-script-cache.yml + - 74144-remove-include-vartags.yml + - 74222-ansible-test-digitalocean.yml - 74240-ansible-galaxy-increase-pagesize-and-handle-throttling.yml + - 74241-find-checks-size-with-any.yml + - 74256-set-theory-filters-behavior.yml + - 74274_interpreter_discovery.yml + - 74336-is_template-quick-check.yml + - 74361-install-collection-from-shallow-git-clone.yml + - 74384-validate-modules-yaml.yml + - 74404_ansible_inventory.yml + - 74472-sequence-lookup.yaml - 74474-apt_key-gpg-binary-import.yaml - 74476-apt_key-gpg-inline-data.yaml + - 74478-apt_key-gpg-error-check.yaml - 74488_solaris_looseversion.yml - 74497-keep-non-empty-crontabs.yml - 74502-get_url-filx-checksum-binary.yml + - 74507_service.yml + - 74547-use-python3-on-rhel-9.yaml + - 74557-yum-list-wildcard.yml + - 74578-fix-ostree-detection.yml - 74582-role-argspec-new-file.yml + - 74599-vendor-distutils.yml + - 74601-ini-lookup-add-case-sensitive.yml - 74601-ini-lookup-handle-errors.yml + - 74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml + - 74625-fix-ansible_play_batch-between-plays.yml + - 74626-remove-pycrypto.yml + - 74659-update-six.yml - 74686-replace-handle-file-exc.yml + - 74709-task-resolved_action.yml + - 74783-run-command-thread-safety.yml + - 74852-apt-allow-downgrade.yaml + - 74864-display_failed_stderr-per-item.yml + - 74867-service_mgr_runit_detection_fallback.yaml + - 74875_ansible_version.yml + - 74932-fix-structure-of-snippets.yml + - 74949-apt_key_recv_last_arg.yml + - 74953-implement-async-callbacks.yml + - 74999-ansible-doc-version_added_collection.yml + - 75021-dnf-support-non-english-env.yml + - 75072_undefined_yaml.yml + - 75073-role-argspec-suboption-variables.yaml + - 75131-fix-rekey_on_member-lazy-evaluation.yaml + - 75142-ssh-retries-collision.yml + - 75186-ansible-test-packaging-constraint.yml + - 75235-ansible-galaxy-inconsistent-candidate-error.yml + - 75244-fix-templated-handler-names.yaml + - 75269-import_role-support-from-files-templates.yml + - 75275-ensure-jinja2-header-overrides-used.yml + - 75284-fix-legacy-module_defaults.yaml + - 75324-ansible-test-validate-modules-info-facts-check_mode.yml + - 75332-ansible-test-validate-modules-AnsibleModule-args.yml + - 75356-add-requirement-to-ansible-test.yml + - 75359-update-test-containers.yaml + - 75362-add-rhel-8.4-remote.yml + - 75371-import_template_globals.yml + - 75435-creating-Undefined.yml + - 75447-update-test-containers.yaml + - 75468_fix_galaxy_server_fallback.yaml + - 75483-dnf-align-return-with-yum.yml + - 75527_password_lookup_handle_wrapped_algo.yml + - 75530-dnf-download_only-non-root.yml + - 75547-fix-installing-collections-from-source.yaml + - 75568-fix-templating-task-action-host-specific-vars.yml + - 75593-ansible-galaxy-keycloak-clientid.yml + - 75604-empty-argument-specs.yml + - 75608-git-fix-submodule-path.yml + - 75710-ansible-galaxy-validate-certs.yml + - Templar-remove-fail-on-errors.yml + - add-anolis-distro-in-hostname.yaml - adhoc_help_clarify.yml + - adoc_dumps_keywords.yml + - advanced-host-list-ref-before-assignment.yml - allow_lists_of_config_choices.yml + - ansiballz-chdir.yml + - ansiballz-re-escape-site-packages.yml + - ansible-pull-doc-update.yml + - ansible-test-add-ssh-debug-logging.yml - ansible-test-azp-build-api.yml + - ansible-test-azure-plugin-help-cleanup.yml + - ansible-test-cache-plugin.yml + - ansible-test-change-classification-reorg.yml + - ansible-test-cleanup-deprecated.yml + - ansible-test-cloud-plugin-code-cleanup.yml + - ansible-test-code-cleanup.yml + - ansible-test-config.yml + - ansible-test-connection-units-init.yml + - ansible-test-constraints.yaml + - ansible-test-container-overhaul.yml + - ansible-test-coverage-delegation.yml + - ansible-test-coverage-traceback.yml + - ansible-test-decorator-constraint.yml + - ansible-test-default-container.yml + - ansible-test-default-containers-3.2.yml + - ansible-test-default-containers.yml + - ansible-test-diff-prefix-optional.yml + - ansible-test-distro-containers-2.0.2.yml + - ansible-test-distro-containers.yaml - ansible-test-docker-network-detect.yml + - ansible-test-fedora-34.yml + - ansible-test-freebsd-13.yml + - ansible-test-import-pyyaml-warning.yml + - ansible-test-injector.yml + - ansible-test-main-check.yml - ansible-test-markupsafe-constraint.yml + - ansible-test-min-controller-python.yml + - ansible-test-no-cryptograpy-downgrade.yml + - ansible-test-nuke-venv-isolated.yml + - ansible-test-prime-containers.yml + - ansible-test-pylint-typed-ast.yml + - ansible-test-pylint-upgrade.yml - ansible-test-pypi-container-no-publish.yml + - ansible-test-pypi-test-container.yml + - ansible-test-pytest-constraints.yml + - ansible-test-python-3.10.yml + - ansible-test-refactor-commands.yml + - ansible-test-refactor-integration.yml + - ansible-test-remove-legacy-check.yml + - ansible-test-remove-shippable.yml + - ansible-test-removed-module.yml + - ansible-test-sanity-compile.yml + - ansible-test-sanity-import-python-3.10.yml + - ansible-test-sanity-prime-venvs.yml + - ansible-test-sanity-runtime-metadata.yml + - ansible-test-shell-command.yml + - ansible-test-split-controller-target.yaml + - ansible-test-split-unit-tests.yml + - ansible-test-utils.yml + - ansible-test-windows-server-2022.yaml + - ansible-test_inspect-ports-on-all-interfaces.yml + - ansible_config_plugins.yml + - apt_lock_timeout.yml + - arg_spec-remove-unused-imports.yml + - async_status_fixes.yml + - async_unremove_redeprecate.yml + - async_wrapper_reporting.yml + - aws_tiny_prefix.yaml + - best_locale.yml + - better_timeout_msg.yml + - blockinfile-unused-code.yml + - blowfish_ident.yml + - c_deprecatd.yml + - cache-deprecations.yml + - clarify_missing_exe.yml + - cli-space-after-help-text.yml - cmd_wording.yml + - code-cleanup.yml - coll_pb_subdir_fixes.yml + - command-remove-unreachable-code.yml + - command_deliver_promisses.yml + - concurrency-cache-dir-collision.yml + - conditional-bare-vars.yml + - config_lists_unquote.yml + - config_lookup_fix.yml + - config_lookup_plugins.yml + - config_updates.yml + - coverage-pwsh-stubs.yml + - cron-deprecations.yml + - cron_removals.yml - crypt_missing.yml - debian8_discovery.yml - - jinja2_decorator_renames.yml - - macos-solaris-regression.yml - - missing_delegate_vars.yml - - solaris-setfacl-chmod-fallback.yml - - ssh_port_default_fix.yml - - support_rocky_linux_hostname.yml - - support_rockylinux.yml - - v2.11.1rc1_summary.yaml - - world_readable_fixes.yml - release_date: '2021-05-17' - 2.11.2: - changes: - release_summary: '| Release Date: 2021-06-22 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - v2.11.2_summary.yaml - release_date: '2021-06-22' - 2.11.2rc1: - changes: - bugfixes: - - AnsibleModule.set_mode_if_different - don't check file existence when check_mode - is activated (https://github.com/ansible/ansible/issues/61185). - - Apply ``display_failed_stderr`` callback option on loop item results. (https://github.com/ansible/ansible/issues/74864) - - Avoid task executor from ending early as vars can come from delegated to host. - - ansible-pull - update documentation for ``--directory`` option to clarify - path must be absolute. - - config, ensure 'quoted' lists from ini or env do not take the quotes literally - as part of the list item. - - gather_facts, package, service - fix using module_defaults for the modules - in addition to the action plugins. (https://github.com/ansible/ansible/issues/72918) - - psrp - Always cleanup the last run pipeline if a second pipeline is invoked - to avoid violating any resource limits. - - psrp - Fix error when resetting a connection that was initialised but not - connected - (https://github.com/ansible/ansible/issues/74092). - - psrp - Try to clean up any server-side resources when resetting a connection. - - roles - make sure argspec validation task is tagged with ``always`` (https://github.com/ansible/ansible/pull/74994). - - slurp - Fix error messages for unreadable files and directories (https://github.com/ansible/ansible/issues/67340). - - slurp - handle error when ``path`` is a directory and not a file (https://github.com/ansible/ansible/pull/74930). - - ssh connection - fix interaction between transfer settings options. - - subversion - fix stack trace when getting information about the repository - (https://github.com/ansible/ansible/issues/36498) - - version test - improve error message when an empty version is provided - release_summary: '| Release Date: 2021-06-14 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - security_fixes: - - templating engine fix for not preserving usnafe status when trying to preserve - newlines. CVE-2021-3583 - codename: Hey Hey, What Can I Do - fragments: - - 36498-subversion-fix-info-parsing.yml - - 61185-basic.py-fix-check_mode.yaml - - 67340-slurp_error_message.yml - - 73864-action-plugin-module-defaults.yml - - 74864-display_failed_stderr-per-item.yml - - ansible-pull-doc-update.yml - - config_lists_unquote.yml - - delegate_te_fix.yml + - deprecate-ansible-async-dir-envvar.yml + - deprecate_include.yml + - deprecated_task_parameters.yml + - distro-1.6.0.yml + - dnf-security.yaml + - doc_knows_cli.yml + - doc_split.yml + - end_batch-meta-task.yml + - example_ansible_cfg_remoed.yml + - expose-unredirected-headers.yml + - extra_vars_unfrack.yml + - filelock_bye.yml + - find_error_fix.yml + - find_walk_warnings.yml + - fips-ncclient-import-error.yaml + - fix-dnf-filtering-for-installed-package-name.yml + - fix-for-workerprocess-stdout-deadlock-fix.yml + - fix_cli_ssh_defaults.yml + - fix_host_list.yml + - fix_module_schema.yml - fix_scp_ssh_settings.yml + - fix_syntax_check.yml - fix_unsafe_newline.yml + - getent_multiple_entries_fix.yml + - heuristic_log_sanitize--missing-pass.yml + - host_group_vars_cfg_fix.yaml + - hpux_iface_facts_length.yml + - improve_derstification.yml + - ini_lookup_baduser.yml + - interepreter-discovery-prefer-python3.yml + - jinja2_decorator_renames.yml + - jinja2_native-warning-config-toggle.yml + - linux_hw_facts_fix.yml + - macos-solaris-regression.yml + - metadump_fix.yml + - native-types-short-circuit-literal-eval.yml + - no-requires.yml + - no_ssh_args.yml + - nonstandard-distro-fallback.yml + - parseable_locale.yml + - passlib-defaults.yml + - password_file_options.yml + - password_seed.yml + - pip-entry-point.yml + - playbook-deprecations.yml + - plugin_attributes-extension.yml + - plugin_attributes.yml + - powershell-addtype-env-vars.yml - psrp-cleanup.yml - psrp-reset.yml + - pull_repo_choices.yml + - pwsh-optional-imp.yml + - pyspnego-py310.yaml + - redos_hostname.yml + - remove_connection_become_checks.yml + - restore_delegate_label.yml + - retry-print-host.yml - role_argspec_tagged_always.yml + - service_facts_systemd_improve.yml + - service_mgr_facts_fix.yml + - set-ssh-host_key_checking-defaults.yaml + - setup_filter_smarter.yml + - skip_local_discovery.yml - slurp-handle-error-with-dir.yml - - v2.11.2rc1_summary.yaml - - version_compare-error-on-empty.yml - release_date: '2021-06-14' - 2.11.3: - changes: - release_summary: '| Release Date: 2021-07-19 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - v2.11.3_summary.yaml - release_date: '2021-07-19' - 2.11.3rc1: - changes: - bugfixes: - - Add unicode support to ``ansible-inventory`` CLI (https://github.com/ansible/ansible/issues/57378) - - Ensure we get full path for extra vars into cliargs to avoid realpath issues - after initial load. - - ansible-doc - in text output, do not show empty ``version_added_collection`` - values (https://github.com/ansible/ansible/pull/74999). - - ansible-test - restrict ``packaging`` to ``< 21.0`` for Python ``< 3.6`` (https://github.com/ansible/ansible/pull/75186). - - command - remove unreachable code path when trying to convert the value for - ``chdir`` to bytes (https://github.com/ansible/ansible/pull/75036) - - module_common - handle exception when multiple workers try to create the cache - directory - - roles - make sure argspec validation task templates suboptions (https://github.com/ansible/ansible/issues/75070). - - slurp - improve the logic in the error handling and remove ``os.stat()`` call - (https://github.com/ansible/ansible/pull/75038) - - ssh_connection - rename ``retries`` to ``reconnection_retries`` to avoid conflicts - with task vars (https://github.com/ansible/ansible/issues/75142). - - ssh_connection - set the default for ``reconnection_retries`` back to ``0`` - (https://github.com/ansible/ansible/issues/75142). - - task_executor/ssh_connection - use the ``retries`` value from ``ssh_connection`` - settings, not the default from the ``Task`` field attributes (https://github.com/ansible/ansible/issues/75142). - minor_changes: - - ansible-test - aws creates and exposes a new tiny_prefix variable to provide - a shorter prefix for the AWS tests. - release_summary: '| Release Date: 2021-07-13 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - 57378-inventory-cli-unicode.yml - - 74999-ansible-doc-version_added_collection.yml - - 75073-role-argspec-suboption-variables.yaml - - 75142-ssh-retries-collision.yml - - 75186-ansible-test-packaging-constraint.yml - - aws_tiny_prefix.yaml - - command-remove-unreachable-code.yml - - concurrency-cache-dir-collision.yml - - extra_vars_unfrack.yml - slurp-improve-error-handling-readability.yml - - v2.11.3rc1_summary.yaml - release_date: '2021-07-13' - 2.11.4: - changes: - release_summary: '| Release Date: 2021-08-16 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - v2.11.4_summary.yaml - release_date: '2021-08-16' - 2.11.4rc1: - changes: - bugfixes: - - Fix ``when`` evaluation on Native Jinja and Python 3.10. - - Jinja2 globals should be accessible even when importing a template without - the context (https://github.com/ansible/ansible/issues/75371) - - ansible-test - add packaging python module to ``ansible-doc`` sanity test - requirements. - - ansible-test validate-modules - correctly validate positional parameters to - ``AnsibleModules`` (https://github.com/ansible/ansible/pull/75332). - - cli defaults for ssh args set to None as '' was bypassing normal default. - - dnf module - Use all components of a package name to determine if it's installed - (https://github.com/ansible/ansible/issues/75311). - - do not trigger interpreter discovery in the forced_local module path as they - should use the ansible playbook python unless otherwise configured. - - find action, correctly convert path to text when warning about skiping. - - remote tmpdir permissions - fix type error in macOS chmod ACL fallback (https://github.com/ansible/ansible/pull/74613). - - template - ensure Jinja2 overrides from template header are used (https://github.com/ansible/ansible/issues/75275) - - unarchive - move failure for missing binary to ``can_handle_archive()`` rather - than ``__init__()`` - release_summary: '| Release Date: 2021-08-10 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - 74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml - - 75275-ensure-jinja2-header-overrides-used.yml - - 75332-ansible-test-validate-modules-AnsibleModule-args.yml - - 75356-add-requirement-to-ansible-test.yml - - 75371-import_template_globals.yml - - find_error_fix.yml - - fix-dnf-filtering-for-installed-package-name.yml - - fix_cli_ssh_defaults.yml - - skip_local_discovery.yml + - snippets.yml + - snippets_inv_select.yml + - solaris-setfacl-chmod-fallback.yml + - ssh_cleanup.yml + - ssh_conn_fixes.yml + - ssh_port_default_fix.yml + - support_rocky_linux_hostname.yml + - support_rockylinux.yml + - tempfile.yml + - terminal-documentation.yaml + - to_bits-does-nothing.yml + - tweaking_interpreter_discovery.yaml - unarchive-fix-bin-checking.yml - - v2.11.4rc1_summary.yaml - - when-eval-native-py310.yml - release_date: '2021-08-10' - 2.11.5: - changes: - release_summary: '| Release Date: 2021-09-13 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - v2.11.5_summary.yaml - release_date: '2021-09-13' - 2.11.5rc1: - changes: - bugfixes: - - Fix templating task action with host-specific vars (https://github.com/ansible/ansible/issues/75568) - - Since ansible/2.11 doc site was removed, the current relative messages point - to a 404 url, this fixes it by chainging the target to ansible-core/2.11 - - ansible-galaxy - Fix a bug with build_ignore when installing collections from - source (https://github.com/ansible/ansible/issues/75528). - - ansible-galaxy - Improve error message from dependency resolution when a candidate - has inconsistent requirements (https://github.com/ansible/ansible/issues/75139). - - ansible-playbook, more robust handling of --list-hosts and undefined vars - in hosts keyword. - - command module, clarify order of remove/creates checks. - - command module, correctly handles chdir to symlinks. - - command module, move to standarized messages in 'msg' vs abusing 'stdout'. - - command module, now all options work in ad-hoc execution. - - command module, now always returns what we documented as 'returns always'. - - get_bin_path, clarify with quotes what the missing required executable is. - - make previous versions compatible we new attributres w/o implementing them. - - paramiko_ssh - mark connection as connected when ``_connect()`` is called - (https://github.com/ansible/ansible/issues/74081) - - setup module should now not truncate hpux interface names. - - validate_argument_spec, correct variable precedence and merge method and add - missing examples - - variable manager, avoid sourcing delegated variables when no inventory hostname - is present. This affects scenarios like syntax check and imports. - release_summary: '| Release Date: 2021-09-08 - - | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ - - ' - codename: Hey Hey, What Can I Do - fragments: - - 74081-paramiko-mark-connected.yml - - 75235-ansible-galaxy-inconsistent-candidate-error.yml - - 75547-fix-installing-collections-from-source.yaml - - 75568-fix-templating-task-action-host-specific-vars.yml - - attributes_compat.yml - - clarify_missing_exe.yml - - command_deliver_promisses.yml - - fix_host_list.yml - - fix_relative_msg_urls.yml - - fix_syntax_check.yml - - hpux_iface_facts_length.yml - - v2.11.5rc1_summary.yaml + - update_doc_for_utils_plugins.yaml + - uri-multipart-int-value.yml + - v2.12.0-initial-commit.yaml + - v2.12.0b1_summary.yaml - vas_fixes.yml - release_date: '2021-09-08' - 2.11.6: + - vaultfilters.yml + - version_compare-error-on-empty.yml + - when-eval-native-py310.yml + - winrm-kinit-env.yml + - world_readable_fixes.yml + release_date: '2021-09-27' + 2.12.0b2: changes: bugfixes: + - ansible-test - Fix path to inventory file for ``windows-integration`` and + ``network-integration`` commands for collections. + - ansible-test - Update distribution test containers to version 3.1.0. + - ansible-test - Use the correct variable to reference the client's SSH key + when generating inventory. - ansible-test pslint - Fix error when encountering validation results that are highly nested - https://github.com/ansible/ansible/issues/74151 + minor_changes: + - ansible-test - Update the ``base`` and ``default`` containers from Python + 3.10.0rc2 to 3.10.0. release_summary: '| Release Date: 2021-10-11 | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ ' - codename: Hey Hey, What Can I Do + security_fixes: + - Do not include params in exception when a call to ``set_options`` fails. Additionally, + block the exception that is returned from being displayed to stdout. (CVE-2021-3620) + codename: Dazed and Confused fragments: + - ansible-test-default-base-containers-python-3.10.yaml + - ansible-test-distro-containers-3.1.0.yaml + - ansible-test-inventory-path.yaml + - ansible-test-inventory-ssh-key.yml + - avoid-set_options-leak.yaml - pslint-sanity-warning.yml - - v2.11.6_summary.yaml + - v2.12.0b2_summary.yaml release_date: '2021-10-11' - 2.11.6rc1: + 2.12.0rc1: changes: - bugfixes: - - PowerShell - Ignore the ``LIB`` environment variable when compiling C# Ansible - code - - ansible-galaxy - Fix handling HTTP exceptions from Galaxy servers. Continue - to the next server in the list until the collection is found. - - config - use ``callbacks_enabled`` instead ``callback_enabled`` in a deprecated - message (https://github.com/ansible/ansible/issues/70028). - - netconf - catch and handle exception to prevent stack trace when running in - FIPS mode - - roles - fix unexpected ``AttributeError`` when an empty ``argument_specs.yml`` - is present (https://github.com/ansible/ansible/pull/75604). - minor_changes: - - ansible-galaxy - Non-HTTP exceptions from Galaxy servers are now a warning - and only fatal if the collection to download|install|verify is not available - from any of the servers (https://github.com/ansible/ansible/issues/75443). - release_summary: '| Release Date: 2021-10-04 + release_summary: '| Release Date: 2021-10-18 | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__ ' - security_fixes: - - Do not include params in exception when a call to ``set_options`` fails. Additionally, - block the exception that is returned from being displayed to stdout. (CVE-2021-3620) - codename: Hey Hey, What Can I Do + codename: Dazed and Confused fragments: - - 70028-config-small-typo-fix.yml - - 75468_fix_galaxy_server_fallback.yaml - - 75604-empty-argument-specs.yml - - avoid-set_options-leak.yaml - - fips-ncclient-import-error.yaml - - powershell-addtype-env-vars.yml - - v2.11.6rc1_summary.yaml - release_date: '2021-10-04' + - v2.12.0rc1_summary.yaml + release_date: '2021-10-18' |