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
 

Reply via email to