- Return virtual_facts after VMware platform detection, otherwise we're falling back to 'NA' for virtualization type and virtualization role.
Bugfixes
--------
- copy - fixed copy to only follow symlinks for files in the non-recursive case
- file - fixed the default follow behaviour of file to be true
- docker modules - Error with useful message is both docker and docker-py are found to both be installed (https://github.com/ansible/ansible/pull/38884)
- dynamic includes - Improved performance by fixing re-parenting on copy (https://github.com/ansible/ansible/pull/38747)
- dynamic includes - Fix IncludedFile comparison for free strategy (https://github.com/ansible/ansible/pull/37083)
- dynamic includes - Allow inheriting attributes from static parents (https://github.com/ansible/ansible/pull/38827)
- Fix ios and iosxr terminal prompt regex (https://github.com/ansible/ansible/pull/39063)
- set_fact/include_vars - allow incremental update for vars in loop (https://github.com/ansible/ansible/pull/38302)
- cloudfront_distribution - support missing protocol versions (https://github.com/ansible/ansible/pull/38990)
- slice filter - removed Ansible-provided impl in favor of Jinja builtin (https://github.com/ansible/ansible/pull/37944)
- ovirt_host_networks - fix removing of network attachments (https://github.com/ansible/ansible/pull/38816)
- ovirt_disk - support removing unmanaged networks (https://github.com/ansible/ansible/pull/38726)
- ovirt_disk - FCP storage domains don't have to have target (https://github.com/ansible/ansible/pull/38882)
- Ansible.ModuleUtils.FileUtil - support using Test-AnsiblePath with non file system providers (https://github.com/ansible/ansible/pull/39200)
- win_get_url - Compare the UTC time of the web file to the local UTC time (https://github.com/ansible/ansible/pull/39152)
- Updated virtual machine facts with instanceUUID which is unique for each VM irrespective of name and BIOS UUID.
Bugfixes
--------
- EOS can not check configuration without use of config session (ANSIBLE_EOS_USE_SESSIONS=0). Fix is to throw error when hiting into this exception case. Configs would neither be checked nor be played on the eos device.
- Adds exception handling which is raised when user does not have correct set of permissions/privileges to read virtual machine facts.
- onyx_pfc_interface - Add support for changes in pfc output in onyx 3.6.6000 https://github.com/ansible/ansible/pull/37651
- Fix mlag summary json parsing for onyx version 3.6.6000 and above https://github.com/ansible/ansible/pull/38191
- Update documentation related to datacenter in vmware_guest_find module. Mark datacenter as optional.
- Set default network type as 'dhcp' if user has not specified any.
- nmcli change default value of autoconnect
- azure_rm_image - Allow Azure images to be created with tags, bug was introduced in Ansible v2.5.0
- azure_rm_networkinterface - fixed examples in module documentation and added fix to allow an IP configuration with no public IP (https://github.com/ansible/ansible/pull/36824)
- azure_rm_virtualmachine - removed docs note that says on marketplace images can be used, custom images were added in 2.5
- Improve keyed groups for complex inventory
- Made separator configurable
- Fixed some exception types
- Better error messages
- backup options doc change to reflect backup directory location in case playbook is run from a role
- edgeos_command - add action plugin to backup config (https://github.com/ansible/ansible/pull/37619)
- eos_vlan - fixed eos_vlan not working when having more than 6 interfaces (https://github.com/ansible/ansible/pull/38347)
- Various grafana_* modules - Port away from the deprecated b64encodestring function to the b64encode function instead. (https://github.com/ansible/ansible/pull/38388)
- Fix onyx_config action plugin when used on Python 3 https://github.com/ansible/ansible/pull/38343
- openssl_certificate - Handle dump() in check_mode https://github.com/ansible/ansible/pull/38386
- Fix traceback when creating or stopping ovirt vms (https://github.com/ansible/ansible/pull/37249)
- Fix for consul_kv idempotence on Python3 https://github.com/ansible/ansible/issues/35893
- Fix csvfile lookup plugin when used on Python3 https://github.com/ansible/ansible/pull/37625
- ec2 - Fix ec2 user_data parameter to properly convert to base64 on python3 (https://github.com/ansible/ansible/pull/37628)
- Fix to send and receive bytes over a socket in the haproxy module which was causing tracebacks on Python3 https://github.com/ansible/ansible/pull/35176
- ovirt_* - various bugfixes (https://github.com/ansible/ansible/pull/38341)
- ansible-vault no longer requires '--encrypt-vault-id' with edit (https://github.com/ansible/ansible/pull/35923)
- k8s lookup plugin now uses same auth method as other k8s modules (https://github.com/ansible/ansible/pull/37533)
- ansible-inventory now properly displays group_var graph (https://github.com/ansible/ansible/pull/38744)
- setup - FreeBSD fact gathering no longer fails on missing dmesg, sysctl, etc (https://github.com/ansible/ansible/pull/37194)
- inventory scripts now read passwords without byte interpolation (https://github.com/ansible/ansible/pull/35582)
- user - fixed password expiration support in FreeBSD
- meta - inventory_refresh now works properly on YAML inventory plugins (https://github.com/ansible/ansible/pull/38242)
- foreman callback plugin - fixed API options (https://github.com/ansible/ansible/pull/38138)
- win_certificate_store - fixed a typo that stopped it from getting the key_storage values
- win_copy - Preserve the local tmp folder instead of deleting it so future tasks can use it (https://github.com/ansible/ansible/pull/37964)
- powershell - fixed issue with passing in a bool and int to the Windows environment block, also allow special chars in the env key name (https://github.com/ansible/ansible/pull/37215)
- Ansible.ModuleUtils.FileUtil - Catch DirectoryNotFoundException with Test-AnsiblePath (https://github.com/ansible/ansible/pull/37968)
- win_exec_wrapper - support loading of Windows modules different different line endings than the core modules (https://github.com/ansible/ansible/pull/37291)
- win_reboot - fix deprecated warning message to show version in correct spot (https://github.com/ansible/ansible/pull/37898)
- win_regedit - wait for garbage collection to finish before trying to unload the hive in case handles didn't unload in time (https://github.com/ansible/ansible/pull/38912)
- win_service - Fix bug with win_service not being able to handle special chars like '[' (https://github.com/ansible/ansible/pull/37897)
- win_setup - Use connection name for network interfaces as interface name isn't helpful (https://github.com/ansible/ansible/pull/37327)
- win_setup - fix bug where getting the machine SID would take a long time in large domain environments (https://github.com/ansible/ansible/pull/38646)
- win_updates - handle if the module fails to load and return the error message (https://github.com/ansible/ansible/pull/38363)
- win_uri - do not override existing header when using the ``headers`` key. (https://github.com/ansible/ansible/pull/37845)
- win_uri - convert status code values to an int before validating them in server response (https://github.com/ansible/ansible/pull/38080)
- windows - display UTF-8 characters correctly in Windows return json (https://github.com/ansible/ansible/pull/37229)
- winrm - when managing Kerberos tickets in Ansible, get a forwardable ticket if delegation is set (https://github.com/ansible/ansible/pull/37815)
* Created new connection plugins ``network_cli`` and ``netconf`` to replace ``connection=local``. ``connection=local`` will continue to work for a number of Ansible releases.
* No more ``unable to open shell``. A clear and descriptive message will be displayed in normal ansible-playbook output without needing to enable debug mode
* Loads of documentation, see `Ansible for Network Automation Documentation <http://docs.ansible.com/ansible/2.5/network/>`_.
* Refactor common network shared code into package under ``module_utils/network/``
* Filters: Add a filter to convert XML response from a network device to JSON object.
- New simpler and more intuitive 'loop' keyword for task loops. The ``with_<lookup>`` loops will likely be deprecated in the near future and eventually removed.
- Apstra's ``aos_*`` modules are deprecated as they do not work with AOS 2.1 or higher. See new modules at `https://github.com/apstra <https://github.com/apstra>`_.
- azure_rm modules - updated with internal changes to use API profiles and kwargs for future Azure Stack support and better stability between SDK updates. (https://github.com/ansible/ansible/pull/35538)
- lineinfile - fixed regexp used with insert(before|after) inserting duplicate lines (https://github.com/ansible/ansible/pull/36156)
- Connection error messages may contain characters that jinja2 would interpret as a template. Wrap the error string so this doesn't happen (https://github.com/ansible/ansible/pull/37329)
- setup.py - Ensure we install ansible-config and ansible-inventory with `pip install -e` (https://github.com/ansible/ansible/pull/37151)
- Fix for ansible_*_interpreter on Python3 when using non-newstyle modules. Those include old-style ansible modules and Ansible modules written in non-python scripting languages (https://github.com/ansible/ansible/pull/36541)
- Fix bytes/text handling in maven_artifact that was causing tracebacks on Python3
- znode - fixed a bug calling the zookeeper API under Python3 https://github.com/ansible/ansible/pull/36999
- Fix for unarchive when users use the --strip-components extra_opt to tar causing ansible to set permissions on the wrong directory. (https://github.com/ansible/ansible/pull/37048)