Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ansible-documentation for
openSUSE:Factory checked in at 2026-05-19 17:50:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansible-documentation (Old)
and /work/SRC/openSUSE:Factory/.ansible-documentation.new.1966 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ansible-documentation"
Tue May 19 17:50:25 2026 rev:37 rq:1353956 version:2.20.6
Changes:
--------
---
/work/SRC/openSUSE:Factory/ansible-documentation/ansible-documentation.changes
2026-04-21 12:47:38.321437821 +0200
+++
/work/SRC/openSUSE:Factory/.ansible-documentation.new.1966/ansible-documentation.changes
2026-05-19 17:51:09.146577492 +0200
@@ -1,0 +2,18 @@
+Tue May 19 07:08:47 UTC 2026 - Johannes Kastl
<[email protected]>
+
+- Update to version 2.20.6:
+ * ci: refresh dev dependencies (#3670)
+ * faq: update doc for generating password hash (#3473) (#3664)
+ * ci: refresh dev dependencies (#3655)
+ * ci: refresh dev dependencies (#3651)
+ * code_of_conduct: add reference to AI policy, add the license
+ section (#3640) (#3643)
+ * Add Ansible AI Policy (#3588) (#3638)
+ * Fix documentation: value name is `removed_at_date` not
+ `remove_by_date` for `deprecated` (#3590) (#3635)
+ * ci: refresh dev dependencies (#3626)
+ * add docs on resource reporting (#3595) (#3624)
+ * updates to collection namespace requests (#3603) (#3622)
+ * Add the Ansible community 13.6.0 porting guide (#3614) (#3615)
+
+-------------------------------------------------------------------
Old:
----
ansible-documentation-2.20.5.obscpio
New:
----
ansible-documentation-2.20.6.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ansible-documentation.spec ++++++
--- /var/tmp/diff_new_pack.gxETOy/_old 2026-05-19 17:51:10.054615012 +0200
+++ /var/tmp/diff_new_pack.gxETOy/_new 2026-05-19 17:51:10.054615012 +0200
@@ -17,7 +17,7 @@
Name: ansible-documentation
-Version: 2.20.5
+Version: 2.20.6
Release: 0
Summary: Ansible community documentation and example files
License: GPL-3.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.gxETOy/_old 2026-05-19 17:51:10.170619805 +0200
+++ /var/tmp/diff_new_pack.gxETOy/_new 2026-05-19 17:51:10.186620466 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/ansible/ansible-documentation</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v2.20.5</param>
+ <param name="revision">v2.20.6</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.gxETOy/_old 2026-05-19 17:51:10.278624268 +0200
+++ /var/tmp/diff_new_pack.gxETOy/_new 2026-05-19 17:51:10.298625094 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/ansible/ansible-documentation</param>
- <param
name="changesrevision">531f13b6823acae8a0840c616791839f748dd3db</param></service></servicedata>
+ <param
name="changesrevision">e9e72f342ac6fa13a18472ea7e28eb1a1aa8158a</param></service></servicedata>
(No newline at EOF)
++++++ ansible-documentation-2.20.5.obscpio ->
ansible-documentation-2.20.6.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/community/ai_policy.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/community/ai_policy.rst
--- old/ansible-documentation-2.20.5/docs/docsite/rst/community/ai_policy.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/ansible-documentation-2.20.6/docs/docsite/rst/community/ai_policy.rst
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,48 @@
+.. _ai_policy:
+
+******************************************************
+Ansible Community Policy for AI-Assisted Contributions
+******************************************************
+
+This policy uses the term "AI" as shorthand for technology that is generally
built using the machine learning approach. In this sense the term "AI" can
refer to any assistive tools, including those considered as autonomous and
semi-autonomous, such as large language models (LLMs), text or image
generators, and agentic systems that are available as a service or trained
locally.
+
+This policy applies to the following projects and resources:
+
+1. All public projects under Ansible organizations on code version control
platforms such as GitHub. For example, the `ansible
<https://github.com/ansible>`_, `ansible-community
<https://github.com/ansible-community>`_, `ansible-collections
<https://github.com/ansible-collections>`_ organizations.
+2. Public communication platforms and channels listed in the :ref:`Ansible
communication guide<communication>` such as Ansible Forum, official Matrix
channels, and GitHub discussions.
+
+.. note:: The above projects and resources **MAY have their own AI policies**
which MAY expand or be more restrictive than this policy.
+
+1. Contributors MAY use assistance of AI tools for contributing [1]_ to the
above projects and resources, provided that they take full responsibility for
their contributions and follow the principles described in this policy.
+
+2. All contributions assisted by AI tools MUST adhere to any specific project
or platform standards, conventions and contributing guidelines, including code
of conduct and license compliance. This document seeks to clarify tool-specific
considerations but in no way replaces the governing documents and good
contributing practices.
+
+3. Contributors are fully accountable for the contributions they make with or
without AI assistance. This also applies to persons who authorize actions
initiated by AI tools.
+
+4. Any autonomous contributions submitted by AI tools MAY be rejected by
resource maintainers without prior justification.
+
+ a. Autonomous actions performed by AI tools used by resource maintainers
for validation and automation purposes (for example, automatic releasing,
testing, spam filtering, and AI contribution detection) SHOULD be reviewed and
manually authorized by the maintainers.
+
+5. The use of AI tools SHOULD be explicitly disclosed by the author when a
significant part of the contribution is taken from the AI tools output without
significant changes. Grammar, spelling, and stylistic corrections do not need
disclosure.
+
+ a. For code contributions, the contributor MAY use a short commit message
trailer.
+ b. For other contributions, disclosure MAY include a short preamble.
+ c. We recommend using the following statement as a disclosure: Assisted-by:
followed by any information about the contributor’s use of AI tools that they
consider relevant, for example:
+
+ i. Assisted-by: gpt-5.4
+ ii. Assisted-by: Opus 4.6
+ iii. Assisted-by: locally trained model
+
+The key words "MAY", "MUST", "MUST NOT", and "SHOULD" in this document are to
be interpreted as described in :rfc:`2119`.
+
+This AI policy was adapted from AI policies of other open source projects,
including:
+
+* The Fedora Project
+* The Linux Foundation
+
+Reporting policy violations
+===========================
+
+Policy violations should be reported via ``[email protected]``.
+
+.. [1] For the purposes of this document, contributions include, but are not
limited to, opening issues, creating pull requests with code or documentation
changes, participating in discussions, making comments, creating posts in the
forum, and other related activities.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/community/code_of_conduct.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/community/code_of_conduct.rst
---
old/ansible-documentation-2.20.5/docs/docsite/rst/community/code_of_conduct.rst
2026-04-20 17:35:19.000000000 +0200
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/community/code_of_conduct.rst
2026-05-18 10:25:19.000000000 +0200
@@ -133,6 +133,9 @@
We expect all participants, organizers, speakers, and attendees to follow
these policies at
all of our event venues and event-related social events.
+License
+=======
+
The Ansible Community Code of Conduct is licensed under the Creative Commons
Attribution-Share Alike 3.0 license. Our Code of Conduct was adapted from
Codes of Conduct
of other open source projects, including:
@@ -143,3 +146,8 @@
* OpenStack
* Puppet Labs
* Ubuntu
+
+Policy for AI-Assisted Contributions
+====================================
+
+* :ref:`ai_policy`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/community/collection_contributors/collection_requirements.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/community/collection_contributors/collection_requirements.rst
---
old/ansible-documentation-2.20.5/docs/docsite/rst/community/collection_contributors/collection_requirements.rst
2026-04-20 17:35:19.000000000 +0200
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/community/collection_contributors/collection_requirements.rst
2026-05-18 10:25:19.000000000 +0200
@@ -307,11 +307,6 @@
Collection naming
-----------------
-When choosing a name for a brand new namespace:
-
-* Take into consideration the `Namespace limitations
<https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespace-limitations>`_
which list requirements for namespaces in Galaxy.
-* If the namespace does not exist yet or does not have an owner, submit a
`namespace request
<https://forum.ansible.com/new-topic?category=project&tags=galaxy-nspace-request&title=namespace%3A%20FIXME&body=%23%23%20Namespace%20Request%0ANamespace%3A%20%0A%0A%23%23%20Description%0AProvide%20us%20one%20line%20description%2C%20will%20be%20visible%20in%20Galaxy%0A%0A%23%23%20GitHub%20Org%20Link%0AProvide%20us%20with%20a%20link%20to%20your%20GitHub%20org%0A%0A%23%23%20Admins%0AProvide%20us%20with%20a%20list%20of%20Galaxy%20users%20who%20you%20would%20like%20to%20set%20up%20as%20admins%20on%20this%20namespace%0AEnsure%20each%20admin%20has%20logged%20into%20galaxy.ansible.com%2C%20which%20will%20create%20their%20user%20account>`_
to have it created for you.
-
Naming recommendations:
* For collections under the ``ansible-collections`` GitHub organization the
repository SHOULD be named ``NAMESPACE.COLLECTION``.
@@ -336,6 +331,25 @@
For more information, refer to the :ref:`Developing modules guidelines
<creating_info_facts>`.
+Requesting Galaxy namespaces
+============================
+
+To create a new namespace on Galaxy for your collection, do the following:
+
+#. Review the `requirements for Galaxy namespaces
<https://docs.ansible.com/projects/galaxy-ng/en/latest/usage_guide/collections.html#namespaces>`_.
+ You must ensure that the namespace contains only the allowed characters and
conforms with any other requirements.
+#. Search `existing Galaxy namespaces
<https://galaxy.ansible.com/ui/namespaces/>`_ and verify that your desired
namespace does not already exist.
+ If the namespace already exists, check if there are any collections in the
namespace from the **Collections** tab and if it has owners from the **Access**
tab.
+ In some cases it is possible to gain ownership of an existing namespace
that has no collections or owners.
+#. Log in to the `Ansible forum <https://forum.ansible.com>`_.
+#. Submit a `namespace request
<https://forum.ansible.com/new-topic?category=project&tags=galaxy-nspace-request&title=namespace%3A%20FIXME&body=%23%23%20Namespace%20Request%0ANamespace%3A%20%0A%0A%23%23%20Description%0AProvide%20us%20one%20line%20description%2C%20will%20be%20visible%20in%20Galaxy%0A%0A%23%23%20GitHub%20Org%20Link%0AProvide%20us%20with%20a%20link%20to%20your%20GitHub%20org%0A%0A%23%23%20Admins%0AProvide%20us%20with%20a%20list%20of%20Galaxy%20users%20who%20you%20would%20like%20to%20set%20up%20as%20admins%20on%20this%20namespace%0AEnsure%20each%20admin%20has%20logged%20into%20galaxy.ansible.com%2C%20which%20will%20create%20their%20user%20account>`_.
+
+The Red Hat Community and Partner Engineering team will be notified of your
namespace request and create it for you.
+
+..
+ The details about requesting namespaces are also part of
docs/docsite/rst/dev_guide/developing_collections_creating.rst.
+ If you update the preceding section, you should also make your changes in
developing_collections_creating.rst.
+
.. _coll_licensing_req:
Collection licensing requirements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/community/index.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/community/index.rst
--- old/ansible-documentation-2.20.5/docs/docsite/rst/community/index.rst
2026-04-20 17:35:19.000000000 +0200
+++ new/ansible-documentation-2.20.6/docs/docsite/rst/community/index.rst
2026-05-18 10:25:19.000000000 +0200
@@ -28,3 +28,4 @@
getting_started
contributor_path
+ ai_policy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/developing_collections.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/developing_collections.rst
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/developing_collections.rst
2026-04-20 17:35:19.000000000 +0200
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/developing_collections.rst
2026-05-18 10:25:19.000000000 +0200
@@ -17,6 +17,7 @@
developing_collections_creating
developing_collections_shared
developing_collections_testing
+ developing_collections_resource_reporting
developing_collections_distributing
developing_collections_documenting
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/developing_collections_creating.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/developing_collections_creating.rst
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/developing_collections_creating.rst
2026-04-20 17:35:19.000000000 +0200
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/developing_collections_creating.rst
2026-05-18 10:25:19.000000000 +0200
@@ -26,9 +26,8 @@
Usually namespaces and names use lower-case letters, digits, and
underscores, but no upper-case letters.
-You should make sure that the namespace you use is not registered by someone
else by checking on `Ansible Galaxy's namespace list
<https://galaxy.ansible.com/ui/namespaces/>`_. If you chose a namespace or even
a full collection name that collides with another collection on Galaxy, it can
happen that if you or someone else runs ``ansible-galaxy collection install``
with your collection name, you end up with another collection. Even if the
namespace currently does not exist, it could be created later by someone else.
-
-If you want to request a new namespace on Ansible Galaxy, create a forum topic
in the `Project Discussions category and the 'galaxy-nspace-request' tag
<https://forum.ansible.com/new-topic?category=project&tags=galaxy-nspace-request&title=namespace%3A%20FIXME&body=%23%23%20Namespace%20Request%0ANamespace%3A%20%0A%0A%23%23%20Description%0AProvide%20us%20one%20line%20description%2C%20will%20be%20visible%20in%20Galaxy%0A%0A%23%23%20GitHub%20Org%20Link%0AProvide%20us%20with%20a%20link%20to%20your%20GitHub%20org%0A%0A%23%23%20Admins%0AProvide%20us%20with%20a%20list%20of%20Galaxy%20users%20who%20you%20would%20like%20to%20set%20up%20as%20admins%20on%20this%20namespace%0AEnsure%20each%20admin%20has%20logged%20into%20galaxy.ansible.com%2C%20which%20will%20create%20their%20user%20account>`_.
+You should check `Ansible Galaxy's namespace list
<https://galaxy.ansible.com/ui/namespaces/>`_ to ensure that your desired
namespace is not already registered.
+If you use a namespace or full collection name that conflicts with another
collection on Galaxy, then the ``ansible-galaxy collection install`` can
install the wrong collection.
There are a few special namespaces:
@@ -44,6 +43,17 @@
The `local namespace <https://galaxy.ansible.com/ui/namespaces/local/>`_
does not contain any collection on Ansible Galaxy, and the intention is that
this will never change. You can use the ``local`` namespace for collections
that are locally on your machine or locally in your Git repositories, without
having to fear collisions with actually existing collections on Ansible Galaxy.
+To request a new namespace in Galaxy, do the following:
+
+#. Log in to the `Ansible forum <https://forum.ansible.com>`_.
+#. Submit a `namespace request
<https://forum.ansible.com/new-topic?category=project&tags=galaxy-nspace-request&title=namespace%3A%20FIXME&body=%23%23%20Namespace%20Request%0ANamespace%3A%20%0A%0A%23%23%20Description%0AProvide%20us%20one%20line%20description%2C%20will%20be%20visible%20in%20Galaxy%0A%0A%23%23%20GitHub%20Org%20Link%0AProvide%20us%20with%20a%20link%20to%20your%20GitHub%20org%0A%0A%23%23%20Admins%0AProvide%20us%20with%20a%20list%20of%20Galaxy%20users%20who%20you%20would%20like%20to%20set%20up%20as%20admins%20on%20this%20namespace%0AEnsure%20each%20admin%20has%20logged%20into%20galaxy.ansible.com%2C%20which%20will%20create%20their%20user%20account>`_.
+
+The Red Hat Community and Partner Engineering team will be notified of your
namespace request and create it for you.
+
+..
+ The details about requesting namespaces are also part of
docs/docsite/rst/community/collection_contributors/collection_requirements.rst.
+ If you update the preceding section, you should also make your changes in
collection_requirements.rst.
+
.. _creating_new_collections:
Creating a new collection
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/developing_collections_resource_reporting.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/developing_collections_resource_reporting.rst
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/developing_collections_resource_reporting.rst
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/developing_collections_resource_reporting.rst
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,336 @@
+.. _resource_reporting:
+
+******************
+Resource reporting
+******************
+
+Ansible modules often interact with external systems such as clouds,
hypervisors, and network controllers to manage resources that are not declared
in your inventory.
+Resource reporting gives you structured visibility into what your automation
actually touches, even for resources that never appear in the inventory.
+
+You can add resource reporting to your Ansible collection by creating a
lightweight YAML query file that maps module return values to a standardized
resource taxonomy.
+Each entry uses a ``jq`` expression to extract resource metadata from module
output.
+
+.. contents::
+ :local:
+ :depth: 2
+
+How resource reporting works
+============================
+
+Resource reporting uses a query file inside your collection to describe the
resources that your modules manage.
+When a module runs, the query file tells any consuming tool how to extract
three pieces of information from the module return values:
+
+* A human-readable resource name.
+* Canonical facts that uniquely identify the resource for deduplication.
+* Metadata that categorizes the resource using a standardized taxonomy.
+
+The result is machine-readable documentation about what your modules manage.
+For collection developers, resource reporting is like having excellent return
value documentation that tools can consume automatically.
+For users, it creates a consistent, unified picture of automation activity
across different vendors and platforms.
+
+.. note::
+
+ The query file format, resource taxonomy, and ``jq`` expression pattern are
an open schema.
+ Any automation platform, reporting tool, or custom script can consume the
query file to extract structured resource data from module output.
+
+.. _resource_reporting_taxonomy:
+
+The normalized resource taxonomy
+================================
+
+The normalized resource taxonomy maps vendor-specific resource types to
standard names.
+For example, a VMware VM and an AWS EC2 instance are both type
``virtual_machine``.
+An Azure load balancer and an F5 BIG-IP VIP are both type ``load_balancer``.
+
+The taxonomy organizes resources into categories and device types.
+When you write a query, set the ``facts.device_type`` field to the
``snake_case`` value from the tables below.
+
+Compute
+-------
+
+.. list-table::
+ :header-rows: 1
+ :widths: 50 50
+
+ * - Resource
+ - ``device_type`` value
+ * - Virtual machines
+ - ``virtual_machine``
+ * - Containers (managed)
+ - ``container``
+ * - Hypervisors
+ - ``hypervisor``
+ * - Bare metal
+ - ``bare_metal``
+ * - Serverless functions
+ - ``serverless_function``
+ * - Auto scaling groups
+ - ``auto_scaling_group``
+
+Networking
+----------
+
+.. list-table::
+ :header-rows: 1
+ :widths: 50 50
+
+ * - Resource
+ - ``device_type`` value
+ * - Switches
+ - ``switch``
+ * - Routers
+ - ``router``
+ * - Firewalls
+ - ``firewall``
+ * - Load balancers
+ - ``load_balancer``
+ * - Virtual private clouds
+ - ``vpc``
+ * - Subnets
+ - ``subnet``
+ * - VPNs
+ - ``vpn``
+ * - Gateways
+ - ``gateway``
+ * - DNS services
+ - ``dns_service``
+ * - Wireless access points
+ - ``wireless_access_point``
+ * - SD-WAN
+ - ``sd_wan``
+
+Storage
+-------
+
+.. list-table::
+ :header-rows: 1
+ :widths: 50 50
+
+ * - Resource
+ - ``device_type`` value
+ * - Object storage
+ - ``object_storage``
+ * - Block storage
+ - ``block_storage``
+ * - File storage
+ - ``file_storage``
+ * - Archive storage
+ - ``archive_storage``
+
+Database
+--------
+
+.. list-table::
+ :header-rows: 1
+ :widths: 50 50
+
+ * - Resource
+ - ``device_type`` value
+ * - Relational (SQL)
+ - ``database_relational``
+ * - NoSQL
+ - ``database_nosql``
+ * - Data warehouse
+ - ``data_warehouse``
+ * - In-memory or cache
+ - ``database_cache``
+
+DevOps and app integration
+--------------------------
+
+.. list-table::
+ :header-rows: 1
+ :widths: 50 50
+
+ * - Resource
+ - ``device_type`` value
+ * - CI/CD platforms
+ - ``ci_cd_platform``
+ * - Container registries
+ - ``container_registry``
+ * - Message queues
+ - ``message_queue``
+ * - API endpoints
+ - ``api_endpoint``
+
+.. note::
+
+ If your resource does not fit one of these standard types, open a topic on
`the Ansible forum <https://forum.ansible.com/>`_ to propose a new device type.
+
+.. _resource_reporting_query_file:
+
+Adding resource reporting to a collection
+=========================================
+
+To add resource reporting to your collection, create a query file and write
``jq`` expressions that extract resource metadata from your module return
values.
+
+Creating the query file
+-----------------------
+
+Create the file ``extensions/audit/event_query.yml`` in your collection root
directory.
+This is the standard location for embedded query files that ship with your
collection.
+
+.. code-block:: text
+
+ my_namespace/my_collection/
+ ├── extensions/
+ │ └── audit/
+ │ └── event_query.yml
+ ├── plugins/
+ ├── meta/
+ └── galaxy.yml
+
+Writing the query
+-----------------
+
+The query file maps each module to a ``jq`` expression using the Fully
Qualified Collection Name (FQCN) as the key.
+The ``jq`` expression runs against the module return values and must output a
JSON object with the following fields:
+
+.. list-table::
+ :header-rows: 1
+ :widths: 20 20 60
+
+ * - Field
+ - Requirement
+ - Description
+ * - ``name``
+ - Required
+ - A human-readable display name for the resource, for example a VM name
or switch hostname.
+ * - ``canonical_facts``
+ - Required
+ - A dictionary of facts that uniquely identify the resource and
deduplicate it across job runs.
+ * - ``facts``
+ - Optional
+ - Metadata for categorization. Must include ``device_type`` when present.
+
+The following example shows a complete query file entry:
+
+.. literalinclude:: yaml/event_query_vmware.yaml
+ :language: yaml
+
+.. _resource_reporting_canonical_facts:
+
+Choosing canonical facts
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Select fields that are globally unique and stable for the life of the resource.
+
+* **Recommended:** UUIDs, serial numbers, permanent MAC addresses.
+* **Conditional:** Hostnames (if unique in the environment), IP addresses
(static only).
+* **Avoid:** Dynamic IPs, random session IDs.
+
+.. literalinclude:: json/canonical_facts.json
+ :language: json
+
+Setting the device type
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Map your resource to a standard ``device_type`` value from the
:ref:`normalized resource taxonomy <resource_reporting_taxonomy>`.
+You can optionally include a ``platform`` field to indicate the underlying
platform, for example ``aws``, ``vmware``, or ``azure``.
+
+.. literalinclude:: json/facts_device_type.json
+ :language: json
+
+.. _resource_reporting_examples:
+
+Platform-specific examples
+==========================
+
+Different platforms require different querying strategies based on how their
APIs return data.
+
+VMware (flat structure)
+-----------------------
+
+VMware modules return a flat structure where the top-level key defines the
node type.
+Map directly to the returned keys.
+
+.. literalinclude:: yaml/event_query_vmware.yaml
+ :language: yaml
+
+Azure (hierarchical structure)
+------------------------------
+
+Azure resources are hierarchical and use verbose resource IDs.
+Because the full Azure resource ID contains the resource type, you can use a
``jq`` regex to dynamically capture and categorize it.
+
+.. literalinclude:: yaml/event_query_azure.yaml
+ :language: yaml
+
+In this example, ``Microsoft.Compute`` in the resource ID is captured and
lowercased to ``"compute"``.
+
+AWS (implied types)
+-------------------
+
+AWS info modules often return a list of resources, so your ``jq`` expression
must iterate over them.
+The resource type is implied by the module you query rather than included in
the resource ID.
+
+.. literalinclude:: yaml/event_query_aws.yaml
+ :language: yaml
+
+To manage the mapping from AWS module to resource type, define a mapping
dictionary in your expression:
+
+.. literalinclude:: json/aws_type_mapping.json
+ :language: json
+
+.. _resource_reporting_module_matching:
+
+Module matching rules
+=====================
+
+The query file uses module FQCNs as keys.
+You can target modules with exact matches or wildcard patterns.
+
+Exact match
+-----------
+
+Target a specific module.
+
+.. literalinclude:: yaml/event_query_exact_match.yaml
+ :language: yaml
+
+Wildcard match
+--------------
+
+Target all modules in a collection.
+Use this carefully because different modules return different data structures.
+
+.. literalinclude:: yaml/event_query_wildcard_match.yaml
+ :language: yaml
+
+.. _resource_reporting_testing:
+
+Testing your query
+==================
+
+Before publishing your collection, verify your ``jq`` expression against real
module output.
+
+1. Run a playbook with your module and capture the JSON output.
+ Register the return value or run the module with ``-vvv`` to see the full
output.
+
+ .. literalinclude:: yaml/test_playbook_resource_reporting.yaml
+ :language: yaml
+
+2. Save the module output to a file and test your ``jq`` expression from the
command line.
+
+ .. code-block:: bash
+
+ cat module_output.json | jq '{
+ name: .instance.hw_name,
+ canonical_facts: {
+ uuid: .instance.hw_uuid
+ },
+ facts: {
+ device_type: "virtual_machine"
+ }
+ }'
+
+3. Validate that the output JSON contains a valid ``name`` string and
non-empty ``canonical_facts``.
+
+.. seealso::
+
+ :ref:`developing_collections`
+ Learn how to develop Ansible collections
+ :ref:`collection_structure`
+ Directories and files included in a collection
+ `Ansible forum <https://forum.ansible.com/>`_
+ Got questions? Need help? Want to share your ideas? Visit the Ansible
forum
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/developing_collections_structure.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/developing_collections_structure.rst
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/developing_collections_structure.rst
2026-04-20 17:35:19.000000000 +0200
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/developing_collections_structure.rst
2026-05-18 10:25:19.000000000 +0200
@@ -19,6 +19,9 @@
collection/
├── docs/
+ ├── extensions/
+ │ └── audit/
+ │ └── event_query.yml
├── galaxy.yml
├── meta/
│ └── runtime.yml
@@ -51,6 +54,16 @@
A collection must have a ``galaxy.yml`` file that contains the necessary
information to build a collection artifact. See :ref:`collections_galaxy_meta`
for details.
+.. _collections_extensions_dir:
+
+extensions directory
+--------------------
+
+Use the ``extensions`` directory to add content and metadata that extends the
functionality of your collection beyond the standard plugins and roles.
+Each subdirectory groups related files for a specific capability.
+For example, the ``extensions/audit/event_query.yml`` file defines resource
reporting queries that map module return values to a standardized resource
taxonomy.
+See :ref:`resource_reporting` for details on adding resource reporting to your
collection.
+
.. _collections_doc_dir:
docs directory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/json/aws_type_mapping.json
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/json/aws_type_mapping.json
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/json/aws_type_mapping.json
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/json/aws_type_mapping.json
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,5 @@
+{
+ "ec2_instance": "virtual_machine",
+ "rds_instance": "database_relational",
+ "ec2_vpc_net": "vpc"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/json/canonical_facts.json
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/json/canonical_facts.json
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/json/canonical_facts.json
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/json/canonical_facts.json
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,6 @@
+{
+ "canonical_facts": {
+ "uuid": "550e8400-e29b-41d4-a716-446655440000",
+ "serial_number": "XYZ-123"
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/json/facts_device_type.json
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/json/facts_device_type.json
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/json/facts_device_type.json
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/json/facts_device_type.json
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,7 @@
+{
+ "facts": {
+ "device_type": "virtual_machine",
+ "platform": "vmware",
+ "guest_id": "rhel8_64"
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/module_lifecycle.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/module_lifecycle.rst
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/module_lifecycle.rst
2026-04-20 17:35:19.000000000 +0200
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/module_lifecycle.rst
2026-05-18 10:25:19.000000000 +0200
@@ -29,8 +29,8 @@
3. Reference the deprecation in the relevant ``porting_guide_core_x.y.rst``.
4. Add ``deprecated:`` to the documentation with the following sub-values:
- :removed_in: A ``string``, such as ``"2.10"``; the version of Ansible where
the module will be replaced with a docs-only module stub. Usually current
release +4. Mutually exclusive with :removed_by_date:.
- :remove_by_date: (Added in ansible-base 2.10). An ISO 8601 formatted date
when the module will be removed. Usually 2 years from the date the module is
deprecated. Mutually exclusive with :removed_in:.
+ :removed_in: A ``string``, such as ``"2.10"``; the version of Ansible where
the module will be replaced with a docs-only module stub. Usually current
release +4. Mutually exclusive with ``removed_at_date:``.
+ :removed_at_date: (Added in ansible-base 2.10). An ISO 8601 formatted date
when the module will be removed. Usually 2 years from the date the module is
deprecated. Mutually exclusive with ``removed_in:``.
:why: Optional string that used to detail why this has been removed.
:alternatives: Inform users they should do instead, for example, ``Use
M(whatmoduletouseinstead) instead.``.
@@ -60,8 +60,8 @@
2. Mention the deprecation in the relevant changelog. If the collection uses
``antsibull-changelog``, create a changelog fragment with a section
``deprecated_features``.
3. Add ``deprecated:`` to the documentation of the module or plugin with the
following sub-values:
- :removed_in: A ``string``, such as ``"2.10"``; the version of Ansible where
the module will be replaced with a docs-only module stub. Usually current
release +4. Mutually exclusive with :removed_by_date:.
- :remove_by_date: (Added in ansible-base 2.10). An ISO 8601 formatted date
when the module will be removed. Usually 2 years from the date the module is
deprecated. Mutually exclusive with :removed_in:.
+ :removed_in: A ``string``, such as ``"2.10"``; the version of Ansible where
the module will be replaced with a docs-only module stub. Usually current
release +4. Mutually exclusive with ``removed_at_date:``.
+ :removed_at_date: (Added in ansible-base 2.10). An ISO 8601 formatted date
when the module will be removed. Usually 2 years from the date the module is
deprecated. Mutually exclusive with ``removed_in:``.
:why: String that used to detail why this has been removed.
:alternative: Inform users they should do instead, for example, ``Use
M(whatmoduletouseinstead) instead.``. See :ref:`module_documents_linking` for
ways to reference entities other than modules.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_aws.yaml
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_aws.yaml
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_aws.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_aws.yaml
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,12 @@
+amazon.aws.ec2_instance_info:
+ query: >-
+ .instances[] | {
+ name: (.tags.Name // .instance_id),
+ canonical_facts: {
+ instance_id: .instance_id
+ },
+ facts: {
+ device_type: "virtual_machine",
+ status: .state.name
+ }
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_azure.yaml
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_azure.yaml
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_azure.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_azure.yaml
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,13 @@
+azure.azcollection.azure_rm_virtualmachine:
+ query: >-
+ {
+ name: .name,
+ canonical_facts: {
+ id: .id
+ },
+ facts: {
+ device_type: "virtual_machine",
+ azure_type: ((.id |
capture("/providers/[Mm]icrosoft.(?<resourcetype>[^/]+)/")? |
+ .resourcetype) | ascii_downcase)
+ }
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_exact_match.yaml
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_exact_match.yaml
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_exact_match.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_exact_match.yaml
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,3 @@
+cisco.ios.ios_facts:
+ query: >-
+ ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_vmware.yaml
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_vmware.yaml
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_vmware.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_vmware.yaml
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,15 @@
+---
+# extensions/audit/event_query.yml
+community.vmware.vmware_guest:
+ query: >-
+ {
+ name: .instance.hw_name,
+ canonical_facts: {
+ host_name: .instance.hw_name,
+ uuid: .instance.hw_product_uuid
+ },
+ facts: {
+ device_type: "virtual_machine",
+ guest_id: .instance.hw_guest_id
+ }
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_wildcard_match.yaml
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_wildcard_match.yaml
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/event_query_wildcard_match.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/event_query_wildcard_match.yaml
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,3 @@
+community.vmware.*:
+ query: >-
+ ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/test_playbook_resource_reporting.yaml
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/test_playbook_resource_reporting.yaml
---
old/ansible-documentation-2.20.5/docs/docsite/rst/dev_guide/yaml/test_playbook_resource_reporting.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/dev_guide/yaml/test_playbook_resource_reporting.yaml
2026-05-18 10:25:19.000000000 +0200
@@ -0,0 +1,4 @@
+- name: Gather VM info
+ community.vmware.vmware_guest:
+ name: my-vm
+ register: result
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/porting_guides/porting_guide_13.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/porting_guides/porting_guide_13.rst
---
old/ansible-documentation-2.20.5/docs/docsite/rst/porting_guides/porting_guide_13.rst
2026-04-20 17:35:19.000000000 +0200
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/porting_guides/porting_guide_13.rst
2026-05-18 10:25:19.000000000 +0200
@@ -196,6 +196,58 @@
No notable changes
+Porting Guide for v13.6.0
+=========================
+
+Known Issues
+------------
+
+dellemc.openmanage
+^^^^^^^^^^^^^^^^^^
+
+- Formal qualification of module ome_smart_fabric_info for Ansible Core
version 2.19 is still pending.
+- idrac_diagnostics - This module does not support export of diagnostics file
to HTTP and HTTPS share via SOCKS proxy.
+- idrac_license - Due to API limitation, proxy parameters are ignored during
the import operation.
+- idrac_license - The module will give different error messages for iDRAC9 and
iDRAC10 when user imports license with invalid share name.
+- idrac_os_deployment - The module continues to return a 200 response and
marks the job as completed, even when an outdated date is supplied in the
Expose duration.
+- idrac_redfish_storage_controller - PatrolReadRatePercent attribute cannot be
set in iDRAC10.
+- idrac_server_config_profile - When attempting to revert iDRAC settings using
a previously exported SCP file, the import operation will complete with errors
if a new user was created after the export (Instead of restoring the system to
its previous state, including the removal of newly added users).
+- ome_smart_fabric_uplink - The module supported by OpenManage Enterprise
Modular, however it does not allow the creation of multiple uplinks of the same
name. If an uplink is created using the same name as an existing uplink, then
the existing uplink is modified.
+- redfish_storage_volume - Encryption type and block_io_size bytes will be
read only property in iDRAC9 and iDRAC10 and hence the module ignores these
parameters.
+
+Major Changes
+-------------
+
+chocolatey.chocolatey
+^^^^^^^^^^^^^^^^^^^^^
+
+- win_chocolatey - add option to ignore pinned status of pinned packages
+
+fortinet.fortios
+^^^^^^^^^^^^^^^^
+
+- Added a generic `headers` parameter to `fortios_json_generic` to support
admin-password confirmation headers and future custom request headers.
+- Updated FAQ to illustrate the use of `headers` in `fortios_json_generic`
module.
+- Updated deprecated import of to_text from ansible.module_utils._text to the
supported implementation.
+
+Deprecated Features
+-------------------
+
+- The ``cisco.dnac`` collection has been deprecated.
+ It will be removed from Ansible 14 if no one starts maintaining it again
before Ansible 14.
+ See `Collections Removal Process for unmaintained collections
<https://docs.ansible.com/projects/ansible/devel/community/collection_contributors/collection_package_removal.html#unmaintained-collections>`__
for more details (`https://forum.ansible.com/t/45609
<https://forum.ansible.com/t/45609>`__).
+
+ansible.netcommon
+^^^^^^^^^^^^^^^^^
+
+- network_cli - The in-collection paramiko support (used when ssh_type is
paramiko) is a compatibility layer for environments where ansible-core's
paramiko connection is no longer available. This layer is deprecated and will
be removed in a release after 2028-02-01. Migrate to ssh_type=libssh by
installing the ansible-pylibssh package.
+
+community.routeros
+^^^^^^^^^^^^^^^^^^
+
+- api_modify - all existing ``numbers`` fields are deprecated for writing and
support for them will be removed in community.routeros 4.0.0
(https://github.com/ansible-collections/community.routeros/pull/460).
+- api_modify - in ``routing bfd configuration``, the fields ``copy-from`` and
``place-before`` are deprecated for writing and support for them will be
removed in community.routeros 4.0.0
(https://github.com/ansible-collections/community.routeros/pull/460).
+
Porting Guide for v13.5.0
=========================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.20.5/docs/docsite/rst/reference_appendices/faq.rst
new/ansible-documentation-2.20.6/docs/docsite/rst/reference_appendices/faq.rst
---
old/ansible-documentation-2.20.5/docs/docsite/rst/reference_appendices/faq.rst
2026-04-20 17:35:19.000000000 +0200
+++
new/ansible-documentation-2.20.6/docs/docsite/rst/reference_appendices/faq.rst
2026-05-18 10:25:19.000000000 +0200
@@ -619,23 +619,17 @@
mkpasswd --method=sha-512
-
-If this utility is not installed on your system (for example, you are using
macOS) then you can still easily
-generate these passwords using Python. First, ensure that the `Passlib
<https://foss.heptapod.net/python-libs/passlib/-/wikis/home>`_
-password hashing library is installed:
+The ``openssl`` utility is another great option:
.. code-block:: shell-session
- pip install passlib
-
-Once the library is ready, SHA512 password values can then be generated as
follows:
-
-.. code-block:: shell-session
+ openssl passwd -6 -noverify
- python -c "from passlib.hash import sha512_crypt; import getpass;
print(sha512_crypt.using(rounds=5000).hash(getpass.getpass()))"
+This will generate a SHA512 hash of the password with no salt value and
default rounds of 5000.
+Check the `openssl passwd documentation
<https://docs.openssl.org/master/man1/openssl-passwd/#openssl-passwd>`_ for
more options.
Use the integrated :ref:`hash_filters` to generate a hashed version of a
password.
-You shouldn't put plaintext passwords in your playbook or host_vars; instead,
use :ref:`playbooks_vault` to encrypt sensitive data.
+You should not put plaintext passwords in your playbook or host_vars; instead,
use :ref:`playbooks_vault` to encrypt sensitive data.
In OpenBSD, a similar option is available in the base system called ``encrypt
(1)``
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-documentation-2.20.5/tests/formatters.txt
new/ansible-documentation-2.20.6/tests/formatters.txt
--- old/ansible-documentation-2.20.5/tests/formatters.txt 2026-04-20
17:35:19.000000000 +0200
+++ new/ansible-documentation-2.20.6/tests/formatters.txt 2026-05-18
10:25:19.000000000 +0200
@@ -1,8 +1,8 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --universal --output-file tests/formatters.txt
tests/formatters.in
-black==26.3.1
+black==26.5.0
# via -r tests/formatters.in
-click==8.3.2
+click==8.3.3
# via black
colorama==0.4.6 ; sys_platform == 'win32'
# via click
@@ -10,9 +10,9 @@
# via -r tests/formatters.in
mypy-extensions==1.1.0
# via black
-packaging==26.1
+packaging==26.2
# via black
-pathspec==1.0.4
+pathspec==1.1.1
# via black
platformdirs==4.9.6
# via black
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-documentation-2.20.5/tests/static.txt
new/ansible-documentation-2.20.6/tests/static.txt
--- old/ansible-documentation-2.20.5/tests/static.txt 2026-04-20
17:35:19.000000000 +0200
+++ new/ansible-documentation-2.20.6/tests/static.txt 2026-05-18
10:25:19.000000000 +0200
@@ -1,4 +1,4 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --universal --output-file tests/static.txt tests/static.in
-ruff==0.15.11
+ruff==0.15.13
# via -r tests/static.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-documentation-2.20.5/tests/typing.txt
new/ansible-documentation-2.20.6/tests/typing.txt
--- old/ansible-documentation-2.20.5/tests/typing.txt 2026-04-20
17:35:19.000000000 +0200
+++ new/ansible-documentation-2.20.6/tests/typing.txt 2026-05-18
10:25:19.000000000 +0200
@@ -6,9 +6,11 @@
# via -r tests/typing.in
argcomplete==3.6.3
# via nox
+ast-serialize==0.4.0
+ # via mypy
attrs==26.1.0
# via nox
-certifi==2026.2.25
+certifi==2026.4.22
# via requests
cffi==2.0.0 ; platform_python_implementation != 'PyPy'
# via
@@ -16,7 +18,7 @@
# pynacl
charset-normalizer==3.4.7
# via requests
-click==8.3.2
+click==8.3.3
# via typer
codeowners==0.8.0
# via -r tests/../hacking/pr_labeler/requirements.txt
@@ -26,7 +28,7 @@
# colorlog
colorlog==6.10.1
# via nox
-cryptography==46.0.7
+cryptography==48.0.0
# via pyjwt
dependency-groups==1.3.1
# via nox
@@ -34,35 +36,35 @@
# via virtualenv
docutils==0.22.4
# via antsibull-docutils
-filelock==3.28.0
+filelock==3.29.0
# via
# python-discovery
# virtualenv
humanize==4.15.0
# via nox
-idna==3.11
+idna==3.15
# via requests
jinja2==3.1.6
# via -r tests/../hacking/pr_labeler/requirements.txt
-librt==0.9.0 ; platform_python_implementation != 'PyPy'
+librt==0.11.0 ; platform_python_implementation != 'PyPy'
# via mypy
-markdown-it-py==4.0.0
+markdown-it-py==4.2.0
# via rich
markupsafe==3.0.3
# via jinja2
mdurl==0.1.2
# via markdown-it-py
-mypy==1.20.1
+mypy==2.1.0
# via -r tests/typing.in
mypy-extensions==1.1.0
# via mypy
nox==2026.4.10
# via -r tests/typing.in
-packaging==26.1
+packaging==26.2
# via
# dependency-groups
# nox
-pathspec==1.0.4
+pathspec==1.1.1
# via mypy
platformdirs==4.9.6
# via
@@ -78,28 +80,28 @@
# via pygithub
pynacl==1.6.2
# via pygithub
-python-discovery==1.2.2
+python-discovery==1.3.1
# via virtualenv
-requests==2.33.1
+requests==2.34.2
# via pygithub
rich==15.0.0
# via typer
shellingham==1.5.4
# via typer
-typer==0.24.1
+typer==0.25.1
# via typer-slim
typer-slim==0.24.0
# via -r tests/../hacking/pr_labeler/requirements.txt
-types-docutils==0.22.3.20260408
+types-docutils==0.22.3.20260508
# via -r tests/typing.in
typing-extensions==4.15.0
# via
# codeowners
# mypy
# pygithub
-urllib3==2.6.3
+urllib3==2.7.0
# via
# pygithub
# requests
-virtualenv==21.2.4
+virtualenv==21.3.3
# via nox
++++++ ansible-documentation.obsinfo ++++++
--- /var/tmp/diff_new_pack.gxETOy/_old 2026-05-19 17:51:11.150660299 +0200
+++ /var/tmp/diff_new_pack.gxETOy/_new 2026-05-19 17:51:11.154660465 +0200
@@ -1,5 +1,5 @@
name: ansible-documentation
-version: 2.20.5
-mtime: 1776699319
-commit: 531f13b6823acae8a0840c616791839f748dd3db
+version: 2.20.6
+mtime: 1779092719
+commit: e9e72f342ac6fa13a18472ea7e28eb1a1aa8158a