summaryrefslogtreecommitdiff
path: root/changelogs/changelog.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'changelogs/changelog.yaml')
-rw-r--r--changelogs/changelog.yaml3990
1 files changed, 1734 insertions, 2256 deletions
diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml
index bafe846b..89a5331e 100644
--- a/changelogs/changelog.yaml
+++ b/changelogs/changelog.yaml
@@ -1,1585 +1,213 @@
-ancestor: 2.9.0
+ancestor: 2.10.0
releases:
- 2.10.0:
+ 2.11.0:
changes:
bugfixes:
- - Address compat with rpmfluff-0.6 for integration tests
- release_summary: '| Release Date: 2020-08-13
-
- | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
-
- '
- codename: When the Levee Breaks
- fragments:
- - rpmfluff-compat-fixes.yml
- - v2.10.0_summary.yaml
- release_date: '2020-08-13'
- 2.10.0b1:
- changes:
- bugfixes:
- - ActionBase - Add new ``cleanup`` method that is explicitly run by the ``TaskExecutor``
- to ensure that the shell plugins ``tmpdir`` is always removed. This change
- means that individual action plugins need not be responsible for removing
- the temporary directory, which ensures that we don't have code paths that
- accidentally leave behind the temporary directory.
- - Add example setting for ``collections_paths`` parameter to ``examples/ansible.cfg``
- - Add missing gcp modules to gcp module defaults group
- - Added support for Flatcar Container Linux in distribution and hostname modules.
- (https://github.com/ansible/ansible/pull/69627)
- - Added support for OSMC distro in hostname module (https://github.com/ansible/ansible/issues/66189).
- - Allow tasks to notify a fqcn handler name (https://github.com/ansible/ansible/issues/68181)
- - An invalid value is hard to track down if you don't know where it came from,
- return field name instead.
- - Ansible.Basic - Fix issue when setting a ``no_log`` parameter to an empty
- string - https://github.com/ansible/ansible/issues/62613
- - 'Ansible.ModuleUtils.WebRequest - actually set no proxy when ``use_proxy:
- no`` is set on a Windows module - https://github.com/ansible/ansible/issues/68528'
- - AnsibleDumper - Add a representer for AnsibleUnsafeBytes (https://github.com/ansible/ansible/issues/62562).
- - 'AnsibleModule.run_command() - set ``close_fds`` to ``False`` on Python 2
- if ``pass_fds`` are passed to ``run_command()``. Since ``subprocess.Popen()``
- on Python 2 does not have the ``pass_fds`` option, there is no way to exclude
- a specific list of file descriptors from being closed.
-
- '
- - Avoid bare select() for running commands to avoid too large file descriptor
- numbers failing tasks
- - Avoid running subfunctions that are passed to show_vars function when it will
- be a noop.
- - By passing the module_tmpdir as a parameter in the write_ssh_wrapper function
- instead of initalizing module_tmpdir via get_module_path()
- - CLI - the `ANSIBLE_PLAYBOOK_DIR` envvar or `playbook_dir` config can now substitute
- for the --playbook-dir arg on CLIs that support it (https://github.com/ansible/ansible/issues/59464)
- - Check NoneType for raw_params before proceeding in include_vars (https://github.com/ansible/ansible/issues/64939).
- - Collections - Allow a collection role to call a stand alone role, without
- needing to explicitly add ``ansible.legacy`` to the collection search order
- within the collection role. (https://github.com/ansible/ansible/issues/69101)
- - Correctly process raw_params in add_hosts.
- - Create an ``import_module`` compat util, for use across the codebase, to allow
- collection loading to work properly on Python26
- - DUPLICATE_YAML_DICT_KEY - Fix error output when configuration option DUPLICATE_YAML_DICT_KEY
- is set to error (https://github.com/ansible/ansible/issues/65366)
- - Do not keep empty blocks in PlayIterator after skipping tasks with tags.
- - Ensure DataLoader temp files are removed at appropriate times and that we
- observe the LOCAL_TMP setting.
- - Ensure that ``--version`` works with non-ascii ansible project paths (https://github.com/ansible/ansible/issues/66617)
- - Ensure that keywords defined as booleans are correctly interpreting their
- input, before patch any random string would be interpreted as False
- - Ensure we don't allow ansible_facts subkey of ansible_facts to override top
- level, also fix 'deprefixing' to prevent key transforms.
- - Fact Delegation - Add ability to indicate which facts must always be delegated.
- Primarily for ``discovered_interpreter_python`` right now, but extensible
- later. (https://github.com/ansible/ansible/issues/61002)
- - 'Fix a bug when a host was not removed from a play after ``meta: end_host``
- and as a result the host was still present in ``ansible_play_hosts`` and ``ansible_play_batch``
- variables.'
- - Fix an issue with the ``fileglob`` plugin where passing a subdirectory of
- non-existent directory would cause it to fail - https://github.com/ansible/ansible/issues/69450
- - Fix case sensitivity for ``lookup()`` (https://github.com/ansible/ansible/issues/66464)
- - Fix collection install error that happened if a dependency specified dependencies
- to be null (https://github.com/ansible/ansible/issues/67574).
- - Fix https://github.com/ansible/galaxy-dev/issues/96 Add support for automation-hub
- authentication to ansible-galaxy
- - Fix incorrect "Could not match supplied host pattern" warning (https://github.com/ansible/ansible/issues/66764)
- - Fix issue git module cannot use custom `key_file` or `ssh_opts` as non-root
- user on system with noexec `/tmp` (https://github.com/ansible/ansible/issues/30064).
- - Fix issue git module ignores remote_tmp (https://github.com/ansible/ansible/issues/33947).
- - Fix issue where the collection loader tracebacks if ``collections_paths =
- ./`` is set in the config
- - Fix issue with callbacks ``set_options`` method that was not called with collections
- - Fix label lookup in the default callback for includes (https://github.com/ansible/ansible/issues/65904)
- - Fix regression when ``ansible_failed_task`` and ``ansible_failed_result``
- are not defined in the rescue block (https://github.com/ansible/ansible/issues/64789)
- - Fix string parsing of inline vault strings for plugin config variable sources
- - Fix traceback when printing ``HostVars`` on native Jinja2 (https://github.com/ansible/ansible/issues/65365)
- - Fixed a bug with the copy action plugin where mode=preserve was being passed
- on symlink files and causing a traceback (https://github.com/ansible/ansible/issues/68471).
- - Fixed the equality check for IncludedFiles to ensure they are not accidently
- merged when process_include_results runs.
- - Fixes in network action plugins load from collections using module prefix
- (https://github.com/ansible/ansible/issues/65071)
- - Force collection names to be static so that a warning is generated because
- templating currently does not work (see https://github.com/ansible/ansible/issues/68704).
- - Handle empty extra vars in ansible cli (https://github.com/ansible/ansible/issues/61497).
- - Handle empty roles and empty collections in requirements.yml in ansible-galaxy
- install command (https://github.com/ansible/ansible/issues/68186).
- - Handle exception encountered while parsing the argument description in module
- when invoked via ansible-doc command (https://github.com/ansible/ansible/issues/60587).
- - Handle exception when /etc/shadow file is missing or not found, while operating
- user operation in user module (https://github.com/ansible/ansible/issues/63490).
- - HostVarsVars - Template the __repr__ value (https://github.com/ansible/ansible/issues/64128).
- - Make netconf plugin configurable to set ncclient device handler name in netconf
- plugin (https://github.com/ansible/ansible/pull/65718)
- - Make sure if a collection is supplied as a string that we transform it into
- a list.
- - Misc typo fixes in various documentation pages.
- - Module arguments in suboptions which were marked as deprecated with ``removed_in_version``
- did not result in a warning.
- - On HTTP status code 304, return status_code
- - Plugin Metadata is supposed to have default values. When the metadata was
- missing entirely, we were properly setting the defaults. Fixed the metadata
- parsing so that the defaults are also set when we were missing just a few
- fields.
- - Prevent a race condition when running handlers using a combination of the
- free strategy and include_role.
- - Prevent rewriting nested Block's data in filter_tagged_tasks
- - Prevent templating unused variables for {% include %} (https://github.com/ansible/ansible/issues/68699)
- - Properly handle unicode in ``safe_eval``. (https://github.com/ansible/ansible/issues/66943)
- - Remove a temp directory created by wait_for_connection action plugin (https://github.com/ansible/ansible/issues/62407).
- - Remove the unnecessary warning about aptitude not being installed (https://github.com/ansible/ansible/issues/56832).
- - Remove unused Python imports in ``ansible-inventory``.
- - Role Installation - Ensure that a role containing files with non-ascii characters
- can be installed (https://github.com/ansible/ansible/issues/69133)
- - RoleRequirement - include stderr in the error message if a scm command fails
- (https://github.com/ansible/ansible/issues/41336)
- - Skipping of become for ``network_cli`` connections now works when ``network_cli``
- is sourced from a collection.
- - Strictly check string datatype for 'tasks_from', 'vars_from', 'defaults_from',
- and 'handlers_from' in include_role (https://github.com/ansible/ansible/issues/68515).
- - Strip no log values from module response keys (https://github.com/ansible/ansible/issues/68400)
- - TaskQueueManager - Explicitly set the mutliprocessing start method to ``fork``
- to avoid issues with the default on macOS now being ``spawn``.
- - Templating - Ansible was caching results of Jinja2 expressions in some cases
- where these expressions could have dynamic results, like password generation
- (https://github.com/ansible/ansible/issues/34144).
- - The ansible-galaxy publish command was using an incorrect URL for v3 servers.
- The configuration for v3 servers includes part of the path fragment that was
- added in the new test.
- - Update ActionBase._low_level_execute_command to honor executable (https://github.com/ansible/ansible/issues/68054)
- - Update the warning message for ``CONDITIONAL_BARE_VARS`` to list the original
- conditional not the value of the original conditional (https://github.com/ansible/ansible/issues/67735)
- - Use ``sys.exit`` instead of ``exit`` in ``ansible-inventory``.
- - Use fqcr from command module invocation using shell module. Fixes https://github.com/ansible/ansible/issues/69788
- - Use hostnamectl command to get current hostname for host while using systemd
- strategy (https://github.com/ansible/ansible/issues/59438).
- - Using --start-at-task would fail when it attempted to skip over tasks with
- no name.
- - Validate include args in handlers.
- - Vault - Make the single vaulted value ``AnsibleVaultEncryptedUnicode`` class
- work more like a string by replicating the behavior of ``collections.UserString``
- from Python. These changes don't allow it to be considered a string, but most
- common python string actions will now work as expected. (https://github.com/ansible/ansible/pull/67823)
- - '``AnsibleUnsafe``/``AnsibleContext``/``Templar`` - Do not treat ``AnsibleUndefined``
- as being "unsafe" (https://github.com/ansible/ansible/issues/65198)'
- - account for empty strings in when splitting the host pattern (https://github.com/ansible/ansible/issues/61964)
- - add parameter name to warning message when values are converted to strings
- (https://github.com/ansible/ansible/pull/57145)
- - add_host action now correctly shows idempotency/changed status
- - added 'unimplemented' prefix to file based caching
- - added new option for default callback to compat variable to avoid old 3rd
- party plugins from erroring out.
- - adhoc CLI - when playbook-dir is specified and inside a collection, use default
- collection logic to resolve modules/actions
- - allow external collections to be created in the 'ansible' collection namespace
- (https://github.com/ansible/ansible/issues/59988)
- - also strip spaces around config values in pathlist as we do in list types
- - ansiballz - remove '' and '.' from sys.path to fix a permissions issue on
- OpenBSD with pipelining (#69320)
- - ansible command now correctly sends v2_playbook_on_start to callbacks
- - ansible-connection persists even after playbook run is completed (https://github.com/ansible/ansible/pull/61591)
- - ansible-doc - Allow and give precedence to `removed_at_date` for deprecated
- modules.
- - ansible-doc now properly handles removed modules/plugins
- - ansible-galaxy - Default collection install path to first path in COLLECTIONS_PATHS
- (https://github.com/ansible/ansible/pull/62870)
- - ansible-galaxy - Display proper error when invalid token is used for Galaxy
- servers
- - ansible-galaxy - Ensure we preserve the new URL when appending ``/api`` for
- the case where the GET succeeds on galaxy.ansible.com
- - ansible-galaxy - Expand the ``User-Agent`` to include more information and
- add it to more calls to Galaxy endpoints.
- - ansible-galaxy - Fix ``collection install`` when installing from a URL or
- a file - https://github.com/ansible/ansible/issues/65109
- - ansible-galaxy - Fix ``multipart/form-data`` body to include extra CRLF (https://github.com/ansible/ansible/pull/67942)
- - ansible-galaxy - Fix issue when compared installed dependencies with a collection
- having no ``MANIFEST.json`` or an empty version string in the json
- - ansible-galaxy - Fix pagination issue when retrieving role versions for install
- - https://github.com/ansible/ansible/issues/64355
- - ansible-galaxy - Fix up pagination searcher for collection versions on Automation
- Hub
- - ansible-galaxy - Fix url building to not truncate the URL (https://github.com/ansible/ansible/issues/61624)
- - ansible-galaxy - Handle the different task resource urls in API responses
- from publishing collection artifacts to galaxy servers using v2 and v3 APIs.
- - ansible-galaxy - Preserve symlinks when building and installing a collection
- - ansible-galaxy - Remove uneeded verbose messages when accessing local token
- file
- - ansible-galaxy - Return the HTTP code reason if no error msg was returned
- by the server - https://github.com/ansible/ansible/issues/64850
- - ansible-galaxy - Send SHA256 hashes when publishing a collection
- - ansible-galaxy - Set ``User-Agent`` to Ansible version when interacting with
- Galaxy or Automation Hub
- - ansible-galaxy - Treat the ``GALAXY_SERVER_LIST`` config entry that is defined
- but with no values as an empty list
- - ansible-galaxy - Utilize ``Templar`` for templating skeleton files, so that
- they have access to Ansible filters/tests/lookups (https://github.com/ansible/ansible/issues/69104)
- - 'ansible-galaxy - fix a bug where listing a specific role if it was not in
- the first path failed to find the role
-
- '
- - ansible-galaxy - fix regression that prenented roles from being listed
- - 'ansible-galaxy - hide warning during collection installation if other installed
- collections do not contain a ``MANIFEST.json`` (https://github.com/ansible/ansible/issues/67490)
-
- '
- - ansible-galaxy - properly list roles when the role name also happens to be
- in the role path (https://github.com/ansible/ansible/issues/67365)
- - ansible-galaxy - properly show the role description when running offline (https://github.com/ansible/ansible/issues/60167)
- - ansible-galaxy cli - fixed ``--version`` argument
- - ansible-galaxy collection - Preserve executable bit on build and preserve
- mode on install from what tar member is set to - https://github.com/ansible/ansible/issues/68415
- - ansible-galaxy role - Fix issue where ``--server`` was not being used for
- certain ``ansible-galaxy role`` actions - https://github.com/ansible/ansible/issues/61609
- - ansible-galaxy- On giving an invalid subcommand to ansible-galaxy, the help
- would be shown only for role subcommand (collection subcommand help is not
- shown). With this change, the entire help for ansible-galaxy (same as ansible-galaxy
- --help) is displayed along with the help for role subcommand. (https://github.com/ansible/ansible/issues/69009)
- - ansible-inventory - Fix long standing bug not loading vars plugins for group
- vars relative to the playbook dir when the '--playbook-dir' and '--export'
- flags are used together.
- - ansible-inventory - Fix regression loading vars plugins. (https://github.com/ansible/ansible/issues/65064)
- - ansible-inventory - Properly hide arguments that should not be shown (https://github.com/ansible/ansible/issues/61604)
- - ansible-inventory - Restore functionality to allow ``--graph`` to be limited
- by a host pattern
- - ansible-test - Code cleanup.
- - ansible-test - Disabled the ``duplicate-code`` and ``cyclic-import`` checks
- for the ``pylint`` sanity test due to inconsistent results.
- - ansible-test - Do not warn on missing PowerShell or C# util that are in other
- collections
- - ansible-test - Fix PowerShell module util analysis to properly detect the
- names of a util when running in a collection
- - ansible-test - Fix regression introduced in https://github.com/ansible/ansible/pull/67063
- which caused module_utils analysis to fail on Python 2.x.
- - ansible-test - Fix traceback in validate-modules test when argument_spec is
- None.
- - ansible-test - Make sure import sanity test virtual environments also remove
- ``pkg-resources`` if it is not removed by uninstalling ``setuptools``.
- - ansible-test - Remove out-of-date constraint on installing paramiko versions
- 2.5.0 or later in tests.
- - ansible-test - The ``import`` sanity test now correctly blocks access to python
- modules, not just packages, in the ``ansible`` package.
- - ansible-test - The ``import`` sanity test now correctly provides an empty
- ``ansible`` package.
- - ansible-test - The shebang sanity test now correctly identifies modules in
- subdirectories in collections.
- - ansible-test - Updated Python constraints for installing ``coverage`` to resolve
- issues on multiple Python versions when using the ``--coverage`` option.
- - ansible-test - Updated requirements to limit ``boto3`` and ``botocore`` versions
- on Python 2.6 to supported versions.
- - ansible-test - Use ``sys.exit`` instead of ``exit``.
- - ansible-test - Use ``virtualenv`` versions before 20 on provisioned macOS
- instances to remain compatible with an older pip install.
- - ansible-test - avoid use of deprecated junit_xml method
- - ansible-test - bump version of ACME test container. The new version includes
- updated dependencies.
- - ansible-test - during module validation, handle add_file_common_args only
- for top-level arguments.
- - ansible-test - during module validation, improve alias handling.
- - ansible-test - for local change detection, allow to specify branch to compare
- to with ``--base-branch`` for all types of tests (https://github.com/ansible/ansible/pull/69508).
- - ansible-test - improve ``deprecate()`` call checker.
- - ansible-test can now install argparse with ``--requirements`` or delegation
- when the pip version in use is older than version 7.1
- - ansible-test change detection - Run only sanity tests on ``docs/`` and ``changelogs/``
- in collections, to avoid triggering full CI runs of integration and unit tests
- when files in these directories change.
- - ansible-test coverage - Fix the ``--all`` argument when generating coverage
- reports - https://github.com/ansible/ansible/issues/62096
- - ansible-test import sanity test now consistently reports errors against the
- file being tested.
- - ansible-test import sanity test now consistently reports warnings as errors.
- - ansible-test import sanity test now properly handles relative imports.
- - ansible-test import sanity test now properly invokes Ansible modules as scripts.
- - ansible-test is now able to find its ``egg-info`` directory when it contains
- the Ansible version number
- - ansible-test no longer errors reporting coverage when no Python coverage exists.
- This fixes issues reporting on PowerShell only coverage from collections.
- - ansible-test no longer fails when downloading test results for a collection
- without a ``tests`` directory when using the ``--docker`` option.
- - ansible-test no longer optimizes setting ``PATH`` by prepending the directory
- containing the selected Python interpreter when it is named ``python``. This
- avoids unintentionally making other programs available on ``PATH``, including
- an already installed version of Ansible.
- - ansible-test no longer tracebacks during change analysis due to processing
- an empty python file
- - ansible-test no longer tries to install ``coverage`` 5.0+ since those versions
- are unsupported
- - ansible-test no longer tries to install ``setuptools`` 45+ on Python 2.x since
- those versions are unsupported
- - ansible-test now correctly collects code coverage on the last task in a play.
- This should resolve issues with missing code coverage, empty coverage files
- and corrupted coverage files resulting from early worker termination.
- - ansible-test now correctly enumerates submodules when a collection resides
- below the repository root
- - ansible-test now correctly excludes the test results temporary directory when
- copying files from the remote test system to the local system
- - ansible-test now correctly includes inventory files ignored by git when running
- tests with the ``--docker`` option
- - ansible-test now correctly installs the requirements specified by the collection's
- unit and integration tests instead of the requirements specified for Ansible's
- own unit and integration tests
- - ansible-test now correctly recognizes imports in collections when using the
- ``--changed`` option.
- - ansible-test now correctly rewrites coverage paths for PowerShell files when
- testing collections
- - ansible-test now creates its integration test temporary directory within the
- collection so ansible-playbook can properly detect the default collection
- - ansible-test now enables color ``ls`` on a remote host only if the host supports
- the feature
- - ansible-test now ignores empty ``*.py`` files when analyzing module_utils
- imports for change detection
- - ansible-test now ignores version control within subdirectories of collections.
- Previously this condition was an error.
- - ansible-test now ignores warnings when comparing pip versions before and after
- integration tests run
- - ansible-test now installs sanity test requirements specific to each test instead
- of installing requirements for all sanity tests
- - ansible-test now installs the correct version of ``cryptography`` with ``--requirements``
- or delegation when setuptools is older than version 18.5
- - ansible-test now limits Jinja2 installs to version 2.10 and earlier on Python
- 2.6
- - ansible-test now limits ``pathspec`` to versions prior to 0.6.0 on Python
- 2.6 to avoid installation errors
- - ansible-test now limits installation of ``hcloud`` to Python 2.7 and 3.5 -
- 3.8 since other versions are unsupported
- - ansible-test now limits the version of ``setuptools`` on Python 2.6 to versions
- older than 37
- - ansible-test now loads the collection loader plugin early enough for ansible_collections
- imports to work in unit test conftest.py modules
- - ansible-test now preserves existing SSH authorized keys when provisioning
- a remote host
- - ansible-test now properly activates the vcenter plugin for vcenter tests when
- docker is available
- - ansible-test now properly activates virtual environments created using the
- --venv option
- - ansible-test now properly creates a virtual environment using ``venv`` when
- running in a ``virtualenv`` created virtual environment
- - ansible-test now properly excludes the ``tests/output/`` directory from code
- coverage
- - ansible-test now properly handles creation of Python execv wrappers when the
- selected interpreter is a script
- - ansible-test now properly handles enumeration of git submodules. Enumeration
- is now done with ``git submodule status --recursive`` without specifying ``.``
- for the path, since that could cause the command to fail. Instead, relative
- paths outside the current directory are filtered out of the results. Errors
- from ``git`` commands will now once again be reported as errors instead of
- warnings.
- - ansible-test now properly handles warnings for removed modules/plugins
- - ansible-test now properly ignores the ``tests/output//`` directory when not
- using git
- - ansible-test now properly installs requirements for multiple Python versions
- when running sanity tests
- - ansible-test now properly recognizes modules and module_utils in collections
- when using the ``blacklist`` plugin for the ``pylint`` sanity test
- - ansible-test now properly registers its own code in a virtual environment
- when running from an install
- - ansible-test now properly reports import errors for collections when running
- the import sanity test
- - ansible-test now properly searches for ``pythonX.Y`` instead of ``python``
- when looking for the real python that created a ``virtualenv``
- - ansible-test now properly sets PYTHONPATH for tests when running from an Ansible
- installation
- - ansible-test now properly sets ``ANSIBLE_PLAYBOOK_DIR`` for integration tests
- so unqualified collection references work for adhoc ``ansible`` usage
- - ansible-test now properly uses a fresh copy of environment variables for each
- command invocation to avoid mixing vars between commands
- - ansible-test now shows sanity test doc links when installed (previously the
- links were only visible when running from source)
- - ansible-test now shows the correct source path instead of ``%s`` for collection
- role based test targets when the ``-v`` option is used
- - ansible-test now supports submodules using older ``git`` versions which require
- querying status from the top level directory of the repo.
- - ansible-test now updates SSH keys it generates with newer versions of ssh-keygen
- to function with Paramiko
- - ansible-test now upgrades ``pip`` with `--requirements`` or delegation as
- needed when the pip version in use is older than version 7.1
- - ansible-test now uses GNU tar format instead of the Python default when creating
- payloads for remote systems
- - ansible-test now uses ``pycodestyle`` frozen at version 2.6.0 for consistent
- test results.
- - ansible-test now uses modules from the ``ansible.windows`` collection for
- setup and teardown of ``windows-integration`` tests and code coverage
- - ansible-test once again properly collects code coverage for ``ansible-connection``
- - ansible-test validate-modules - Fix arg spec collector for PowerShell to find
- utils in both a collection and base.
- - ansible-test validate-modules sanity test code ``missing-module-utils-import-c#-requirements``
- is now ``missing-module-utils-import-csharp-requirements`` (fixes ignore bug).
- - ansible-test validate-modules sanity test code ``multiple-c#-utils-per-requires``
- is now ``multiple-csharp-utils-per-requires`` (fixes ignore bug).
- - ansible-test validate-modules sanity test now checks for AnsibleModule initialization
- instead of module_utils imports, which did not work in many cases.
- - ansible-test validate-modules sanity test now properly handles collections
- imports using the Ansible collection loader.
- - ansible-test validate-modules sanity test now properly handles relative imports.
- - ansible-test validate-modules sanity test now properly handles sys.exit in
- modules.
- - ansible-test validate-modules sanity test now properly invokes Ansible modules
- as scripts.
- - ansible-test windows coverage - Ensure coverage reports are UTF-8 encoded
- without a BOM
- - ansible-test windows coverage - Output temp files as UTF-8 with BOM to standardise
- against non coverage runs
- - ansible-vault - Fix ``encrypt_string`` output in a tty when using ``--sdtin-name``
- option (https://github.com/ansible/ansible/issues/65121)
- - ansible-vault create - Fix exception on no arguments given
- - apt - Fixed the issue the cache being updated while auto-installing its dependencies
- even when ``update_cache`` is set to false.
- - assemble module - fix documentation - the remote_src property specified a
- default value of no but it's actually yes.
- - avoid fatal traceback when a bad FQCN for a callback is supplied in the whitelist
- (#69401).
- - become - Fix various plugins that still used play_context to get the become
- password instead of through the plugin - https://github.com/ansible/ansible/issues/62367
- - 'blockinfile - fix regression that results in incorrect block in file when
- the block to be inserted does not end in a line separator (https://github.com/ansible/ansible/pull/69734)
-
- '
- - blockinfile - preserve line endings on update (https://github.com/ansible/ansible/issues/64966)
- - clean_facts - use correct variable to avoid unnecessary handling of ``AttributeError``
- - code - removes some Python compatibility code for dealing with socket timeouts
- in ``wait_for``
- - collection loader - ensure Jinja function cache is fully-populated before
- lookup
- - collection loader - fixed relative imports on Python 2.7, ensure pluginloader
- caches use full name to prevent names from being clobbered (https://github.com/ansible/ansible/pull/60317)
- - collection_loader - sort Windows modules below other plugin types so the correct
- builtin plugin inside a role is selected (https://github.com/ansible/ansible/issues/65298)
- - collections - Handle errors better for filters and tests in collections, where
- a non-existent collection is specified, or importing the plugin results in
- an exception (https://github.com/ansible/ansible/issues/66721)
- - combine filter - ``[dict1, [dict2]] | combine`` now raise an error; previously
- ``combine`` had an undocumented behaviour where it was flattening the list
- before combining it (https://github.com/ansible/ansible/pull/57894#discussion_r339517518).
- - config - encoding failures on config values should be non-fatal (https://github.com/ansible/ansible/issues/63310)
- - copy - Fix copy modes when using remote_src=yes and src is a directory with
- trailing slash.
- - copy - Fixed copy module not working in case that remote_src is enabled and
- dest ends in a / (https://github.com/ansible/ansible/pull/47238)
- - copy - recursive copy with ``remote_src=yes`` now recurses beyond first level.
- (Fixes https://github.com/ansible/ansible/issues/58284)
- - core - remove unneeded Python version checks.
- - core - replace a compatibility import of pycompat24.literal_eval with ast.literal_eval.
- - core filters - fix ``extract()`` filter when key does not exist in container
- (https://github.com/ansible/ansible/issues/64957)
- - cron and cronvar - use get_bin_path utility to locate the default crontab
- executable instead of the hardcoded /usr/bin/crontab. (https://github.com/ansible/ansible/pull/59765)
- - cron cronvar - only run ``get_bin_path()`` once
- - cronvar - use correct binary name (https://github.com/ansible/ansible/issues/63274)
- - deal with cases in which just a file is pased and not a path with directories,
- now fileglob correctly searches in 'files/' subdirs.
- - debug - fixed an issue introduced in Ansible 2.4 where a loop of debug tasks
- would lose the "changed" status on each item.
- - discovery will NOT update incorrect host anymore when in delegate_to task.
- - display - Improve method of removing extra new line after warnings so it does
- not break Tower/Runner (https://github.com/ansible/ansible/pull/68517)
- - display - remove extra new line after warnings (https://github.com/ansible/ansible/pull/65199)
- - display - remove leading space when displaying WARNING messages
- - display logging - Fix issue where 3rd party modules will print tracebacks
- when attempting to log information when ``ANSIBLE_LOG_PATH`` is set - https://github.com/ansible/ansible/issues/65249
- - display logging - Fixed up the logging formatter to use the proper prefixes
- for ``u=user`` and ``p=process``
- - display logging - Re-added the ``name`` attribute to the log formatter so
- that the source of the log can be seen
- - 'dnf - Fix idempotence of `state: installed` (https://github.com/ansible/ansible/issues/64963)'
- - dnf - Unified error messages when trying to install a nonexistent package
- with newer dnf (4.2.18) vs older dnf (4.2.9)
- - dnf - Unified error messages when trying to remove a wildcard name that is
- not currently installed, with newer dnf (4.2.18) vs older dnf (4.2.9)
- - dnf - enable logging using setup_loggers() API in dnf-4.2.17-6 or later
- - dnf - remove custom ``fetch_rpm_from_url`` method in favor of more general
- ``ansible.module_utils.urls.fetch_file``.
- - dnf module - Ensure the modules exit_json['msg'] response is always string,
- not sometimes a tuple.
- - ensure we pass on interpreter discovery values to delegated host.
- - env lookup plugin - Fix handling of environment variables values containing
- utf-8 characters. (https://github.com/ansible/ansible/issues/65298)
- - fact gathering - Display warnings and deprecation messages that are created
- during the fact gathering phase
- - facts - fix detection of virtualization type when dmi product name is KVM
- Server
- - facts - introduce fact "ansible_processor_nproc" which reflects the number
- of vcpus available to processes (falls back to the number of vcpus available
- to the scheduler)
- - file - Removed unreachable code in module
- - file - change ``_diff_peek`` in argument spec to be the correct type, which
- is ``bool`` (https://github.com/ansible/ansible/issues/59433)
- - 'file - return ``''state'': ''absent''`` when a file does not exist (https://github.com/ansible/ansible/issues/66171)'
- - find - clarify description of ``contains`` (https://github.com/ansible/ansible/issues/61983)
- - fix issue in which symlinked collection cannot be listed, though the docs/plugins
- can be loaded if referenced directly.
- - fix wrong command line length calculation in ``ansible-console`` when long
- command inputted
- - 'for those running uids for invalid users (containers), fallback to uid=<uid>
- when logging fixes #68007'
- - free strategy - Include failed hosts when filtering notified hosts for handlers.
- The strategy base should determine whether or not to run handlers on those
- hosts depending on whether forcing handlers is enabled (https://github.com/ansible/ansible/issues/65254).
- - galaxy - Fix an AttributeError on ansible-galaxy install with an empty requirements.yml
- (https://github.com/ansible/ansible/issues/66725).
- - get_url - Don't treat no checksum as a checksum match (https://github.com/ansible/ansible/issues/61978)
- - get_url pass incorrect If-Modified-Since header (https://github.com/ansible/ansible/issues/67417)
- - git - when force=True, apply --force flag to git fetches as well
- - 'group - The group module was not correctly detecting whether a local group
- is existing or not with local set to yes if the same group exists in a non
- local group repository e.g. LDAP. (https://github.com/ansible/ansible/issues/58619)
-
- '
- - group_by now should correctly refect changed status.
- - hostname - Fixed an issue where the hostname on the cloudlinux 6 server could
- not be set.
- - hostname - make module work on Manjaro Linux (https://github.com/ansible/ansible/issues/61382)
- - hurd - Address FIXMEs. Extract functionality and exit early.
- - include_vars - fix stack trace when passing ``dirs`` in an ad-hoc command
- (https://github.com/ansible/ansible/issues/62633)
- - interpreter discovery will now use correct vars (from delegated host) when
- in delegate_to task.
- - junit callback - avoid use of deprecated junit_xml method
- - lineinfile - add example of using alternative backrefs syntax (https://github.com/ansible/ansible/issues/42794)
- - lineinfile - don't attempt mkdirs when path doesn't contain directory path
- - lineinfile - fix bug that caused multiple line insertions (https://github.com/ansible/ansible/issues/58923).
- - lineinfile - properly handle inserting a line when backrefs are enabled and
- the line already exists in the file (https://github.com/ansible/ansible/issues/63756)
- - lineinfile - use ``module.tmpdir`` to allow configuration of the remote temp
- directory (https://github.com/ansible/ansible/issues/68218)
- - lineinfile - use correct index value when inserting a line at the end of a
- file (https://github.com/ansible/ansible/issues/63684)
- - loops - Do not indiscriminately mark loop items as unsafe, only apply unsafe
- to ``with_`` style loops. The items from ``loop`` should not be explicitly
- wrapped in unsafe. The underlying templating mechanism should dictate this.
- (https://github.com/ansible/ansible/issues/64379)
- - make ``no_log=False`` on a module option silence the ``no_log`` warning (https://github.com/ansible/ansible/issues/49465
- https://github.com/ansible/ansible/issues/64656)
- - match docs for ssh and ensure pipelining is configurable per connection plugin.
- - module executor - Address issue where changes to Ansiballz module code, change
- the behavior of module execution as it pertains to ``__file__`` and ``sys.modules``
- (https://github.com/ansible/ansible/issues/64664)
- - module_defaults - support candidate action names for relocated content
- - module_defaults - support short group names for content relocated to collections
- - now correclty merge and not just overwrite facts when gathering using multiple
- modules.
- - objects - Remove FIXME comment because no fix is needed.
- - optimize 'smart' detection from being run over and over and preferably do
- it at config time.
- - package_facts - fix value of ``vital`` attribute which is returned when ``pkg``
- manager is used
- - package_facts - use module warnings rather than a custom implementation for
- reporting warnings
- - packaging_yum - replace legacy file handling with a file manager.
- - paramiko - catch and handle exception to prevent stack trace when running
- in FIPS mode
- - paramiko_ssh - Removed redundant conditional statement in ``_parse_proxy_command``
- that always evaluated to True.
- - paramiko_ssh - improve authentication error message so it is less confusing
- - paramiko_ssh - optimized file handling by using a context manager.
- - pip - The virtualenv_command option can now include arguments without requiring
- the full path to the binary. (https://github.com/ansible/ansible/issues/52275)
- - 'pip - check_mode with ``state: present`` now returns the correct state for
- pre-release versioned packages'
- - plugins - Allow ensure_type to decrypt the value for string types (and implicit
- string types) when value is an inline vault.
- - psexec - Fix issue where the Kerberos package was not detected as being available.
- - psexec - Fix issue where the ``interactive`` option was not being passed down
- to the library.
- - reboot, win_reboot - add ``boot_time_command`` parameter to override the default
- command used to determine whether or not a system was rebooted (https://github.com/ansible/ansible/issues/58868)
- - remove update/restore of vars from play_context as it is now redundant.
- - replace use of deprecated functions from ``ansible.module_utils.basic``.
- - 'roles - Ensure that ``allow_duplicates: true`` enables to run single role
- multiple times (https://github.com/ansible/ansible/issues/64902)'
- - runas - Fix the ``runas`` ``become_pass`` variable fallback from ``ansible_runas_runas``
- to ``ansible_runas_pass``
- - service_facts - Now correctly parses systemd list-unit-files for systemd >=245
- - setup - properly detect yum package manager for IBM i.
- - setup - service_mgr - detect systemd even if it isn't running, such as during
- a container build
- - shell cmd - Properly escape double quotes in the command argument
- - synchronize - allow data to be passed between two managed nodes when using
- the docker connection plugin (https://github.com/ansible/ansible/pull/65698)
- - synchronize - fix password authentication on Python 2 (https://github.com/ansible/ansible/issues/56629)
- - sysctl - Remove FIXME comments to avoid confusion
- - systemd - don't require systemd to be running to enable/disable or mask/unmask
- units
- - systemd - the module should fail in check_mode when service not found on host
- (https://github.com/ansible/ansible/pull/68136).
- - sysvinit - Add missing parameter ``module`` in call to ``daemonize()``.
- - template lookup - ensure changes to the templar in the lookup, do not affect
- the templar context outside of the lookup (https://github.com/ansible/ansible/issues/60106)
- - template lookup - fix regression when templating hostvars (https://github.com/ansible/ansible/issues/63940)
- - the default parsing will now show existing JSON errors and not just YAML (last
- attempted), also we avoid YAML parsing when we know we only want JSON issue
- - 'throttle: the linear strategy didn''t always stuck with the throttle limit'
- - unarchive - Remove incorrect and unused function arguments.
- - unsafe_proxy - Ensure that data within a tuple is marked as unsafe (https://github.com/ansible/ansible/issues/65722)
- - 'update ``user`` module to support silencing ``no_log`` warnings in the future
- (see: https://github.com/ansible/ansible/pull/64733)'
- - uri - Don't return the body even if it failed (https://github.com/ansible/ansible/issues/21003)
- - user - allow 13 asterisk characters in password field without warning
- - user - fix comprasion on macOS so module does not improperly report a change
- (https://github.com/ansible/ansible/issues/62969)
- - user - fix stack trace on AIX when attempting to parse shadow file that does
- not exist (https://github.com/ansible/ansible/issues/62510)
- - user - on systems using busybox, honor the ``on_changed`` parameter to prevent
- unnecessary password changing (https://github.com/ansible/ansible/issues/65711)
- - user - update docs to reflect proper way to remove account from all groups
- - validate-modules - Fix hang when inspecting module with a delegate args spec
- type
- - virtual facts - detect generic container environment based on non-empty "container"
- env var
- - wait_for_connection - with pipelining enabled, interpreter discovery would
- fail if the first connection attempt was not successful
- - win_exec_wrapper - Be more defensive when it comes to getting unhandled exceptions
- - win_package - Handle quoted and unquoted strings in the registry ``UninstallString``
- value - https://github.com/ansible/ansible/issues/40973
- - 'win_uri win_get_url - Fix the behaviour of ``follow_redirects: safe`` to
- actual redirect on ``GET`` and ``HEAD`` requests - https://github.com/ansible/ansible/issues/65556'
- - windows environment - Support env vars that contain the unicode variant of
- single quotes - https://github.com/ansible-collections/ansible.windows/issues/45
- - yum - fix bug that caused ``enablerepo`` to not be honored when used with
- disablerepo all wildcard/glob (https://github.com/ansible/ansible/issues/66549)
- - yum - fixed the handling of releasever parameter
- - yum - performance bugfix, the YumBase object was being instantiated multiple
- times unnecessarily, which lead to considerable overhead when operating against
- large sets of packages.
- - yum - yum tasks can no longer end up running non-yum modules
- - yum/dnf - check type of elements in a name
- deprecated_features:
- - Using the DefaultCallback without the correspodning doc_fragment or copying
- the documentation.
- - hash_behaviour - Deprecate ``hash_behaviour`` for future removal.
- - script inventory plugin - The 'cache' option is deprecated and will be removed
- in 2.12. Its use has been removed from the plugin since it has never had any
- effect.
+ - ansible-test - ensure the correct unit test target is given when the ``__init__.py``
+ file is modified inside the connection plugins directory
major_changes:
- - Both ansible-doc and ansible-console's help command will error for modules
- and plugins whose return documentation cannot be parsed as YAML. All modules
- and plugins passing ``ansible-test sanity --test yamllint`` will not be affected
- by this.
- - Collections may declare a list of supported/tested Ansible versions for the
- collection. A warning is issued if a collection does not support the Ansible
- version that loads it (can also be configured as silent or a fatal error).
- Collections that do not declare supported Ansible versions do not issue a
- warning/error.
- - Plugin routing allows collections to declare deprecation, redirection targets,
- and removals for all plugin types.
- - Plugins that import module_utils and other ansible namespaces that have moved
- to collections should continue to work unmodified.
- - Routing data built into Ansible 2.10 ensures that 2.9 content should work
- unmodified on 2.10. Formerly included modules and plugins that were moved
- to collections are still accessible by their original unqualified names, so
- long as their destination collections are installed.
- - When deprecations are done in code, they to specify a ``collection_name``
- so that deprecation warnings can mention which collection - or ansible-base
- - is deprecating a feature. This affects all ``Display.deprecated()`` or ``AnsibleModule.deprecate()``
- or ``Ansible.Basic.Deprecate()`` calls, and ``removed_in_version``/``removed_at_date``
- or ``deprecated_aliases`` in module argument specs.
- - ansible-test now uses a different ``default`` test container for Ansible Collections
+ - 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:
- - '''Edit on GitHub'' link for plugin, cli documentation fixed to navigate to
- correct plugin, cli source.'
- - Add 'auth_url' field to galaxy server config stanzas in ansible.cfg The url
- should point to the token_endpoint of a Keycloak server.
- - Add --ask-vault-password and --vault-pass-file options to ansible cli commands
- - Add ``--pre`` flag to ``ansible-galaxy collection install`` to allow pulling
- in the most recent pre-release version of a collection (https://github.com/ansible/ansible/issues/64905)
- - Add a global toggle to control when vars plugins are executed (per task by
- default for backward compatibility or after importing inventory).
- - Add a new config parameter, WIN_ASYNC_STARTUP_TIMEOUT, which allows configuration
- of the named pipe connection timeout under Windows when launching async tasks.
- - Add a per-plugin stage option to override the global toggle to control the
- execution of individual vars plugins (per task, after inventory, or both).
- - Add an additional check for importing journal from systemd-python module (https://github.com/ansible/ansible/issues/60595).
- - Add new magic variable ``ansible_collection`` that contains the collection
- name
- - Add new magic variable ``ansible_role_name`` that contains the FQCN of the
- role
- - Added PopOS as a part of Debian OS distribution family (https://github.com/ansible/ansible/issues/69286).
- - Added hostname support for PopOS in hostname module.
- - Added openEuler OS in RedHat OS Family.
- - Added the ability to set ``DEFAULT_NO_TARGET_SYSLOG`` through the ``ansible_no_target_syslog``
- variable on a task
- - Ansible CLI fails with warning if extra_vars parameter is used with filename
- without @ sign (https://github.com/ansible/ansible/issues/51857).
- - Ansible modules created with ``add_file_common_args=True`` added a number
- of undocumented arguments which were mostly there to ease implementing certain
- action plugins. The undocumented arguments ``src``, ``follow``, ``force``,
- ``content``, ``backup``, ``remote_src``, ``regexp``, ``delimiter``, and ``directory_mode``
- are now no longer added. Modules relying on these options to be added need
- to specify them by themselves. Also, action plugins relying on these extra
- elements in ``FILE_COMMON_ARGUMENTS`` need to be adjusted.
- - Ansible now allows deprecation by date instead of deprecation by version.
- This is possible for plugins and modules (``meta/runtime.yml`` and ``deprecated.removed_at_date``
- in ``DOCUMENTATION``, instead of ``deprecated.removed_in``), for plugin options
- (``deprecated.date`` instead of ``deprecated.version`` in ``DOCUMENTATION``),
- for module options (``removed_at_date`` instead of ``removed_in_version``
- in argument spec), and for module option aliases (``deprecated_aliases.date``
- instead of ``deprecated_aliases.version`` in argument spec).
- - Ansible should fail with error when non-existing limit file is provided in
- command line.
- - Ansible.Basic - Added the ability to specify multiple fragments to load in
- a generic way for modules that use a module_util with fragment options
- - Ansible.Basic.cs - Added support for ``deprecated_aliases`` to deprecated
- aliases in a standard way
- - Ansible.ModuleUtils.WebRequest - Move username and password aliases out of
- util to avoid option name collision
- - Change order of arguments in ansible cli to use --ask-vault-password and --vault-password-file
- by default
- - CollectionRequirement - Add a metadata property to update and retrieve the
- _metadata attribute.
- - Enable Ansible Collections loader to discover and import collections from
- ``site-packages`` dir and ``PYTHONPATH``-added locations.
- - Enable testing the AIX platform as a remote OS in ansible-test
- - Flatten the directory hierarchy of modules
- - Ignore plesk-release file while parsing distribution release (https://github.com/ansible/ansible/issues/64101).
- - Openstack inventory script is migrated to ansible-openstack-collection, adjusted
- the link in documentation accordingly.
- - Openstack inventory script is moved to openstack.cloud from community.general.
- - PowerShell Add-Type - Add an easier way to reference extra types when compiling
- C# code on PowerShell Core
- - PowerShell Add-Type - Added the ``X86`` and ``AMD64`` preprocessor symbols
- for conditional compiling
- - Prevent losing useful error information by including both the loop and the
- conditional error messages (https://github.com/ansible/ansible/issues/66529)
- - Provides additional information about collection namespace name restrictions
- (https://github.com/ansible/ansible/issues/65151).
- - Raise error when no task file is provided to import_tasks (https://github.com/ansible/ansible/issues/54095).
- - Refactor test_distribution_version testcases.
- - Remove the deprecation message for the ``TRANSFORM_INVALID_GROUP_CHARS`` setting.
- (https://github.com/ansible/ansible/issues/61889)
- - Removed extras_require support from setup.py (and [azure] extra). Requirements
- will float with the collections, so it's not appropriate for ansible-base
- to host requirements for them any longer.
- - Simplify dict2items filter example in loop documentation (https://github.com/ansible/ansible/issues/65505).
- - Templating - Add globals to the jinja2 environment at ``Templar`` instantiation,
- instead of customizing the template object. Only customize the template object,
- to disable lookups. (https://github.com/ansible/ansible/pull/69278)
- - Templating - Add support to auto unroll generators produced by jinja2 filters,
- to prevent the need of explicit use of ``|list`` (https://github.com/ansible/ansible/pull/68014)
- - The results queue and counter for results are now split for standard / handler
- results. This allows the governing strategy to be truly independent from the
- handler strategy, which basically follows the linear methodology.
- - Update required library message with correct grammer in basic.py.
- - Updated inventory script location for EC2, Openstack, and Cobbler after collection
- (https://github.com/ansible/ansible/issues/68897).
- - Updated inventory script location for infoblox, ec2 and other after collection
- migration (https://github.com/ansible/ansible/issues/69139).
- - Updates ``ansible_role_names``, ``ansible_play_role_names``, and ``ansible_dependent_role_names``
- to include the FQCN
- - Use OrderedDict by default when importing mappings from YAML.
- - Windows - Add a check for the minimum PowerShell version so we can create
- a friendly error message on older hosts
- - Windows - add deprecation notice in the Windows setup module when running
- on Server 2008, 2008 R2, and Windows 7
- - '`AnsibleModule.fail_json()` has always required that a message be passed
- in which informs the end user why the module failed. In the past this message
- had to be passed as the `msg` keyword argument but it can now be passed as
- the first positional argument instead.'
- - '``AnsibleModule.load_file_common_arguments`` now allows to simply override
- ``path``.'
- - add mechanism for storing warnings and deprecations globally and not attached
- to an ``AnsibleModule`` object (https://github.com/ansible/ansible/pull/58993)
- - added more ways to configure new uri options in 2.10.
- - ansible-doc - improve suboptions formatting (https://github.com/ansible/ansible/pull/69795).
- - ansible-doc - now indicates if an option is added by a doc fragment from another
- collection by prepending the collection name, or ``ansible.builtin`` for ansible-base,
- to the version number.
- - ansible-doc - return values will be properly formatted (https://github.com/ansible/ansible/pull/69796).
- - ansible-galaxy - Add ``download`` option for ``ansible-galaxy collection``
- to download collections and their dependencies for an offline install
- - ansible-galaxy - Add a `verify` subcommand to `ansible-galaxy collection`.
- The collection found on the galaxy server is downloaded to a tempfile to compare
- the checksums of the files listed in the MANIFEST.json and the FILES.json
- with the contents of the installed collection.
- - ansible-galaxy - Added the ability to display the progress wheel through the
- C.GALAXY_DISPLAY_PROGRESS config option. Also this now defaults to displaying
- the progress wheel if stdout has a tty.
- - ansible-galaxy - Added the ability to ignore further files and folders using
- a pattern with the ``build_ignore`` key in a collection's ``galaxy.yml`` (https://github.com/ansible/ansible/issues/59228).
- - ansible-galaxy - Allow installing collections from git repositories.
- - ansible-galaxy - Always ignore the ``tests/output`` directory when building
- a collection as it is used by ``ansible-test`` for test output (https://github.com/ansible/ansible/issues/59228).
- - ansible-galaxy - Display message if both collections and roles are specified
- in a requirements file but can't be installed together.
- - ansible-galaxy - Install both collections and roles with ``ansible-galaxy
- install -r requirements.yml`` in certain scenarios.
- - ansible-galaxy - Requirement entries for collections now support a 'type'
- key to indicate whether the collection is a galaxy artifact, file, url, or
- git repo.
- - ansible-galaxy - add ``--token`` argument which is the same as ``--api-key``
- (https://github.com/ansible/ansible/issues/65955)
- - ansible-galaxy - add ``collection list`` command for listing installed collections
- (https://github.com/ansible/ansible/pull/65022)
- - ansible-galaxy - add ``validate_collection_path()`` utility function ()
- - ansible-galaxy - add collections path argument
- - ansible-galaxy - allow role to define dependency requirements that will be
- only installed by defining them in ``meta/requirements.yml`` (https://github.com/ansible/proposals/issues/57)
- - ansible-test - --docker flag now has an associated --docker-terminate flag
- which controls if and when the docker container is removed following tests
- - ansible-test - Add a test to prevent ``state=get``
- - ansible-test - Add a test to prevent ``state=list`` and ``state=info``
- - ansible-test - Add a verbosity option for displaying warnings.
- - ansible-test - Add support for Python 3.9.
- - ansible-test - Added CI provider support for Azure Pipelines.
- - ansible-test - Added a ``ansible-test coverage analyze targets filter`` command
- to filter aggregated coverage reports by path and/or target name.
- - ansible-test - Added a ``ansible-test coverage analyze targets`` command to
- analyze integration test code coverage by test target.
- - ansible-test - Added support for Ansible Core CI request signing for Shippable.
- - ansible-test - Added support for testing on Fedora 32.
- - ansible-test - General code cleanup.
- - ansible-test - Now includes testing support for RHEL 8.2
- - ansible-test - Refactor code to consolidate filesystem access and improve
- handling of encoding.
- - ansible-test - Refactored CI related logic into a basic provider abstraction.
- - ansible-test - Remove obsolete support for provisioning remote vCenter instances.
- The supporting services are no longer available.
- - ansible-test - Support writing compact JSON files instead of formatting and
- indenting the output.
- - ansible-test - Update Ubuntu 18.04 test container to version 1.13 which includes
- ``venv``
- - ansible-test - Update ``default-test-container`` to version 1.11, which includes
- Python 3.9.0a4.
- - ansible-test - Updated the default test containers to include Python 3.9.0b3.
- - ansible-test - Upgrade OpenSUSE containers to use Leap 15.1.
- - ansible-test - Upgrade distro test containers from 1.16.0 to 1.17.0
- - ansible-test - Upgrade from ansible-base-test-container 1.1 to 2.2
- - ansible-test - Upgrade from default-test-container 2.1 to 2.2
- - ansible-test - ``mutually_exclusive``, ``required_if``, ``required_by``, ``required_together``
- and ``required_one_of`` in modules are now validated.
- - ansible-test - ``validate-modules`` now also accepts an ISO 8601 formatted
- date as ``deprecated.removed_at_date``, instead of requiring a version number
- in ``deprecated.removed_in``.
- - ansible-test - ``validate-modules`` now makes sure that module documentation
- deprecation removal version and/or date matches with removal version and/or
- date in meta/runtime.yml.
- - ansible-test - ``validate-modules`` now validates all version numbers in documentation
- and argument spec. Version numbers for collections are checked for being valid
- semantic versioning version number strings.
- - ansible-test - add ``validate-modules`` tests for ``removed_in_version`` and
- ``deprecated_aliases`` (https://github.com/ansible/ansible/pull/66920/).
- - ansible-test - add check for ``print()`` calls in modules and module_utils.
- - ansible-test - added a ``--no-pip-check`` option
- - ansible-test - added a ``--venv-system-site-packages`` option for use with
- the ``--venv`` option
- - ansible-test - added new ``changelog`` test, which runs if a `antsibull-changelog
- <https://pypi.org/project/antsibull-changelog/>`_ configuration or files in
- ``changelogs/fragments/`` are found (https://github.com/ansible/ansible/pull/69313).
- - ansible-test - allow delegation config to specify equivalents to the ``--no-pip-check``,
- ``--disable-httptester`` and `--no-temp-unicode`` options
- - ansible-test - allow sanity tests to check for optional errors by specifying
- ``--enable-optional-errors`` (https://github.com/ansible/ansible/pull/66920/).
- - ansible-test - also run the ``ansible-doc`` sanity test with ``--json`` to
- ensure that the documentation does not contain something that cannot be exported
- as JSON (https://github.com/ansible/ansible/issues/69238).
- - ansible-test - enable deprecated version testing for modules and ``module.deprecate()``
- calls (https://github.com/ansible/ansible/pull/66920/).
- - ansible-test - extend alias validation.
- - ansible-test - fixed ``units`` command with ``--docker`` to (mostly) work
- under podman
- - ansible-test - improve module validation so that ``default``, ``sample`` and
- ``example`` contain JSON values and not arbitrary YAML values, like ``datetime``
- objects or dictionaries with non-string keys.
- - ansible-test - module validation will now consider arguments added by ``add_file_common_arguments=True``
- correctly.
- - ansible-test - switch from testing RHEL 8.0 and RHEL 8.1 Beta to RHEL 8.1
- - ansible-test - the argument spec of modules is now validated by a YAML schema.
- - ansible-test - the module validation code now checks whether ``elements``
- documentation for options matches the argument_spec.
- - ansible-test - the module validation code now checks whether ``elements``
- is defined when ``type=list``
- - ansible-test - the module validation code now checks whether ``requirement``
- for options is documented correctly.
- - ansible-test add pyparsing constraint for Python 2.x to avoid compatibility
- issues with the upcoming pyparsing 3 release
- - ansible-test defaults to redacting sensitive values (disable with the ``--no-redact``
- option)
- - ansible-test has been updated to use ``default-test-container:1.13`` which
- includes fewer Python requirements now that most modules and tests have been
- migrated to collections.
- - ansible-test no longer detects ``git`` submodule directories as files.
- - ansible-test no longer provides a ``--tox`` option. Use the ``--venv`` option
- instead. This only affects testing the Ansible source. The feature was never
- available for Ansible Collections or when running from an Ansible install.
- - ansible-test no longer tries to install sanity test dependencies on unsupported
- Python versions
- - ansible-test now checks for the minimum and maximum supported versions when
- importing ``coverage``
- - ansible-test now filters out unnecessary warnings and messages from pip when
- installing its own requirements
- - ansible-test now has a ``--list-files`` option to list files using the ``env``
- command.
- - ansible-test now includes the ``pylint`` plugin ``mccabe`` in optional sanity
- tests enabled with ``--enable-optional-errors``
- - ansible-test now places the ansible source and collections content in separate
- directories when using the ``--docker`` or ``--remote`` options.
- - ansible-test now provides a more helpful error when loading coverage files
- created by ``coverage`` version 5 or later
- - ansible-test now supports provisioning of network resources when testing network
- collections
- - ansible-test now supports skip aliases in the format ``skip/{arch}/{platform}``
- and ``skip/{arch}/{platform}/{version}`` where ``arch`` can be ``power``.
- These aliases are only effective for the ``--remote`` option.
- - ansible-test now supports skip aliases in the format ``skip/{platform}/{version}``
- for the ``--remote`` option. This is preferred over the older ``skip/{platform}{version}``
- format which included no ``/`` between the platform and version.
- - ansible-test now supports testing against RHEL 7.8 when using the ``--remote``
- option.
- - ansible-test now supports the ``--remote power/centos/7`` platform option.
- - ansible-test now validates the schema of ansible_builtin_runtime.yml and a
- collections meta/runtime.yml file.
- - ansible-test provides clearer error messages when failing to detect the provider
- to use with the ``--remote`` option.
- - ansible-test provisioning of network devices for ``network-integration`` has
- been updated to use collections.
- - ansible_native_concat() - use ``to_text`` function rather than Jinja2's ``text_type``
- which has been removed in Jinja2 master branch.
- - apt - Implemented an exponential backoff behaviour when retrying to update
- the cache with new params ``update_cache_retry_max_delay`` and ``update_cache_retries``
- to control the behavior.
- - apt_repository - Implemented an exponential backoff behaviour when retrying
- to update the apt cache with new params ``update_cache_retry_max_delay`` and
- ``update_cache_retries`` to control the behavior.
- - blockinfile - Update module documentation to clarify insertbefore/insertafter
- usage.
- - callbacks - Allow modules to return `None` as before/after entries for diff.
- This should make it easier for modules to report the "not existing" state
- of the entity they touched.
- - combine filter - now accept a ``list_merge`` argument which modifies its behaviour
- when the hashes to merge contain arrays/lists.
- - config - accept singular version of ``collections_path`` ini setting and ``ANSIBLE_COLLECTIONS_PATH``
- environment variable setting
- - core filters - Adding ``path_join`` filter to the core filters list
- - distro - Update bundled version of distro from 1.4.0 to 1.5.0
- - dnf - Properly handle idempotent transactions with package name wildcard globs
- (https://github.com/ansible/ansible/issues/62809)
- - dnf - Properly handle module AppStreams that don't define stream (https://github.com/ansible/ansible/issues/63683)
- - dnf param to pass allowerasing
- - downstream packagers may install packages under ansible._vendor, which will
- be added to head of sys.path at ansible package load
- - file - specifying ``src`` without ``state`` is now an error
- - get_bin_path() - change the interface to always raise ``ValueError`` if the
- command is not found (https://github.com/ansible/ansible/pull/56813)
- - get_url - Remove deprecated string format support for the headers option (https://github.com/ansible/ansible/issues/61891)
- - git - added an ``archive_prefix`` option to set a prefix to add to each file
- path in archive
- - host_group_vars plugin - Require whitelisting and whitelist by default.
- - new magic variable - ``ansible_config_file`` - full path of used Ansible config
- file
- - package_facts.py - Add support for Pacman package manager.
- - plugin loader - Add MODULE_IGNORE_EXTS config option to skip over certain
- extensions when looking for script and binary modules.
- - powershell (shell plugin) - Fix `join_path` to support UNC paths (https://github.com/ansible/ansible/issues/66341)
- - regexp_replace filter - add multiline support for regex_replace filter (https://github.com/ansible/ansible/issues/61985)
- - 'rename ``_find_existing_collections()`` to ``find_existing_collections()``
- to reflect its use across multiple files
-
- '
- - reorganized code for the ``ansible-test coverage`` command for easier maintenance
- and feature additions
- - service_facts - Added undocumented 'indirect' and 'static' as service status
- (https://github.com/ansible/ansible/issues/69752).
- - ssh - connection plugin now supports a new variable ``sshpass_prompt`` which
- gets passed to ``sshpass`` allowing the user to set a custom substring to
- search for a password prompt (requires sshpass 1.06+)
- - systemd - default scope is now explicitly "system"
- - tests - Add new ``truthy`` and ``falsy`` jinja2 tests to evaluate the truthiness
- or falsiness of a value
- - to_nice_json filter - Removed now-useless exception handler
- - to_uuid - add a named parameter to let the user optionally set a custom namespace
- - update ansible-test default-test-container from version 1.13 to 1.14, which
- includes an update from Python 3.9.0a6 to Python 3.9.0b1
- - update ansible-test default-test-container from version 1.9.1 to 1.9.2
- - update ansible-test default-test-container from version 1.9.2 to 1.9.3
- - update ansible-test default-test-container from version 1.9.3 to 1.10.1
- - update ansible-test images to 1.16.0, which includes system updates and pins
- CentOS versions
- - uri/galaxy - Add new ``prepare_multipart`` helper function for creating a
- ``multipart/form-data`` body (https://github.com/ansible/ansible/pull/69376)
- - url_lookup_plugin - add parameters to match what is available in ``module_utils/urls.py``
- - user - allow groups, append parameters with local
- - 'user - usage of ``append: True`` without setting a list of groups. This is
- currently a no-op with a warning, and will change to an error in 2.14. (https://github.com/ansible/ansible/pull/65795)'
- - validate-modules checks for deprecated in collections against meta/runtime.yml
- - validation - Sort missing parameters in exception message thrown by check_required_arguments
- - vars plugins - Support vars plugins in collections by adding the ability to
- whitelist plugins.
- - vars_prompt - throw error when encountering unsupported key
- - win_package - Added proxy support for retrieving packages from a URL - https://github.com/ansible/ansible/issues/43818
- - win_package - Added support for ``.appx``, ``.msix``, ``.appxbundle``, and
- ``.msixbundle`` package - https://github.com/ansible/ansible/issues/50765
- - win_package - Added support for ``.msp`` packages - https://github.com/ansible/ansible/issues/22789
- - win_package - Added support for specifying the HTTP method when getting files
- from a URL - https://github.com/ansible/ansible/issues/35377
- - win_package - Read uninstall strings from the ``QuietUninstallString`` if
- present to better support argumentless uninstalls of registry based packages.
- - win_package - Scan packages in the current user's registry hive - https://github.com/ansible/ansible/issues/45950
- - windows collections - Support relative module util imports in PowerShell modules
- and module_utils
- release_summary: '| Release Date: 2020-06-17
+ - 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
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
- removed_features:
- - core - remove support for ``check_invalid_arguments`` in ``AnsibleModule``,
- ``AzureModule`` and ``UTMModule``.
- security_fixes:
- - '**security issue** - Convert CLI provided passwords to text initially, to
- prevent unsafe context being lost when converting from bytes->text during
- post processing of PlayContext. This prevents CLI provided passwords from
- being incorrectly templated (CVE-2019-14856)
-
- '
- - '**security issue** - Redact cloud plugin secrets in ansible-test when running
- integration tests using cloud plugins. Only present in 2.9.0b1.
-
- '
- - '**security issue** - TaskExecutor - Ensure we don''t erase unsafe context
- in TaskExecutor.run on bytes. Only present in 2.9.0beta1 (https://github.com/ansible/ansible/issues/62237)
-
- '
- - '**security issue** - The ``subversion`` module provided the password via
- the svn command line option ``--password`` and can be retrieved from the host''s
- /proc/<pid>/cmdline file. Update the module to use the secure ``--password-from-stdin``
- option instead, and add a warning in the module and in the documentation if
- svn version is too old to support it. (CVE-2020-1739)
-
- '
- - '**security issue** - Update ``AnsibleUnsafeText`` and ``AnsibleUnsafeBytes``
- to maintain unsafe context by overriding ``.encode`` and ``.decode``. This
- prevents future issues with ``to_text``, ``to_bytes``, or ``to_native`` removing
- the unsafe wrapper when converting between string types (CVE-2019-14856)
-
- '
- - '**security issue** - properly hide parameters marked with ``no_log`` in suboptions
- when invalid parameters are passed to the module (CVE-2019-14858)'
- - '**security issue** win_unzip - normalize paths in archive to ensure extracted
- files do not escape from the target directory (CVE-2020-1737)
-
- '
- - '**security_issue** - create temporary vault file with strict permissions
- when editing and prevent race condition (CVE-2020-1740)'
- - Ensure we get an error when creating a remote tmp if it already exists. CVE-2020-1733
- - In fetch action, avoid using slurp return to set up dest, also ensure no dir
- traversal CVE-2020-1735.
- - ansible-galaxy - Error when install finds a tar with a file that will be extracted
- outside the collection install directory - CVE-2020-10691
- codename: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - 21003-uri-return-content.yml
- - 34722-ssh-sshpass-prompt-variable.yml
- - 47050-copy_ensure-_original_basename-is-set.yaml
- - 51489-apt-not-honor-update-cache.yml
- - 54095-import_tasks-fix_no_task.yml
- - 56629-synchronize-password-auth.yaml
- - 56832-remove-aptitude-warning.yml
- - 57266-apt_repository-update-cache-retrying.yml
- - 57779-module_defaults_groups_catchup_gcp.yml
- - 57894-combine-filter-rework.yml
- - 58323-copy-deep-recursive-with-remote_src.yaml
- - 59060-validate-modules-aliases.yml
- - 59438-hostname-use-hostnamectl.yml
- - 59464-playbook-dir-envvar.yml
- - 59765-cron-cronvar-use-get-bin-path.yaml
- - 59772-fix_ansible_issue_58619.yaml
- - 60106-templar-contextmanager.yml
- - 60527-apt_exponential_backoff_cache_update_retry.yml
- - 60587-doc_parsing.yml
- - 60595-systemd_import.yml
- - 61078-vars-plugin-whitelist-and-execution-settings.yaml
- - 61604-ansible-inventory-hide-args.yaml
- - 61624-fix-galaxy-url-building.yml
- - 61659-load_file_common_arguments-override-path.yml
- - 61889-change-transform_invalid_group_chars-default.yml
- - 61891-get_url-remove-deprecated-string-headers.yml
- - 61978-get-url-no-checksum.yml
- - 62096-test-coverage-all.yml
- - 62134-user-allow-groups-and-append-with-local.yml
- - 62237-keep-unsafe-context.yml
- - 62407-wait_for_connection.yml
- - 62582-allow_diff_before_after_to_be_None.yml
- - 62598-AnsibleDumper-representer.yaml
- - 62713-add-path_join-filter.yaml
- - 62766-package_facts-pkg-manager-fix-vital-value.yml
- - 62809-dnf-wildcard-absent-failure.yml
- - 62870-collection-install-default-path.yml
- - 63194-lineinfile_insertafter_duplicate.yaml
- - 63551-yum-single-YumBase-instantiation.yaml
- - 63628-ansible-galaxy-fix-version.yml
- - 63683-dnf-handle-empty-appstream-stream.yml
- - 63782-add-ansible-ask-vault-password-and-vault-password-file-options.yaml
- - 63919-lineinfile-create-no-dir-path.yml
- - 63940-template-lookup-hostvars-regression.yml
- - 63988-removes-python_compat_fallback.yml
- - 63990-replace-deprecated-basic-functions.yml
- - 64057-Add_named_parameter_to_the_to_uuid_filter.yaml
- - 64076-urls-timeout-parameter.yml
- - 64088-ast-literal.yml
- - 64151-remove-unsed-inventory-script-option.yaml
- - 64282-hostvarsvars-templating.yaml
- - 64379-no-loop-unsafe.yml
- - 64424-ansible-test-acme-container.yml
- - 64664-fix-sys-modules-file.yml
- - 64733-make-no_log-false-override-no_log-warnings.yml
- - 64751-fix-wrong-promt-len-calc-in-ansible-console.yaml
- - 64789-regression-rescue-vars-not-defined.yml
- - 64810-hostname-add-manjaro-linux-distribution.yml
- - 64892-add-parameters-to-url_lookup_plugin.yaml
- - 64902-fix-allow-duplicates-in-single-role.yml
- - 64905-semver.yml
- - 64906-always-delegate-fact-prefixes.yml
- - 64959-extract-filter-when-key-does-not-exist.yml
- - 64963-dnf_idempotence.yml
- - 65001-allow_configuring_async_startup_timeout.yml
- - 65051-regex-replace-multiline.yaml
- - 65058-fix-fd-out-of-range-in-select.yml
- - 65073-fix-inventory-cli-loading-vars-plugins.yaml
- - 65122-fix-encrypt_string-stdin-name-ouput-tty.yml
- - 65198-ansibleundefined-is-not-unsafe.yml
- - 65219-sanity-tests-print.yml
- - 65302-dnf-msg-return.yml
- - 65307-get_url-return-status-code-on-http-304.yaml
- - 65365-fix-tb-printing-hostvars.yml
- - 65376.yaml
- - 65422-fix-throttle-with-linear-strategy.yml
- - 65437-ansible-test-module-validation-required.yml
- - 65541-fix-utf8-issue-env-lookup.yml
- - 65576-fix-free-strategy-handler-filtering.yaml
- - 65618-ansible-galaxy-collection-verify.yaml
- - 65624-paramiko-ctx-man.yml
- - 65698-synchronize-docker-controller-managed.yml
- - 65722-unsafe-tuples.yml
- - 65795-warn-if-user-has-set-append-but-not-set-groups.yaml
- - 65904-fix-loop-label.yml
- - 66006-RoleRequirement-include-stderr-error-msg.yaml
- - 66067-git-archive_prefix-option.yaml
- - 66085-ansible_config_file.yml
- - 66128-fix-callback-set-options.yml
- - 66189-hostname-osmc.yml
- - 66219-update-user-module-for-64733.yml
- - 66370-galaxy-add-metadata-property.yaml
- - 66385-ansible-test-module-validation-elements.yml
- - 66386-ansible-test-module-validation-list-elements.yml
- - 66389-file-common-arguments.yml
- - 66461-blockinfile_preserve_line_endings.yaml
- - 66464-lookup-case-sensitivity-fix.yml
- - 66529-display-both-loop-and-cond-errors.yml
- - 66549-enablerepo-not-honored-when-used-with-disablerepo-all.yml
- - 66569-introduce-fact-ansible_processor_nproc.yml
- - 66596-package_facts-add-pacman-support.yaml
- - 66604-powershell-unc-paths.yml
- - 66617-version-unicode-fix.yml
- - 66721-better-jinja2-collection-error-handling.yml
- - 66726-galaxy-fix-attribute-error.yml
- - 66762-fix-git-module-ignores-remote_tmp.yml
- - 66764-host-pattern-warning.yml
- - 66780-facts-detect-kvm-server.yml
- - 66786-fix-duplicate-yaml-key-error.yaml
- - 66898-sanity-state-list.yaml
- - 66911-fix-cloudlinux6-hostname.yaml
- - 66918-removed_in_version-fix.yml
- - 66920-ansible-test-removed_in_version-deprecated_aliases.yml
- - 66921-sanity-state-get.yaml
- - 66943-handle-unicode-in-safe_eval.yml
- - 66961-ansible-test-required-mutually.yml
- - 67006-systemd-scope-default.yaml
- - 67050-yum-releasever.yaml
- - 67093-site-packages-pythonpath-collections-loader.yml
- - 67243-file_common_arguments-defaults-sanity.yml
- - 67365-role-list-role-name-in-path.yml
- - 67407-pip-virtualenv_command-args.yml
- - 67417-get_url-incorrect-if-modified-since.yaml
- - 67429-jinja2-caching.yml
- - 67492-fix-decrypting-str-types-for-plugins.yaml
- - 67574-null_collection_dependency_list.yml
- - 67735-warning-cleanup.yml
- - 67771-validation-error.yml
- - 67823-vault-unicode-string.yml
- - 67942-fix-galaxy-multipart.yml
- - 67972-git-fetch-force.yml
- - 68014-auto-unroll-jinja2-generators.yml
- - 68136-systemd_should_fail_in_check_mode_when_service_not_found.yml
- - 68181-fqcn-handler-notification.yml
- - 68186_collection_index_err.yml
- - 68211-systemd-list-unit-files-parsing.yml
- - 68247-file-unreachable-code.yaml
- - 68288-galaxy-requirements-install-only.yml
- - 68310-low_level_execute_command-honor-executable.yml
- - 68400-strip-no-log-values-from-keys.yml
- - 68471-copy-with-preserve.yaml
- - 68482-remove-function-update-calls.yaml
- - 68515_include_role_vars_from.yml
- - 68518-to_nice_json-cleanup.yaml
- - 68550-ansible-test-docs-changelogs.yml
- - 68569-start-at-fix.yaml
- - 68592-pip-check_mode-prereleases.yml
- - 68667-dont-crash-ansible-vault-create-when-no-arguments.yaml
- - 68699-prevent-templating-all-vars-when-copying-context.yml
- - 68723-force-static-collections.yaml
- - 69029-module-ignore-exts.yml
- - 69054-collection-as-str.yaml
- - 69101-collection-role-to-standalone-role.yml
- - 69104-galaxy-cli-templar.yml
- - 69133-role-install-non-ascii.yml
- - 69139_inventory_doc_fix.yml
- - 69154-install-collection-from-git-repo.yml
- - 69160-add-missing-parameter.yaml
- - 69164-remove-redundant-conditional.yaml
- - 69175-address-fixmes-sysctl.yaml
- - 69226-hurd-extract-functionality.yaml
- - 69278-early-customize-jinja2.yml
- - 69286_pop_os_distribution.yml
- - 69286_popos_hostname.yml
- - 69287-ansible-test-validate-default-sample-example.yml
- - 69288-ansible-test-ansible-doc-json.yml
- - 69313-sanity-antsibull-changelog.yml
- - 69320-sys-path-cwd.yml
- - 69357_optimize_inventory_graph_wo_vars.yml
- - 69396-blockinfile-docs.yaml
- - 69451-fix-fileglob-nonexistent-subdirs.yaml
- - 69457-free-strategy-handler-race.yml
- - 69458-updated-galaxy-cli-help.yaml
- - 69465-remove-fixme-comment.yaml
- - 69484-add-path-to-yum-for-ibmi.yml
- - 69508-ansible-test-local-changes-detection.yml
- - 69516_flatcar_distribution.yml
- - 69521-free-strategy-include-fix.yml
- - 69752_service_facts.yml
- - 69788_fqcr_command_shell.yml
- - 69795-ansible-doc-suboptions.yml
- - 69796-ansible-doc-return-values.yml
- - 69845-doc-assemble-remote_src.yaml
- - 69881-add_host-show-changed.yml
- - 69919-module_defaults-groups-collections.yml
- - 69993-copy-remote-src-perms.yml
- - action-plugin-always-cleanup.yml
- - add-global-warnings-container.yaml
- - add-type-typename.yaml
- - add_hosts_fix.yml
- - add_prefix_to_cache.yml
- - adhoc_default_collection.yml
- - af_clean.yml
- - allow-fail-json-msg-to-be-positional.yaml
- - allow_ansible_ns.yml
- - ansible-adhoc-cb-playbook_start.yaml
- - ansible-basic-util-fragment.yaml
- - ansible-connection_persist_issue.yaml
- - ansible-doc-remove_at_date.yaml
- - ansible-doc-removed-traceback.yml
- - ansible-doc-version_added-collection.yml
- - ansible-galaxy-agent.yaml
- - ansible-galaxy-cli-add-token-alias.yaml
- - ansible-galaxy-collections.yaml
- - ansible-galaxy-handle-import-task-url-changes.yml
- - ansible-galaxy-ignore.yaml
- - ansible-galaxy-install-manifest-warning.yaml
- - ansible-galaxy-install.yaml
- - ansible-galaxy-progress.yaml
- - ansible-galaxy-role-list-specific-fix.yml
- - ansible-galaxy-role-server.yaml
- - ansible-galaxy-support-for-automation-hub.yml
- - ansible-inventory-code-cleanup.yml
- - ansible-test-ansible-doc.yml
- - ansible-test-ast-parse-bytes.yml
- - ansible-test-boto-constraints.yml
- - ansible-test-change-detection-empty-python.yml
- - ansible-test-change-detection-fix.yml
- - ansible-test-ci-support-azure.yml
- - ansible-test-ci-support-shippable-auth.yml
- - ansible-test-ci-support.yml
- - ansible-test-cloud-secrets.yml
- - ansible-test-code-cleanup.yml
- - ansible-test-collections-ansible-adhoc.yml
- - ansible-test-collections-coverage-noise.yml
- - ansible-test-collections-import-sanity-test.yml
- - ansible-test-collections-requirements.yml
- - ansible-test-color-ls.yml
- - ansible-test-constraints-virtualenv.yml
- - ansible-test-container-update.yml
- - ansible-test-coverage-analyze-targets-filter.yml
- - ansible-test-coverage-analyze-targets.yml
- - ansible-test-coverage-ansible-connection.yml
- - ansible-test-coverage-constraint.yml
- - ansible-test-coverage-constraints.yml
- - ansible-test-coverage-incomplete.yml
- - ansible-test-coverage-reorg.yml
- - ansible-test-coverage-version-check.yml
- - ansible-test-default-containers-update.yml
- - ansible-test-default-test-container-1.10.1.yml
- - ansible-test-default-test-container-1.13.yml
- - ansible-test-default-test-container-1.14.yml
- - ansible-test-default-test-container-1.9.2.yml
- - ansible-test-default-test-container-1.9.3.yml
- - ansible-test-delegation-inventory.yml
- - ansible-test-delegation-options.yml
- - ansible-test-delegation-paths.yml
- - ansible-test-delegation-tmp-dir.yml
- - ansible-test-distro-container-venv.yml
- - ansible-test-doc-links.yml
- - ansible-test-docker-context.yml
- - ansible-test-docker-terminate.yml
- - ansible-test-egg-info-version.yml
- - ansible-test-empty-coverage.yml
- - ansible-test-enable-aix-os-testing.yml
- - ansible-test-env-alteration.yml
- - ansible-test-env-list-files.yml
- - ansible-test-execv-wrapper-shebang.yml
- - ansible-test-fix-import-sanity-test.yml
- - ansible-test-fix-python-path.yml
- - ansible-test-git-submodule-top-level.yml
- - ansible-test-git-submodule.yml
- - ansible-test-hcloud-constraint.yml
- - ansible-test-ignore-pip-warnings.yml
- - ansible-test-ignore-tests-output.yml
- - ansible-test-integration-temp-dir.yml
- - ansible-test-jinja2-python-2.6.yml
- - ansible-test-nested-source-control.yml
- - ansible-test-network-collections.yml
- - ansible-test-network-testing.yml
- - ansible-test-no-pip-check.yml
- - ansible-test-obsolete-vcenter-proivisioning.yml
- - ansible-test-opensuse-15.1.yml
- - ansible-test-paramiko-constraint.yml
- - ansible-test-path-to-python.yml
- - ansible-test-pathspec-constraint.yml
- - ansible-test-pip-filtering.yml
- - ansible-test-podman-units.yml
- - ansible-test-powershell-coverage-paths.yml
- - ansible-test-preserve-remote-authorized-keys.yml
- - ansible-test-pycodestyle-freeze.yml
- - ansible-test-pylint-plugin-paths.yml
- - ansible-test-pyparsing-constraint.yml
- - ansible-test-pytest-mccabe.yml
- - ansible-test-pytest-plugin-loading.yml
- - ansible-test-python-3.9.yaml
- - ansible-test-python-import-analysis.yml
- - ansible-test-redact.yml
- - ansible-test-refactor.yml
- - ansible-test-remote-power.yml
- - ansible-test-remote-tar-format.yml
- - ansible-test-remove-tox-option.yml
- - ansible-test-requirements-install.yml
- - ansible-test-rhel-7.8.yml
- - ansible-test-rhel-8.1-testing.yml
- - ansible-test-rhel-82.yml
- - ansible-test-sanity-constraints.yml
- - ansible-test-sanity-import-fixes.yml
- - ansible-test-sanity-pylint-config-fix.yml
- - ansible-test-sanity-requirements.yml
- - ansible-test-sanity-separate-requirements.yml
- - ansible-test-setuptools-constraint.yml
- - ansible-test-shebang-sanity.yml
- - ansible-test-ssh-keygen-fix.yml
- - ansible-test-submodule-dir-as-file.yml
- - ansible-test-submodules.yml
- - ansible-test-test-no-tests.yml
- - ansible-test-test-source-message.yml
- - ansible-test-update-images-1.16.0.yml
- - ansible-test-validate-modules-deprecated-removed_at.yml
- - ansible-test-validate-modules-fixes.yml
- - ansible-test-validate-runtime-file.yml
- - ansible-test-vcenter-plugin.yml
- - ansible-test-venv-activation.yml
- - ansible-test-venv-pkg-resources.yaml
- - ansible-test-venv-pythonpath.yml
- - ansible-test-venv-system-site-packages.yml
- - ansible-test-version-validation.yml
- - ansible-test-virtualenv-python-search.yml
- - ansible-test-virtualenv-venv.yml
- - ansible-test-windows-integration.yml
- - ansible_basic_no_log_empty_string.yaml
- - ansible_native_concat-use-to_text-rather-than-text_type.yml
- - ansile-galaxy-preserve-api-append.yml
- - become-pass-precedence.yaml
- - blockinfile-line-ending-fix.yaml
- - change-get_bin_path-always-raise-exception.yaml
- - clean_facts-use-correct-variable-for-startswith.yaml
- - collection-install-mode.yaml
- - collection-install-url.yaml
- - collection-prefix-basedir.yaml
- - collection_error_fix.yml
- - collection_jinja_cache_fix.yml
- - collection_loader-sort-plugins.yaml
- - collection_loader_import_fixes.yml
- - collection_routing.yml
- - config-manager-vault-str.yaml
- - config_encoding_resilience.yml
- - configurable_pipelining.yml
- - cron-only-get-bin-path-once.yaml
- - cronvar-correct-binary-name.yaml
- - debug_loop_changed.yaml
- - deprecate-by-date.yml
- - deprecate-hash-behaviour.yml
- - deprecate_default_call_fragmentless.yml
- - deprecation-collection-name.yml
- - detect-generic-container.yml
- - dict2items.yml
- - discovery_delegation_fix.yml
- - display-warning-remove-erroneous-space.yaml
- - distribution_release.yml
- - distribution_test_refactor.yml
- - distro-update-version.yml
- - dnf-4-2-18.yml
- - dnf-allowerasing.yaml
- - dnf_setup_loggers.yml
- - dont-template-cli-passwords.yml
- - dont_hide_json_error.yml
- - downstream_vendoring.yml
- - end_host-remove_host_from_play.yml
- - ensure_discovery_delegate.yml
- - examples_add_collections_paths_to_config_file.yml
- - extra-vars.yml
- - extra_vars_with_at_sign.yml
- - f32.yml
- - fallback_uid.yml
- - fetch_no_slurp.yml
- - file-change-src-without-state-to-error.yaml
- - file-fix-diff-peek-arg-spec.yaml
- - file-return-state-when-file-does-not-exist.yaml
- - fileglob_fixes.yml
- - find-contains-docs.yaml
- - fips-paramiko-import-error.yaml
- - fix-ansible-galaxy-server.yml
- - fix-metadata-defaults.yml
- - fix_doc_symlinks.yml
- - flatten-modules.yml
- - galaxy-add-path-validation-utility-function.yaml
- - galaxy-cli-add-collection-path-parser-arg.yaml
- - galaxy-collection-install-version.yaml
- - galaxy-collection-rename-private-function.yaml
- - galaxy-collections-add-list.yml
- - galaxy-collections.yaml
- - galaxy-download.yaml
- - galaxy-error-reason.yaml
- - galaxy-install-tar-path-traversal.yaml
- - galaxy-role-list-fix.yml
- - galaxy-role-version.yaml
- - galaxy-server-list.yaml
- - galaxy-symlinks.yaml
- - gather_facts-warnings.yaml
- - gf_fix.yml
- - group_by_changed.yml
- - include_vars-ad-hoc-stack-trace-fix.yaml
- - include_vars_fix_none.yml
- - inventory_doc_fix.yml
- - junit-compat.yml
- - limit-file-exception.yml
- - lineinfile-backrefs-match-object-type.yaml
- - lineinfile-backrefs-syntax-example.yaml
- - lineinfile-use-correct-index-value.yaml
- - lineinfile-use-module-tempdir.yaml
- - logging-traceback.yaml
- - misc_typo_fix.yml
- - module-validation-argument_spec-schema.yml
- - multipart.yml
- - netconf_plugin_device_handler.yml
- - network-cli-become-collections.yml
- - network_action_plugin_load.yml
- - no-log-sub-options-invalid-parameter.yaml
- - no_fatal_bad_cb.yml
- - no_target_syslog-var.yaml
- - only_be_smart_once.yml
- - openbsd-disabled-account-no-warning-for-passwd.yaml
- - openeuler_distribution_support.yml
- - openstack_botmeta.yml
- - openstack_inventory_migrated.yml
- - package-facts-use-module-warnings.yaml
- - paramiko_ssh-improve-error-message.yaml
- - pathlist_strip.yml
- - play_bools_strict.yml
- - plugin_doc_link_fix.yml
- - prevent-rewriting-nested-block-data-in-filter_tagged_tasks.yml
- - ps-argspec-type.yaml
- - ps_web_request-aliases.yaml
- - ps_wrapper-deprecated_aliases.yaml
- - psexec-kerb-and-interactive.yaml
- - purge-empty-block.yml
- - pwsh-minimum.yaml
- - py26-collection-loader.yml
- - python38-macos.yaml
- - reboot-add-last-boot-time-parameter.yaml
- - remote_mkdir_fix.yml
- - remove-2.9-deprecations.yml
- - remove_pc_vars_round.yml
- - removed_extras_require.yml
- - required_lib_message.yml
- - server2008-dep.yaml
- - service-mgr-systemd-offline.yml
- - show_field_instead_of_value.yml
- - singular-collection-path.yml
- - split-host-pattern-empty-strings.yaml
- - string-conversion-warning-add-parameter-name.yaml
- - subversion_password.yaml
- - systemd-offline.yml
- - test-ps-utils.yaml
- - truthiness-tests.yaml
- - unarchive-code-cleanup.yml
- - uri_options.yml
- - user-aix-shadow-unbound-local.yaml
- - user-alpine-on-changed-fix.yaml
- - user-docs-group-fix.yaml
- - user-fix-value-comparison-on-macos.yaml
- - user_missing_etc_shadow.yml
- - v2.10.0-initial-commit.yaml
- - v2.10.0b1_summary.yaml
- - valdate-modules-ps-arg-util.yaml
- - validate-include-args-in-handlers.yml
- - validate-modules-argument-spec.yml
- - validate-modules-deprecated-collections.yml
- - vars_prompt_error_on_unsupported_key.yaml
- - vault_tmp_file.yml
- - vault_tmp_race_fix.yml
- - wait_for_connection-interpreter-discovery-retry.yaml
- - warnings-remove-extra-newline-better.yaml
- - warnings-remove-extra-newline.yaml
- - win-coverage-out-encoding.yaml
- - win-unzip-check-extraction-path.yml
- - win-web-request-no_proxy.yaml
- - win_collection_relative.yaml
- - win_env_var.yaml
- - win_exec-error.yaml
- - win_get_url-redirection.yaml
- - win_package-revamp.yaml
- - windows-coverage-encoding.yaml
- - yaml_orderd_mappings.yml
- - yum-dnf-elements-type-in-name-list.yml
- - yum_backend_validation.yml
- plugins:
- lookup:
- - description: read vaulted file(s) contents
- name: unvault
- namespace: null
- release_date: '2020-06-17'
- 2.10.0rc1:
+ - 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:
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
- - TaskExecutor - Handle unexpected errors as failed while post validating loops
- (https://github.com/ansible/ansible/issues/70050).
- - Template connection variables before using them (https://github.com/ansible/ansible/issues/70598).
+ - 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 constraints file for ``anisble_runner`` test since an update to ``psutil``
+ - 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``
@@ -1587,31 +215,241 @@ releases:
- 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)
- - playbooks - detect and propagate failures in ``always`` blocks after ``rescue``
- (https://github.com/ansible/ansible/issues/70000)
+ - 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
@@ -1620,899 +458,1539 @@ releases:
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.
- - 'Command module: Removed suggestions to use modules which have moved to collections
- and out of ansible-base'
+ - 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-base's internal
+ 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).
- release_summary: '| Release Date: 2020-07-23
+ - 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** atomic_move - change default permissions when creating
- temporary files so they are not world readable (https://github.com/ansible/ansible/issues/67794)
- (CVE-2020-1736)
+ - '**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).
- codename: When the Levee Breaks
+ - 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
- - 67794-atomic_move-default-perms.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
- - 70000-playbook-detect-failure-in-always.yml
+ - 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
- - 70240-fix-fatal-post_validate-error.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
- - 70657-template-connection-vars.yaml
- 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
- - command-module-warnings.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
- - v2.10.0rc1_summary.yaml
+ - 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
- release_date: '2020-07-23'
- 2.10.0rc2:
- changes:
- bugfixes:
- - Stop adding the connection variables to the output results
- release_summary: '| Release Date: 2020-07-23
-
- | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
-
- '
- codename: When the Levee Breaks
- fragments:
- - set_fact-connection_vars.yml
- - v2.10.0rc2_summary.yaml
- release_date: '2020-07-23'
- 2.10.0rc3:
+ - 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:
- - reset logging level to INFO due to CVE-2019-14846.
- release_summary: '| Release Date: 2020-07-24
+ - 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: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - keep_log_at_info.yml
- - v2.10.0rc3_summary.yaml
- release_date: '2020-07-24'
- 2.10.0rc4:
+ - 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 warning for default permission change when no mode is specified. Follow
- up to https://github.com/ansible/ansible/issues/67794. (CVE-2020-1736)
-
- '
- - Fixes ansible-test traceback when plugin author is not a string or a list
- of strings (https://github.com/ansible/ansible/pull/70507)
- - Restore the ability for changed_when/failed_when to function with group_by
- (#70844).
- - 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-test - Add ``pytest < 6.0.0`` constraint for managed installations
- on Python 3.x to avoid issues with relative imports.
- - ansible-test - Change detection now properly resolves relative imports instead
- of treating them as absolute imports.
- - 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).
- - facts - fix incorrect UTC timestamp in ``iso8601_micro`` and ``iso8601``
- - lineinfile - fix not subscriptable error in exception handling around file
- creation
- - reboot - Add support for the runit init system, used on Void Linux, that does
- not support the normal Linux syntax.
+ - 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:
- - default_callback - moving 'check_mode_markers' documentation in default_callback
- doc_fragment (https://github.com/ansible-collections/community.general/issues/565).
- release_summary: '| Release Date: 2020-07-30
-
- | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
-
- '
- codename: When the Levee Breaks
- fragments:
- - 565_default_callback.yml
- - 67794-default-permissions-warning-fix.yml
- - 70507-validate-null-author.yaml
- - 70524-fix-download-collections.yaml
- - 70704-void-linux-reboot.yml
- - 70869-ansible-test-validate-modules-version-added.yml
- - ansible-test-pytest-cap.yml
- - ansible-test-relative-import-analysis.yml
- - changed_when_group_by.yml
- - date-time-facts-fix-utctime.yml
- - galaxy-collection-fallback.yml
- - lineinfile_exc_fix.yml
- - v2.10.0rc4_summary.yaml
- release_date: '2020-07-30'
- 2.10.1:
- changes:
- release_summary: '| Release Date: 2020-09-14
+ - 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: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - v2.10.1_summary.yaml
- release_date: '2020-09-14'
- 2.10.1rc1:
+ - 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:
- - 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.
- - Confirmed commit fails with TypeError in IOS XR netconf plugin (https://github.com/ansible-collections/cisco.iosxr/issues/74)
- - Ensure password passed in by -k is used on delegated hosts that do not have
- ansible_password set
- - Fix an exit code for a non-failing playbook (https://github.com/ansible/ansible/issues/71306)
- - 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 statistics reporting when rescue block contains another block (issue https://github.com/ansible/ansible/issues/61253).
- - Fixed Ansible reporting validate not supported by netconf server when enabled
- in netconf - (https://github.com/ansible-collections/ansible.netcommon/issues/119).
- - Skip literal_eval for string filters results in native jinja. (https://github.com/ansible/ansible/issues/70831)
- - Strategy - Ensure we only process expected types from the results queue and
- produce warnings for any object we receive from the queue that doesn't match
- our expectations. (https://github.com/ansible/ansible/issues/70023)
- - 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)
- - ansible-galaxy download - fix bug when downloading a collection in a SCM subdirectory
- - ansible-test units - fixed collection location code to work under pytest >=
- 6.0.0
- - avoid clobbering existing facts inside loop when task also returns ansible_facts.
- - cron - cron file should not be empty after adding var (https://github.com/ansible/ansible/pull/71207)
- - fortimanager httpapi plugin - fix redirect to point to the ``fortinet.fortimanager``
- collection (https://github.com/ansible/ansible/pull/71073).
- - gluster modules - fix redirect to point to the ``gluster.gluster`` collection
- (https://github.com/ansible/ansible/pull/71240).
- - 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.
- - 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
- - psrp - Use native PSRP mechanism when copying files to support custom endpoints
- - strftime filter - Input epoch is allowed to be a float (https://github.com/ansible/ansible/issues/71257)
- - systemd - fixed chroot usage on new versions of systemd, that broke because
- of upstream changes in systemctl output
- - systemd - made the systemd module work correctly when the SYSTEMD_OFFLINE
- environment variable is set
- - templating - fix error message for ``x in y`` when y is undefined (https://github.com/ansible/ansible/issues/70984)
- - unarchive - check ``fut_gid`` against ``run_gid`` in addition to supplemental
- groups (https://github.com/ansible/ansible/issues/49284)
+ - 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:
- - 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
- - Updated network integration auth timeout to 90 secs.
- - 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-test - Remove ``pytest < 6.0.0`` constraint for managed installations
- on Python 3.x now that pytest 6 is supported.
- - 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).
- - galaxy - add documentation about galaxy parameters in examples/ansible.cfg
- (https://github.com/ansible/ansible/issues/68402).
- - iptables - add a note about ipv6-icmp in protocol parameter (https://github.com/ansible/ansible/issues/70905).
- - 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).
- release_summary: '| Release Date: 2020-08-31
-
- | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
-
- '
- security_fixes:
- - '**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)
-
- '
- - dnf - Previously, regardless of the ``disable_gpg_check`` option, packages
- were not GPG validated. They are now. (CVE-2020-14365)
- codename: When the Levee Breaks
- fragments:
- - 38182_subelements.yml
- - 68402_galaxy.yml
- - 70023-results-type-filtering.yml
- - 70831-skip-literal_eval-string-filter-native-jinja.yml
- - 70905_iptables_ipv6.yml
- - 70922-fix-block-in-rescue.yml
- - 70984-templating-ansibleundefined-in-operator.yml
- - 71073-fortimanager-httpapi-redirect.yml
- - 71097-ansible-test-acme-container.yml
- - 71195-netconf_config_validate_issue.yaml
- - 71197-systemctl-ignore-message.yaml
- - 71238-update-auth-timeout.yml
- - 71240-gluster-modules-redirect.yml
- - 71257-strftime-float.yml
- - 71279-skip-conflict-check.yml
- - 71306-fix-exit-code-no-failure.yml
- - 71307-toml-dumps-unsafe.yml
- - ansible-doc-formats.yml
- - ansible-test-pytest-cap-revert.yml
- - copy-sanitize-check-mode-invocation-args.yaml
- - delegation_password.yml
- - dnf_gpg.yml
- - fix-cron-file-regression.yaml
- - fix_meta_tasks_with_flush_cache.yml
- - galaxy-download-scm.yaml
- - galaxy_collections_paths-remove-dep.yml
- - iosxr_netconf_config_commit_fix.yaml
- - linux-network-facts-broadcast-address.yaml
- - native-jinja2-types-properly-handle-nested-undefined.yml
- - no_fact_loop_loss.yml
- - powershell-fix-quoting.yaml
- - powershell-nested-clixml.yml
- - psrp-copy.yaml
- - pytest-collections-fix.yml
- - unarchive-check-future-gid-against-run-gid.yml
- - v2.10.1rc1_summary.yaml
- release_date: '2020-08-31'
- 2.10.1rc2:
- changes:
- release_summary: '| Release Date: 2020-09-01
+ - 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>`__
'
- security_fixes:
- - The fix for CVE-2020-1736 has been reverted. Users are encouraged to specify
- a ``mode`` parameter in their file-based tasks when the files being manipulated
- contain sensitive data.
- codename: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - cve-2020-1736-revert.yml
- - v2.10.1rc2_summary.yaml
- release_date: '2020-09-01'
- 2.10.1rc3:
+ - 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 ``macos/10.15`` as a supported value for the ``--remote``
- option.
- - ansible-test - Allow custom ``--remote-stage`` options for development and
- testing.
- - ansible-test - Fix ``ansible-test coverage`` reporting sub-commands (``report``,
- ``html``, ``xml``) on Python 2.6.
- - ansible-test - Remove the discontinued ``us-east-2`` choice from the ``--remote-aws-region``
- option.
- - 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 - Support custom remote endpoints with the ``--remote-endpoint``
- option.
- - ansible-test - Update built-in service endpoints for the ``--remote`` option.
- - ansible-test - Use new endpoint for Parallels based instances with the ``--remote``
- option.
- - 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.
- release_summary: '| Release Date: 2020-09-07
-
- | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
-
- '
- codename: When the Levee Breaks
- fragments:
- - ansible-test-coverage-py26.yml
- - ansible-test-endpoint-update.yml
- - ansible-test-macos-10.15.yml
- - ansible-test-parallels-endpoint.yml
- - default-test-container160.yml
- - v2.10.1rc3_summary.yaml
- release_date: '2020-09-07'
- 2.10.2:
- changes:
- release_summary: '| Release Date: 2020-10-05
+ - 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: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - v2.10.2_summary.yaml
- release_date: '2020-10-05'
- 2.10.2rc1:
+ - 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:
- - 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)
- - ansible-doc - properly show plugin name when ``name:`` is used instead of
- ``<plugin_type>:`` (https://github.com/ansible/ansible/pull/71966).
- - ansible-test - Change classification using ``--changed`` now consistently
- handles common configuration files for supported CI providers.
- - ansible-test - The ``resource_prefix`` variable provided to tests running
- on Azure Pipelines is now converted to lowercase to match other CI providers.
- - collection loader - fix bogus code coverage entries for synthetic packages
- - psrp - Fix hang when copying an empty file to the remote target
- - runas - create a new token when running as ``SYSTEM`` to ensure it has the
- full privileges assigned to that account
- minor_changes:
- - ansible-test - Raise the number of bytes scanned by ansible-test to determine
- if a file is binary to 4096.
- release_summary: '| Release Date: 2020-09-28
+ - 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: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - 55152-add-more-info-to-AnsibleUndefinedVariable.yml
- - 71722-fix-default-connection-timeout.yaml
- - 71921-raise-bytes-for-binary-test.yml
- - 71966-ansible-doc-plugin-name.yml
- - ansible-test-azp-resource-prefix.yml
- - ansible-test-change-classification.yml
- - fix_bogus_coverage.yml
- - psrp-copy-empty-file.yml
- - runas-become-system-privileges.yml
- - v2.10.2rc1_summary.yaml
- release_date: '2020-09-28'
- 2.10.3:
+ - 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: 2020-11-02
+ release_summary: '| Release Date: 2021-05-24
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
- codename: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - v2.10.3_summary.yaml
- release_date: '2020-11-02'
- 2.10.3rc1:
+ - v2.11.1_summary.yaml
+ release_date: '2021-05-24'
+ 2.11.1rc1:
changes:
- breaking_changes:
- - ansible-galaxy login command has been removed (see https://github.com/ansible/ansible/issues/71560)
bugfixes:
- - 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)
- - Fix ``RecursionError`` when templating large vars structures (https://github.com/ansible/ansible/issues/71920)
- - ansible-doc - plugin option deprecations now also get ``collection_name``
- added (https://github.com/ansible/ansible/pull/71735).
- - 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 - Correctly detect running in a Docker container on Azure Pipelines.
- - ansible-test - Prefer container IP at ``.NetworkSettings.Networks.{NetworkName}.IPAddress``
- over ``.NetworkSettings.IPAddress``.
- - ansible-test - The ``cs`` and ``openshift`` test plugins now search for containers
- on the current network instead of assuming the ``bridge`` network.
- - ansible-test - Using the ``--remote`` option on Azure Pipelines now works
- from a job running in a container.
- - 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
- - '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)'
- - facts - fix distribution fact for SLES4SAP (https://github.com/ansible/ansible/pull/71559).
- - is_string/vault - Ensure the is_string helper properly identifies AnsibleVaultEncryptedUnicode
- as a string (https://github.com/ansible/ansible/pull/71609)
- - 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
- - url lookup - make sure that options supplied in ansible.cfg are actually used
- (https://github.com/ansible/ansible/pull/71736).
- - '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)
-
- '
+ - Add RockyLinux to fact gathering (https://github.com/ansible/ansible/pull/74530).
+ - 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)
+ - 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``
+ module was incorrect (https://github.com/ansible/ansible/issues/74423).
+ - 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 - Fix docker container IP address detection. The ``bridge`` network
+ is no longer assumed to be the default.
+ - ansible-test - Use documented API to retrieve build information from Azure
+ Pipelines.
+ - 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).
+ - 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
+ - correct doc links for become on warnings over world readable settings.
+ - correctly use world readable setting since old constant is not 'settable'
+ anymore.
+ - facts - detect homebrew installed at /opt/homebrew/bin/brew
+ - filter plugins - patch new versions of Jinja2 to prevent warnings/errors on
+ renamed filter decorators (https://github.com/ansible/ansible/issues/74667)
+ - get_url - Fixed checksum validation for binary files (leading asterisk) in
+ checksum files (https://github.com/ansible/ansible/pull/74502).
+ - hostname - Add Rocky Linux support
+ - 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
+ - pause - ensure control characters are always set to an appropriate value (https://github.com/ansible/ansible/issues/73264)
+ - playbook loaded from collection subdir now does not ignore subdirs.
+ - plugin config now allows list type options to have multiple valid choices
+ (#74225).
+ - 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).
+ - service - compare version without LooseVersion API (https://github.com/ansible/ansible/issues/74488).
minor_changes:
- - ansible-test - Add a ``--docker-network`` option to choose the network for
- running containers when using the ``--docker`` option.
- - 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 - 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.
- - dnf - now shows specific package changes (installations/removals) under ``results``
- in check_mode. (https://github.com/ansible/ansible/issues/66132)
- release_summary: '| Release Date: 2020-10-26
+ - ansible adhoc, clarified the help to some options, also added some comments
+ to code.
+ - 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
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
- codename: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - 66132_dnf_show_pkgs_in_check_mode.yml
- - 70854-dnf-mutually-exclusive-filters.yml
- - 71559-fix-distribution-fact-sles4sap.yaml
- - 71609-is_string-vault.yml
- - 71735-deprecation-tagging.yml
- - 71920-fix-templating-recursion-error.yml
- - 72170-action-loader-collection-list.yml
- - ansible-test-azp-agent-temp-dir.yml
- - ansible-test-collection-constraints.yml
- - ansible-test-constraints-cryptography-old-openssl.yml
- - ansible-test-container-ip-lookup.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-network-container-search.yml
- - async-race-condition.yml
- - collections_cb_fix.yml
- - fix_ansible_issue_71942.yaml
- - fix_reversed_return_value_order_72088.yaml
- - galaxy_login_bye.yml
- - powershell-version-env.yml
- - url-lookup-ini.yml
- - v2.10.3rc1_summary.yaml
- release_date: '2020-10-26'
- 2.10.4:
+ - 73264-pause-emacs.yml
+ - 73887.mac-m1-homebrew.yaml
+ - 74036-unsafe-ansible_failed_task.yml
+ - 74240-ansible-galaxy-increase-pagesize-and-handle-throttling.yml
+ - 74474-apt_key-gpg-binary-import.yaml
+ - 74476-apt_key-gpg-inline-data.yaml
+ - 74488_solaris_looseversion.yml
+ - 74497-keep-non-empty-crontabs.yml
+ - 74502-get_url-filx-checksum-binary.yml
+ - 74582-role-argspec-new-file.yml
+ - 74601-ini-lookup-handle-errors.yml
+ - 74686-replace-handle-file-exc.yml
+ - adhoc_help_clarify.yml
+ - allow_lists_of_config_choices.yml
+ - ansible-test-azp-build-api.yml
+ - ansible-test-docker-network-detect.yml
+ - ansible-test-markupsafe-constraint.yml
+ - ansible-test-pypi-container-no-publish.yml
+ - cmd_wording.yml
+ - coll_pb_subdir_fixes.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:
- bugfixes:
- - 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
- release_summary: '| Release Date: 2020-12-14
+ release_summary: '| Release Date: 2021-06-22
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
- codename: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - ansible-test-constraints-cryptography.yml
- - v2.10.4_summary.yaml
- release_date: '2020-12-14'
- 2.10.4rc1:
+ - v2.11.2_summary.yaml
+ release_date: '2021-06-22'
+ 2.11.2rc1:
changes:
bugfixes:
- - 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).
- - 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)
- - Fixed issue when `netstat` is either missing or doesn't have execution permissions
- leading to incorrect command being executed.
- - Improve Ansible config deprecations to show the source of the deprecation
- (ansible-base). Also remove space before a comma in config deprecations (https://github.com/ansible/ansible/pull/72697).
- - Skip invalid collection names when listing in ansible-doc instead of throwing
- exception. Issue#72257
- - 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).
- - account for bug in Python 2.6 that occurs during interpreter shutdown to avoid
- stack trace
- - ansible-test - Correctly detect changes in a GitHub pull request when running
- on Azure Pipelines.
- - ansible-test - Skip installing requirements if they are already installed.
- - '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 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).
- - basic.AnsibleModule - AnsibleModule.run_command silently ignores a non-existent
- directory in the ``cwd`` argument (https://github.com/ansible/ansible/pull/72390).
- - '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)
-
- '
- - dnf - fix filtering to avoid dependncy conflicts (https://github.com/ansible/ansible/issues/72316)
- - ensure 'local' connection always has the correct default user for actions
- to consume.
- - 'pause - Fix indefinite hang when using a pause task on a background process
- (https://github.com/ansible/ansible/issues/32142)
-
- '
- - 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.
- - 'set_mode_if_different - handle symlink if it is inside a directory with sticky
- bit set (https://github.com/ansible/ansible/pull/45198)
-
- '
- - 'systemd - account for templated unit files using ``@`` when searching for
- the unit file (https://github.com/ansible/ansible/pull/72347#issuecomment-730626228)
-
- '
- - '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 - work around bug with ``systemd`` 245 and 5.8 kernel that does not
- correctly report service state (https://github.com/ansible/ansible/issues/71528)
-
- '
- - wait_for - catch and ignore errors when getting active connections with psutil
- (https://github.com/ansible/ansible/issues/72322)
- minor_changes:
- - 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-galaxy - find any collection dependencies in the globally configured
- Galaxy servers and not just the server the parent collection is from.
-
- '
- - 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 - CentOS 8 container is now 8.2.2004 (https://github.com/ansible/distro-test-containers/pull/45).
- - ansible-test - Fix container hostname/IP discovery for the ``acme`` test plugin.
- - ansible-test - OpenSuse container now uses Leap 15.2 (https://github.com/ansible/distro-test-containers/pull/48).
- - 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 - ``default-test-container`` and ``ansible-base-test-container``
- now use Python 3.9.0 instead of 3.9.0rc1.
- - 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 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).
- - iptables - reorder comment postition to be at the end (https://github.com/ansible/ansible/issues/71444).
- release_summary: '| Release Date: 2020-12-07
+ - 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>`__
'
- codename: When the Levee Breaks
+ 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:
- - 32143-pause-background-hangs.yml
- - 71496-iptables-reorder-comment-position.yml
- - 71528-systemd-capbpf-workaround.yml
- - 71528-systemd-improve-unit-searching.yml
- - 71528-systemd-list-unit-files.yml
- - 71824-action-fqcns.yml
- - 72055-blockinfile-fix-insert-after-line-no-linesep.yml
- - 72316-dnf-filtering.yml
- - 72322-wait-for-handle-errors.yml
- - 72390-return-error-if-cwd-directory-does-not-exist.yml
- - 72428-action-groups-docker-k8s.yml
- - 72516-fix-aix-network-facts.yml
- - 72623-ansible-test-unicode-paths.yml
- - 72697-improve-config-deprecations.yml
- - 72699-validate-modules-default-for-bools.yml
- - ansible-base-update-containers.yml
- - ansible-doc-has_action.yml
- - ansible-test-acme-test-plugin.yml
- - ansible-test-azp-change-detection.yml
- - ansible-test-centos6-eol.yml
- - ansible-test-collection-classification.yml
- - ansible-test-coverage-combine-export.yml
- - ansible-test-validate-modules-file-common-args.yml
- - cffi-constraint.yml
- - ensure_local_user_correctness.yml
- - galaxy-servers.yml
- - play_context_remove_redundant_pwd.yml
- - ps-sanity-requirements.yml
- - py26-multiprocess-queue-bug.yml
- - rhel-7.9.yml
- - run-command-cwd.yml
- - set_mode_if_different-symlink-sticky-dir.yml
- - skip_invalid_coll_name_when_listing.yml
- - v2.10.4rc1_summary.yaml
- release_date: '2020-12-07'
- 2.10.5:
+ - 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
+ - fix_scp_ssh_settings.yml
+ - fix_unsafe_newline.yml
+ - psrp-cleanup.yml
+ - psrp-reset.yml
+ - role_argspec_tagged_always.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-01-18
+ release_summary: '| Release Date: 2021-07-19
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
- codename: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - v2.10.5_summary.yaml
- release_date: '2021-01-18'
- 2.10.5rc1:
+ - v2.11.3_summary.yaml
+ release_date: '2021-07-19'
+ 2.11.3rc1:
changes:
bugfixes:
- - Apply ``_wrap_native_text`` only for builtin filters specified in STRING_TYPE_FILTERS.
- - Documentation change to the apt module to reference lock files (https://github.com/ansible/ansible/issues/73079).
- - 'Fix --list-tasks format `role_name : task_name` when task name contains the
- role name. (https://github.com/ansible/ansible/issues/72505)'
- - 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 notifying handlers via `role_name : handler_name` when handler name contains
- the role name. (https://github.com/ansible/ansible/issues/70582)'
- - async - Fix Python 3 interpreter parsing from module by comparing with bytes
- (https://github.com/ansible/ansible/issues/70690)
- - inventory - pass the vars dictionary to combine_vars instead of an individual
- key's value (https://github.com/ansible/ansible/issues/72975).
- - paramiko connection plugin - Ensure we only reset the connection when one
- has been previously established (https://github.com/ansible/ansible/issues/65812)
- - '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)
-
- '
- - 'user - do the right thing when ``password_lock=True`` and ``password`` are
- used together (https://github.com/ansible/ansible/issues/72992)
-
- '
+ - 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 - Changed the internal name of the custom plugin used to identify
- use of unwanted imports and functions.
- - 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 - add macOS 11.1 as a remote target (https://github.com/ansible/ansible/pull/72622)
- - ansible-test - remote macOS instances no longer install ``virtualenv`` during
- provisioning
- - ansible-test - virtualenv helper scripts now prefer ``venv`` on Python 3 over
- ``virtualenv`` if the ``ANSIBLE_TEST_PREFER_VENV`` environment variable is
- set
- release_summary: '| Release Date: 2021-01-11
+ - 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: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - 65812-paramiko-attribute-error.yml
- - 70244-selinux-special-fs.yml
- - 70690-async-interpreter.yml
- - 72511-always-prepend-role-to-task-name.yml
- - 72979-fix-inventory-merge-hash-replace.yaml
- - 72992-user-account-lock-always-changes.yml
- - 73079-update-documentation-around-apt-lock.yml
- - ansible-test-pylint-plugin-name.yml
- - ansible-test-pylint-python-3.8-3.9.yml
- - ansible-test-venv-virtualenv-fallback.yml
- - ci-add-macos-11.yml
- - collection-list-site-packages.yaml
- - systemd-preserve-full-unit-name.yml
- - v2.10.5rc1_summary.yaml
- - wrap_native_text-non-collections-only.yml
- release_date: '2021-01-11'
- 2.10.6:
+ - 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-02-17
+ release_summary: '| Release Date: 2021-08-16
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
- codename: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - v2.10.6_summary.yaml
- release_date: '2021-02-17'
- 2.10.6rc1:
+ - v2.11.4_summary.yaml
+ release_date: '2021-08-16'
+ 2.11.4rc1:
changes:
bugfixes:
- - Added unsafe_writes test.
- - Always mention the name of the deprecated or tombstoned plugin in routing
- deprecation/tombstone messages (https://github.com/ansible/ansible/pull/73059).
- - Correct the inventory source error parse handling, specifically make the config
- INVENTORY_ANY_UNPARSED_IS_FAILED work as expected.
- - Enabled unsafe_writes for get_url which was ignoring the paramter.
- - Fix incorrect variable scoping when using ``import with context`` in Jinja2
- templates. (https://github.com/ansible/ansible/issues/72615)
- - Restored unsafe_writes functionality which was being skipped.
- - allow become method 'su' to work on 'local' connection by allocating a fake
- tty.
- - ansble-test - only require a collection name in deprecation warnings when
- necessary (https://github.com/ansible/ansible/pull/72987)
- - ansible-test - Temporarily limit ``cryptography`` to versions before 3.4 to
- enable tests to function.
- - 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 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).
- - display correct error information when an error exists in the last line of
- the file (https://github.com/ansible/ansible/issues/16456)
- - facts - properly report virtualization facts for Linux guests running on bhyve
- (https://github.com/ansible/ansible/issues/73167)
- - 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)
- - import_playbook - change warning about extra parameters to deprecation (https://github.com/ansible/ansible/issues/72745)
- - pause - do not warn when running in the background if a timeout is provided
- (https://github.com/ansible/ansible/issues/73042)
- - psrp connection plugin - ``to_text(stdout)`` before ``json.loads`` in psrp.Connection.put_file
- in case ``stdout`` is bytes.
- - validate-modules - do not raise an ``AttributeError`` if a value is assigned
- to a module attribute in a try/except block.
- minor_changes:
- - ansible-test - Added Ubuntu 20.04 LTS image to the default completion list
- - inventory cache - do not show a warning when the cache file does not (yet)
- exist.
- release_summary: '| Release Date: 2021-02-08
+ - 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>`__
'
- security_fixes:
- - '**security issue** - Mask default and fallback values for ``no_log`` module
- options (CVE-2021-20228)'
- codename: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - 16456-correct-YAML-error-message-when-file-load-failed.yml
- - 64469_git_no_raw.yml
- - 72615-jinja-import-context-fix.yml
- - 72745-import_playbook-deprecation-extra-params.yml
- - 73059-improve-deprecation-texts.yml
- - 73167-bhyve-facts.yml
- - 73428-changelog-linting-bump-version.yml
- - ansible-test-pip-bootstrap-s3.yml
- - ansible-test-pip-bootstrap.yml
- - ansible-test-sanity-deprecation-collection-name.yml
- - ansible-test-ubuntu2004.yml
- - cryptography-fix.yml
- - enable_su_on_local.yaml
- - fix_inventory_source_parse_error_handling.yml
- - inventory-cache-file-missing-warning.yaml
- - no_log-fallback.yml
- - pause-do-not-warn-background-with-seconds.yml
- - psrp-json-loads-bytes.yml
- - unsafe_writes_fix.yml
- - v2.10.6rc1_summary.yaml
- - validate-modules_found_try_except_import_fails_module_attribute.yaml
- release_date: '2021-02-08'
- 2.10.7:
+ - 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
+ - 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-03-15
+ release_summary: '| Release Date: 2021-09-13
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
- codename: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - v2.10.7_summary.yaml
- release_date: '2021-03-15'
- 2.10.7rc1:
+ - v2.11.5_summary.yaml
+ release_date: '2021-09-13'
+ 2.11.5rc1:
changes:
bugfixes:
- - ConfigManager - Normalize ConfigParser between Python2 and Python3 to for
- handling comments (https://github.com/ansible/ansible/issues/73709)
- - 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).
- - add AlmaLinux to fact gathering (https://github.com/ansible/ansible/pull/73458)
- - ansible-galaxy - fixed galaxy role init command (https://github.com/ansible/ansible/issues/71977).
- - ansible-inventory CLI - Deal with failures when sorting JSON and you have
- incompatible key types (https://github.com/ansible/ansible/issues/68950).
- - 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.
- - default callback - Ensure that the ``host_pinned`` strategy is not treated
- as lockstep (https://github.com/ansible/ansible/issues/73364)
- - ensure find_mount_point consistently returns text.
- - ensure we don't clobber role vars data when getting an empty file
- - find module - Stop traversing directories past the requested depth. (https://github.com/ansible/ansible/issues/73627)
- - hostname - add Almalinux support (https://github.com/ansible/ansible/pull/73619)
- - runtime routing - redirect ``firewalld`` to ``ansible.posix.firewalld`` FQCN
- (https://github.com/ansible/ansible/issues/73689).
- - the unvault lookup plugin returned a byte string. Now returns a real string.
- - yamllint - do not raise an ``AttributeError`` if a value is assigned to a
- module attribute at the top of the module.
- minor_changes:
- - 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 - now makes a better attempt to support podman when calling ``docker
- images`` and asking for JSON format.
- release_summary: '| Release Date: 2021-03-08
+ - 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: When the Levee Breaks
+ codename: Hey Hey, What Can I Do
fragments:
- - 71977-ansible-galaxy-role-init.yml
- - 73364-default-callback-host-pinned-not-lockstep.yml
- - 73456-let-vault-lookup-output-string.yml
- - 73619-hostname-almalinux-support.yml
- - 73658-inventorymanager-throws-on-empty-inventory-dir.yml
- - 73689-move-firewalld-to-ansible-posix.yaml
- - 73709-normalize-configparser.yml
- - 73718-find-dir-depth-traversal.yml
- - ansible-test-egg-info-handling.yml
- - ansible-test-podman-json-format.yml
- - ansible_test_yamllint_avoid_attribute_exception.yaml
- - fix_mount_point.yml
- - fix_role_var_loading.yml
- - inv_json_sort_types_fix.yml
- - support_almalinux.yml
- - v2.10.7rc1_summary.yaml
- release_date: '2021-03-08'
+ - 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
+ - vas_fixes.yml
+ release_date: '2021-09-08'