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-09-19 22:22:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansible-documentation (Old)
and /work/SRC/openSUSE:Factory/.ansible-documentation.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ansible-documentation"
Sat Sep 19 22:22:09 2026 rev:42 rq:1378955 version:2.21.4
Changes:
--------
---
/work/SRC/openSUSE:Factory/ansible-documentation/ansible-documentation.changes
2026-08-11 17:18:07.076543366 +0200
+++
/work/SRC/openSUSE:Factory/.ansible-documentation.new.383539/ansible-documentation.changes
2026-09-19 22:23:20.314099979 +0200
@@ -1,0 +2,19 @@
+Wed Sep 16 05:44:20 UTC 2026 - Johannes Kastl
<[email protected]>
+
+- Update to version 2.21.4:
+ * ci: refresh dev dependencies (#3937)
+ * Fix a typo within the sample spec (#3927) (#3931)
+ * docs: add Secure Development Practice (#3735) (#3928)
+ * docs: backport cross-links and forum references (from #3916)
+ (#3924)
+ * [PR #3721/c77ebb1b backport][stable-2.21] docs: add Ansible
+ Security Policy (#3922)
+ * docs: add Vulnerability Management Policy (#3734) (#3918)
+ * ci: refresh dev dependencies (#3914)
+ * ci: refresh dev dependencies (#3908)
+ * typo: unit tests are in tests/unit (#3888) (#3902)
+ * ci: refresh dev dependencies (#3893)
+ * Fix noxfile's session assignments. (#3898) (#3899)
+ * Add the Ansible community 14.3.0 porting guide (#3885) (#3886)
+
+-------------------------------------------------------------------
Old:
----
ansible-documentation-2.21.3.obscpio
New:
----
ansible-documentation-2.21.4.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ansible-documentation.spec ++++++
--- /var/tmp/diff_new_pack.Ypq8o3/_old 2026-09-19 22:23:21.026129676 +0200
+++ /var/tmp/diff_new_pack.Ypq8o3/_new 2026-09-19 22:23:21.027129717 +0200
@@ -17,7 +17,7 @@
Name: ansible-documentation
-Version: 2.21.3
+Version: 2.21.4
Release: 0
Summary: Ansible community documentation and example files
License: GPL-3.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.Ypq8o3/_old 2026-09-19 22:23:21.057130969 +0200
+++ /var/tmp/diff_new_pack.Ypq8o3/_new 2026-09-19 22:23:21.059131052 +0200
@@ -3,7 +3,7 @@
<param
name="url">https://github.com/ansible/ansible-documentation.git</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">refs/tags/v2.21.3</param>
+ <param name="revision">refs/tags/v2.21.4</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Ypq8o3/_old 2026-09-19 22:23:21.078131845 +0200
+++ /var/tmp/diff_new_pack.Ypq8o3/_new 2026-09-19 22:23:21.081131970 +0200
@@ -3,6 +3,6 @@
<param
name="url">https://github.com/ansible/ansible-documentation</param>
<param
name="changesrevision">24dc86db4bb88b47a8f4f12e35f32508510ce69d</param></service><service
name="tar_scm">
<param
name="url">https://github.com/ansible/ansible-documentation.git</param>
- <param
name="changesrevision">57de24c1d19ab232b49d12a2f0a0bace15c40318</param></service></servicedata>
+ <param
name="changesrevision">83cabd13ee54d24bbaa17de3be288feb553ea590</param></service></servicedata>
(No newline at EOF)
++++++ ansible-documentation-2.21.3.obscpio ->
ansible-documentation-2.21.4.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-documentation-2.21.3/.codespellignorewords
new/ansible-documentation-2.21.4/.codespellignorewords
--- old/ansible-documentation-2.21.3/.codespellignorewords 2026-08-10
09:18:09.000000000 +0200
+++ new/ansible-documentation-2.21.4/.codespellignorewords 2026-09-07
20:03:49.000000000 +0200
@@ -1,6 +1,8 @@
# This file contains words ignored by the spelling check.
aci
-falsy
+cna
doas
-lets
+falsy
gotcha
+lets
+mitre
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.21.3/docs/docsite/rst/community/collection_contributors/collection_unit_tests.rst
new/ansible-documentation-2.21.4/docs/docsite/rst/community/collection_contributors/collection_unit_tests.rst
---
old/ansible-documentation-2.21.3/docs/docsite/rst/community/collection_contributors/collection_unit_tests.rst
2026-08-10 09:18:09.000000000 +0200
+++
new/ansible-documentation-2.21.4/docs/docsite/rst/community/collection_contributors/collection_unit_tests.rst
2026-09-07 20:03:49.000000000 +0200
@@ -36,11 +36,11 @@
Determine if unit tests exist
=============================
-Ansible collection unit tests are located in the ``tests/units`` directory.
+Ansible collection unit tests are located in the ``tests/unit`` directory.
-The structure of the unit tests matches the structure of the code base, so the
tests can reside in the ``tests/units/plugins/modules/`` and
``tests/units/plugins/module_utils`` directories. There can be sub-directories
if modules are organized by module groups.
+The structure of the unit tests matches the structure of the code base, so the
tests can reside in the ``tests/unit/plugins/modules/`` and
``tests/unit/plugins/module_utils`` directories. There can be sub-directories
if modules are organized by module groups.
-If you are adding unit tests for ``my_module`` for example, check to see if
the tests already exist in the collection source tree with the path
``tests/units/plugins/modules/test_my_module.py``.
+If you are adding unit tests for ``my_module`` for example, check to see if
the tests already exist in the collection source tree with the path
``tests/unit/plugins/modules/test_my_module.py``.
Example of unit tests
=====================
@@ -81,7 +81,7 @@
.. code:: bash
- touch tests/units/plugins/modules/test_my_module.py
+ touch tests/unit/plugins/modules/test_my_module.py
3. Add the following code to the file:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.21.3/docs/docsite/rst/community/index.rst
new/ansible-documentation-2.21.4/docs/docsite/rst/community/index.rst
--- old/ansible-documentation-2.21.3/docs/docsite/rst/community/index.rst
2026-08-10 09:18:09.000000000 +0200
+++ new/ansible-documentation-2.21.4/docs/docsite/rst/community/index.rst
2026-09-07 20:03:49.000000000 +0200
@@ -29,3 +29,6 @@
getting_started
contributor_path
ai_policy
+ security_policy
+ vulnerability_management_policy
+ secure_development_practices
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.21.3/docs/docsite/rst/community/secure_development_practices.rst
new/ansible-documentation-2.21.4/docs/docsite/rst/community/secure_development_practices.rst
---
old/ansible-documentation-2.21.3/docs/docsite/rst/community/secure_development_practices.rst
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.21.4/docs/docsite/rst/community/secure_development_practices.rst
2026-09-07 20:03:49.000000000 +0200
@@ -0,0 +1,82 @@
+.. _secure_development_practices:
+
+****************************
+Secure development practices
+****************************
+
+.. contents::
+ :local:
+
+This page indexes secure development practices for Ansible projects.
+Follow the linked documentation for full details.
+
+For vulnerability reporting and disclosure processes, see the
:ref:`security_policy` and the :ref:`vulnerability_management_policy`.
+For the complete :ref:`developer_guide`, see the Ansible developer
documentation.
+
+Secure module and plugin development
+=====================================
+
+Follow these guidelines when developing Ansible modules and plugins to avoid
common security pitfalls.
+
+* :ref:`module_conventions` covers secure command execution (``run_command``
instead of ``subprocess``), masking sensitive data with ``no_log``, and input
validation.
+* :ref:`argument_spec` covers defining and validating module arguments to
enforce type safety and reject unexpected input.
+* :ref:`module_utils` documents secure utilities including ``fetch_url`` for
TLS-verified HTTP requests and ``run_command`` for safe shell execution.
+* :ref:`developing_modules_best_practices` covers conventions for error
handling, return values, and idempotent operations.
+* :ref:`developing_plugins` covers plugin development guidelines for all
plugin types.
+
+Secure collections
+==================
+
+* :ref:`developing_collections` covers collection development, including
namespace requirements and packaging.
+* :ref:`collection_structure` documents the required file structure for
collections.
+
+Secure playbooks and roles
+==========================
+
+* :ref:`vault_guide_index` covers encrypting sensitive data such as passwords,
keys, and credentials with Ansible Vault.
+
+Dependency management
+=====================
+
+See `GitHub supply chain security
<https://docs.github.com/en/code-security/supply-chain-security>`__ for
background on dependency graphs, advisories, and SBOM generation.
+
+* Integrate automated vulnerability scanning (such as `Dependabot
<https://docs.github.com/en/code-security/dependabot>`__) into CI/CD pipelines.
+* Pin dependencies by hash in build and release pipelines to prevent
supply-chain substitution attacks.
+* Maintain a Software Bill of Materials (SBOM) for all released artifacts.
+* Address Critical and High severity dependency vulnerabilities within the
same timelines as first-party code.
+
+GitHub workflow security
+========================
+
+See `Security hardening for GitHub Actions
<https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions>`__
for the full GitHub guide on securing workflows.
+
+* Pin GitHub Actions by commit SHA, not by mutable tag, to prevent
supply-chain attacks through compromised actions.
+* Use restricted permissions (least privilege) on workflow tokens by setting
explicit ``permissions:`` blocks.
+* Configure `GitHub Rulesets
<https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets>`_
(replacement for branch protections) and mandatory code review on all release
branches.
+
+Build and release integrity
+===========================
+
+See `GitHub artifact attestations
<https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations>`__
for GitHub's built-in SLSA provenance support.
+
+* Follow `SLSA Level 1 or higher <https://slsa.dev/spec/v1.0/levels>`__
practices for build artifact provenance.
+* Execute builds in hosted, ephemeral environments and generate provenance
metadata alongside artifacts.
+* Sign all releases with project-controlled keys.
+* Collections should be built using automation, such as GitHub Actions or
Zuul, and triggered by Git tag events. Do not build manually.
+* Enable `GitHub immutable releases
<https://docs.github.com/en/code-security/concepts/supply-chain-security/immutable-releases>`_.
+
+Project security posture
+========================
+
+* Maintain a ``SECURITY.md`` file in the root directory of all project
repositories documenting the vulnerability reporting process.
+ Use the `SECURITY.md template
<https://github.com/ansible-community/project-template/blob/main/SECURITY.md>`__
from the ``ansible-community/project-template`` repository.
+* Pursue `OpenSSF Best Practices Badge
<https://openssf.org/projects/best-practices-badge/>`__ certification for
ansible-core and key collections.
+* Run `OpenSSF Scorecard <https://openssf.org/projects/scorecard/>`__
regularly and address findings to maintain a strong security posture.
+* Follow the `OpenSSF CRA Readiness Guide
<https://best.openssf.org/CRA-Brief-Guide-for-OSS-Developers>`__ for practical
security practices aligned with the EU Cyber Resilience Act.
+
+Community
+=========
+
+For discussion about the EU Cyber Resilience Act and how it applies to the
Ansible ecosystem, see the `CRA tag on Ansible Forum
<https://forum.ansible.com/tag/cra>`__.
+
+To follow changes and suggest improvements to Ansible security practices, see
the `infra-and-security tag on Ansible Forum
<https://forum.ansible.com/tag/infra-and-security>`__.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.21.3/docs/docsite/rst/community/security_policy.rst
new/ansible-documentation-2.21.4/docs/docsite/rst/community/security_policy.rst
---
old/ansible-documentation-2.21.3/docs/docsite/rst/community/security_policy.rst
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.21.4/docs/docsite/rst/community/security_policy.rst
2026-09-07 20:03:49.000000000 +0200
@@ -0,0 +1,190 @@
+.. _security_policy:
+
+***********************
+Ansible security policy
+***********************
+
+.. contents::
+ :local:
+
+Commitment
+==========
+
+Red Hat is committed to maintaining the highest level of security and trust
for all users.
+Red Hat appreciates the Ansible community and security researchers' efforts in
helping identify and address vulnerabilities responsibly.
+
+Scope
+=====
+
+This policy applies to all Ansible projects that Red Hat hosts.
+
+GitHub
+------
+
+Code contained in the following GitHub organizations:
+
+* `ansible <https://github.com/ansible>`_
+* `ansible-collections <https://github.com/ansible-collections>`_
+* `ansible-community <https://github.com/ansible-community>`_
+* `ansible-network <https://github.com/ansible-network>`_
+* `ansible-security <https://github.com/ansible-security>`_
+* `network-automation <https://github.com/network-automation>`_
+* Any other Ansible related GitHub organizations that are managed by Red Hat
+
+Release artifacts
+-----------------
+
+* Any Ansible collections from the preceding GitHub repositories.
+* Any Ansible releases from the preceding GitHub repositories.
+* `Ansible Community PyPI releases <https://pypi.org/org/ansible-community/>`_
+* Ansible Community Package.
+* Community execution environments.
+
+Infrastructure
+--------------
+
+* `ansible.com`
+* `docs.ansible.com`
+* `forum.ansible.com`
+* `*.ansible.com`
+
+.. note::
+
+ Third-party collections or plugins hosted outside the listed organizations
are out of scope but are encouraged to adopt compatible practices.
+ Red Hat works with maintainers of the repositories under the preceding
GitHub organizations. Specifically, Red Hat helps triage and provide fixes for
third-party collections in the ``ansible-collections`` GitHub organization.
+
+Maintained versions
+====================
+
+Generally, only the latest release of a community project receives updates,
including security patches.
+Earlier versions may receive critical fixes on a best-effort basis but
back-porting to unsupported versions is not guaranteed.
+End-of-Life versions receive no backports unless extraordinary circumstances
warrant an exception approved by the Ansible Security Team.
+
+Some projects, such as Ansible Core, may backport security fixes into multiple
supported versions depending on severity.
+See :ref:`development_and_stable_version_maintenance_workflow` for details.
+
+Reporting a vulnerability
+=========================
+
+How to report vulnerabilities
+-----------------------------
+
+All reports MUST be submitted by email to: `[email protected]
<mailto:[email protected]>`_
+
+Security vulnerabilities and security incidents MUST NOT be reported through
any public method, including, but not limited to:
+
+* Public GitHub issues.
+* Pull requests.
+* Ansible Forum.
+* Ansible Matrix.
+* Public forums or social media.
+
+What to include in vulnerability reports
+----------------------------------------
+
+When submitting a vulnerability report, provide the following details:
+
+* **Title** (required): Clear, descriptive summary.
+* **Reporter details** (optional): Your name/handle and affiliation.
+* **Impacted project** (required): Ideally link to the GitHub project.
+* **Vulnerability description** (required): Technical details of the issue.
+* **Affected versions** (required): All known affected version(s).
+* **Reproduction steps** (required): Minimal example to reproduce the issue.
+* **Impact assessment** (required): Potential exploit scenarios and severity.
+* **Suggested fix** (optional): Proposed remediation, if any.
+* **Disclosure status** (required): Whether this has been shared elsewhere.
+
+What to report
+--------------
+
+Report if you have:
+
+* Discovered a potential security vulnerability.
+* Found an issue but are uncertain about its security impact.
+* Identified vulnerabilities in dependencies not yet addressed.
+
+What NOT to report
+------------------
+
+The following do not qualify as security vulnerabilities:
+
+* Automated scanner output without analysis or reproduction steps.
+* General support or usage questions. Use the `Ansible Community Forum
<https://forum.ansible.com>`__ instead.
+* Requests for help updating to newer versions.
+* Bugs without security implications.
+
+Bugs that have no security impact should be filed through the public issues
tracker of the respective GitHub project.
+
+Response process
+================
+
+The Ansible Security Team follows this process:
+
+1. **Acknowledgment:** Confirms receipt of the report within one (1) business
day.
+2. **Triage:** Assesses validity and severity.
+3. **Investigation:** Reproduces and analyzes the issue.
+4. **Fix development:** Develops and tests a patch.
+5. **Coordinated disclosure:** Coordinates release timing with the reporter.
+6. **Public disclosure:** Publishes advisory and credits.
+
+Severity classification
+========================
+
+The Ansible Security Team follows the `Red Hat severity ratings
<https://access.redhat.com/security/updates/classification>`_.
+
+Disclosure policy
+=================
+
+* The Ansible Security Team follows coordinated disclosure practices.
+* Fixes are typically included in the next planned release.
+* Critical vulnerabilities may warrant out-of-band releases.
+* Public disclosure occurs through GitHub Security Advisories.
+* Reporters are credited unless they prefer anonymity.
+
+For detailed information on disclosure types, embargo periods, and researcher
coordination, see the :ref:`vulnerability_management_policy`.
+
+Security advisories
+===================
+
+Security advisories are published through:
+
+* `Ansible Community Forum <https://forum.ansible.com/tag/security>`__.
+* Official Ansible security page (`ansible.com/security
<https://ansible.com/security>`__).
+* CVE databases (NVD, OSV).
+
+The ``SECURITY.md`` file
+========================
+
+``SECURITY.md`` is the standard location where users, developers, and security
researchers can find information on how to report a potential vulnerability for
a particular repository.
+Projects SHOULD host a ``SECURITY.md`` file in the root directory of their
GitHub repository, alongside ``README.md`` and ``LICENSE``.
+This ensures high visibility and automatic integration with GitHub's security
features.
+
+Use the `SECURITY.md template
<https://github.com/ansible-community/project-template/blob/main/SECURITY.md>`__
from the `ansible-community/project-template
<https://github.com/ansible-community/project-template>`__ repository as a
starting point for your project.
+
+Recognition
+===========
+
+The Ansible Security Team may thank security researchers who help improve
projects in the Ansible ecosystem through recognition in:
+
+* Security advisories.
+* `Ansible Community Forum <https://forum.ansible.com>`__.
+
+Related documents
+=================
+
+* :ref:`vulnerability_management_policy` covers triage, remediation,
coordinated disclosure, CVE management, and incident response processes.
+* :ref:`secure_development_practices` indexes secure coding guidelines for
Ansible modules, plugins, collections, and playbooks.
+
+Policy updates
+==============
+
+This policy may be updated periodically.
+Suggestions for improvement can be submitted through issues or pull requests
to the `ansible-documentation
<https://github.com/ansible/ansible-documentation>`_ repository.
+
+For discussion about the EU Cyber Resilience Act and how it applies to the
Ansible ecosystem, see the `CRA tag on the Ansible Forum
<https://forum.ansible.com/tag/cra>`__.
+To follow changes and suggest improvements to Ansible security practices, see
the `infra-and-security tag on Ansible Forum
<https://forum.ansible.com/tag/infra-and-security>`__.
+
+Notes
+=====
+
+The key words "MUST", "MUST NOT", and "SHOULD" in this document are to be
interpreted as described in :rfc:`2119`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.21.3/docs/docsite/rst/community/vulnerability_management_policy.rst
new/ansible-documentation-2.21.4/docs/docsite/rst/community/vulnerability_management_policy.rst
---
old/ansible-documentation-2.21.3/docs/docsite/rst/community/vulnerability_management_policy.rst
1970-01-01 01:00:00.000000000 +0100
+++
new/ansible-documentation-2.21.4/docs/docsite/rst/community/vulnerability_management_policy.rst
2026-09-07 20:03:49.000000000 +0200
@@ -0,0 +1,224 @@
+.. _vulnerability_management_policy:
+
+***************************************************************
+Ansible vulnerability management and incident response policy
+***************************************************************
+
+.. contents::
+ :local:
+
+Purpose
+=======
+
+This policy establishes a structured, repeatable framework for identifying,
triaging, remediating, and disclosing security vulnerabilities and incidents
across the Ansible ecosystem.
+It ensures that confirmed vulnerabilities are addressed according to severity
and impact, that coordinated disclosure protects users before details become
public, and that the project maintains the trust of its community and
downstream consumers.
+
+Scope
+=====
+
+This policy applies to the same projects and resources covered by the
:ref:`security_policy`.
+In addition, this policy covers the processes and workflows for the Ansible
Security Team's handling of vulnerability reports, triage, remediation, and
disclosure.
+
+Third-party collections or plugins hosted outside the GitHub organizations
listed in the security policy are out of scope but are encouraged to adopt
compatible practices.
+
+Roles and responsibilities
+==========================
+
+.. list-table::
+ :header-rows: 1
+ :widths: auto
+
+ * - Role
+ - Responsibilities
+ * - Ansible Security Team
+ - First-line triage of all vulnerability reports; coordination of fixes
and disclosure timelines; CVE management; final classification decisions when
disputes arise.
+ * - Project Maintainers
+ - Develop and validate fixes for vulnerabilities within their components;
participate in coordinated disclosure; review and merge security patches.
+ * - Release Engineering
+ - Produce and distribute patched releases for some projects; coordinate
release timing with disclosure schedules.
+ * - Community, including Security Researchers
+ - Report vulnerabilities through designated private channels; adhere to
coordinated disclosure timelines.
+ * - Users
+ - Monitor advisories; apply patches within recommended timelines; report
regressions.
+
+Vulnerability reporting
+=======================
+
+For complete details on how to report a vulnerability, what to include in a
report, and what qualifies as a reportable vulnerability, see the
:ref:`security_policy`.
+
+All reports MUST be submitted by email to: `[email protected]
<mailto:[email protected]>`_
+
+Security vulnerabilities and security incidents **MUST NOT** be reported
through any other mechanism, including public GitHub issues, Ansible Forum, or
Ansible Matrix groups.
+
+Triage and severity classification
+==================================
+
+Triage process
+--------------
+
+Upon receipt of a vulnerability report, the Ansible Security Team will:
+
+1. **Acknowledge** the report according to the response timeline in the
:ref:`security_policy`.
+2. **Validate** the report by reproducing the issue or confirming the
technical basis.
+3. **Classify** severity using the framework below.
+4. **Assign** the issue to the appropriate project maintainers for resolution.
+5. **Open** a private tracking issue for internal coordination.
+
+Severity levels
+---------------
+
+Severity classification follows a risk-based model considering exploitability,
impact, and exposure.
+The Ansible Security Team follows the `Red Hat severity ratings
<https://access.redhat.com/security/updates/classification>`_.
+
+Runtime context consideration
+-----------------------------
+
+Not all reported vulnerabilities carry equal risk.
+When prioritizing remediation, the Ansible Security Team will consider:
+
+* Whether the vulnerable code path is **actually reachable at runtime** in
typical deployments.
+* Whether the affected component is **loaded in production** versus only
present as an unused dependency.
+* The **attack surface exposure** (internet-facing vs. internal-only
components).
+
+This approach aligns with emerging industry guidance that static CVSS scores
alone are insufficient for prioritization and that runtime context can reduce
actionable findings significantly.
+
+Remediation process
+===================
+
+Fix development
+---------------
+
+1. Embargoed fixes are developed in private branches or forks to prevent
premature disclosure.
+2. All security patches undergo peer review by at least one other maintainer
with relevant domain knowledge.
+3. Patches are tested against the reproduction steps from the original report
and validated against regression test suites.
+
+Release and distribution
+------------------------
+
+1. Security fixes are distributed through the project's normal release
channels (such as Automation Hub, container images, Galaxy, PyPI).
+2. For Critical and High severity issues, out-of-band patch releases may be
issued outside the regular release cadence.
+3. Release notes MUST reference the associated CVE ID(s) and advisory.
+
+Backporting
+------------
+
+Backports are made according to the :ref:`security_policy`.
+
+Coordinated vulnerability disclosure
+=====================================
+
+Disclosure model
+----------------
+
+The Ansible Security Team follows a **Coordinated Vulnerability Disclosure
(CVD)** model aligned with OpenSSF guidance:
+
+1. **Embargo Period:** Vulnerability details remain confidential until a fix
is available and released.
+2. **Disclosure Timing:** Public disclosure occurs simultaneously with or
immediately after the availability of a patched release.
+3. **Pre-notification:** For Critical severity issues affecting
widely-deployed components, the Ansible Security Team may provide advance
notice to major downstream users under embargo, up to 7 days before public
disclosure.
+
+Disclosure types
+----------------
+
+.. list-table::
+ :header-rows: 1
+ :widths: auto
+
+ * - Type
+ - When Used
+ * - Standard Disclosure
+ - Fix released, advisory published, CVE record updated -- all at the same
time.
+ * - Progressive Disclosure
+ - Pre-notification to select downstream partners under embargo, followed
by full public disclosure upon release.
+ Used for Critical and High severity issues with broad ecosystem impact.
+ * - Accelerated Disclosure
+ - If evidence of active exploitation emerges, disclosure may be
accelerated with available mitigations even before a complete fix is ready.
+
+Researcher coordination
+-----------------------
+
+* Reporter recognition is described in the :ref:`security_policy`.
+* The Ansible Security Team coordinates disclosure timing with the reporter.
+* Reporters are asked to **refrain from public disclosure** until the
agreed-upon date.
+
+CVE Management
+==============
+
+CVE assignment
+--------------
+
+* The Ansible Security Team requests CVE IDs for all confirmed vulnerabilities.
+* CVE IDs are reserved only after the Ansible Security Team **confirms that
the report constitutes a genuine vulnerability**.
+* Where Red Hat operates as a CVE Numbering Authority (CNA), CVE records are
published within **24 hours** after the associated security advisory goes
public, but never before.
+
+CVE record requirements
+-----------------------
+
+Published CVE records MUST follow the `CVE record format
<https://www.cve.org/AllResources/CveServices>`_ as defined by the CVE program.
+
+Dispute resolution
+------------------
+
+If a reporter or third party disputes a CVE classification or rejection:
+
+1. Acknowledgment of the dispute within 3 business days.
+2. Decision or extension request within 5 business days.
+3. If extended, final decision within reasonable business expectation of the
extension.
+4. Unresolved disputes may be escalated to the relevant root CNA or MITRE.
+
+Incident response
+=================
+
+Definition
+----------
+
+A security incident is any event indicating that Ansible project
infrastructure, build systems, distribution channels, or governance accounts
have been compromised or are under active attack.
+This is distinct from a vulnerability report (a flaw in code) and requires
operational response.
+
+Incident response steps
+-----------------------
+
+1. **Contain:** Isolate affected systems, revoke compromised credentials, and
halt affected release pipelines.
+2. **Assess:** Determine the scope, impact, and root cause of the incident.
+3. **Remediate:** Apply fixes, rotate credentials, rebuild affected artifacts
from verified sources.
+4. **Communicate:** Notify affected parties.
+ For incidents affecting released artifacts, issue a public advisory.
+5. **Post-mortem:** Conduct a blameless post-incident review.
+ Document lessons learned and update this policy if warranted.
+
+Communication
+=============
+
+Advisory distribution
+---------------------
+
+Security advisories are published through the channels listed in the
:ref:`security_policy`.
+
+Policy governance
+=================
+
+Review cycle
+------------
+
+This policy is reviewed **annually** and updated as needed, or if triggered by:
+
+* A significant security incident or near-miss.
+* Changes to the project's CNA status or governance structure.
+* Material changes to industry standards (for example, OpenSSF guidelines, CVE
program rules).
+
+Exceptions
+----------
+
+Any exception to this policy requires written approval from the Ansible
Security Team lead and MUST include:
+
+* Justification for the exception.
+* Risk assessment of the deviation.
+* Compensating controls in place.
+* Expiration date for the exception.
+
+For discussion about the EU Cyber Resilience Act and how it applies to the
Ansible ecosystem, see the `CRA tag on the Ansible Forum
<https://forum.ansible.com/tag/cra>`__.
+To follow changes and suggest improvements to Ansible security practices, see
the `infra-and-security tag on Ansible Forum
<https://forum.ansible.com/tag/infra-and-security>`__.
+
+Notes
+=====
+
+The key words "MUST", "MUST NOT", and "SHOULD" in this document are to be
interpreted as described in :rfc:`2119`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.21.3/docs/docsite/rst/dev_guide/developing_collections_migrating.rst
new/ansible-documentation-2.21.4/docs/docsite/rst/dev_guide/developing_collections_migrating.rst
---
old/ansible-documentation-2.21.3/docs/docsite/rst/dev_guide/developing_collections_migrating.rst
2026-08-10 09:18:09.000000000 +0200
+++
new/ansible-documentation-2.21.4/docs/docsite/rst/dev_guide/developing_collections_migrating.rst
2026-09-07 20:03:49.000000000 +0200
@@ -53,7 +53,7 @@
#. If it is an action plugin, include the corresponding module with
documentation.
#. If it is a module, check if it has a corresponding action plugin that
should move with it.
#. Check ``meta/`` for relevant updates to ``runtime.yml`` if it exists.
-#. Carefully check the moved ``tests/integration`` and ``tests/units`` and
update for FQCN.
+#. Carefully check the moved ``tests/integration`` and ``tests/unit`` and
update for FQCN.
#. Review ``tests/sanity/ignore-*.txt`` entries in the old collection.
#. Update ``meta/runtime.yml`` in the old collection.
@@ -67,7 +67,7 @@
#. If you are removing a module, remove any corresponding action plugin that
should stay with it.
#. Remove any entries about removed plugins from ``meta/runtime.yml``. Ensure
they are added into the new repo.
#. Remove sanity ignore lines from ``tests/sanity/ignore\*.txt``
-#. Remove associated integration tests from ``tests/integrations/targets/``
and unit tests from ``tests/units/plugins/``.
+#. Remove associated integration tests from ``tests/integrations/targets/``
and unit tests from ``tests/unit/plugins/``.
#. if you are removing from content from ``community.general`` or
``community.network``, remove entries from ``.github/BOTMETA.yml``.
#. Carefully review ``meta/runtime.yml`` for any entries you may need to
remove or update, in particular deprecated entries.
#. Update ``meta/runtime.yml`` to contain redirects for EVERY PLUGIN, pointing
to the new collection name.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.21.3/docs/docsite/rst/playbook_guide/playbooks_reuse_roles.rst
new/ansible-documentation-2.21.4/docs/docsite/rst/playbook_guide/playbooks_reuse_roles.rst
---
old/ansible-documentation-2.21.3/docs/docsite/rst/playbook_guide/playbooks_reuse_roles.rst
2026-08-10 09:18:09.000000000 +0200
+++
new/ansible-documentation-2.21.4/docs/docsite/rst/playbook_guide/playbooks_reuse_roles.rst
2026-09-07 20:03:49.000000000 +0200
@@ -464,7 +464,7 @@
myapp_food_preparation_time: 60
- myapp_food_kind: "fruits"
myapp_food_preparation_time: 5
- description: "A list of dicts with a defined structure and with
default a value."
+ description: "A list of dicts with a defined structure and with a
default value."
options:
myapp_food_kind:
type: "str"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-documentation-2.21.3/docs/docsite/rst/porting_guides/porting_guide_14.rst
new/ansible-documentation-2.21.4/docs/docsite/rst/porting_guides/porting_guide_14.rst
---
old/ansible-documentation-2.21.3/docs/docsite/rst/porting_guides/porting_guide_14.rst
2026-08-10 09:18:09.000000000 +0200
+++
new/ansible-documentation-2.21.4/docs/docsite/rst/porting_guides/porting_guide_14.rst
2026-09-07 20:03:49.000000000 +0200
@@ -53,7 +53,13 @@
Deprecated
==========
-No notable changes
+Failure inference from non-zero ``rc``
+--------------------------------------
+
+Failure inference for modules and actions that return a non-zero ``rc`` value
and no ``failed`` value is deprecated.
+Modules and actions may use any logic desired to determine failure (including
consulting ``rc``), but failures must be explicitly communicated in the task
result by setting ``failed`` true, or via methods that do so implicitly, such
as ``fail_json`` or raising an unhandled error.
+Runtime deprecation warnings will be issued in release 2.22 when a deprecated
failure inference occurs.
+When failure inference is removed in future releases, the ``rc`` key will
receive no special attention during task result processing.
.. _2.21_modules:
@@ -95,6 +101,97 @@
No notable changes
+Porting Guide for v14.3.0
+=========================
+
+Added Collections
+-----------------
+
+- ansible.mariadb (version 6.0.2)
+
+Major Changes
+-------------
+
+ansible.mysql
+^^^^^^^^^^^^^
+
+- MariaDB support is deprecated and is scheduled for removal in version 6.0.0
of this collection. If you already use this collection with MariaDB, please
install the `ansible.mariadb` collection from Ansible Galaxy and change FQCNs
in tasks in your playbooks to use ansible.mariadb equivalents, for example,
`ansible.mysql.mysql_info` -> `ansible.mariadb.mariadb_info`, etc. No other
changes are needed. This collection was cloned to the `ansible.mariadb`
collection to allow its contributors and maintainers to focus on
MariaDB-related automation development. This `ansible.mysql` collection still
supports MariaDB (only bugfixes and security fixes) until its release 6.0.0
(not earlier than mid 2027), then its support will be dropped!
+
+netapp.ontap
+^^^^^^^^^^^^
+
+- na_ontap_cg_snapshot - AWS Lambda support added to the module.
+- na_ontap_cli_timeout - AWS Lambda support added to the module.
+- na_ontap_ems_config - AWS Lambda support added to the module.
+- na_ontap_ems_destination - AWS Lambda support added to the module.
+- na_ontap_ems_filter - AWS Lambda support added to the module.
+- na_ontap_fdsd - AWS Lambda support added to the module.
+- na_ontap_fdsp - AWS Lambda support added to the module.
+- na_ontap_fdspt - AWS Lambda support added to the module.
+- na_ontap_fdss - AWS Lambda support added to the module.
+- na_ontap_file_security_permissions_acl - AWS Lambda support added to the
module.
+- na_ontap_fpolicy_event - AWS Lambda support added to the module.
+- na_ontap_fpolicy_ext_engine - AWS Lambda support added to the module.
+- na_ontap_fpolicy_policy - AWS Lambda support added to the module.
+- na_ontap_fpolicy_scope - AWS Lambda support added to the module.
+- na_ontap_fpolicy_status - AWS Lambda support added to the module.
+- na_ontap_kerberos_interface - AWS Lambda support added to the module.
+- na_ontap_kerberos_realm - AWS Lambda support added to the module.
+- na_ontap_login_messages - AWS Lambda support added to the module.
+- na_ontap_nvme_namespace - AWS Lambda support added to the module.
+- na_ontap_publickey - AWS Lambda support added to the module.
+- na_ontap_rest_cli - AWS Lambda support added to the module.
+- na_ontap_security_key_manager - AWS Lambda support added to the module.
+- na_ontap_security_ssh - AWS Lambda support added to the module.
+- na_ontap_snaplock_clock - AWS Lambda support added to the module.
+- na_ontap_unix_group - AWS Lambda support added to the module.
+- na_ontap_unix_user - AWS Lambda support added to the module.
+- na_ontap_user - AWS Lambda support added to the module.
+- na_ontap_user_role - AWS Lambda support added to the module.
+- na_ontap_vscan - AWS Lambda support added to the module.
+- na_ontap_vscan_on_access_policy - AWS Lambda support added to the module.
+- na_ontap_vscan_on_demand_task - AWS Lambda support added to the module.
+- na_ontap_vscan_scanner_pool - AWS Lambda support added to the module.
+- na_ontap_vserver_audit - AWS Lambda support added to the module.
+
+Deprecated Features
+-------------------
+
+community.general
+^^^^^^^^^^^^^^^^^
+
+- keycloak_authentication - the module is moved to
``middleware_automation.keycloak.keycloak_authentication``. The module will be
replaced by a deprecated redirect to that module in community.general 14.0.0,
and the redirect will be removed in community.general 16.0.0. If you are using
the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_authentication_required_actions - the module is moved to
``middleware_automation.keycloak.keycloak_authentication_required_actions``.
The module will be replaced by a deprecated redirect to that module in
community.general 14.0.0, and the redirect will be removed in community.general
16.0.0. If you are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_authentication_v2 - the module is moved to
``middleware_automation.keycloak.keycloak_authentication_v2``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_authz_authorization_scope - the module is moved to
``middleware_automation.keycloak.keycloak_authz_authorization_scope``. The
module will be replaced by a deprecated redirect to that module in
community.general 14.0.0, and the redirect will be removed in community.general
16.0.0. If you are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_authz_custom_policy - the module is moved to
``middleware_automation.keycloak.keycloak_authz_custom_policy``. The module
will be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_authz_permission - the module is moved to
``middleware_automation.keycloak.keycloak_authz_permission``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_authz_permission_info - the module is moved to
``middleware_automation.keycloak.keycloak_authz_permission_info``. The module
will be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_client - the module is moved to
``middleware_automation.keycloak.keycloak_client``. The module will be replaced
by a deprecated redirect to that module in community.general 14.0.0, and the
redirect will be removed in community.general 16.0.0. If you are using the
module, please consider installing and using ``middleware_automation.keycloak``
now (https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_client_rolemapping - the module is moved to
``middleware_automation.keycloak.keycloak_client_rolemapping``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_client_rolescope - the module is moved to
``middleware_automation.keycloak.keycloak_client_rolescope``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_clientscope - the module is moved to
``middleware_automation.keycloak.keycloak_client_scope``. The module will be
replaced by a deprecated redirect to that module in community.general 14.0.0,
and the redirect will be removed in community.general 16.0.0. If you are using
the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_clientscope_rolemappings - the module is moved to
``middleware_automation.keycloak.keycloak_client_scope_rolemappings``. The
module will be replaced by a deprecated redirect to that module in
community.general 14.0.0, and the redirect will be removed in community.general
16.0.0. If you are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_clientscope_type - the module is moved to
``middleware_automation.keycloak.keycloak_client_scope_type``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_clientsecret_info - the module is moved to
``middleware_automation.keycloak.keycloak_clientsecret_info``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_clientsecret_regenerate - the module is moved to
``middleware_automation.keycloak.keycloak_clientsecret_regenerate``. The module
will be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_clienttemplate - the module is moved to
``middleware_automation.keycloak.keycloak_clienttemplate``. The module will be
replaced by a deprecated redirect to that module in community.general 14.0.0,
and the redirect will be removed in community.general 16.0.0. If you are using
the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_component - the module is moved to
``middleware_automation.keycloak.keycloak_component``. The module will be
replaced by a deprecated redirect to that module in community.general 14.0.0,
and the redirect will be removed in community.general 16.0.0. If you are using
the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_component_info - the module is moved to
``middleware_automation.keycloak.keycloak_component_info``. The module will be
replaced by a deprecated redirect to that module in community.general 14.0.0,
and the redirect will be removed in community.general 16.0.0. If you are using
the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_group - the module is moved to
``middleware_automation.keycloak.keycloak_group``. The module will be replaced
by a deprecated redirect to that module in community.general 14.0.0, and the
redirect will be removed in community.general 16.0.0. If you are using the
module, please consider installing and using ``middleware_automation.keycloak``
now (https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_identity_provider - the module is moved to
``middleware_automation.keycloak.keycloak_identity_provider``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_realm - the module is moved to
``middleware_automation.keycloak.keycloak_realm``. The module will be replaced
by a deprecated redirect to that module in community.general 14.0.0, and the
redirect will be removed in community.general 16.0.0. If you are using the
module, please consider installing and using ``middleware_automation.keycloak``
now (https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_realm_key - the module is moved to
``middleware_automation.keycloak.keycloak_realm_key``. The module will be
replaced by a deprecated redirect to that module in community.general 14.0.0,
and the redirect will be removed in community.general 16.0.0. If you are using
the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_realm_keys_metadata_info - the module is moved to
``middleware_automation.keycloak.keycloak_realm_keys_metadata_info``. The
module will be replaced by a deprecated redirect to that module in
community.general 14.0.0, and the redirect will be removed in community.general
16.0.0. If you are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_realm_localization - the module is moved to
``middleware_automation.keycloak.keycloak_realm_localization``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_realm_rolemapping - the module is moved to
``middleware_automation.keycloak.keycloak_realm_rolemapping``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_role - the module is moved to
``middleware_automation.keycloak.keycloak_role``. The module will be replaced
by a deprecated redirect to that module in community.general 14.0.0, and the
redirect will be removed in community.general 16.0.0. If you are using the
module, please consider installing and using ``middleware_automation.keycloak``
now (https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_user - the module is moved to
``middleware_automation.keycloak.keycloak_user``. The module will be replaced
by a deprecated redirect to that module in community.general 14.0.0, and the
redirect will be removed in community.general 16.0.0. If you are using the
module, please consider installing and using ``middleware_automation.keycloak``
now (https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_user_execute_actions_email - the module is moved to
``middleware_automation.keycloak.keycloak_user_execute_actions_email``. The
module will be replaced by a deprecated redirect to that module in
community.general 14.0.0, and the redirect will be removed in community.general
16.0.0. If you are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_user_federation - the module is moved to
``middleware_automation.keycloak.keycloak_user_federation``. The module will be
replaced by a deprecated redirect to that module in community.general 14.0.0,
and the redirect will be removed in community.general 16.0.0. If you are using
the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_user_rolemapping - the module is moved to
``middleware_automation.keycloak.keycloak_user_rolemapping``. The module will
be replaced by a deprecated redirect to that module in community.general
14.0.0, and the redirect will be removed in community.general 16.0.0. If you
are using the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+- keycloak_userprofile - the module is moved to
``middleware_automation.keycloak.keycloak_userprofile``. The module will be
replaced by a deprecated redirect to that module in community.general 14.0.0,
and the redirect will be removed in community.general 16.0.0. If you are using
the module, please consider installing and using
``middleware_automation.keycloak`` now
(https://github.com/ansible-collections/community.general/pull/12484).
+
Porting Guide for v14.2.0
=========================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-documentation-2.21.3/noxfile.py
new/ansible-documentation-2.21.4/noxfile.py
--- old/ansible-documentation-2.21.3/noxfile.py 2026-08-10 09:18:09.000000000
+0200
+++ new/ansible-documentation-2.21.4/noxfile.py 2026-09-07 20:03:49.000000000
+0200
@@ -17,7 +17,7 @@
*iglob("tests/checkers/rst-yamllint*.py"), # TODO: also lint others
)
PINNED = os.environ.get("PINNED", "true").lower() in {"1", "true"}
-nox.options.sessions = ("clone-core", "lint", "checkers", "make")
+nox.options.sessions = ["clone-core", "lint", "checkers", "make"]
def _set_env_verbose(session: nox.Session, **env: str) -> dict[str, str]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-documentation-2.21.3/tests/formatters.txt
new/ansible-documentation-2.21.4/tests/formatters.txt
--- old/ansible-documentation-2.21.3/tests/formatters.txt 2026-08-10
09:18:09.000000000 +0200
+++ new/ansible-documentation-2.21.4/tests/formatters.txt 2026-09-07
20:03:49.000000000 +0200
@@ -2,19 +2,19 @@
# uv pip compile --universal --output-file tests/formatters.txt
tests/formatters.in
black==26.5.1
# via -r tests/formatters.in
-click==8.4.2
+click==8.5.0
# via black
-colorama==0.4.6 ; sys_platform == 'win32'
- # via click
-isort==8.0.1
+isort==9.0.1
# via -r tests/formatters.in
mypy-extensions==1.1.0
- # via black
+ # via
+ # black
+ # isort
packaging==26.3
# via black
pathspec==1.1.1
# via black
-platformdirs==4.11.1
+platformdirs==4.11.7
# via black
pytokens==0.4.1
# via black
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-documentation-2.21.3/tests/static.txt
new/ansible-documentation-2.21.4/tests/static.txt
--- old/ansible-documentation-2.21.3/tests/static.txt 2026-08-10
09:18:09.000000000 +0200
+++ new/ansible-documentation-2.21.4/tests/static.txt 2026-09-07
20:03:49.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.16.2
+ruff==0.16.6
# via -r tests/static.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-documentation-2.21.3/tests/typing.txt
new/ansible-documentation-2.21.4/tests/typing.txt
--- old/ansible-documentation-2.21.3/tests/typing.txt 2026-08-10
09:18:09.000000000 +0200
+++ new/ansible-documentation-2.21.4/tests/typing.txt 2026-09-07
20:03:49.000000000 +0200
@@ -2,11 +2,11 @@
# uv pip compile --universal --output-file tests/typing.txt tests/typing.in
annotated-doc==0.0.5
# via typer
-antsibull-docutils==1.4.0
+antsibull-docutils==1.4.1
# via -r tests/typing.in
argcomplete==3.7.2
# via nox
-ast-serialize==0.8.0
+ast-serialize==0.9.0
# via mypy
attrs==26.1.0
# via nox
@@ -16,7 +16,7 @@
# via
# cryptography
# pynacl
-charset-normalizer==3.4.9
+charset-normalizer==3.5.1
# via requests
codeowners==0.9.0
# via -r tests/../hacking/pr_labeler/requirements.txt
@@ -26,21 +26,21 @@
# typer
colorlog==6.12.0
# via nox
-cryptography==50.0.0
+cryptography==50.0.1
# via pyjwt
-dependency-groups==1.3.1
+dependency-groups==1.3.2
# via nox
distlib==0.4.3
# via virtualenv
docutils==0.23
# via antsibull-docutils
-filelock==3.32.2
+filelock==3.32.5
# via
# python-discovery
# virtualenv
humanize==4.16.0
# via nox
-idna==3.18
+idna==3.19
# via requests
jinja2==3.1.6
# via -r tests/../hacking/pr_labeler/requirements.txt
@@ -52,11 +52,11 @@
# via jinja2
mdurl==0.1.2
# via markdown-it-py
-mypy==2.3.0
+mypy==2.3.1
# via -r tests/typing.in
mypy-extensions==1.1.0
# via mypy
-nox==2026.7.11
+nox==2026.8.17
# via -r tests/typing.in
packaging==26.3
# via
@@ -64,31 +64,35 @@
# nox
pathspec==1.1.1
# via mypy
-platformdirs==4.11.1
- # via virtualenv
+platformdirs==4.11.7
+ # via
+ # nox
+ # virtualenv
pycparser==3.0 ; implementation_name != 'PyPy' and
platform_python_implementation != 'PyPy'
# via cffi
-pygithub==2.9.1
+pygithub==2.10.0
# via -r tests/../hacking/pr_labeler/requirements.txt
-pygments==2.20.0
+pygments==2.21.0
# via rich
pyjwt==2.13.0
# via pygithub
pynacl==1.6.2
# via pygithub
-python-discovery==1.5.1
- # via virtualenv
+python-discovery==1.6.0
+ # via
+ # nox
+ # virtualenv
requests==2.34.2
# via pygithub
rich==15.0.0
# via typer
shellingham==1.5.4
# via typer
-typer==0.27.1
+typer==0.27.2
# via typer-slim
typer-slim==0.24.0
# via -r tests/../hacking/pr_labeler/requirements.txt
-types-docutils==0.22.3.20260724
+types-docutils==0.23.0.20260827
# via -r tests/typing.in
typing-extensions==4.16.0
# via
@@ -98,5 +102,5 @@
# via
# pygithub
# requests
-virtualenv==21.7.3
+virtualenv==21.7.8
# via nox
++++++ ansible-documentation.obsinfo ++++++
--- /var/tmp/diff_new_pack.Ypq8o3/_old 2026-09-19 22:23:21.487148903 +0200
+++ /var/tmp/diff_new_pack.Ypq8o3/_new 2026-09-19 22:23:21.490149028 +0200
@@ -1,5 +1,5 @@
name: ansible-documentation
-version: 2.21.3
-mtime: 1786346289
-commit: 57de24c1d19ab232b49d12a2f0a0bace15c40318
+version: 2.21.4
+mtime: 1788804229
+commit: 83cabd13ee54d24bbaa17de3be288feb553ea590