This is an automated email from the ASF dual-hosted git repository.

eladkal pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new da79f6b206 Add Iceberg provider (#39155)
da79f6b206 is described below

commit da79f6b206a3b8a411e951ede60986e40433ebb8
Author: rom sharon <[email protected]>
AuthorDate: Fri May 10 08:30:30 2024 +0300

    Add Iceberg provider (#39155)
    
    * add log for running callback
    
    * revert
    
    * add iceberg provider
    
    * add tabular deprecation
    
    * fix comment
    
    * fix comment
    
    * fix redirect
    
    * deprecated tabular, fix integration name
    
    * fix connections.rst
    
    * merge with main
    
    * remove iceberg default host
    
    * add to providers bug report
    
    * fix changelog and revert __init__
    
    * remove redirects, remove tabular new version, revert latest docs only
    
    * remove deperecated hook
    
    * add deprecation warning
    
    * revert tabular connection and add iceberg connection
    
    * fix iceberg tests
    
    * fix iceberg connection test
    
    * fix iceberg connection
    
    * mock the correct connection
    
    * tabular should not have tests
    
    * remove deprecated hook from yaml
    
    * fix integration name
    
    * add iceberg logo
    
    * fix integrations
    
    * fix iceberg logo location
    
    * revert tabular in extra-packages-ref
    
    * fix docs
---
 .../airflow_providers_bug_report.yml               |   1 +
 .github/boring-cyborg.yml                          |   8 +-
 INSTALL                                            |   4 +-
 .../providers/apache/iceberg/CHANGELOG.rst         |  19 +++--
 .../{tabular => apache/iceberg}/__init__.py        |   4 +-
 .../providers/apache/iceberg/hooks}/__init__.py    |   0
 .../tabular.py => apache/iceberg/hooks/iceberg.py} |  31 ++++----
 .../{tabular => apache/iceberg}/provider.yaml      |  30 +++-----
 airflow/providers/tabular/__init__.py              |  25 -------
 airflow/providers/tabular/hooks/__init__.py        |   1 -
 airflow/providers/tabular/hooks/tabular.py         |  82 +++------------------
 airflow/providers/tabular/provider.yaml            |  15 +---
 airflow/utils/db.py                                |   8 ++
 .../12_airflow_dependencies_and_extras.rst         |   4 +-
 dev/breeze/doc/images/output_build-docs.svg        |  18 ++---
 dev/breeze/doc/images/output_build-docs.txt        |   2 +-
 ...tput_release-management_add-back-references.svg |  18 ++---
 ...tput_release-management_add-back-references.txt |   2 +-
 ...management_generate-issue-content-providers.svg |  16 ++--
 ...management_generate-issue-content-providers.txt |   2 +-
 ...e-management_prepare-provider-documentation.svg |  16 ++--
 ...e-management_prepare-provider-documentation.txt |   2 +-
 ...elease-management_prepare-provider-packages.svg |  16 ++--
 ...elease-management_prepare-provider-packages.txt |   2 +-
 .../output_release-management_publish-docs.svg     |  18 ++---
 .../output_release-management_publish-docs.txt     |   2 +-
 ...output_sbom_generate-providers-requirements.svg |  10 +--
 ...output_sbom_generate-providers-requirements.txt |   2 +-
 .../changelog.rst                                  |   2 +-
 .../commits.rst}                                   |  20 +++--
 .../connections.rst                                |  42 +++++++++++
 .../index.rst                                      |  33 +++++----
 .../installing-providers-from-sources.rst}         |   9 +--
 .../security.rst}                                  |   9 +--
 .../apache-airflow-providers-tabular/changelog.rst |   1 -
 docs/apache-airflow-providers-tabular/index.rst    |  25 +++----
 docs/apache-airflow/extra-packages-ref.rst         |   2 +
 docs/integration-logos/iceberg/iceberg.png         | Bin 0 -> 11068 bytes
 generated/provider_dependencies.json               |  16 +++-
 pyproject.toml                                     |   4 +-
 .../in_container/run_provider_yaml_files_check.py  |   1 +
 tests/always/test_project_structure.py             |   1 +
 .../{tabular => apache/iceberg}/__init__.py        |   0
 .../{tabular => apache/iceberg}/hooks/__init__.py  |   0
 .../iceberg/hooks/test_iceberg.py}                 |   8 +-
 .../system/providers/apache/iceberg}/__init__.py   |   0
 .../iceberg/example_iceberg.py}                    |  10 +--
 47 files changed, 251 insertions(+), 290 deletions(-)

diff --git a/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml 
b/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
index 289c0cc3c1..1194fc6407 100644
--- a/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
@@ -33,6 +33,7 @@ body:
         - apache-flink
         - apache-hdfs
         - apache-hive
+        - apache-iceberg
         - apache-impala
         - apache-kafka
         - apache-kylin
diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml
index d4f5000028..b342febda4 100644
--- a/.github/boring-cyborg.yml
+++ b/.github/boring-cyborg.yml
@@ -478,10 +478,10 @@ labelPRBasedOnFilePath:
     - tests/system/providers/tableau/**/*
 
   provider:tabular:
-    - airflow/providers/tabular/**/*
-    - docs/apache-airflow-providers-tabular/**/*
-    - tests/providers/tabular/**/*
-    - tests/system/providers/tabular/**/*
+    - airflow/providers/apache/iceberg/**/*
+    - docs/apache-airflow-providers-apache-iceberg/**/*
+    - tests/providers/apache/iceberg/**/*
+    - tests/system/providers/apache/iceberg/**/*
 
   provider:telegram:
     - airflow/providers/telegram/**/*
diff --git a/INSTALL b/INSTALL
index 975232bad7..e27faa92af 100644
--- a/INSTALL
+++ b/INSTALL
@@ -277,8 +277,8 @@ or dependencies that are necessary to enable the feature in 
editable build.
 # START PROVIDER EXTRAS HERE
 
 airbyte, alibaba, amazon, apache.beam, apache.cassandra, apache.drill, 
apache.druid, apache.flink,
-apache.hdfs, apache.hive, apache.impala, apache.kafka, apache.kylin, 
apache.livy, apache.pig,
-apache.pinot, apache.spark, apprise, arangodb, asana, atlassian.jira, celery, 
cloudant,
+apache.hdfs, apache.hive, apache.iceberg, apache.impala, apache.kafka, 
apache.kylin, apache.livy,
+apache.pig, apache.pinot, apache.spark, apprise, arangodb, asana, 
atlassian.jira, celery, cloudant,
 cncf.kubernetes, cohere, common.io, common.sql, databricks, datadog, 
dbt.cloud, dingding, discord,
 docker, elasticsearch, exasol, fab, facebook, ftp, github, google, grpc, 
hashicorp, http, imap,
 influxdb, jdbc, jenkins, microsoft.azure, microsoft.mssql, microsoft.psrp, 
microsoft.winrm, mongo,
diff --git a/docs/apache-airflow-providers-tabular/changelog.rst 
b/airflow/providers/apache/iceberg/CHANGELOG.rst
similarity index 65%
copy from docs/apache-airflow-providers-tabular/changelog.rst
copy to airflow/providers/apache/iceberg/CHANGELOG.rst
index d408c1afe1..c6b1367d83 100644
--- a/docs/apache-airflow-providers-tabular/changelog.rst
+++ b/airflow/providers/apache/iceberg/CHANGELOG.rst
@@ -1,4 +1,3 @@
-
  .. Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
@@ -16,10 +15,18 @@
     specific language governing permissions and limitations
     under the License.
 
- ..  NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
-     OVERWRITTEN WHEN PREPARING PACKAGES.
+.. NOTE TO CONTRIBUTORS:
+   Please, only add notes to the Changelog just below the "Changelog" header 
when there are some breaking changes
+   and you want to add an explanation to the users on how they are supposed to 
deal with them.
+   The changelog is updated and maintained semi-automatically by release 
manager.
+
+``apache-airflow-providers-apache-iceberg``
+
+
+Changelog
+---------
 
- ..  IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
-     `PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+1.0.0
+.....
 
-.. include:: ../../airflow/providers/tabular/CHANGELOG.rst
+Initial version of the provider.
diff --git a/airflow/providers/tabular/__init__.py 
b/airflow/providers/apache/iceberg/__init__.py
similarity index 91%
copy from airflow/providers/tabular/__init__.py
copy to airflow/providers/apache/iceberg/__init__.py
index 8985e10388..744f80dad5 100644
--- a/airflow/providers/tabular/__init__.py
+++ b/airflow/providers/apache/iceberg/__init__.py
@@ -29,7 +29,7 @@ import packaging.version
 
 __all__ = ["__version__"]
 
-__version__ = "1.5.0"
+__version__ = "1.0.0"
 
 airflow_version = importlib.metadata.version("apache-airflow")
 
@@ -37,5 +37,5 @@ if 
packaging.version.parse(packaging.version.parse(airflow_version).base_version
     "2.7.0"
 ):
     raise RuntimeError(
-        f"The package `apache-airflow-providers-tabular:{__version__}` needs 
Apache Airflow 2.7.0+"
+        f"The package `apache-airflow-providers-apache-iceberg:{__version__}` 
needs Apache Airflow 2.7.0+"
     )
diff --git a/tests/system/providers/tabular/__init__.py 
b/airflow/providers/apache/iceberg/hooks/__init__.py
similarity index 100%
rename from tests/system/providers/tabular/__init__.py
rename to airflow/providers/apache/iceberg/hooks/__init__.py
diff --git a/airflow/providers/tabular/hooks/tabular.py 
b/airflow/providers/apache/iceberg/hooks/iceberg.py
similarity index 75%
copy from airflow/providers/tabular/hooks/tabular.py
copy to airflow/providers/apache/iceberg/hooks/iceberg.py
index 86a9ce333a..90f9c75078 100644
--- a/airflow/providers/tabular/hooks/tabular.py
+++ b/airflow/providers/apache/iceberg/hooks/iceberg.py
@@ -23,30 +23,28 @@ from requests import HTTPError
 
 from airflow.hooks.base import BaseHook
 
-DEFAULT_TABULAR_URL = "https://api.tabulardata.io/ws/v1";
-
 TOKENS_ENDPOINT = "oauth/tokens"
 
 
-class TabularHook(BaseHook):
+class IcebergHook(BaseHook):
     """
-    This hook acts as a base hook for tabular services.
+    This hook acts as a base hook for iceberg services.
 
     It offers the ability to generate temporary, short-lived
     session tokens to use within Airflow submitted jobs.
 
-    :param tabular_conn_id: The :ref:`Tabular connection 
id<howto/connection:tabular>`
-        which refers to the information to connect to the Tabular OAuth 
service.
+    :param iceberg_conn_id: The :ref:`Iceberg connection 
id<howto/connection:iceberg>`
+        which refers to the information to connect to the Iceberg.
     """
 
-    conn_name_attr = "tabular_conn_id"
-    default_conn_name = "tabular_default"
-    conn_type = "tabular"
-    hook_name = "Tabular"
+    conn_name_attr = "iceberg_conn_id"
+    default_conn_name = "iceberg_default"
+    conn_type = "iceberg"
+    hook_name = "Iceberg"
 
     @classmethod
     def get_ui_field_behaviour(cls) -> dict[str, Any]:
-        """Return custom UI field behaviour for Tabular connection."""
+        """Return custom UI field behaviour for Iceberg connection."""
         return {
             "hidden_fields": ["schema", "port"],
             "relabeling": {
@@ -55,21 +53,20 @@ class TabularHook(BaseHook):
                 "password": "Client Secret",
             },
             "placeholders": {
-                "host": DEFAULT_TABULAR_URL,
                 "login": "client_id (token credentials auth)",
                 "password": "secret (token credentials auth)",
             },
         }
 
-    def __init__(self, tabular_conn_id: str = default_conn_name) -> None:
+    def __init__(self, iceberg_conn_id: str = default_conn_name) -> None:
         super().__init__()
-        self.conn_id = tabular_conn_id
+        self.conn_id = iceberg_conn_id
 
     def test_connection(self) -> tuple[bool, str]:
-        """Test the Tabular connection."""
+        """Test the Iceberg connection."""
         try:
             self.get_conn()
-            return True, "Successfully fetched token from Tabular"
+            return True, "Successfully fetched token from Iceberg"
         except HTTPError as e:
             return False, f"HTTP Error: {e}: {e.response.text}"
         except Exception as e:
@@ -78,7 +75,7 @@ class TabularHook(BaseHook):
     def get_conn(self) -> str:
         """Obtain a short-lived access token via a client_id and 
client_secret."""
         conn = self.get_connection(self.conn_id)
-        base_url = conn.host if conn.host else DEFAULT_TABULAR_URL
+        base_url = conn.host
         base_url = base_url.rstrip("/")
         client_id = conn.login
         client_secret = conn.password
diff --git a/airflow/providers/tabular/provider.yaml 
b/airflow/providers/apache/iceberg/provider.yaml
similarity index 67%
copy from airflow/providers/tabular/provider.yaml
copy to airflow/providers/apache/iceberg/provider.yaml
index 2ea7dab09f..c923b2a011 100644
--- a/airflow/providers/tabular/provider.yaml
+++ b/airflow/providers/apache/iceberg/provider.yaml
@@ -16,23 +16,15 @@
 # under the License.
 
 ---
-package-name: apache-airflow-providers-tabular
-name: Tabular
+package-name: apache-airflow-providers-apache-iceberg
+name: Iceberg
 description: |
-    `Tabular <https://tabular.io/>`__
+    `Iceberg <https://iceberg.apache.org/>`__
 
 state: ready
-source-date-epoch: 1714477660
+source-date-epoch: 1705912293
 # note that those versions are maintained by release manager - do not update 
them manually
 versions:
-  - 1.5.0
-  - 1.4.1
-  - 1.4.0
-  - 1.3.0
-  - 1.2.1
-  - 1.2.0
-  - 1.1.0
-  - 1.0.1
   - 1.0.0
 
 dependencies:
@@ -42,16 +34,16 @@ devel-dependencies:
   - pyiceberg>=0.5.0
 
 integrations:
-  - integration-name: Tabular
-    external-doc-url: https://tabular.io/docs/
-    logo: /integration-logos/tabular/tabular.jpeg
+  - integration-name: Iceberg
+    logo: /integration-logos/iceberg/iceberg.png
+    external-doc-url: https://iceberg.apache.org/
     tags: [software]
 
 hooks:
-  - integration-name: Tabular
+  - integration-name: Iceberg
     python-modules:
-      - airflow.providers.tabular.hooks.tabular
+      - airflow.providers.apache.iceberg.hooks.iceberg
 
 connection-types:
-  - hook-class-name: airflow.providers.tabular.hooks.tabular.TabularHook
-    connection-type: tabular
+  - hook-class-name: airflow.providers.apache.iceberg.hooks.iceberg.IcebergHook
+    connection-type: iceberg
diff --git a/airflow/providers/tabular/__init__.py 
b/airflow/providers/tabular/__init__.py
index 8985e10388..13a83393a9 100644
--- a/airflow/providers/tabular/__init__.py
+++ b/airflow/providers/tabular/__init__.py
@@ -14,28 +14,3 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-#
-# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
-# OVERWRITTEN WHEN PREPARING DOCUMENTATION FOR THE PACKAGES.
-#
-# IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
-# `PROVIDER__INIT__PY_TEMPLATE.py.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
-#
-from __future__ import annotations
-
-import importlib.metadata
-
-import packaging.version
-
-__all__ = ["__version__"]
-
-__version__ = "1.5.0"
-
-airflow_version = importlib.metadata.version("apache-airflow")
-
-if 
packaging.version.parse(packaging.version.parse(airflow_version).base_version) 
< packaging.version.parse(
-    "2.7.0"
-):
-    raise RuntimeError(
-        f"The package `apache-airflow-providers-tabular:{__version__}` needs 
Apache Airflow 2.7.0+"
-    )
diff --git a/airflow/providers/tabular/hooks/__init__.py 
b/airflow/providers/tabular/hooks/__init__.py
index 217e5db960..13a83393a9 100644
--- a/airflow/providers/tabular/hooks/__init__.py
+++ b/airflow/providers/tabular/hooks/__init__.py
@@ -1,4 +1,3 @@
-#
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
diff --git a/airflow/providers/tabular/hooks/tabular.py 
b/airflow/providers/tabular/hooks/tabular.py
index 86a9ce333a..a9b817d86f 100644
--- a/airflow/providers/tabular/hooks/tabular.py
+++ b/airflow/providers/tabular/hooks/tabular.py
@@ -14,80 +14,18 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from __future__ import annotations
-
-from typing import Any
-
-import requests
-from requests import HTTPError
-
-from airflow.hooks.base import BaseHook
-
-DEFAULT_TABULAR_URL = "https://api.tabulardata.io/ws/v1";
-
-TOKENS_ENDPOINT = "oauth/tokens"
-
 
-class TabularHook(BaseHook):
-    """
-    This hook acts as a base hook for tabular services.
+"""This module is deprecated. Please use 
:mod:`airflow.providers.apache.iceberg.hooks.iceberg`."""
 
-    It offers the ability to generate temporary, short-lived
-    session tokens to use within Airflow submitted jobs.
-
-    :param tabular_conn_id: The :ref:`Tabular connection 
id<howto/connection:tabular>`
-        which refers to the information to connect to the Tabular OAuth 
service.
-    """
-
-    conn_name_attr = "tabular_conn_id"
-    default_conn_name = "tabular_default"
-    conn_type = "tabular"
-    hook_name = "Tabular"
-
-    @classmethod
-    def get_ui_field_behaviour(cls) -> dict[str, Any]:
-        """Return custom UI field behaviour for Tabular connection."""
-        return {
-            "hidden_fields": ["schema", "port"],
-            "relabeling": {
-                "host": "Base URL",
-                "login": "Client ID",
-                "password": "Client Secret",
-            },
-            "placeholders": {
-                "host": DEFAULT_TABULAR_URL,
-                "login": "client_id (token credentials auth)",
-                "password": "secret (token credentials auth)",
-            },
-        }
-
-    def __init__(self, tabular_conn_id: str = default_conn_name) -> None:
-        super().__init__()
-        self.conn_id = tabular_conn_id
-
-    def test_connection(self) -> tuple[bool, str]:
-        """Test the Tabular connection."""
-        try:
-            self.get_conn()
-            return True, "Successfully fetched token from Tabular"
-        except HTTPError as e:
-            return False, f"HTTP Error: {e}: {e.response.text}"
-        except Exception as e:
-            return False, str(e)
-
-    def get_conn(self) -> str:
-        """Obtain a short-lived access token via a client_id and 
client_secret."""
-        conn = self.get_connection(self.conn_id)
-        base_url = conn.host if conn.host else DEFAULT_TABULAR_URL
-        base_url = base_url.rstrip("/")
-        client_id = conn.login
-        client_secret = conn.password
-        data = {"client_id": client_id, "client_secret": client_secret, 
"grant_type": "client_credentials"}
+from __future__ import annotations
 
-        response = requests.post(f"{base_url}/{TOKENS_ENDPOINT}", data=data)
-        response.raise_for_status()
+import warnings
 
-        return response.json()["access_token"]
+from airflow.exceptions import AirflowProviderDeprecationWarning
+from airflow.providers.apache.iceberg.hooks.iceberg import IcebergHook  # 
noqa: F401
 
-    def get_token_macro(self):
-        return f"{{{{ conn.{self.conn_id}.get_hook().get_conn() }}}}"
+warnings.warn(
+    "This module is deprecated. Please use 
`airflow.providers.apache.iceberg.hooks.iceberg`.",
+    AirflowProviderDeprecationWarning,
+    stacklevel=2,
+)
diff --git a/airflow/providers/tabular/provider.yaml 
b/airflow/providers/tabular/provider.yaml
index 2ea7dab09f..f0045f56be 100644
--- a/airflow/providers/tabular/provider.yaml
+++ b/airflow/providers/tabular/provider.yaml
@@ -22,10 +22,9 @@ description: |
     `Tabular <https://tabular.io/>`__
 
 state: ready
-source-date-epoch: 1714477660
+source-date-epoch: 1705912293
 # note that those versions are maintained by release manager - do not update 
them manually
 versions:
-  - 1.5.0
   - 1.4.1
   - 1.4.0
   - 1.3.0
@@ -37,21 +36,13 @@ versions:
 
 dependencies:
   - apache-airflow>=2.7.0
+  - apache-airflow-providers-apache-iceberg
 
 devel-dependencies:
   - pyiceberg>=0.5.0
 
 integrations:
-  - integration-name: Tabular
+  - integration-name: Tabular (deprecated)
     external-doc-url: https://tabular.io/docs/
     logo: /integration-logos/tabular/tabular.jpeg
     tags: [software]
-
-hooks:
-  - integration-name: Tabular
-    python-modules:
-      - airflow.providers.tabular.hooks.tabular
-
-connection-types:
-  - hook-class-name: airflow.providers.tabular.hooks.tabular.TabularHook
-    connection-type: tabular
diff --git a/airflow/utils/db.py b/airflow/utils/db.py
index 6c68879074..b5a5c46345 100644
--- a/airflow/utils/db.py
+++ b/airflow/utils/db.py
@@ -411,6 +411,14 @@ def create_default_connections(session: Session = 
NEW_SESSION):
         ),
         session,
     )
+    merge_conn(
+        Connection(
+            conn_id="iceberg_default",
+            conn_type="iceberg",
+            host="https://api.iceberg.io/ws/v1";,
+        ),
+        session,
+    )
     merge_conn(Connection(conn_id="impala_default", conn_type="impala", 
host="localhost", port=21050))
     merge_conn(
         Connection(
diff --git a/contributing-docs/12_airflow_dependencies_and_extras.rst 
b/contributing-docs/12_airflow_dependencies_and_extras.rst
index 3303f4fafb..6b5a8040d3 100644
--- a/contributing-docs/12_airflow_dependencies_and_extras.rst
+++ b/contributing-docs/12_airflow_dependencies_and_extras.rst
@@ -179,8 +179,8 @@ or dependencies that are necessary to enable the feature in 
editable build.
   .. START PROVIDER EXTRAS HERE
 
 airbyte, alibaba, amazon, apache.beam, apache.cassandra, apache.drill, 
apache.druid, apache.flink,
-apache.hdfs, apache.hive, apache.impala, apache.kafka, apache.kylin, 
apache.livy, apache.pig,
-apache.pinot, apache.spark, apprise, arangodb, asana, atlassian.jira, celery, 
cloudant,
+apache.hdfs, apache.hive, apache.iceberg, apache.impala, apache.kafka, 
apache.kylin, apache.livy,
+apache.pig, apache.pinot, apache.spark, apprise, arangodb, asana, 
atlassian.jira, celery, cloudant,
 cncf.kubernetes, cohere, common.io, common.sql, databricks, datadog, 
dbt.cloud, dingding, discord,
 docker, elasticsearch, exasol, fab, facebook, ftp, github, google, grpc, 
hashicorp, http, imap,
 influxdb, jdbc, jenkins, microsoft.azure, microsoft.mssql, microsoft.psrp, 
microsoft.winrm, mongo,
diff --git a/dev/breeze/doc/images/output_build-docs.svg 
b/dev/breeze/doc/images/output_build-docs.svg
index 1769101730..424c9cccf5 100644
--- a/dev/breeze/doc/images/output_build-docs.svg
+++ b/dev/breeze/doc/images/output_build-docs.svg
@@ -190,15 +190,15 @@
 </text><text class="breeze-build-docs-r2" x="12.2" y="44.4" 
textLength="1439.6" 
clip-path="url(#breeze-build-docs-line-1)">Usage:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
 </text><text class="breeze-build-docs-r3" x="12.2" y="68.8" 
textLength="1439.6" 
clip-path="url(#breeze-build-docs-line-2)">breeze&#160;build-docs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
 </text><text class="breeze-build-docs-r1" x="12.2" y="93.2" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-3)">[</text><text 
class="breeze-build-docs-r4" x="24.4" y="93.2" textLength="85.4" 
clip-path="url(#breeze-build-docs-line-3)">OPTIONS</text><text 
class="breeze-build-docs-r1" x="109.8" y="93.2" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-3)">]&#160;[</text><text 
class="breeze-build-docs-r4" x="146.4" y="93.2" textLength="85.4" 
clip-path="url(#breeze-build-docs [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="117.6" textLength="73.2" 
clip-path="url(#breeze-build-docs-line-4)">apache</text><text 
class="breeze-build-docs-r1" x="85.4" y="117.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-4)">.</text><text 
class="breeze-build-docs-r4" x="97.6" y="117.6" textLength="109.8" 
clip-path="url(#breeze-build-docs-line-4)">cassandra</text><text 
class="breeze-build-docs-r1" x="207.4" y="117.6" textLength="36.6" 
clip-path="url(#breeze-build- [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="142" textLength="73.2" 
clip-path="url(#breeze-build-docs-line-5)">apache</text><text 
class="breeze-build-docs-r1" x="85.4" y="142" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-5)">.</text><text 
class="breeze-build-docs-r4" x="97.6" y="142" textLength="61" 
clip-path="url(#breeze-build-docs-line-5)">kafka</text><text 
class="breeze-build-docs-r1" x="158.6" y="142" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-5)">& [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="166.4" 
textLength="109.8" 
clip-path="url(#breeze-build-docs-line-6)">atlassian</text><text 
class="breeze-build-docs-r1" x="122" y="166.4" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-6)">.</text><text 
class="breeze-build-docs-r4" x="134.2" y="166.4" textLength="48.8" 
clip-path="url(#breeze-build-docs-line-6)">jira</text><text 
class="breeze-build-docs-r1" x="183" y="166.4" textLength="36.6" 
clip-path="url(#breeze-build-docs [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="190.8" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-7)">dbt</text><text 
class="breeze-build-docs-r1" x="48.8" y="190.8" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-7)">.</text><text 
class="breeze-build-docs-r4" x="61" y="190.8" textLength="61" 
clip-path="url(#breeze-build-docs-line-7)">cloud</text><text 
class="breeze-build-docs-r1" x="122" y="190.8" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-7)"> [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="215.2" textLength="73.2" 
clip-path="url(#breeze-build-docs-line-8)">google</text><text 
class="breeze-build-docs-r1" x="85.4" y="215.2" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-8)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="122" y="215.2" textLength="48.8" 
clip-path="url(#breeze-build-docs-line-8)">grpc</text><text 
class="breeze-build-docs-r1" x="170.8" y="215.2" textLength="36.6" 
clip-path="url(#breeze-b [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="239.6" 
textLength="109.8" 
clip-path="url(#breeze-build-docs-line-9)">microsoft</text><text 
class="breeze-build-docs-r1" x="122" y="239.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-9)">.</text><text 
class="breeze-build-docs-r4" x="134.2" y="239.6" textLength="48.8" 
clip-path="url(#breeze-build-docs-line-9)">psrp</text><text 
class="breeze-build-docs-r1" x="183" y="239.6" textLength="36.6" 
clip-path="url(#breeze-build-docs [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="264" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-10)">opsgenie</text><text 
class="breeze-build-docs-r1" x="109.8" y="264" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-10)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="146.4" y="264" textLength="73.2" 
clip-path="url(#breeze-build-docs-line-10)">oracle</text><text 
class="breeze-build-docs-r1" x="219.6" y="264" textLength="36.6" 
clip-path="url(#breeze [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="288.4" textLength="61" 
clip-path="url(#breeze-build-docs-line-11)">samba</text><text 
class="breeze-build-docs-r1" x="73.2" y="288.4" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-11)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="109.8" y="288.4" textLength="85.4" 
clip-path="url(#breeze-build-docs-line-11)">segment</text><text 
class="breeze-build-docs-r1" x="195.2" y="288.4" textLength="36.6" 
clip-path="url(#bre [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="312.8" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-12)">telegram</text><text 
class="breeze-build-docs-r1" x="109.8" y="312.8" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-12)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="146.4" y="312.8" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-12)">teradata</text><text 
class="breeze-build-docs-r1" x="244" y="312.8" textLength="36.6" clip-path="url 
[...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="117.6" textLength="73.2" 
clip-path="url(#breeze-build-docs-line-4)">apache</text><text 
class="breeze-build-docs-r1" x="85.4" y="117.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-4)">.</text><text 
class="breeze-build-docs-r4" x="97.6" y="117.6" textLength="109.8" 
clip-path="url(#breeze-build-docs-line-4)">cassandra</text><text 
class="breeze-build-docs-r1" x="207.4" y="117.6" textLength="36.6" 
clip-path="url(#breeze-build- [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="142" textLength="73.2" 
clip-path="url(#breeze-build-docs-line-5)">apache</text><text 
class="breeze-build-docs-r1" x="85.4" y="142" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-5)">.</text><text 
class="breeze-build-docs-r4" x="97.6" y="142" textLength="73.2" 
clip-path="url(#breeze-build-docs-line-5)">impala</text><text 
class="breeze-build-docs-r1" x="170.8" y="142" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-5) [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="166.4" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-6)">arangodb</text><text 
class="breeze-build-docs-r1" x="109.8" y="166.4" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-6)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="146.4" y="166.4" textLength="61" 
clip-path="url(#breeze-build-docs-line-6)">asana</text><text 
class="breeze-build-docs-r1" x="207.4" y="166.4" textLength="36.6" 
clip-path="url(#bree [...]
+</text><text class="breeze-build-docs-r1" x="12.2" y="190.8" textLength="24.4" 
clip-path="url(#breeze-build-docs-line-7)">|&#160;</text><text 
class="breeze-build-docs-r4" x="36.6" y="190.8" textLength="85.4" 
clip-path="url(#breeze-build-docs-line-7)">datadog</text><text 
class="breeze-build-docs-r1" x="122" y="190.8" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-7)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="158.6" y="190.8" textLength="36.6" 
clip-path="url(#bree [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="215.2" textLength="73.2" 
clip-path="url(#breeze-build-docs-line-8)">github</text><text 
class="breeze-build-docs-r1" x="85.4" y="215.2" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-8)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="122" y="215.2" textLength="73.2" 
clip-path="url(#breeze-build-docs-line-8)">google</text><text 
class="breeze-build-docs-r1" x="195.2" y="215.2" textLength="36.6" 
clip-path="url(#breeze [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="239.6" 
textLength="109.8" 
clip-path="url(#breeze-build-docs-line-9)">microsoft</text><text 
class="breeze-build-docs-r1" x="122" y="239.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-9)">.</text><text 
class="breeze-build-docs-r4" x="134.2" y="239.6" textLength="61" 
clip-path="url(#breeze-build-docs-line-9)">mssql</text><text 
class="breeze-build-docs-r1" x="195.2" y="239.6" textLength="36.6" 
clip-path="url(#breeze-build-doc [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="264" textLength="122" 
clip-path="url(#breeze-build-docs-line-10)">opensearch</text><text 
class="breeze-build-docs-r1" x="134.2" y="264" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-10)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="170.8" y="264" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-10)">opsgenie</text><text 
class="breeze-build-docs-r1" x="268.4" y="264" textLength="36.6" 
clip-path="url(#bre [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="288.4" textLength="122" 
clip-path="url(#breeze-build-docs-line-11)">salesforce</text><text 
class="breeze-build-docs-r1" x="134.2" y="288.4" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-11)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="170.8" y="288.4" textLength="61" 
clip-path="url(#breeze-build-docs-line-11)">samba</text><text 
class="breeze-build-docs-r1" x="231.8" y="288.4" textLength="36.6" 
clip-path="url(# [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="312.8" textLength="85.4" 
clip-path="url(#breeze-build-docs-line-12)">tabular</text><text 
class="breeze-build-docs-r1" x="97.6" y="312.8" textLength="36.6" 
clip-path="url(#breeze-build-docs-line-12)">&#160;|&#160;</text><text 
class="breeze-build-docs-r4" x="134.2" y="312.8" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-12)">telegram</text><text 
class="breeze-build-docs-r1" x="231.8" y="312.8" textLength="36.6" 
clip-path="url [...]
 </text><text class="breeze-build-docs-r1" x="1464" y="337.2" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-13)">
 </text><text class="breeze-build-docs-r1" x="12.2" y="361.6" 
textLength="195.2" 
clip-path="url(#breeze-build-docs-line-14)">Build&#160;documents.</text><text 
class="breeze-build-docs-r1" x="1464" y="361.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-14)">
 </text><text class="breeze-build-docs-r1" x="1464" y="386" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-15)">
diff --git a/dev/breeze/doc/images/output_build-docs.txt 
b/dev/breeze/doc/images/output_build-docs.txt
index a9ecb4c194..57e2a66eee 100644
--- a/dev/breeze/doc/images/output_build-docs.txt
+++ b/dev/breeze/doc/images/output_build-docs.txt
@@ -1 +1 @@
-7391d7b5a523f63bb02bea9ca23216dd
+e5edd7e699a13efb360713290f6fc14c
diff --git 
a/dev/breeze/doc/images/output_release-management_add-back-references.svg 
b/dev/breeze/doc/images/output_release-management_add-back-references.svg
index 48a3be2224..5783cda41a 100644
--- a/dev/breeze/doc/images/output_release-management_add-back-references.svg
+++ b/dev/breeze/doc/images/output_release-management_add-back-references.svg
@@ -138,15 +138,15 @@
 </text><text class="breeze-release-management-add-back-references-r2" x="12.2" 
y="44.4" textLength="1439.6" 
clip-path="url(#breeze-release-management-add-back-references-line-1)">Usage:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
 </text><text class="breeze-release-management-add-back-references-r3" x="12.2" 
y="68.8" textLength="1439.6" 
clip-path="url(#breeze-release-management-add-back-references-line-2)">breeze&#160;release-management&#160;add-back-references&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
 </text><text class="breeze-release-management-add-back-references-r1" x="12.2" 
y="93.2" textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-3)">[</text><text
 class="breeze-release-management-add-back-references-r4" x="24.4" y="93.2" 
textLength="85.4" 
clip-path="url(#breeze-release-management-add-back-references-line-3)">OPTIONS</text><text
 class="breeze-release-management-add-back-references-r1" x="109.8" y="93.2" 
textLength="36.6" clip-path="url(#breeze- [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-add-back-references-line-4)">apache</text><text
 class="breeze-release-management-add-back-references-r1" x="85.4" y="117.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-4)">.</text><text
 class="breeze-release-management-add-back-references-r4" x="97.6" y="117.6" 
textLength="109.8" clip-path="url(#breez [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-add-back-references-line-5)">apache</text><text
 class="breeze-release-management-add-back-references-r1" x="85.4" y="142" 
textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-5)">.</text><text
 class="breeze-release-management-add-back-references-r4" x="97.6" y="142" 
textLength="61" clip-path="url(#breeze-release [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="166.4" textLength="109.8" 
clip-path="url(#breeze-release-management-add-back-references-line-6)">atlassian</text><text
 class="breeze-release-management-add-back-references-r1" x="122" y="166.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-6)">.</text><text
 class="breeze-release-management-add-back-references-r4" x="134.2" y="166.4" 
textLength="48.8" clip-path="url(#br [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-7)">dbt</text><text
 class="breeze-release-management-add-back-references-r1" x="48.8" y="190.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-7)">.</text><text
 class="breeze-release-management-add-back-references-r4" x="61" y="190.8" 
textLength="61" clip-path="url(#breeze-releas [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="215.2" textLength="73.2" 
clip-path="url(#breeze-release-management-add-back-references-line-8)">google</text><text
 class="breeze-release-management-add-back-references-r1" x="85.4" y="215.2" 
textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-8)">&#160;|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="122" y="215.2" 
textLength="48.8" clip-path=" [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="239.6" textLength="109.8" 
clip-path="url(#breeze-release-management-add-back-references-line-9)">microsoft</text><text
 class="breeze-release-management-add-back-references-r1" x="122" y="239.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-9)">.</text><text
 class="breeze-release-management-add-back-references-r4" x="134.2" y="239.6" 
textLength="48.8" clip-path="url(#br [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="264" textLength="97.6" 
clip-path="url(#breeze-release-management-add-back-references-line-10)">opsgenie</text><text
 class="breeze-release-management-add-back-references-r1" x="109.8" y="264" 
textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="146.4" y="264" 
textLength="73.2" clip-path= [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="288.4" textLength="61" 
clip-path="url(#breeze-release-management-add-back-references-line-11)">samba</text><text
 class="breeze-release-management-add-back-references-r1" x="73.2" y="288.4" 
textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="109.8" y="288.4" 
textLength="85.4" clip-path= [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="312.8" textLength="97.6" 
clip-path="url(#breeze-release-management-add-back-references-line-12)">telegram</text><text
 class="breeze-release-management-add-back-references-r1" x="109.8" y="312.8" 
textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-12)">&#160;|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="146.4" y="312.8" 
textLength="97.6" clip [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-add-back-references-line-4)">apache</text><text
 class="breeze-release-management-add-back-references-r1" x="85.4" y="117.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-4)">.</text><text
 class="breeze-release-management-add-back-references-r4" x="97.6" y="117.6" 
textLength="109.8" clip-path="url(#breez [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-add-back-references-line-5)">apache</text><text
 class="breeze-release-management-add-back-references-r1" x="85.4" y="142" 
textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-5)">.</text><text
 class="breeze-release-management-add-back-references-r4" x="97.6" y="142" 
textLength="73.2" clip-path="url(#breeze-relea [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="166.4" textLength="97.6" 
clip-path="url(#breeze-release-management-add-back-references-line-6)">arangodb</text><text
 class="breeze-release-management-add-back-references-r1" x="109.8" y="166.4" 
textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-6)">&#160;|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="146.4" y="166.4" 
textLength="61" clip-pat [...]
+</text><text class="breeze-release-management-add-back-references-r1" x="12.2" 
y="190.8" textLength="24.4" 
clip-path="url(#breeze-release-management-add-back-references-line-7)">|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="36.6" y="190.8" 
textLength="85.4" 
clip-path="url(#breeze-release-management-add-back-references-line-7)">datadog</text><text
 class="breeze-release-management-add-back-references-r1" x="122" y="190.8" 
textLength="36.6" clip-path="url(# [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="215.2" textLength="73.2" 
clip-path="url(#breeze-release-management-add-back-references-line-8)">github</text><text
 class="breeze-release-management-add-back-references-r1" x="85.4" y="215.2" 
textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-8)">&#160;|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="122" y="215.2" 
textLength="73.2" clip-path=" [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="239.6" textLength="109.8" 
clip-path="url(#breeze-release-management-add-back-references-line-9)">microsoft</text><text
 class="breeze-release-management-add-back-references-r1" x="122" y="239.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-9)">.</text><text
 class="breeze-release-management-add-back-references-r4" x="134.2" y="239.6" 
textLength="61" clip-path="url(#bree [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="264" textLength="122" 
clip-path="url(#breeze-release-management-add-back-references-line-10)">opensearch</text><text
 class="breeze-release-management-add-back-references-r1" x="134.2" y="264" 
textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="170.8" y="264" 
textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="288.4" textLength="122" 
clip-path="url(#breeze-release-management-add-back-references-line-11)">salesforce</text><text
 class="breeze-release-management-add-back-references-r1" x="134.2" y="288.4" 
textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="170.8" y="288.4" 
textLength="61" clip- [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2" 
y="312.8" textLength="85.4" 
clip-path="url(#breeze-release-management-add-back-references-line-12)">tabular</text><text
 class="breeze-release-management-add-back-references-r1" x="97.6" y="312.8" 
textLength="36.6" 
clip-path="url(#breeze-release-management-add-back-references-line-12)">&#160;|&#160;</text><text
 class="breeze-release-management-add-back-references-r4" x="134.2" y="312.8" 
textLength="97.6" clip-p [...]
 </text><text class="breeze-release-management-add-back-references-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-13)">
 </text><text class="breeze-release-management-add-back-references-r1" x="12.2" 
y="361.6" textLength="976" 
clip-path="url(#breeze-release-management-add-back-references-line-14)">Command&#160;to&#160;add&#160;back&#160;references&#160;for&#160;documentation&#160;to&#160;make&#160;it&#160;backward&#160;compatible.</text><text
 class="breeze-release-management-add-back-references-r1" x="1464" y="361.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-14)">
 </text><text class="breeze-release-management-add-back-references-r1" x="1464" 
y="386" textLength="12.2" 
clip-path="url(#breeze-release-management-add-back-references-line-15)">
diff --git 
a/dev/breeze/doc/images/output_release-management_add-back-references.txt 
b/dev/breeze/doc/images/output_release-management_add-back-references.txt
index ae51a4106f..7c41874af7 100644
--- a/dev/breeze/doc/images/output_release-management_add-back-references.txt
+++ b/dev/breeze/doc/images/output_release-management_add-back-references.txt
@@ -1 +1 @@
-6cccd29cb919026e925f9c54882c4900
+2764dbd6139c3eded9ac7065010be3c9
diff --git 
a/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.svg
 
b/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.svg
index 81c991dda1..15d20ef066 100644
--- 
a/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.svg
+++ 
b/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.svg
@@ -139,14 +139,14 @@
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r2" x="12.2" 
y="44.4" textLength="1439.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-1)">Usage:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r3" x="12.2" 
y="68.8" textLength="1439.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-2)">breeze&#160;release-management&#160;generate-issue-content-providers&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="12.2" 
y="93.2" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-3)">[</text><text
 class="breeze-release-management-generate-issue-content-providers-r4" x="24.4" 
y="93.2" textLength="85.4" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-3)">OPTIONS</text><text
 class="breeze-release-management-generate-issue-content-providers [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-4)">apache</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-4)">.</text><text
 class="breeze-release-management-generate-issue-content-provider [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-5)">apache</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="142" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-5)">.</text><text
 class="breeze-release-management-generate-issue-content-providers-r4 [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="12.2" 
y="166.4" textLength="24.4" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">|&#160;</text><text
 class="breeze-release-management-generate-issue-content-providers-r4" x="36.6" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">common</text><text
 class="breeze-release-management-generate-issue-content-pr [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="190.8" textLength="97.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">facebook</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" 
x="109.8" y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-c [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">microsoft</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="122" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">.</text><text
 class="breeze-release-management-generate-issue-content-provi [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="239.6" textLength="122" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">opensearch</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" 
x="134.2" y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue- [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="264" textLength="122" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">salesforce</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" 
x="134.2" y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-co [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="288.4" textLength="85.4" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)">tabular</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="97.6" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-c [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-4)">apache</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-4)">.</text><text
 class="breeze-release-management-generate-issue-content-provider [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-5)">apache</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="142" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-5)">.</text><text
 class="breeze-release-management-generate-issue-content-providers-r4 [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">cohere</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="166.4" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-cont [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="190.8" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">exasol</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-cont [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">microsoft</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="122" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">.</text><text
 class="breeze-release-management-generate-issue-content-provi [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="239.6" textLength="97.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">openfaas</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" 
x="109.8" y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-c [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="264" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">presto</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-conten [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="288.4" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)">sqlite</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-co [...]
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="1464" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-12)">
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="12.2" 
y="337.2" textLength="585.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-13)">Generates&#160;content&#160;for&#160;issue&#160;to&#160;test&#160;the&#160;release.</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-13)">
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="1464" 
y="361.6" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-14)">
diff --git 
a/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.txt
 
b/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.txt
index a0763fc4aa..e38768e2b8 100644
--- 
a/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.txt
+++ 
b/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.txt
@@ -1 +1 @@
-54a463f51bb58e6159a7a8eb9bac3748
+fe29a2627df02339d908e1439919b86c
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
index 1aa213332d..16ab20dc69 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
@@ -175,14 +175,14 @@
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r2" x="12.2" 
y="44.4" textLength="1439.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-1)">Usage:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r3" x="12.2" 
y="68.8" textLength="1439.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-2)">breeze&#160;release-management&#160;prepare-provider-documentation&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2" 
y="93.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-3)">[</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="93.2" textLength="85.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-3)">OPTIONS</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="10 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-4)">apache</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-4)">.</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="9 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-5)">apache</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="142" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-5)">.</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="97.6" 
[...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2" 
y="166.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">|&#160;</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="36.6" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">common</text><text
 class="breeze-release-management-prepare-provider-documentation-r1 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="190.8" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">facebook</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="109.8" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documen [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">microsoft</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="122" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">.</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="239.6" textLength="122" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">opensearch</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="134.2" 
y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-docume [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="264" textLength="122" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">salesforce</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="134.2" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-document [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="288.4" textLength="85.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)">tabular</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="97.6" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documen [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-4)">apache</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-4)">.</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="9 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-5)">apache</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="142" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-5)">.</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="97.6" 
[...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">cohere</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="166.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documentat [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="190.8" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">exasol</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documentat [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">microsoft</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="122" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">.</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="239.6" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">openfaas</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="109.8" 
y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documen [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="264" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">presto</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documentatio [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="288.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)">sqlite</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-document [...]
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-12)">
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2" 
y="337.2" textLength="780.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-13)">Prepare&#160;CHANGELOG,&#160;README&#160;and&#160;COMMITS&#160;information&#160;for&#160;providers.</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation- [...]
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="361.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-14)">
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
index 104cfee713..6bb54fa225 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
@@ -1 +1 @@
-ba0a7fc905c4d7e5f503917ebeb92cae
+588a3418ca2e846fe5a77701e02f9924
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg
index f034848cf5..bb1747d11a 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg
@@ -175,14 +175,14 @@
 </text><text class="breeze-release-management-prepare-provider-packages-r2" 
x="12.2" y="44.4" textLength="1439.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-1)">Usage:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
 </text><text class="breeze-release-management-prepare-provider-packages-r3" 
x="12.2" y="68.8" textLength="1439.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-2)">breeze&#160;release-management&#160;prepare-provider-packages&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
 </text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="12.2" y="93.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-3)">[</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="93.2" textLength="85.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-3)">OPTIONS</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="93.2" textLength= [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-4)">apache</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-4)">.</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="97.6" 
y="117.6" textLength [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-5)">apache</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="142" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-5)">.</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="97.6" 
y="142" textLength="61"  [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="12.2" y="166.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-6)">|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-6)">common</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="166.4" tex [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="190.8" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-7)">facebook</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="146.4" y="1 
[...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-8)">microsoft</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="122" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-8)">.</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="134.2" 
y="215.2" textLe [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="239.6" textLength="122" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-9)">opensearch</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="134.2" 
y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="170.8" y=" 
[...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="264" textLength="122" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-10)">salesforce</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="134.2" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="170.8" y="26 
[...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="288.4" textLength="85.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-11)">tabular</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="97.6" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="134.2" y="2 
[...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-4)">apache</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-4)">.</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="97.6" 
y="117.6" textLength [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-5)">apache</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="142" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-5)">.</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="97.6" 
y="142" textLength="61"  [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-6)">cohere</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="166.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-6)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="122" 
y="166.4" [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="190.8" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-7)">exasol</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="122" 
y="190.8" [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-8)">microsoft</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="122" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-8)">.</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="134.2" 
y="215.2" textLe [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="239.6" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-9)">openfaas</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="146.4" y="2 
[...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="264" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-10)">presto</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="122" y="264" 
tex [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="288.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-11)">sqlite</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="122" y="288. 
[...]
 </text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="1464" y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-12)">
 </text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="12.2" y="337.2" textLength="585.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-13)">Prepare&#160;sdist/whl&#160;packages&#160;of&#160;Airflow&#160;Providers.</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-13)">
 </text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="1464" y="361.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-14)">
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt
index b31b6cbfa2..cfda6c7bde 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt
@@ -1 +1 @@
-0511f7776390562cef3934433b84e495
+3b7f8eced732d5ee0b5e84b09c6970fb
diff --git a/dev/breeze/doc/images/output_release-management_publish-docs.svg 
b/dev/breeze/doc/images/output_release-management_publish-docs.svg
index 55cca08f67..3731dadeff 100644
--- a/dev/breeze/doc/images/output_release-management_publish-docs.svg
+++ b/dev/breeze/doc/images/output_release-management_publish-docs.svg
@@ -195,15 +195,15 @@
 </text><text class="breeze-release-management-publish-docs-r2" x="12.2" 
y="44.4" textLength="1439.6" 
clip-path="url(#breeze-release-management-publish-docs-line-1)">Usage:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
 </text><text class="breeze-release-management-publish-docs-r3" x="12.2" 
y="68.8" textLength="1439.6" 
clip-path="url(#breeze-release-management-publish-docs-line-2)">breeze&#160;release-management&#160;publish-docs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
 </text><text class="breeze-release-management-publish-docs-r1" x="12.2" 
y="93.2" textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-3)">[</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="93.2" 
textLength="85.4" 
clip-path="url(#breeze-release-management-publish-docs-line-3)">OPTIONS</text><text
 class="breeze-release-management-publish-docs-r1" x="109.8" y="93.2" 
textLength="36.6" clip-path="url(#breeze-release-management-publish-docs-lin 
[...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-publish-docs-line-4)">apache</text><text
 class="breeze-release-management-publish-docs-r1" x="85.4" y="117.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-4)">.</text><text 
class="breeze-release-management-publish-docs-r4" x="97.6" y="117.6" 
textLength="109.8" clip-path="url(#breeze-release-management-publish-docs-l 
[...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-publish-docs-line-5)">apache</text><text
 class="breeze-release-management-publish-docs-r1" x="85.4" y="142" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-5)">.</text><text 
class="breeze-release-management-publish-docs-r4" x="97.6" y="142" 
textLength="61" 
clip-path="url(#breeze-release-management-publish-docs-line-5)">k [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="166.4" textLength="109.8" 
clip-path="url(#breeze-release-management-publish-docs-line-6)">atlassian</text><text
 class="breeze-release-management-publish-docs-r1" x="122" y="166.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-6)">.</text><text 
class="breeze-release-management-publish-docs-r4" x="134.2" y="166.4" 
textLength="48.8" clip-path="url(#breeze-release-management-publish-doc [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-7)">dbt</text><text 
class="breeze-release-management-publish-docs-r1" x="48.8" y="190.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-7)">.</text><text 
class="breeze-release-management-publish-docs-r4" x="61" y="190.8" 
textLength="61" 
clip-path="url(#breeze-release-management-publish-docs-line-7)"> [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="215.2" textLength="73.2" 
clip-path="url(#breeze-release-management-publish-docs-line-8)">google</text><text
 class="breeze-release-management-publish-docs-r1" x="85.4" y="215.2" 
textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-8)">&#160;|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="122" y="215.2" 
textLength="48.8" clip-path="url(#breeze-release-management-publ [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="239.6" textLength="109.8" 
clip-path="url(#breeze-release-management-publish-docs-line-9)">microsoft</text><text
 class="breeze-release-management-publish-docs-r1" x="122" y="239.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-9)">.</text><text 
class="breeze-release-management-publish-docs-r4" x="134.2" y="239.6" 
textLength="48.8" clip-path="url(#breeze-release-management-publish-doc [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="264" textLength="97.6" 
clip-path="url(#breeze-release-management-publish-docs-line-10)">opsgenie</text><text
 class="breeze-release-management-publish-docs-r1" x="109.8" y="264" 
textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="146.4" y="264" 
textLength="73.2" clip-path="url(#breeze-release-management-pub [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="288.4" textLength="61" 
clip-path="url(#breeze-release-management-publish-docs-line-11)">samba</text><text
 class="breeze-release-management-publish-docs-r1" x="73.2" y="288.4" 
textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="109.8" y="288.4" 
textLength="85.4" clip-path="url(#breeze-release-management-pub [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="312.8" textLength="97.6" 
clip-path="url(#breeze-release-management-publish-docs-line-12)">telegram</text><text
 class="breeze-release-management-publish-docs-r1" x="109.8" y="312.8" 
textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-12)">&#160;|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="146.4" y="312.8" 
textLength="97.6" clip-path="url(#breeze-release-manageme [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-publish-docs-line-4)">apache</text><text
 class="breeze-release-management-publish-docs-r1" x="85.4" y="117.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-4)">.</text><text 
class="breeze-release-management-publish-docs-r4" x="97.6" y="117.6" 
textLength="109.8" clip-path="url(#breeze-release-management-publish-docs-l 
[...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-publish-docs-line-5)">apache</text><text
 class="breeze-release-management-publish-docs-r1" x="85.4" y="142" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-5)">.</text><text 
class="breeze-release-management-publish-docs-r4" x="97.6" y="142" 
textLength="73.2" 
clip-path="url(#breeze-release-management-publish-docs-line-5)" [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="166.4" textLength="97.6" 
clip-path="url(#breeze-release-management-publish-docs-line-6)">arangodb</text><text
 class="breeze-release-management-publish-docs-r1" x="109.8" y="166.4" 
textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-6)">&#160;|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="146.4" y="166.4" 
textLength="61" clip-path="url(#breeze-release-management-p [...]
+</text><text class="breeze-release-management-publish-docs-r1" x="12.2" 
y="190.8" textLength="24.4" 
clip-path="url(#breeze-release-management-publish-docs-line-7)">|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="36.6" y="190.8" 
textLength="85.4" 
clip-path="url(#breeze-release-management-publish-docs-line-7)">datadog</text><text
 class="breeze-release-management-publish-docs-r1" x="122" y="190.8" 
textLength="36.6" clip-path="url(#breeze-release-management-publish-d [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="215.2" textLength="73.2" 
clip-path="url(#breeze-release-management-publish-docs-line-8)">github</text><text
 class="breeze-release-management-publish-docs-r1" x="85.4" y="215.2" 
textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-8)">&#160;|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="122" y="215.2" 
textLength="73.2" clip-path="url(#breeze-release-management-publ [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="239.6" textLength="109.8" 
clip-path="url(#breeze-release-management-publish-docs-line-9)">microsoft</text><text
 class="breeze-release-management-publish-docs-r1" x="122" y="239.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-9)">.</text><text 
class="breeze-release-management-publish-docs-r4" x="134.2" y="239.6" 
textLength="61" clip-path="url(#breeze-release-management-publish-docs- [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="264" textLength="122" 
clip-path="url(#breeze-release-management-publish-docs-line-10)">opensearch</text><text
 class="breeze-release-management-publish-docs-r1" x="134.2" y="264" 
textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="170.8" y="264" 
textLength="97.6" clip-path="url(#breeze-release-management-pu [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="288.4" textLength="122" 
clip-path="url(#breeze-release-management-publish-docs-line-11)">salesforce</text><text
 class="breeze-release-management-publish-docs-r1" x="134.2" y="288.4" 
textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="170.8" y="288.4" 
textLength="61" clip-path="url(#breeze-release-managemen [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2" 
y="312.8" textLength="85.4" 
clip-path="url(#breeze-release-management-publish-docs-line-12)">tabular</text><text
 class="breeze-release-management-publish-docs-r1" x="97.6" y="312.8" 
textLength="36.6" 
clip-path="url(#breeze-release-management-publish-docs-line-12)">&#160;|&#160;</text><text
 class="breeze-release-management-publish-docs-r4" x="134.2" y="312.8" 
textLength="97.6" clip-path="url(#breeze-release-management [...]
 </text><text class="breeze-release-management-publish-docs-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-13)">
 </text><text class="breeze-release-management-publish-docs-r1" x="12.2" 
y="361.6" textLength="707.6" 
clip-path="url(#breeze-release-management-publish-docs-line-14)">Command&#160;to&#160;publish&#160;generated&#160;documentation&#160;to&#160;airflow-site</text><text
 class="breeze-release-management-publish-docs-r1" x="1464" y="361.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-14)">
 </text><text class="breeze-release-management-publish-docs-r1" x="1464" 
y="386" textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-15)">
diff --git a/dev/breeze/doc/images/output_release-management_publish-docs.txt 
b/dev/breeze/doc/images/output_release-management_publish-docs.txt
index 9529819686..c4aa6326c2 100644
--- a/dev/breeze/doc/images/output_release-management_publish-docs.txt
+++ b/dev/breeze/doc/images/output_release-management_publish-docs.txt
@@ -1 +1 @@
-a6be6aad28ce6b74e0b3d075b03aabc4
+e84322604c4e2e8ff44f983d2c2a6e4d
diff --git 
a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg 
b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
index edf41b8a49..6a054627c0 100644
--- a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
+++ b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
@@ -184,11 +184,11 @@
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="190.8" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-7)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="190.8" 
textLength="976" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-7)">(3.6&#160;|&#160;3.7&#160;|&#160;3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-8)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r4" x="24.4" y="215.2" 
textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-8)">-</text><text
 class="breeze-sbom-generate-providers-requirements-r4" x="36.6" y="215.2" 
textLength="109.8" clip-path="url(#breeze-sbom-generate-pr [...]
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="239.6" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-9)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="239.6" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-9)">(airbyte&#160;|&#160;alibaba&#160;|&#160;amazon&#160;|&#160;apache.beam&#160;|&#160;apache.cassandra&#160;|&#160;apache.drill&#160;|&#160;apach
 [...]
-</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="264" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-10)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="264" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-10)">apache.flink&#160;|&#160;apache.hdfs&#160;|&#160;apache.hive&#160;|&#160;apache.impala&#160;|&#160;apache.kafka&#160;|&#160;apache.kylin&#160;|&#
 [...]
-</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="288.4" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-11)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="288.4" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-11)">apache.livy&#160;|&#160;apache.pig&#160;|&#160;apache.pinot&#160;|&#160;apache.spark&#160;|&#160;apprise&#160;|&#160;arangodb&#160;|&#160;asa
 [...]
-</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-12)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="312.8" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-12)">atlassian.jira&#160;|&#160;celery&#160;|&#160;cloudant&#160;|&#160;cncf.kubernetes&#160;|&#160;cohere&#160;|&#160;common.io&#160;|&#160;commo
 [...]
-</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-13)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="337.2" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-13)">databricks&#160;|&#160;datadog&#160;|&#160;dbt.cloud&#160;|&#160;dingding&#160;|&#160;discord&#160;|&#160;docker&#160;|&#160;elasticsearch&#1
 [...]
-</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="361.6" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-14)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="361.6" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-14)">|&#160;facebook&#160;|&#160;ftp&#160;|&#160;github&#160;|&#160;google&#160;|&#160;grpc&#160;|&#160;hashicorp&#160;|&#160;http&#160;|&#160;ima
 [...]
+</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="264" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-10)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="264" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-10)">apache.flink&#160;|&#160;apache.hdfs&#160;|&#160;apache.hive&#160;|&#160;apache.iceberg&#160;|&#160;apache.impala&#160;|&#160;apache.kafka&#160;|
 [...]
+</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="288.4" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-11)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="288.4" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-11)">apache.kylin&#160;|&#160;apache.livy&#160;|&#160;apache.pig&#160;|&#160;apache.pinot&#160;|&#160;apache.spark&#160;|&#160;apprise&#160;|&#160
 [...]
+</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-12)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="312.8" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-12)">asana&#160;|&#160;atlassian.jira&#160;|&#160;celery&#160;|&#160;cloudant&#160;|&#160;cncf.kubernetes&#160;|&#160;cohere&#160;|&#160;common.io
 [...]
+</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-13)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="337.2" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-13)">|&#160;databricks&#160;|&#160;datadog&#160;|&#160;dbt.cloud&#160;|&#160;dingding&#160;|&#160;discord&#160;|&#160;docker&#160;|&#160;elasticse
 [...]
+</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="361.6" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-14)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="361.6" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-14)">fab&#160;|&#160;facebook&#160;|&#160;ftp&#160;|&#160;github&#160;|&#160;google&#160;|&#160;grpc&#160;|&#160;hashicorp&#160;|&#160;http&#160;|
 [...]
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="386" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-15)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="386" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-15)">jenkins&#160;|&#160;microsoft.azure&#160;|&#160;microsoft.mssql&#160;|&#160;microsoft.psrp&#160;|&#160;microsoft.winrm&#160;|&#160;mongo&#160;|&#
 [...]
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="410.4" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-16)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="410.4" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-16)">|&#160;neo4j&#160;|&#160;odbc&#160;|&#160;openai&#160;|&#160;openfaas&#160;|&#160;openlineage&#160;|&#160;opensearch&#160;|&#160;opsgenie&#16
 [...]
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" 
y="434.8" textLength="12.2" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-17)">│</text><text
 class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="434.8" 
textLength="1146.8" 
clip-path="url(#breeze-sbom-generate-providers-requirements-line-17)">|&#160;papermill&#160;|&#160;pgvector&#160;|&#160;pinecone&#160;|&#160;postgres&#160;|&#160;presto&#160;|&#160;qdrant&#160;|&#160;redis&#160;
 [...]
diff --git 
a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt 
b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
index c536c3906c..4402f49b86 100644
--- a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
+++ b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
@@ -1 +1 @@
-2d4b3d380270c5e6db73a2b51fd7d6b8
+08d9f4a5900b0db8f5ba575c3df75d09
diff --git a/docs/apache-airflow-providers-tabular/changelog.rst 
b/docs/apache-airflow-providers-apache-iceberg/changelog.rst
similarity index 94%
copy from docs/apache-airflow-providers-tabular/changelog.rst
copy to docs/apache-airflow-providers-apache-iceberg/changelog.rst
index d408c1afe1..daefe9612e 100644
--- a/docs/apache-airflow-providers-tabular/changelog.rst
+++ b/docs/apache-airflow-providers-apache-iceberg/changelog.rst
@@ -22,4 +22,4 @@
  ..  IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
      `PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
 
-.. include:: ../../airflow/providers/tabular/CHANGELOG.rst
+.. include:: ../../airflow/providers/apache/iceberg/CHANGELOG.rst
diff --git a/docs/apache-airflow-providers-tabular/changelog.rst 
b/docs/apache-airflow-providers-apache-iceberg/commits.rst
similarity index 53%
copy from docs/apache-airflow-providers-tabular/changelog.rst
copy to docs/apache-airflow-providers-apache-iceberg/commits.rst
index d408c1afe1..e9d4dc1a58 100644
--- a/docs/apache-airflow-providers-tabular/changelog.rst
+++ b/docs/apache-airflow-providers-apache-iceberg/commits.rst
@@ -16,10 +16,20 @@
     specific language governing permissions and limitations
     under the License.
 
- ..  NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
-     OVERWRITTEN WHEN PREPARING PACKAGES.
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
+    OVERWRITTEN WHEN PREPARING PACKAGES.
 
- ..  IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
-     `PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+ .. IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+    `PROVIDER_COMMITS_TEMPLATE.rst.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
 
-.. include:: ../../airflow/providers/tabular/CHANGELOG.rst
+ .. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE 
OVERWRITTEN AT RELEASE TIME!
+
+Package apache-airflow-providers-apache-iceberg
+------------------------------------------------------
+`Iceberg <https://iceberg.apache.org/>`__
+
+`Tabular <https://tabular.io/>`__
+
+
+This is detailed commit list of changes for versions provider package: 
``iceberg``.
+For high-level changelog, see :doc:`package information including changelog 
<index>`.
diff --git a/docs/apache-airflow-providers-apache-iceberg/connections.rst 
b/docs/apache-airflow-providers-apache-iceberg/connections.rst
new file mode 100644
index 0000000000..198296cfcb
--- /dev/null
+++ b/docs/apache-airflow-providers-apache-iceberg/connections.rst
@@ -0,0 +1,42 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+.. _howto/connection:iceberg:
+
+Connecting to Iceberg
+=====================
+
+The Iceberg connection type enables connecting to an Iceberg REST catalog to 
request a short-lived token to access the Apache Iceberg tables. This token can 
be injected as an environment variable, to be used with Trino, Spark, Flink, or 
your favorite query engine that supports Apache Iceberg.
+
+After installing the Iceberg provider in your Airflow environment, the 
corresponding connection type of ``iceberg`` will be made available.
+
+Default Connection IDs
+----------------------
+
+Iceberg Hook uses the parameter ``iceberg_conn_id`` for Connection IDs and the 
value of the parameter as ``iceberg_default`` by default. You can create 
multiple connections in case you want to switch between environments.
+
+Configuring the Connection
+--------------------------
+
+Client ID
+    The OAuth2 Client ID
+
+Client Secret
+    The OAuth2 Client Secret
+
+Host
+    Sets the URL to the Tabular environment. By default 
`https://api.tabulardata.io/ws/v1`
diff --git a/docs/apache-airflow-providers-tabular/index.rst 
b/docs/apache-airflow-providers-apache-iceberg/index.rst
similarity index 72%
copy from docs/apache-airflow-providers-tabular/index.rst
copy to docs/apache-airflow-providers-apache-iceberg/index.rst
index eec1dbd525..1af7e1d263 100644
--- a/docs/apache-airflow-providers-tabular/index.rst
+++ b/docs/apache-airflow-providers-apache-iceberg/index.rst
@@ -16,8 +16,8 @@
     specific language governing permissions and limitations
     under the License.
 
-``apache-airflow-providers-tabular``
-====================================
+``apache-airflow-providers-apache-iceberg``
+===========================================
 
 
 .. toctree::
@@ -41,17 +41,19 @@
     :maxdepth: 1
     :caption: System tests
 
-    System Tests <_api/tests/system/providers/tabular/index>
+    System Tests <_api/tests/system/providers/apache/iceberg/index>
+
 
 .. toctree::
     :hidden:
     :maxdepth: 1
     :caption: Resources
 
-    Example DAGs 
<https://github.com/apache/airflow/tree/providers-tabular/|version|/tests/system/providers/tabular>
-    PyPI Repository 
<https://pypi.org/project/apache-airflow-providers-tabular/>
+    Example DAGs 
<https://github.com/apache/airflow/tree/providers-apahce-iceberg/|version|/tests/system/providers/apache/iceberg>
+    PyPI Repository 
<https://pypi.org/project/apache-airflow-providers-apache-iceberg/>
     Installing from sources <installing-providers-from-sources>
-    Python API <_api/airflow/providers/tabular/index>
+    Python API <_api/airflow/providers/apache/iceberg/index>
+
 
 
 .. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE 
OVERWRITTEN AT RELEASE TIME!
@@ -65,34 +67,35 @@
     Detailed list of commits <commits>
 
 
-apache-airflow-providers-tabular package
+Package apache-airflow-providers-apache-iceberg
 ------------------------------------------------------
+`Iceberg <https://iceberg.apache.org/>`__
 
 `Tabular <https://tabular.io/>`__
 
 
-Release: 1.5.0
+Release: 1.0.0
 
 Provider package
 ----------------
 
-This package is for the ``tabular`` provider.
-All classes for this package are included in the ``airflow.providers.tabular`` 
python package.
+This is a provider package for ``apache.iceberg`` provider. All classes for 
this provider package
+are in ``airflow.providers.apache.iceberg`` python package.
 
 Installation
 ------------
 
-You can install this package on top of an existing Airflow 2 installation via
-``pip install apache-airflow-providers-tabular``.
-For the minimum Airflow version supported, see ``Requirements`` below.
+You can install this package on top of an existing Airflow 2 installation (see 
``Requirements`` below)
+for the minimum Airflow version supported via
+``pip install apache-airflow-providers-apache-iceberg``
 
 Requirements
 ------------
 
-The minimum Apache Airflow version supported by this provider package is 
``2.7.0``.
+The minimum Apache Airflow version supported by this provider package is 
``2.6.0``.
 
 ==================  ==================
 PIP package         Version required
 ==================  ==================
-``apache-airflow``  ``>=2.7.0``
+``apache-airflow``  ``>=2.6.0``
 ==================  ==================
diff --git a/docs/apache-airflow-providers-tabular/changelog.rst 
b/docs/apache-airflow-providers-apache-iceberg/installing-providers-from-sources.rst
similarity index 70%
copy from docs/apache-airflow-providers-tabular/changelog.rst
copy to 
docs/apache-airflow-providers-apache-iceberg/installing-providers-from-sources.rst
index d408c1afe1..b4e730f4ff 100644
--- a/docs/apache-airflow-providers-tabular/changelog.rst
+++ 
b/docs/apache-airflow-providers-apache-iceberg/installing-providers-from-sources.rst
@@ -1,4 +1,3 @@
-
  .. Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
@@ -16,10 +15,4 @@
     specific language governing permissions and limitations
     under the License.
 
- ..  NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
-     OVERWRITTEN WHEN PREPARING PACKAGES.
-
- ..  IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
-     `PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
-
-.. include:: ../../airflow/providers/tabular/CHANGELOG.rst
+.. include:: ../exts/includes/installing-providers-from-sources.rst
diff --git a/docs/apache-airflow-providers-tabular/changelog.rst 
b/docs/apache-airflow-providers-apache-iceberg/security.rst
similarity index 70%
copy from docs/apache-airflow-providers-tabular/changelog.rst
copy to docs/apache-airflow-providers-apache-iceberg/security.rst
index d408c1afe1..afa13dac6f 100644
--- a/docs/apache-airflow-providers-tabular/changelog.rst
+++ b/docs/apache-airflow-providers-apache-iceberg/security.rst
@@ -1,4 +1,3 @@
-
  .. Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
@@ -16,10 +15,4 @@
     specific language governing permissions and limitations
     under the License.
 
- ..  NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
-     OVERWRITTEN WHEN PREPARING PACKAGES.
-
- ..  IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
-     `PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2` IN the 
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
-
-.. include:: ../../airflow/providers/tabular/CHANGELOG.rst
+.. include:: ../exts/includes/security.rst
diff --git a/docs/apache-airflow-providers-tabular/changelog.rst 
b/docs/apache-airflow-providers-tabular/changelog.rst
index d408c1afe1..f2c07dc1e3 100644
--- a/docs/apache-airflow-providers-tabular/changelog.rst
+++ b/docs/apache-airflow-providers-tabular/changelog.rst
@@ -1,4 +1,3 @@
-
  .. Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
diff --git a/docs/apache-airflow-providers-tabular/index.rst 
b/docs/apache-airflow-providers-tabular/index.rst
index eec1dbd525..47153a4b19 100644
--- a/docs/apache-airflow-providers-tabular/index.rst
+++ b/docs/apache-airflow-providers-tabular/index.rst
@@ -36,13 +36,6 @@
 
     Connection types <connections>
 
-.. toctree::
-    :hidden:
-    :maxdepth: 1
-    :caption: System tests
-
-    System Tests <_api/tests/system/providers/tabular/index>
-
 .. toctree::
     :hidden:
     :maxdepth: 1
@@ -65,7 +58,7 @@
     Detailed list of commits <commits>
 
 
-apache-airflow-providers-tabular package
+Package apache-airflow-providers-tabular
 ------------------------------------------------------
 
 `Tabular <https://tabular.io/>`__
@@ -76,23 +69,25 @@ Release: 1.5.0
 Provider package
 ----------------
 
-This package is for the ``tabular`` provider.
-All classes for this package are included in the ``airflow.providers.tabular`` 
python package.
+This provider is deprecated. Please use ``apache.iceberg`` provider.
+
+This is a provider package for ``tabular`` provider. All classes for this 
provider package
+are in ``airflow.providers.tabular`` python package.
 
 Installation
 ------------
 
-You can install this package on top of an existing Airflow 2 installation via
-``pip install apache-airflow-providers-tabular``.
-For the minimum Airflow version supported, see ``Requirements`` below.
+You can install this package on top of an existing Airflow 2 installation (see 
``Requirements`` below)
+for the minimum Airflow version supported) via
+``pip install apache-airflow-providers-tabular``
 
 Requirements
 ------------
 
-The minimum Apache Airflow version supported by this provider package is 
``2.7.0``.
+The minimum Apache Airflow version supported by this provider package is 
``2.6.0``.
 
 ==================  ==================
 PIP package         Version required
 ==================  ==================
-``apache-airflow``  ``>=2.7.0``
+``apache-airflow``  ``>=2.6.0``
 ==================  ==================
diff --git a/docs/apache-airflow/extra-packages-ref.rst 
b/docs/apache-airflow/extra-packages-ref.rst
index f16fa90884..135f26ab21 100644
--- a/docs/apache-airflow/extra-packages-ref.rst
+++ b/docs/apache-airflow/extra-packages-ref.rst
@@ -143,6 +143,8 @@ custom bash/python providers).
 
+---------------------+-----------------------------------------------------+------------------------------------------------+
 | apache-hive         | ``pip install 'apache-airflow[apache-hive]'``       | 
All Hive related operators                     |
 
+---------------------+-----------------------------------------------------+------------------------------------------------+
+| apache-iceberg      | ``pip install 'apache-airflow[apache-iceberg]'``    | 
Apache Iceberg hooks                           |
++---------------------+-----------------------------------------------------+------------------------------------------------+
 | apache-impala       | ``pip install 'apache-airflow[apache-impala]'``     | 
All Impala related operators & hooks           |
 
+---------------------+-----------------------------------------------------+------------------------------------------------+
 | apache-kafka        | ``pip install 'apache-airflow[apache-kafka]'``      | 
All Kafka related operators & hooks            |
diff --git a/docs/integration-logos/iceberg/iceberg.png 
b/docs/integration-logos/iceberg/iceberg.png
new file mode 100644
index 0000000000..82f18a2ef1
Binary files /dev/null and b/docs/integration-logos/iceberg/iceberg.png differ
diff --git a/generated/provider_dependencies.json 
b/generated/provider_dependencies.json
index c1d3842142..a198682f77 100644
--- a/generated/provider_dependencies.json
+++ b/generated/provider_dependencies.json
@@ -166,6 +166,17 @@
     "excluded-python-versions": [],
     "state": "ready"
   },
+  "apache.iceberg": {
+    "deps": [
+      "apache-airflow>=2.7.0"
+    ],
+    "devel-deps": [
+      "pyiceberg>=0.5.0"
+    ],
+    "cross-providers-deps": [],
+    "excluded-python-versions": [],
+    "state": "ready"
+  },
   "apache.impala": {
     "deps": [
       "apache-airflow>=2.7.0",
@@ -1108,12 +1119,15 @@
   },
   "tabular": {
     "deps": [
+      "apache-airflow-providers-apache-iceberg",
       "apache-airflow>=2.7.0"
     ],
     "devel-deps": [
       "pyiceberg>=0.5.0"
     ],
-    "cross-providers-deps": [],
+    "cross-providers-deps": [
+      "apache.iceberg"
+    ],
     "excluded-python-versions": [],
     "state": "ready"
   },
diff --git a/pyproject.toml b/pyproject.toml
index 4e878884ff..f502d11b44 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -132,8 +132,8 @@ dynamic = ["version", "optional-dependencies", 
"dependencies"]
 # START PROVIDER EXTRAS HERE
 #
 # airbyte, alibaba, amazon, apache.beam, apache.cassandra, apache.drill, 
apache.druid, apache.flink,
-# apache.hdfs, apache.hive, apache.impala, apache.kafka, apache.kylin, 
apache.livy, apache.pig,
-# apache.pinot, apache.spark, apprise, arangodb, asana, atlassian.jira, 
celery, cloudant,
+# apache.hdfs, apache.hive, apache.iceberg, apache.impala, apache.kafka, 
apache.kylin, apache.livy,
+# apache.pig, apache.pinot, apache.spark, apprise, arangodb, asana, 
atlassian.jira, celery, cloudant,
 # cncf.kubernetes, cohere, common.io, common.sql, databricks, datadog, 
dbt.cloud, dingding, discord,
 # docker, elasticsearch, exasol, fab, facebook, ftp, github, google, grpc, 
hashicorp, http, imap,
 # influxdb, jdbc, jenkins, microsoft.azure, microsoft.mssql, microsoft.psrp, 
microsoft.winrm, mongo,
diff --git a/scripts/in_container/run_provider_yaml_files_check.py 
b/scripts/in_container/run_provider_yaml_files_check.py
index 29ef9812aa..f706d6abf5 100755
--- a/scripts/in_container/run_provider_yaml_files_check.py
+++ b/scripts/in_container/run_provider_yaml_files_check.py
@@ -50,6 +50,7 @@ DEPRECATED_MODULES = [
     "airflow.providers.apache.hdfs.hooks.hdfs",
     "airflow.providers.cncf.kubernetes.triggers.kubernetes_pod",
     "airflow.providers.cncf.kubernetes.operators.kubernetes_pod",
+    "airflow.providers.tabular.hooks.tabular",
 ]
 
 KNOWN_DEPRECATED_CLASSES = [
diff --git a/tests/always/test_project_structure.py 
b/tests/always/test_project_structure.py
index 12ca64a28d..e8b7d9c4c0 100644
--- a/tests/always/test_project_structure.py
+++ b/tests/always/test_project_structure.py
@@ -159,6 +159,7 @@ class TestProjectStructure:
             "tests/providers/redis/sensors/test_redis_key.py",
             "tests/providers/slack/notifications/test_slack_notifier.py",
             "tests/providers/snowflake/triggers/test_snowflake_trigger.py",
+            "tests/providers/tabular/hooks/test_tabular.py",
         ]
 
         # TODO: Should we extend this test to cover other directories?
diff --git a/tests/providers/tabular/__init__.py 
b/tests/providers/apache/iceberg/__init__.py
similarity index 100%
rename from tests/providers/tabular/__init__.py
rename to tests/providers/apache/iceberg/__init__.py
diff --git a/tests/providers/tabular/hooks/__init__.py 
b/tests/providers/apache/iceberg/hooks/__init__.py
similarity index 100%
rename from tests/providers/tabular/hooks/__init__.py
rename to tests/providers/apache/iceberg/hooks/__init__.py
diff --git a/tests/providers/tabular/hooks/test_tabular.py 
b/tests/providers/apache/iceberg/hooks/test_iceberg.py
similarity index 86%
rename from tests/providers/tabular/hooks/test_tabular.py
rename to tests/providers/apache/iceberg/hooks/test_iceberg.py
index edebc6eaf2..2c57838d0a 100644
--- a/tests/providers/tabular/hooks/test_tabular.py
+++ b/tests/providers/apache/iceberg/hooks/test_iceberg.py
@@ -20,16 +20,16 @@ from __future__ import annotations
 import pytest
 import requests_mock
 
-from airflow.providers.tabular.hooks.tabular import TabularHook
+from airflow.providers.apache.iceberg.hooks.iceberg import IcebergHook
 
 pytestmark = pytest.mark.db_test
 
 
-def test_tabular_hook():
+def test_iceberg_hook():
     access_token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSU"
     with requests_mock.Mocker() as m:
         m.post(
-            "https://api.tabulardata.io/ws/v1/oauth/tokens";,
+            "https://api.iceberg.io/ws/v1/oauth/tokens";,
             json={
                 "access_token": access_token,
                 "token_type": "Bearer",
@@ -39,4 +39,4 @@ def test_tabular_hook():
                 "catalog_url": 
"warehouses/fadc4c31-e81f-48cd-9ce8-64cd5ce3fa5d",
             },
         )
-        assert TabularHook().get_conn() == access_token
+        assert IcebergHook().get_conn() == access_token
diff --git a/airflow/providers/tabular/hooks/__init__.py 
b/tests/system/providers/apache/iceberg/__init__.py
similarity index 100%
copy from airflow/providers/tabular/hooks/__init__.py
copy to tests/system/providers/apache/iceberg/__init__.py
diff --git a/tests/system/providers/tabular/example_tabular.py 
b/tests/system/providers/apache/iceberg/example_iceberg.py
similarity index 86%
rename from tests/system/providers/tabular/example_tabular.py
rename to tests/system/providers/apache/iceberg/example_iceberg.py
index 01c9a8b5ff..0318a8e22b 100644
--- a/tests/system/providers/tabular/example_tabular.py
+++ b/tests/system/providers/apache/iceberg/example_iceberg.py
@@ -20,16 +20,16 @@ from datetime import datetime, timedelta
 
 from airflow import DAG
 from airflow.operators.bash import BashOperator
-from airflow.providers.tabular.hooks.tabular import TabularHook
+from airflow.providers.apache.iceberg.hooks.iceberg import IcebergHook
 
 bash_command = f"""
-echo "Our token: {TabularHook().get_token_macro()}"
+echo "Our token: {IcebergHook().get_token_macro()}"
 echo "Also as an environment variable:"
 env | grep TOKEN
 """
 
 with DAG(
-    "tabular_example",
+    "iceberg_example",
     default_args={
         "owner": "airflow",
         "depends_on_past": False,
@@ -43,9 +43,9 @@ with DAG(
 ) as dag:
     # This also works for the SparkSubmit operator
     BashOperator(
-        task_id="with_tabular_environment_variable",
+        task_id="with_iceberg_environment_variable",
         bash_command=bash_command,
-        env={"TOKEN": TabularHook().get_token_macro()},
+        env={"TOKEN": IcebergHook().get_token_macro()},
     )
 
 

Reply via email to