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

potiuk pushed a commit to branch v2-8-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v2-8-test by this push:
     new ba4d9ff307 Synchronize missing changes in breeze with main and 
regenerate images
ba4d9ff307 is described below

commit ba4d9ff307e77730fc8310f3acc2569557ed0bf3
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Mon Feb 19 13:33:18 2024 +0100

    Synchronize missing changes in breeze with main and regenerate images
---
 dev/breeze/doc/images/output-commands.svg          |  2 +-
 ...release-management_verify-provider-packages.svg | 94 ++++++++++++----------
 ...release-management_verify-provider-packages.txt |  2 +-
 dev/breeze/doc/images/output_shell.svg             |  2 +-
 dev/breeze/doc/images/output_shell.txt             |  2 +-
 dev/breeze/doc/images/output_start-airflow.svg     |  2 +-
 dev/breeze/doc/images/output_start-airflow.txt     |  2 +-
 dev/breeze/doc/images/output_static-checks.svg     | 48 +++++------
 dev/breeze/doc/images/output_static-checks.txt     |  2 +-
 .../images/output_testing_integration-tests.svg    |  2 +-
 .../images/output_testing_integration-tests.txt    |  2 +-
 dev/breeze/doc/images/output_testing_tests.svg     |  2 +-
 dev/breeze/doc/images/output_testing_tests.txt     |  2 +-
 dev/breeze/src/airflow_breeze/breeze.py            |  2 -
 .../src/airflow_breeze/commands/ci_commands.py     |  2 +
 .../airflow_breeze/commands/ci_image_commands.py   |  2 +-
 .../common_package_installation_options.py         |  8 ++
 .../airflow_breeze/commands/developer_commands.py  |  6 +-
 .../commands/production_image_commands.py          |  2 +-
 .../commands/release_candidate_command.py          | 28 +------
 .../commands/release_management_commands.py        | 27 ++++---
 .../commands/release_management_commands_config.py |  1 +
 dev/breeze/src/airflow_breeze/global_constants.py  | 12 +--
 .../src/airflow_breeze/params/shell_params.py      |  2 +
 dev/breeze/src/airflow_breeze/pre_commit_ids.py    |  2 +-
 .../prepare_providers/provider_documentation.py    |  6 +-
 .../prepare_providers/provider_packages.py         |  6 +-
 .../airflow_breeze/utils/docker_command_utils.py   |  1 +
 dev/breeze/src/airflow_breeze/utils/packages.py    |  4 +-
 .../src/airflow_breeze/utils/reproducible.py       |  2 +
 dev/breeze/src/airflow_breeze/utils/run_utils.py   | 24 ------
 .../src/airflow_breeze/utils/selective_checks.py   |  2 -
 32 files changed, 139 insertions(+), 164 deletions(-)

diff --git a/dev/breeze/doc/images/output-commands.svg 
b/dev/breeze/doc/images/output-commands.svg
index 8e899c8251..6d9a4f3c73 100644
--- a/dev/breeze/doc/images/output-commands.svg
+++ b/dev/breeze/doc/images/output-commands.svg
@@ -288,7 +288,7 @@
 </text><text class="breeze-help-r5" x="0" y="166.4" textLength="12.2" 
clip-path="url(#breeze-help-line-6)">│</text><text class="breeze-help-r5" 
x="414.8" y="166.4" textLength="732" 
clip-path="url(#breeze-help-line-6)">[default:&#160;3.8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-help-r5" x="0" y="190.8" textLength="12.2" 
clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r4" 
x="24.4" y="190.8" textLength="12.2" 
clip-path="url(#breeze-help-line-7)">-</text><text class="breeze-help-r4" 
x="36.6" y="190.8" textLength="146.4" 
clip-path="url(#breeze-help-line-7)">-integration</text><text 
class="breeze-help-r1" x="414.8" y="190.8" textLength="1024.8" 
clip-path="url(#breeze-help-line-7)">Integration(s)&#160;to&#160;enable&#1 [...]
 </text><text class="breeze-help-r5" x="0" y="215.2" textLength="12.2" 
clip-path="url(#breeze-help-line-8)">│</text><text class="breeze-help-r7" 
x="414.8" y="215.2" textLength="1024.8" 
clip-path="url(#breeze-help-line-8)">(all&#160;|&#160;all-testable&#160;|&#160;cassandra&#160;|&#160;celery&#160;|&#160;kafka&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;openlineage&#160;|&#160;</text><text
 class="breeze-help-r5" x="1451.8" y="215.2" textLength="12.2" 
clip-path="url(#breeze-help-line [...]
-</text><text class="breeze-help-r5" x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-help-line-9)">│</text><text class="breeze-help-r7" 
x="414.8" y="239.6" textLength="1024.8" 
clip-path="url(#breeze-help-line-9)">otel&#160;|&#160;pinot&#160;|&#160;statsd&#160;|&#160;trino)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-help-r5" x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-help-line-9)">│</text><text class="breeze-help-r7" 
x="414.8" y="239.6" textLength="1024.8" 
clip-path="url(#breeze-help-line-9)">otel&#160;|&#160;pinot&#160;|&#160;qdrant&#160;|&#160;statsd&#160;|&#160;trino)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-help-r5" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-help-line-10)">│</text><text class="breeze-help-r4" 
x="24.4" y="264" textLength="12.2" 
clip-path="url(#breeze-help-line-10)">-</text><text class="breeze-help-r4" 
x="36.6" y="264" textLength="134.2" 
clip-path="url(#breeze-help-line-10)">-standalone</text><text 
class="breeze-help-r4" x="170.8" y="264" textLength="170.8" 
clip-path="url(#breeze-help-line-10)">-dag-processor</text><text 
class="breeze-he [...]
 </text><text class="breeze-help-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r4" 
x="24.4" y="288.4" textLength="12.2" 
clip-path="url(#breeze-help-line-11)">-</text><text class="breeze-help-r4" 
x="36.6" y="288.4" textLength="109.8" 
clip-path="url(#breeze-help-line-11)">-database</text><text 
class="breeze-help-r4" x="146.4" y="288.4" textLength="122" 
clip-path="url(#breeze-help-line-11)">-isolation</text><text class="breeze-he 
[...]
 </text><text class="breeze-help-r5" x="0" y="312.8" textLength="1464" 
clip-path="url(#breeze-help-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-help-r1" x="1464" y="312.8" textLength="12.2" 
clip-path="url(#breeze-help-line-12)">
diff --git 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg
index 71011b5580..85e55ff94d 100644
--- 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg
+++ 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1343.1999999999998" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 1416.3999999999999" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath 
id="breeze-release-management-verify-provider-packages-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1292.1999999999998" />
+      <rect x="0" y="0" width="1463.0" height="1365.3999999999999" />
     </clipPath>
     <clipPath id="breeze-release-management-verify-provider-packages-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -201,9 +201,18 @@
 <clipPath id="breeze-release-management-verify-provider-packages-line-51">
     <rect x="0" y="1245.9" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-verify-provider-packages-line-52">
+    <rect x="0" y="1270.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-verify-provider-packages-line-53">
+    <rect x="0" y="1294.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-verify-provider-packages-line-54">
+    <rect x="0" y="1319.1" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="1341.2" rx="8"/><text 
class="breeze-release-management-verify-provider-packages-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;verify-provider-packages</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="1414.4" rx="8"/><text 
class="breeze-release-management-verify-provider-packages-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;verify-provider-packages</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -228,44 +237,47 @@
 </text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-12)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-12)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="312.8" textLength="85.4" cli [...]
 </text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="337.2" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-13)">
 </text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="361.6" textLength="24.4" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-14)">╭─</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="24.4" 
y="361.6" textLength="512.4" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-14)">&#160;Installing&#160;packages&#160;after&#160;entering&#160;shell&#160;</text><text
 class="breeze-release-managem [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="386" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="386" 
textLength="97.6" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="410.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="410.4" textLength="902.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="434.8" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="459.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="459.2" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text
 class="bre [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="483.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="475.8" 
y="483.6" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="508" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="508" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="508" 
textLength="97.6" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="532.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="532.4" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">constraints&#160;URL).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="556.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="556.8" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="581.2" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="605.6" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="630" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="630" 
textLength="97.6" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="475.8" 
y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="488" 
y="654.4" textLength="48.8" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="678.8" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="703.2" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="475.8" 
y="727.6" textLength="658.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">[default:&#160;wheel]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="752" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="752" 
textLength="122" clip-path= [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="776.4" textLength="927.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="800.8" textLength="122" clip [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="825.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="825.2" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text
 class="bre [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="475.8" 
y="849.6" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="874" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="874" 
textLength="122" clip-path= [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="898.4" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">constraints&#160;URL).&#160;Can&#160;be&#160;&#x27;default&#x27;&#160;in&#160;which&#160;case&#160;the&#160;defaul
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="922.8" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">constraints-reference&#160;is&#160;used.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="947.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="947.2" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="971.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="971.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="971.6" textLength="122" clip [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="996" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="996" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="996" 
textLength="48.8" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1020.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="1020.4" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#16
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="1044.8" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">or&#160;VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).</t
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1069.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="1069.2" textLength="97.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">Implies&#160;</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="573.4" 
y="1069.2" text [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1093.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="1093.6" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1118" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1118" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1118" textLength="48.8" clip-p [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1142.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="1142.4" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">folder&#160;when&#160;entering&#160;breeze.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1166.8" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="1166.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1191.2" textLength="24.4" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">╭─</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="24.4" 
y="1191.2" textLength="195.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="219 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1215.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1215.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1215.6" textLength="48.8"  [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1240" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1240" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1240" textLength="97.6" clip-p [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1264.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1264.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1264.4" textLength="61" cl [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1288.8" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="1288.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="386" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="386" 
textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="410.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="410.4" textLength="902.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="434.8" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="459.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="459.2" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text
 class="breez [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="483.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="488" 
y="483.6" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="508" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="508" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="508" 
textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="532.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="532.4" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">constraints&#160;URL).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="556.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="556.8" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="581.2" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="605.6" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="630" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="630" 
textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="654.4" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">or&#160;airflow&#160;version.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="678.8" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="488" 
y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="500.2" 
y="703.2" textLength="48.8" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="727.6" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="752" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="752" 
textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="488" 
y="776.4" textLength="658.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">[default:&#160;wheel]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="800.8" textLength="122" clip [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="825.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="825.2" textLength="927.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="849.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="849.6" textLength="122" clip [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" y="874" 
textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text
 class="breeze-re [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="488" 
y="898.4" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="922.8" textLength="122" clip [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="947.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="947.2" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">constraints&#160;URL).&#160;Can&#160;be&#160;&#x27;default&#x27;&#160;in&#160;which&#160;case&#160;the&#160;default&
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="971.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="971.6" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">constraints-reference&#160;is&#160;used.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="996" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" y="996" 
textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">(TEXT)&#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-verify-provider-packages-r5" 
x="0" y="1020.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1020.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1020.4" textLength="122" c [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1044.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1044.8" textLength="48.8"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1069.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="1069.2" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#160;
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1093.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="1093.6" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">or&#160;VCS&#160;URL&#160;to&#160;install&#160;from&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1118" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" y="1118" 
textLength="744.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">(https://pip.pypa.io/en/stable/topics/vcs-support/).&#160;Implies&#160;</text><text
 class="breeze-release-management-v [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1142.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="1142.4" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">`remove`.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1166.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="1166.8" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1191.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1191.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1191.2" textLength="48.8"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1215.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="1215.6" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">folder&#160;when&#160;entering&#160;breeze.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1240" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="1240" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1264.4" textLength="24.4" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">╭─</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="24.4" 
y="1264.4" textLength="195.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="219 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1288.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1288.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1288.8" textLength="48.8"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1313.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-53)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1313.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-53)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1313.2" textLength="97.6"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1337.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-54)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1337.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-54)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1337.6" textLength="61" cl [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1362" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-55)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="1362" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-55)">
 </text>
     </g>
     </g>
diff --git 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
index 4d34c31928..291f5e80ba 100644
--- 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
+++ 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
@@ -1 +1 @@
-fbada2db7324ba53ba7a30c7b75bbda2
+7242dbb1309e32f1bb5f606da8c62ed1
diff --git a/dev/breeze/doc/images/output_shell.svg 
b/dev/breeze/doc/images/output_shell.svg
index 3e267c31be..4ddf9a5070 100644
--- a/dev/breeze/doc/images/output_shell.svg
+++ b/dev/breeze/doc/images/output_shell.svg
@@ -437,7 +437,7 @@
 </text><text class="breeze-shell-r5" x="0" y="215.2" textLength="12.2" 
clip-path="url(#breeze-shell-line-8)">│</text><text class="breeze-shell-r5" 
x="414.8" y="215.2" textLength="732" 
clip-path="url(#breeze-shell-line-8)">[default:&#160;3.8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-shell-r5" x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-shell-line-9)">│</text><text class="breeze-shell-r4" 
x="24.4" y="239.6" textLength="12.2" 
clip-path="url(#breeze-shell-line-9)">-</text><text class="breeze-shell-r4" 
x="36.6" y="239.6" textLength="146.4" 
clip-path="url(#breeze-shell-line-9)">-integration</text><text 
class="breeze-shell-r1" x="414.8" y="239.6" textLength="1024.8" 
clip-path="url(#breeze-shell-line-9)">Integration(s)&#160;to&#160;e [...]
 </text><text class="breeze-shell-r5" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-shell-line-10)">│</text><text class="breeze-shell-r7" 
x="414.8" y="264" textLength="1024.8" 
clip-path="url(#breeze-shell-line-10)">(all&#160;|&#160;all-testable&#160;|&#160;cassandra&#160;|&#160;celery&#160;|&#160;kafka&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;openlineage&#160;|&#160;</text><text
 class="breeze-shell-r5" x="1451.8" y="264" textLength="12.2" 
clip-path="url(#breeze-shell-li [...]
-</text><text class="breeze-shell-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-shell-line-11)">│</text><text class="breeze-shell-r7" 
x="414.8" y="288.4" textLength="1024.8" 
clip-path="url(#breeze-shell-line-11)">otel&#160;|&#160;pinot&#160;|&#160;statsd&#160;|&#160;trino)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-shell-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-shell-line-11)">│</text><text class="breeze-shell-r7" 
x="414.8" y="288.4" textLength="1024.8" 
clip-path="url(#breeze-shell-line-11)">otel&#160;|&#160;pinot&#160;|&#160;qdrant&#160;|&#160;statsd&#160;|&#160;trino)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-shell-r5" x="0" y="312.8" textLength="12.2" 
clip-path="url(#breeze-shell-line-12)">│</text><text class="breeze-shell-r4" 
x="24.4" y="312.8" textLength="12.2" 
clip-path="url(#breeze-shell-line-12)">-</text><text class="breeze-shell-r4" 
x="36.6" y="312.8" textLength="134.2" 
clip-path="url(#breeze-shell-line-12)">-standalone</text><text 
class="breeze-shell-r4" x="170.8" y="312.8" textLength="170.8" 
clip-path="url(#breeze-shell-line-12)">-dag-processor</text><text  [...]
 </text><text class="breeze-shell-r5" x="0" y="337.2" textLength="12.2" 
clip-path="url(#breeze-shell-line-13)">│</text><text class="breeze-shell-r4" 
x="24.4" y="337.2" textLength="12.2" 
clip-path="url(#breeze-shell-line-13)">-</text><text class="breeze-shell-r4" 
x="36.6" y="337.2" textLength="109.8" 
clip-path="url(#breeze-shell-line-13)">-database</text><text 
class="breeze-shell-r4" x="146.4" y="337.2" textLength="122" 
clip-path="url(#breeze-shell-line-13)">-isolation</text><text class="b [...]
 </text><text class="breeze-shell-r5" x="0" y="361.6" textLength="1464" 
clip-path="url(#breeze-shell-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-shell-r1" x="1464" y="361.6" textLength="12.2" 
clip-path="url(#breeze-shell-line-14)">
diff --git a/dev/breeze/doc/images/output_shell.txt 
b/dev/breeze/doc/images/output_shell.txt
index 6d20efe12d..dcaf93939b 100644
--- a/dev/breeze/doc/images/output_shell.txt
+++ b/dev/breeze/doc/images/output_shell.txt
@@ -1 +1 @@
-bd15318a0ff034461180cd902116b6f6
+5f4d1393c5e0cacb22dab733041c84fb
diff --git a/dev/breeze/doc/images/output_start-airflow.svg 
b/dev/breeze/doc/images/output_start-airflow.svg
index 3b51a835f7..5ebb058873 100644
--- a/dev/breeze/doc/images/output_start-airflow.svg
+++ b/dev/breeze/doc/images/output_start-airflow.svg
@@ -391,7 +391,7 @@
 </text><text class="breeze-start-airflow-r5" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-10)">│</text><text 
class="breeze-start-airflow-r4" x="24.4" y="264" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-10)">-</text><text 
class="breeze-start-airflow-r4" x="36.6" y="264" textLength="109.8" 
clip-path="url(#breeze-start-airflow-line-10)">-platform</text><text 
class="breeze-start-airflow-r1" x="414.8" y="264" textLength="329.4" 
clip-path="url(#bree [...]
 </text><text class="breeze-start-airflow-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-11)">│</text><text 
class="breeze-start-airflow-r4" x="24.4" y="288.4" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-11)">-</text><text 
class="breeze-start-airflow-r4" x="36.6" y="288.4" textLength="146.4" 
clip-path="url(#breeze-start-airflow-line-11)">-integration</text><text 
class="breeze-start-airflow-r1" x="414.8" y="288.4" textLength="1024.8" 
clip-pat [...]
 </text><text class="breeze-start-airflow-r5" x="0" y="312.8" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-12)">│</text><text 
class="breeze-start-airflow-r7" x="414.8" y="312.8" textLength="1024.8" 
clip-path="url(#breeze-start-airflow-line-12)">(all&#160;|&#160;all-testable&#160;|&#160;cassandra&#160;|&#160;celery&#160;|&#160;kafka&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;openlineage&#160;|&#160;</text><text
 class="breeze-start-airflow-r5" x="1451.8" y="312.8" tex [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="337.2" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-13)">│</text><text 
class="breeze-start-airflow-r7" x="414.8" y="337.2" textLength="1024.8" 
clip-path="url(#breeze-start-airflow-line-13)">otel&#160;|&#160;pinot&#160;|&#160;statsd&#160;|&#160;trino)&#160;&#160;&#160;&#160;&#160;&#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-start-airflow-r5" x="0" y="337.2" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-13)">│</text><text 
class="breeze-start-airflow-r7" x="414.8" y="337.2" textLength="1024.8" 
clip-path="url(#breeze-start-airflow-line-13)">otel&#160;|&#160;pinot&#160;|&#160;qdrant&#160;|&#160;statsd&#160;|&#160;trino)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
 </text><text class="breeze-start-airflow-r5" x="0" y="361.6" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-14)">│</text><text 
class="breeze-start-airflow-r4" x="24.4" y="361.6" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-14)">-</text><text 
class="breeze-start-airflow-r4" x="36.6" y="361.6" textLength="134.2" 
clip-path="url(#breeze-start-airflow-line-14)">-standalone</text><text 
class="breeze-start-airflow-r4" x="170.8" y="361.6" textLength="170.8" 
clip-path= [...]
 </text><text class="breeze-start-airflow-r5" x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-15)">│</text><text 
class="breeze-start-airflow-r4" x="24.4" y="386" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-15)">-</text><text 
class="breeze-start-airflow-r4" x="36.6" y="386" textLength="109.8" 
clip-path="url(#breeze-start-airflow-line-15)">-database</text><text 
class="breeze-start-airflow-r4" x="146.4" y="386" textLength="122" 
clip-path="url(#breeze [...]
 </text><text class="breeze-start-airflow-r5" x="0" y="410.4" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-16)">│</text><text 
class="breeze-start-airflow-r4" x="24.4" y="410.4" textLength="12.2" 
clip-path="url(#breeze-start-airflow-line-16)">-</text><text 
class="breeze-start-airflow-r4" x="36.6" y="410.4" textLength="61" 
clip-path="url(#breeze-start-airflow-line-16)">-load</text><text 
class="breeze-start-airflow-r4" x="97.6" y="410.4" textLength="158.6" 
clip-path="url(#bree [...]
diff --git a/dev/breeze/doc/images/output_start-airflow.txt 
b/dev/breeze/doc/images/output_start-airflow.txt
index 05809aea01..2ec270a192 100644
--- a/dev/breeze/doc/images/output_start-airflow.txt
+++ b/dev/breeze/doc/images/output_start-airflow.txt
@@ -1 +1 @@
-449941f7e166f9051ce5156c19b8c70a
+7607f37d58b8d7557414e31142b24f38
diff --git a/dev/breeze/doc/images/output_static-checks.svg 
b/dev/breeze/doc/images/output_static-checks.svg
index d6794d8df3..3f2589fae4 100644
--- a/dev/breeze/doc/images/output_static-checks.svg
+++ b/dev/breeze/doc/images/output_static-checks.svg
@@ -319,30 +319,30 @@
 </text><text class="breeze-static-checks-r5" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-10)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="264" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-10)">check-base-operator-partial-arguments&#160;|&#160;check-base-operator-usage&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="264" textLeng [...]
 </text><text class="breeze-static-checks-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-11)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="288.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-11)">check-boring-cyborg-configuration&#160;|&#160;check-breeze-top-dependencies-limited&#160;|&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="288.4" textLength="12.2" 
clip-path="url(#breeze-s [...]
 </text><text class="breeze-static-checks-r5" x="0" y="312.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-12)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="312.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-12)">check-builtin-literals&#160;|&#160;check-changelog-has-no-duplicates&#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-static [...]
-</text><text class="breeze-static-checks-r5" x="0" y="337.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-13)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="337.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-13)">check-cncf-k8s-only-for-executors&#160;|&#160;check-common-sql-dependency-make-serializable</text><text
 class="breeze-static-checks-r5" x="1451.8" y="337.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-13)">│</text><tex [...]
-</text><text class="breeze-static-checks-r5" x="0" y="361.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-14)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="361.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-14)">|&#160;check-core-deprecation-classes&#160;|&#160;check-daysago-import-from-utils&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="361.6" te [...]
-</text><text class="breeze-static-checks-r5" x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-15)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="386" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-15)">check-decorated-operator-implements-custom-name&#160;|&#160;check-deferrable-default-value&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="386" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-15)">│</text><text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="410.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-16)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="410.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-16)">|&#160;check-docstring-param-types&#160;|&#160;check-example-dags-urls&#160;|&#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
  [...]
-</text><text class="breeze-static-checks-r5" x="0" y="434.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-17)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="434.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-17)">check-executables-have-shebangs&#160;|&#160;check-extra-packages-references&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="434.8" te [...]
-</text><text class="breeze-static-checks-r5" x="0" y="459.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-18)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="459.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-18)">check-extras-order&#160;|&#160;check-fab-migrations&#160;|&#160;check-for-inclusive-language&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="459.2" textLength="12.2" 
clip-path [...]
-</text><text class="breeze-static-checks-r5" x="0" y="483.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-19)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="483.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-19)">check-google-re2-as-dependency&#160;|&#160;check-hooks-apply&#160;|&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="508" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-20)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="508" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-20)">check-incorrect-use-of-LoggingMixin&#160;|&#160;check-init-decorator-arguments&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="508" textLength="12.2" clip- 
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="532.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-21)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="532.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-21)">check-integrations-list-consistent&#160;|&#160;check-lazy-logging&#160;|&#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 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="556.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-22)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="556.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-22)">check-links-to-example-dags-do-not-use-hardcoded-versions&#160;|&#160;check-merge-conflict&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="556.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-22)">│</text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="581.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-23)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="581.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-23)">|&#160;check-newsfragments-are-valid&#160;|&#160;check-no-airflow-deprecation-in-providers&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="581.2" textLength="12.2" 
clip-path="url(#breeze-static [...]
-</text><text class="breeze-static-checks-r5" x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-24)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="605.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-24)">check-no-providers-in-core-examples&#160;|&#160;check-no-relative-imports&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y= [...]
-</text><text class="breeze-static-checks-r5" x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-25)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="630" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-25)">check-only-new-session-with-provide-session&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-26)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="654.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-26)">check-persist-credentials-disabled-in-github-workflows&#160;|&#160;&#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="bre [...]
-</text><text class="breeze-static-checks-r5" x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-27)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="678.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-27)">check-pre-commit-information-consistent&#160;|&#160;check-provide-create-sessions-imports&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="678.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-27)">│</text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-28)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="703.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-28)">check-provider-docs-valid&#160;|&#160;check-provider-yaml-valid&#160;|&#160;&#160;&#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><text class="breeze-static-checks-r5" x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-29)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="727.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-29)">check-providers-init-file-missing&#160;|&#160;check-providers-subpackages-init-file-exist&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="727.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-29)">│</text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-30)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="752" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-30)">check-pydevd-left-in-code&#160;|&#160;check-pyproject-toml-order&#160;|&#160;check-revision-heads-map</text><text
 class="breeze-static-checks-r5" x="1451.8" y="752" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-30)">│</text> [...]
-</text><text class="breeze-static-checks-r5" x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-31)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="776.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-31)">|&#160;check-safe-filter-usage-in-html&#160;|&#160;check-start-date-not-used-in-defaults&#160;|&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="776.4" textLength="12.2" 
clip-path="url(#bre [...]
-</text><text class="breeze-static-checks-r5" x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-32)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="800.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-32)">check-system-tests-present&#160;|&#160;check-system-tests-tocs&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</t
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="825.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-33)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="825.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-33)">check-tests-unittest-testcase&#160;|&#160;check-urlparse-usage-in-code&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-34)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="849.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-34)">check-usage-of-re2-over-re&#160;|&#160;check-xml&#160;|&#160;codespell&#160;|&#160;compile-www-assets&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="849.6" textLength=" [...]
-</text><text class="breeze-static-checks-r5" x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-35)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="874" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-35)">compile-www-assets-dev&#160;|&#160;create-missing-init-py-files-tests&#160;|&#160;debug-statements&#160;|&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="874" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-35) [...]
-</text><text class="breeze-static-checks-r5" x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-36)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="898.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-36)">detect-private-key&#160;|&#160;doctoc&#160;|&#160;end-of-file-fixer&#160;|&#160;fix-encoding-pragma&#160;|&#160;flynt&#160;|&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="898.4" textLength="12.2" 
clip-path="url [...]
+</text><text class="breeze-static-checks-r5" x="0" y="337.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-13)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="337.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-13)">check-cncf-k8s-only-for-executors&#160;|&#160;check-core-deprecation-classes&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="337.2" textLen [...]
+</text><text class="breeze-static-checks-r5" x="0" y="361.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-14)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="361.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-14)">check-daysago-import-from-utils&#160;|&#160;check-decorated-operator-implements-custom-name</text><text
 class="breeze-static-checks-r5" x="1451.8" y="361.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-14)">│</text><tex [...]
+</text><text class="breeze-static-checks-r5" x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-15)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="386" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-15)">|&#160;check-deferrable-default-value&#160;|&#160;check-docstring-param-types&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="410.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-16)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="410.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-16)">check-example-dags-urls&#160;|&#160;check-executables-have-shebangs&#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-s [...]
+</text><text class="breeze-static-checks-r5" x="0" y="434.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-17)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="434.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-17)">check-extra-packages-references&#160;|&#160;check-extras-order&#160;|&#160;check-fab-migrations&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="434.8" textLength="12.2" 
clip-path="url(#breeze-s [...]
+</text><text class="breeze-static-checks-r5" x="0" y="459.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-18)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="459.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-18)">check-for-inclusive-language&#160;|&#160;check-google-re2-as-dependency&#160;|&#160;check-hooks-apply</text><text
 class="breeze-static-checks-r5" x="1451.8" y="459.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-18)">│< [...]
+</text><text class="breeze-static-checks-r5" x="0" y="483.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-19)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="483.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-19)">|&#160;check-incorrect-use-of-LoggingMixin&#160;|&#160;check-init-decorator-arguments&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="483.6" textLength="12.2" clip 
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="508" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-20)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="508" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-20)">check-integrations-list-consistent&#160;|&#160;check-lazy-logging&#160;|&#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="br [...]
+</text><text class="breeze-static-checks-r5" x="0" y="532.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-21)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="532.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-21)">check-links-to-example-dags-do-not-use-hardcoded-versions&#160;|&#160;check-merge-conflict&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="532.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-21)">│</text [...]
+</text><text class="breeze-static-checks-r5" x="0" y="556.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-22)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="556.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-22)">|&#160;check-newsfragments-are-valid&#160;|&#160;check-no-airflow-deprecation-in-providers&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="556.8" textLength="12.2" 
clip-path="url(#breeze-static [...]
+</text><text class="breeze-static-checks-r5" x="0" y="581.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-23)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="581.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-23)">check-no-providers-in-core-examples&#160;|&#160;check-no-relative-imports&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y= [...]
+</text><text class="breeze-static-checks-r5" x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-24)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="605.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-24)">check-only-new-session-with-provide-session&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-25)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="630" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-25)">check-persist-credentials-disabled-in-github-workflows&#160;|&#160;&#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- [...]
+</text><text class="breeze-static-checks-r5" x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-26)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="654.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-26)">check-pre-commit-information-consistent&#160;|&#160;check-provide-create-sessions-imports&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="654.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-26)">│</text [...]
+</text><text class="breeze-static-checks-r5" x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-27)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="678.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-27)">check-provider-docs-valid&#160;|&#160;check-provider-yaml-valid&#160;|&#160;&#160;&#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><text class="breeze-static-checks-r5" x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-28)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="703.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-28)">check-providers-init-file-missing&#160;|&#160;check-providers-subpackages-init-file-exist&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="703.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-28)">│</text [...]
+</text><text class="breeze-static-checks-r5" x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-29)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="727.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-29)">check-pydevd-left-in-code&#160;|&#160;check-pyproject-toml-order&#160;|&#160;check-revision-heads-map</text><text
 class="breeze-static-checks-r5" x="1451.8" y="727.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-29)">│< [...]
+</text><text class="breeze-static-checks-r5" x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-30)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="752" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-30)">|&#160;check-safe-filter-usage-in-html&#160;|&#160;check-sql-dependency-common-data-structure&#160;|&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="752" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-30)">│</ [...]
+</text><text class="breeze-static-checks-r5" x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-31)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="776.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-31)">check-start-date-not-used-in-defaults&#160;|&#160;check-system-tests-present&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="776.4" textLen [...]
+</text><text class="breeze-static-checks-r5" x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-32)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="800.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-32)">check-system-tests-tocs&#160;|&#160;check-tests-unittest-testcase&#160;|&#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 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="825.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-33)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="825.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-33)">check-urlparse-usage-in-code&#160;|&#160;check-usage-of-re2-over-re&#160;|&#160;check-xml&#160;|&#160;codespell</text><text
 class="breeze-static-checks-r5" x="1451.8" y="825.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-li [...]
+</text><text class="breeze-static-checks-r5" x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-34)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="849.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-34)">|&#160;compile-www-assets&#160;|&#160;compile-www-assets-dev&#160;|&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-35)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="874" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-35)">create-missing-init-py-files-tests&#160;|&#160;debug-statements&#160;|&#160;detect-private-key&#160;|&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="874" textLength="12.2" 
clip-path="url(#breeze-st [...]
+</text><text class="breeze-static-checks-r5" x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-36)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="898.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-36)">doctoc&#160;|&#160;end-of-file-fixer&#160;|&#160;fix-encoding-pragma&#160;|&#160;flynt&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</t
 [...]
 </text><text class="breeze-static-checks-r5" x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-37)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="922.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-37)">generate-airflow-diagrams&#160;|&#160;generate-pypi-readme&#160;|&#160;identity&#160;|&#160;insert-license&#160;|&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="922.8" textLength="12.2" 
clip-path="url(#bre [...]
 </text><text class="breeze-static-checks-r5" x="0" y="947.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-38)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="947.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-38)">lint-chart-schema&#160;|&#160;lint-css&#160;|&#160;lint-dockerfile&#160;|&#160;lint-helm-chart&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5 [...]
 </text><text class="breeze-static-checks-r5" x="0" y="971.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-39)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="971.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-39)">lint-json-schema&#160;|&#160;lint-markdown&#160;|&#160;lint-openapi&#160;|&#160;mixed-line-ending&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y= [...]
diff --git a/dev/breeze/doc/images/output_static-checks.txt 
b/dev/breeze/doc/images/output_static-checks.txt
index a7dd36aa26..ba25b77a7b 100644
--- a/dev/breeze/doc/images/output_static-checks.txt
+++ b/dev/breeze/doc/images/output_static-checks.txt
@@ -1 +1 @@
-bbf04d52f7c3ea80324f0db7be6ba6f7
+7e46c7934e10090428da0575daa12728
diff --git a/dev/breeze/doc/images/output_testing_integration-tests.svg 
b/dev/breeze/doc/images/output_testing_integration-tests.svg
index 34e5b23334..e786116ffc 100644
--- a/dev/breeze/doc/images/output_testing_integration-tests.svg
+++ b/dev/breeze/doc/images/output_testing_integration-tests.svg
@@ -200,7 +200,7 @@
 </text><text class="breeze-testing-integration-tests-r5" x="0" y="361.6" 
textLength="24.4" 
clip-path="url(#breeze-testing-integration-tests-line-14)">╭─</text><text 
class="breeze-testing-integration-tests-r5" x="24.4" y="361.6" 
textLength="219.6" 
clip-path="url(#breeze-testing-integration-tests-line-14)">&#160;Test&#160;environment&#160;</text><text
 class="breeze-testing-integration-tests-r5" x="244" y="361.6" 
textLength="1195.6" clip-path="url(#breeze-testing-integration-tests-line-14)" 
[...]
 </text><text class="breeze-testing-integration-tests-r5" x="0" y="386" 
textLength="12.2" 
clip-path="url(#breeze-testing-integration-tests-line-15)">│</text><text 
class="breeze-testing-integration-tests-r4" x="24.4" y="386" textLength="12.2" 
clip-path="url(#breeze-testing-integration-tests-line-15)">-</text><text 
class="breeze-testing-integration-tests-r4" x="36.6" y="386" textLength="146.4" 
clip-path="url(#breeze-testing-integration-tests-line-15)">-integration</text><text
 class="breeze- [...]
 </text><text class="breeze-testing-integration-tests-r5" x="0" y="410.4" 
textLength="12.2" 
clip-path="url(#breeze-testing-integration-tests-line-16)">│</text><text 
class="breeze-testing-integration-tests-r6" x="353.8" y="410.4" 
textLength="1085.8" 
clip-path="url(#breeze-testing-integration-tests-line-16)">(all&#160;|&#160;all-testable&#160;|&#160;cassandra&#160;|&#160;celery&#160;|&#160;kafka&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;openlineage&#160;|&#160;otel&#160;</text><tex
 [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="434.8" 
textLength="12.2" 
clip-path="url(#breeze-testing-integration-tests-line-17)">│</text><text 
class="breeze-testing-integration-tests-r6" x="353.8" y="434.8" 
textLength="1085.8" 
clip-path="url(#breeze-testing-integration-tests-line-17)">|&#160;pinot&#160;|&#160;statsd&#160;|&#160;trino)&#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-testing-integration-tests-r5" x="0" y="434.8" 
textLength="12.2" 
clip-path="url(#breeze-testing-integration-tests-line-17)">│</text><text 
class="breeze-testing-integration-tests-r6" x="353.8" y="434.8" 
textLength="1085.8" 
clip-path="url(#breeze-testing-integration-tests-line-17)">|&#160;pinot&#160;|&#160;qdrant&#160;|&#160;statsd&#160;|&#160;trino)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
 </text><text class="breeze-testing-integration-tests-r5" x="0" y="459.2" 
textLength="12.2" 
clip-path="url(#breeze-testing-integration-tests-line-18)">│</text><text 
class="breeze-testing-integration-tests-r4" x="24.4" y="459.2" 
textLength="12.2" 
clip-path="url(#breeze-testing-integration-tests-line-18)">-</text><text 
class="breeze-testing-integration-tests-r4" x="36.6" y="459.2" 
textLength="97.6" 
clip-path="url(#breeze-testing-integration-tests-line-18)">-backend</text><text 
class="breeze [...]
 </text><text class="breeze-testing-integration-tests-r5" x="0" y="483.6" 
textLength="12.2" 
clip-path="url(#breeze-testing-integration-tests-line-19)">│</text><text 
class="breeze-testing-integration-tests-r1" x="353.8" y="483.6" 
textLength="1085.8" 
clip-path="url(#breeze-testing-integration-tests-line-19)">configuration&#160;and&#160;no&#160;database&#160;and&#160;any&#160;attempts&#160;to&#160;connect&#160;to&#160;Airflow&#160;DB&#160;will&#160;fail.&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
 </text><text class="breeze-testing-integration-tests-r5" x="0" y="508" 
textLength="12.2" 
clip-path="url(#breeze-testing-integration-tests-line-20)">│</text><text 
class="breeze-testing-integration-tests-r6" x="353.8" y="508" 
textLength="1085.8" 
clip-path="url(#breeze-testing-integration-tests-line-20)">(&gt;sqlite&lt;&#160;|&#160;mysql&#160;|&#160;postgres&#160;|&#160;mssql&#160;|&#160;none)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
diff --git a/dev/breeze/doc/images/output_testing_integration-tests.txt 
b/dev/breeze/doc/images/output_testing_integration-tests.txt
index 43f603c74b..797ffe6b20 100644
--- a/dev/breeze/doc/images/output_testing_integration-tests.txt
+++ b/dev/breeze/doc/images/output_testing_integration-tests.txt
@@ -1 +1 @@
-307fe731065eca0873534f5c7baff169
+2a8b86190951615f870e0c053bda272a
diff --git a/dev/breeze/doc/images/output_testing_tests.svg 
b/dev/breeze/doc/images/output_testing_tests.svg
index 17c44c4e3b..66e7243e88 100644
--- a/dev/breeze/doc/images/output_testing_tests.svg
+++ b/dev/breeze/doc/images/output_testing_tests.svg
@@ -380,7 +380,7 @@
 </text><text class="breeze-testing-tests-r5" x="0" y="1020.4" 
textLength="24.4" clip-path="url(#breeze-testing-tests-line-41)">╭─</text><text 
class="breeze-testing-tests-r5" x="24.4" y="1020.4" textLength="219.6" 
clip-path="url(#breeze-testing-tests-line-41)">&#160;Test&#160;environment&#160;</text><text
 class="breeze-testing-tests-r5" x="244" y="1020.4" textLength="1195.6" 
clip-path="url(#breeze-testing-tests-line-41)">────────────────────────────────────────────────────────────────────
 [...]
 </text><text class="breeze-testing-tests-r5" x="0" y="1044.8" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-42)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-42)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="1044.8" textLength="146.4" 
clip-path="url(#breeze-testing-tests-line-42)">-integration</text><text 
class="breeze-testing-tests-r1" x="353.8" y="1044.8" textLength="1085.8" clip 
[...]
 </text><text class="breeze-testing-tests-r5" x="0" y="1069.2" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-43)">│</text><text 
class="breeze-testing-tests-r7" x="353.8" y="1069.2" textLength="1085.8" 
clip-path="url(#breeze-testing-tests-line-43)">(all&#160;|&#160;all-testable&#160;|&#160;cassandra&#160;|&#160;celery&#160;|&#160;kafka&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;openlineage&#160;|&#160;otel&#160;</text><text
 class="breeze-testing-tests-r5" x="1451.8" y [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1093.6" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-44)">│</text><text 
class="breeze-testing-tests-r7" x="353.8" y="1093.6" textLength="1085.8" 
clip-path="url(#breeze-testing-tests-line-44)">|&#160;pinot&#160;|&#160;statsd&#160;|&#160;trino)&#160;&#160;&#160;&#160;&#160;&#160;&#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-testing-tests-r5" x="0" y="1093.6" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-44)">│</text><text 
class="breeze-testing-tests-r7" x="353.8" y="1093.6" textLength="1085.8" 
clip-path="url(#breeze-testing-tests-line-44)">|&#160;pinot&#160;|&#160;qdrant&#160;|&#160;statsd&#160;|&#160;trino)&#160;&#160;&#160;&#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-testing-tests-r5" x="0" y="1118" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-45)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="1118" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-45)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="1118" textLength="97.6" 
clip-path="url(#breeze-testing-tests-line-45)">-backend</text><text 
class="breeze-testing-tests-r6" x="305" y="1118" textLength="24.4" 
clip-path="url(#breez [...]
 </text><text class="breeze-testing-tests-r5" x="0" y="1142.4" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-46)">│</text><text 
class="breeze-testing-tests-r1" x="353.8" y="1142.4" textLength="1085.8" 
clip-path="url(#breeze-testing-tests-line-46)">configuration&#160;and&#160;no&#160;database&#160;and&#160;any&#160;attempts&#160;to&#160;connect&#160;to&#160;Airflow&#160;DB&#160;will&#160;fail.&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-testing-tests-r [...]
 </text><text class="breeze-testing-tests-r5" x="0" y="1166.8" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-47)">│</text><text 
class="breeze-testing-tests-r7" x="353.8" y="1166.8" textLength="1085.8" 
clip-path="url(#breeze-testing-tests-line-47)">(&gt;sqlite&lt;&#160;|&#160;mysql&#160;|&#160;postgres&#160;|&#160;mssql&#160;|&#160;none)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
diff --git a/dev/breeze/doc/images/output_testing_tests.txt 
b/dev/breeze/doc/images/output_testing_tests.txt
index 43bc6622f7..0aa3aef566 100644
--- a/dev/breeze/doc/images/output_testing_tests.txt
+++ b/dev/breeze/doc/images/output_testing_tests.txt
@@ -1 +1 @@
-5e1d32630bd4b20b5f8869937d542960
+143cd2643bffad1788bc2ac0e32c64e5
diff --git a/dev/breeze/src/airflow_breeze/breeze.py 
b/dev/breeze/src/airflow_breeze/breeze.py
index 069c347525..b0b8879303 100755
--- a/dev/breeze/src/airflow_breeze/breeze.py
+++ b/dev/breeze/src/airflow_breeze/breeze.py
@@ -42,7 +42,6 @@ from airflow_breeze.commands.sbom_commands import sbom  # noqa
 from airflow_breeze.commands.setup_commands import setup  # noqa
 from airflow_breeze.commands.testing_commands import group_for_testing  # noqa
 
-
 main.add_command(group_for_testing)
 main.add_command(kubernetes_group)
 main.add_command(ci_group)
@@ -52,6 +51,5 @@ main.add_command(setup)
 main.add_command(release_management)
 main.add_command(sbom)
 
-
 if __name__ == "__main__":
     main()
diff --git a/dev/breeze/src/airflow_breeze/commands/ci_commands.py 
b/dev/breeze/src/airflow_breeze/commands/ci_commands.py
index e7df1b51f0..5ed450f3c4 100644
--- a/dev/breeze/src/airflow_breeze/commands/ci_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/ci_commands.py
@@ -325,6 +325,8 @@ class WorkflowInfo(NamedTuple):
             and (self.ref_name == "main" or 
TEST_BRANCH_MATCHER.match(self.ref_name))
         ):
             return "true"
+        if "canary" in self.pull_request_labels and self.head_repo == 
"apache/airflow":
+            return "true"
         return "false"
 
     def run_coverage(self) -> str:
diff --git a/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py 
b/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
index 188ea647ff..103d4dafd5 100644
--- a/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
@@ -619,7 +619,7 @@ def verify(
     )
     if (pull or image_name) and run_in_parallel:
         get_console().print(
-            "[error]You cannot use --pull,--image-name and --run-in-parallel 
at the same time. " "Exiting[/]"
+            "[error]You cannot use --pull,--image-name and --run-in-parallel 
at the same time. Exiting[/]"
         )
         sys.exit(1)
     if run_in_parallel:
diff --git 
a/dev/breeze/src/airflow_breeze/commands/common_package_installation_options.py 
b/dev/breeze/src/airflow_breeze/commands/common_package_installation_options.py
index d0b85e82e8..d5cd788db4 100644
--- 
a/dev/breeze/src/airflow_breeze/commands/common_package_installation_options.py
+++ 
b/dev/breeze/src/airflow_breeze/commands/common_package_installation_options.py
@@ -61,6 +61,14 @@ option_airflow_skip_constraints = click.option(
     help="Do not use constraints when installing airflow.",
     envvar="AIRFLOW_SKIP_CONSTRAINTS",
 )
+option_install_airflow_with_constraints = click.option(
+    "--install-airflow-with-constraints",
+    is_flag=True,
+    default=False,
+    show_default=True,
+    envvar="INSTALL_AIRFLOW_WITH_CONSTRAINTS",
+    help="Install airflow in a separate step, with constraints determined from 
package or airflow version.",
+)
 option_install_selected_providers = click.option(
     "--install-selected-providers",
     help="Comma-separated list of providers selected to be installed (implies 
--use-packages-from-dist).",
diff --git a/dev/breeze/src/airflow_breeze/commands/developer_commands.py 
b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
index 2d529a743c..cbf0c4ee54 100644
--- a/dev/breeze/src/airflow_breeze/commands/developer_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
@@ -669,7 +669,11 @@ def build_docs(
     fix_ownership_using_docker()
     if result.returncode == 0:
         get_console().print(
-            "[info]Start the webserver in breeze and view the built docs at 
http://localhost:28080/docs/[/]";
+            "[info]To view the built documentation, you have two options:\n\n"
+            "1. Start the webserver in breeze and access the built docs at "
+            "http://localhost:28080/docs/\n";
+            "2. Alternatively, you can run ./docs/start_doc_server.sh for a 
lighter resource option and view"
+            "the built docs at http://localhost:8000";
         )
     sys.exit(result.returncode)
 
diff --git 
a/dev/breeze/src/airflow_breeze/commands/production_image_commands.py 
b/dev/breeze/src/airflow_breeze/commands/production_image_commands.py
index 1266085c79..a98462c163 100644
--- a/dev/breeze/src/airflow_breeze/commands/production_image_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/production_image_commands.py
@@ -549,7 +549,7 @@ def verify(
     )
     if (pull or image_name) and run_in_parallel:
         get_console().print(
-            "[error]You cannot use --pull,--image-name and --run-in-parallel 
at the same time. " "Exiting[/]"
+            "[error]You cannot use --pull,--image-name and --run-in-parallel 
at the same time. Exiting[/]"
         )
         sys.exit(1)
     if run_in_parallel:
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_candidate_command.py 
b/dev/breeze/src/airflow_breeze/commands/release_candidate_command.py
index 4441943978..16f3dd18a9 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_candidate_command.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_candidate_command.py
@@ -274,31 +274,6 @@ def push_release_candidate_tag_to_github(version):
         console_print("[success]Release candidate tag pushed to GitHub")
 
 
-def create_issue_for_testing(version, previous_version, github_token):
-    if confirm_action("Do you want to create issue for testing? Only 
applicable for patch release"):
-        console_print()
-        console_print("Create issue in github for testing the release using 
this subject:")
-        console_print()
-        console_print(f"Status of testing of Apache Airflow {version}")
-        console_print()
-        if CI:
-            run_command(["git", "fetch"], check=True)
-        if confirm_action("Print the issue body?"):
-            run_command(
-                [
-                    "./dev/prepare_release_issue.py",
-                    "generate-issue-content",
-                    "--previous-release",
-                    f"{previous_version}",
-                    "--current-release",
-                    f"{version}",
-                    "--github-token",
-                    f"{github_token}",
-                ],
-                check=True,
-            )
-
-
 def remove_old_releases(version, repo_root):
     if confirm_action("In beta release we do not remove old RCs. Is this a 
beta release?"):
         return
@@ -414,7 +389,7 @@ def publish_release_candidate(version, previous_version, 
github_token):
     if confirm_action("Use docker to create artifacts?"):
         create_artifacts_with_docker()
     elif confirm_action("Use hatch to create artifacts?"):
-        create_artifacts_with_hatch()
+        create_artifacts_with_hatch(source_date_epoch)
     # Sign the release
     sign_the_release(airflow_repo_root)
     # Tag and push constraints
@@ -442,7 +417,6 @@ def publish_release_candidate(version, previous_version, 
github_token):
     push_release_candidate_tag_to_github(version)
     # Create issue for testing
     os.chdir(airflow_repo_root)
-    create_issue_for_testing(version, previous_version, github_token)
 
     console_print()
     console_print("Done!")
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index ec16ac6bc0..5a966b25d4 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -68,6 +68,7 @@ from 
airflow_breeze.commands.common_package_installation_options import (
     option_airflow_constraints_mode_update,
     option_airflow_constraints_reference,
     option_airflow_skip_constraints,
+    option_install_airflow_with_constraints,
     option_install_selected_providers,
     option_providers_constraints_location,
     option_providers_constraints_mode_ci,
@@ -209,6 +210,7 @@ class VersionedFile(NamedTuple):
     suffix: str
     type: str
     comparable_version: Version
+    file_name: str
 
 
 AIRFLOW_PIP_VERSION = "24.0"
@@ -217,12 +219,13 @@ GITPYTHON_VERSION = "3.1.40"
 RICH_VERSION = "13.7.0"
 NODE_VERSION = "21.2.0"
 PRE_COMMIT_VERSION = "3.5.0"
+HATCH_VERSION = "1.9.1"
 PYYAML_VERSION = "6.0.1"
 
 AIRFLOW_BUILD_DOCKERFILE = f"""
 FROM 
python:{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}-slim-{ALLOWED_DEBIAN_VERSIONS[0]}
 RUN apt-get update && apt-get install -y --no-install-recommends git
-RUN pip install pip=={AIRFLOW_PIP_VERSION} hatch==1.9.1 
pyyaml=={PYYAML_VERSION}\
+RUN pip install pip=={AIRFLOW_PIP_VERSION} hatch=={HATCH_VERSION} 
pyyaml=={PYYAML_VERSION}\
  gitpython=={GITPYTHON_VERSION} rich=={RICH_VERSION} 
pre-commit=={PRE_COMMIT_VERSION}
 COPY . /opt/airflow
 """
@@ -703,7 +706,7 @@ def basic_provider_checks(provider_package_id: str) -> 
dict[str, Any]:
             f"since you asked for it, it will be built [/]\n"
         )
     elif provider_metadata.get("state") == "suspended":
-        get_console().print(f"[warning]The package: {provider_package_id} is 
suspended " f"skipping it [/]\n")
+        get_console().print(f"[warning]The package: {provider_package_id} is 
suspended skipping it [/]\n")
         raise PackageSuspendedException()
     return provider_metadata
 
@@ -1018,7 +1021,7 @@ def generate_constraints(
     list_generated_constraints(output=None)
 
 
-SDIST_FILENAME_PREFIX = "apache-airflow-providers-"
+SDIST_FILENAME_PREFIX = "apache_airflow_providers_"
 WHEEL_FILENAME_PREFIX = "apache_airflow_providers-"
 
 SDIST_FILENAME_PATTERN = 
re.compile(rf"{SDIST_FILENAME_PREFIX}(.*)-[0-9].*\.tar\.gz")
@@ -1032,7 +1035,7 @@ def _get_all_providers_in_dist(
         matched = filename_pattern.match(file.name)
         if not matched:
             raise Exception(f"Cannot parse provider package name from 
{file.name}")
-        provider_package_id = matched.group(1).replace("-", ".")
+        provider_package_id = matched.group(1).replace("_", ".")
         yield provider_package_id
 
 
@@ -1164,7 +1167,7 @@ def install_provider_packages(
         provider_chunks = [chunk for chunk in provider_chunks if chunk]
         if not provider_chunks:
             get_console().print("[info]No providers to install")
-            return
+            sys.exit(1)
         total_num_providers = 0
         for index, chunk in enumerate(provider_chunks):
             get_console().print(f"Chunk {index}: {chunk} ({len(chunk)} 
providers)")
@@ -1233,6 +1236,7 @@ def install_provider_packages(
 @option_airflow_skip_constraints
 @option_dry_run
 @option_github_repository
+@option_install_airflow_with_constraints
 @option_install_selected_providers
 @option_installation_package_format
 @option_mount_sources
@@ -1250,6 +1254,7 @@ def verify_provider_packages(
     airflow_constraints_reference: str,
     airflow_extras: str,
     github_repository: str,
+    install_airflow_with_constraints: bool,
     install_selected_providers: str,
     mount_sources: str,
     package_format: str,
@@ -1275,6 +1280,7 @@ def verify_provider_packages(
         airflow_extras=airflow_extras,
         airflow_skip_constraints=airflow_skip_constraints,
         github_repository=github_repository,
+        install_airflow_with_constraints=install_airflow_with_constraints,
         mount_sources=mount_sources,
         package_format=package_format,
         providers_constraints_location=providers_constraints_location,
@@ -1572,10 +1578,10 @@ def clean_old_provider_artifacts(
             # Leave only last version from each type
             for versioned_file in package_types[:-1]:
                 get_console().print(
-                    f"""[warning]Removing {versioned_file.base + 
versioned_file.version +
-                versioned_file.suffix} as they are older than remaining file"""
+                    f"[warning]Removing {versioned_file.file_name} as they are 
older than remaining file: "
+                    f"{package_types[-1].file_name}[/]"
                 )
-                command = ["svn", "rm", versioned_file.base + 
versioned_file.version + versioned_file.suffix]
+                command = ["svn", "rm", versioned_file.file_name]
                 run_command(command, check=False)
 
 
@@ -1700,7 +1706,7 @@ def release_prod_images(
                 "--push",
             ]
             run_command(docker_buildx_command)
-            if python == DEFAULT_PYTHON_MAJOR_MINOR_VERSION:
+            if python == ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS[-1]:
                 alias_image(
                     slim_image_name,
                     f"{dockerhub_repo}:slim-{airflow_version}",
@@ -1732,7 +1738,7 @@ def release_prod_images(
                 "--push",
             ]
             run_command(docker_buildx_command)
-            if python == DEFAULT_PYTHON_MAJOR_MINOR_VERSION:
+            if python == ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS[-1]:
                 alias_image(image_name, f"{dockerhub_repo}:{airflow_version}")
     # in case of re-tagging the images might need few seconds to refresh 
multi-platform images in DockerHub
     time.sleep(10)
@@ -2267,6 +2273,7 @@ def split_version_and_suffix(file_name: str, suffix: str) 
-> VersionedFile:
         suffix=suffix,
         type=no_version_file + "-" + suffix,
         comparable_version=Version(version),
+        file_name=file_name,
     )
 
 
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
index ac7bbecb13..7afbda1242 100644
--- 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
+++ 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
@@ -118,6 +118,7 @@ RELEASE_MANAGEMENT_PARAMETERS: dict[str, list[dict[str, str 
| list[str]]]] = {
                 "--airflow-constraints-reference",
                 "--airflow-extras",
                 "--airflow-skip-constraints",
+                "--install-airflow-with-constraints",
                 "--install-selected-providers",
                 "--package-format",
                 "--providers-constraints-location",
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py 
b/dev/breeze/src/airflow_breeze/global_constants.py
index 8398b51d11..dc96f958c9 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -50,7 +50,7 @@ ALLOWED_ARCHITECTURES = [Architecture.X86_64, 
Architecture.ARM]
 ALLOWED_BACKENDS = ["sqlite", "mysql", "postgres", "mssql", "none"]
 ALLOWED_PROD_BACKENDS = ["mysql", "postgres", "mssql"]
 DEFAULT_BACKEND = ALLOWED_BACKENDS[0]
-TESTABLE_INTEGRATIONS = ["cassandra", "celery", "kerberos", "mongo", "pinot", 
"trino", "kafka"]
+TESTABLE_INTEGRATIONS = ["cassandra", "celery", "kerberos", "mongo", "pinot", 
"trino", "kafka", "qdrant"]
 OTHER_INTEGRATIONS = ["statsd", "otel", "openlineage"]
 ALLOWED_DEBIAN_VERSIONS = ["bookworm", "bullseye"]
 ALL_INTEGRATIONS = sorted(
@@ -370,15 +370,7 @@ def get_airflow_extras():
 
 
 # Initialize integrations
-AVAILABLE_INTEGRATIONS = [
-    "cassandra",
-    "kerberos",
-    "mongo",
-    "pinot",
-    "celery",
-    "statsd",
-    "trino",
-]
+AVAILABLE_INTEGRATIONS = ["cassandra", "kerberos", "mongo", "pinot", "celery", 
"statsd", "trino", "qdrant"]
 ALL_PROVIDER_YAML_FILES = Path(AIRFLOW_SOURCES_ROOT, "airflow", 
"providers").rglob("provider.yaml")
 PROVIDER_RUNTIME_DATA_SCHEMA_PATH = AIRFLOW_SOURCES_ROOT / "airflow" / 
"provider_info.schema.json"
 
diff --git a/dev/breeze/src/airflow_breeze/params/shell_params.py 
b/dev/breeze/src/airflow_breeze/params/shell_params.py
index 1d1c785f08..b3ff492cec 100644
--- a/dev/breeze/src/airflow_breeze/params/shell_params.py
+++ b/dev/breeze/src/airflow_breeze/params/shell_params.py
@@ -162,6 +162,7 @@ class ShellParams:
     image_tag: str | None = None
     include_mypy_volume: bool = False
     install_airflow_version: str = ""
+    install_airflow_with_constraints: bool = False
     install_selected_providers: str | None = None
     integration: tuple[str, ...] = ()
     issue_id: str = ""
@@ -526,6 +527,7 @@ class ShellParams:
         _set_var(_env, "HOST_OS", self.host_os)
         _set_var(_env, "HOST_USER_ID", self.host_user_id)
         _set_var(_env, "INIT_SCRIPT_FILE", None, "init.sh")
+        _set_var(_env, "INSTALL_AIRFLOW_WITH_CONSTRAINTS", 
self.install_airflow_with_constraints)
         _set_var(_env, "INSTALL_AIRFLOW_VERSION", self.install_airflow_version)
         _set_var(_env, "INSTALL_SELECTED_PROVIDERS", 
self.install_selected_providers)
         _set_var(_env, "ISSUE_ID", self.issue_id)
diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py 
b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
index 59edebea07..2fad147c84 100644
--- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
+++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
@@ -38,7 +38,6 @@ PRE_COMMIT_LIST = [
     "check-builtin-literals",
     "check-changelog-has-no-duplicates",
     "check-cncf-k8s-only-for-executors",
-    "check-common-sql-dependency-make-serializable",
     "check-core-deprecation-classes",
     "check-daysago-import-from-utils",
     "check-decorated-operator-implements-custom-name",
@@ -74,6 +73,7 @@ PRE_COMMIT_LIST = [
     "check-pyproject-toml-order",
     "check-revision-heads-map",
     "check-safe-filter-usage-in-html",
+    "check-sql-dependency-common-data-structure",
     "check-start-date-not-used-in-defaults",
     "check-system-tests-present",
     "check-system-tests-tocs",
diff --git 
a/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py 
b/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py
index 00bb2203a0..34407d7c3e 100644
--- a/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py
+++ b/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py
@@ -348,7 +348,7 @@ def _get_all_changes_for_package(
         )
     else:
         get_console().print(
-            f"[info]New version of the '{provider_package_id}' " f"package is 
ready to be released!\n"
+            f"[info]New version of the '{provider_package_id}' package is 
ready to be released!\n"
         )
     next_version_tag = f"{HTTPS_REMOTE}/{base_branch}"
     changes_table = ""
@@ -413,7 +413,7 @@ def _ask_the_user_for_the_type_of_changes(non_interactive: 
bool) -> TypeOfChange
         if given_answer in type_of_changes_array:
             return TypeOfChange(given_answer)
         get_console().print(
-            f"[warning] Wrong answer given: '{given_answer}'. " f"Should be 
one of {display_answers}"
+            f"[warning] Wrong answer given: '{given_answer}'. Should be one of 
{display_answers}"
         )
 
 
@@ -680,7 +680,7 @@ def update_release_notes(
                 answer = user_confirm(f"Provider {provider_package_id} marked 
for release. Proceed?")
             if answer == Answer.NO:
                 get_console().print(
-                    f"\n[warning]Skipping provider: {provider_package_id} " 
f"on user request![/]\n"
+                    f"\n[warning]Skipping provider: {provider_package_id} on 
user request![/]\n"
                 )
                 raise PrepareReleaseDocsUserSkippedException()
             elif answer == Answer.QUIT:
diff --git 
a/dev/breeze/src/airflow_breeze/prepare_providers/provider_packages.py 
b/dev/breeze/src/airflow_breeze/prepare_providers/provider_packages.py
index fa3a1b6845..88ad3e8c8c 100644
--- a/dev/breeze/src/airflow_breeze/prepare_providers/provider_packages.py
+++ b/dev/breeze/src/airflow_breeze/prepare_providers/provider_packages.py
@@ -86,7 +86,7 @@ def copy_provider_sources_to_target(provider_id: str) -> Path:
     relative_provider_path = 
source_provider_sources_path.relative_to(AIRFLOW_SOURCES_ROOT)
     target_providers_sub_folder = target_provider_root_path / 
relative_provider_path
     get_console().print(
-        f"[info]Copying provider sources: " f"{source_provider_sources_path} 
-> {target_providers_sub_folder}"
+        f"[info]Copying provider sources: {source_provider_sources_path} -> 
{target_providers_sub_folder}"
     )
     copytree(source_provider_sources_path, target_providers_sub_folder)
     shutil.copy(AIRFLOW_SOURCES_ROOT / "LICENSE", target_providers_sub_folder 
/ "LICENSE")
@@ -214,9 +214,7 @@ def build_provider_package(provider_id: str, 
target_provider_root_sources_path:
     except subprocess.CalledProcessError as ex:
         get_console().print("[error]The command returned an error %s", ex)
         raise PrepareReleasePackageErrorBuildingPackageException()
-    get_console().print(
-        f"\n[info]Prepared provider package {provider_id} in " f"format 
{package_format}[/]\n"
-    )
+    get_console().print(f"\n[info]Prepared provider package {provider_id} in 
format {package_format}[/]\n")
 
 
 def move_built_packages_and_cleanup(
diff --git a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py 
b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
index b6f2cc37c2..8615abffc1 100644
--- a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
+++ b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
@@ -568,6 +568,7 @@ def fix_ownership_using_docker(quiet: bool = False):
         f"DOCKER_IS_ROOTLESS={is_docker_rootless()}",
         "-e",
         f"VERBOSE_COMMANDS={str(not quiet).lower()}",
+        "--rm",
         "-t",
         OWNERSHIP_CLEANUP_DOCKER_TAG,
         "/opt/airflow/scripts/in_container/run_fix_ownership.py",
diff --git a/dev/breeze/src/airflow_breeze/utils/packages.py 
b/dev/breeze/src/airflow_breeze/utils/packages.py
index a6eb386148..307b4cc9c0 100644
--- a/dev/breeze/src/airflow_breeze/utils/packages.py
+++ b/dev/breeze/src/airflow_breeze/utils/packages.py
@@ -310,7 +310,7 @@ def get_short_package_name(long_form_provider: str) -> str:
     else:
         if not long_form_provider.startswith(LONG_PROVIDERS_PREFIX):
             raise ValueError(
-                f"Invalid provider name: {long_form_provider}. " f"Should 
start with {LONG_PROVIDERS_PREFIX}"
+                f"Invalid provider name: {long_form_provider}. Should start 
with {LONG_PROVIDERS_PREFIX}"
             )
         return long_form_provider[len(LONG_PROVIDERS_PREFIX) :].replace("-", 
".")
 
@@ -651,7 +651,7 @@ def 
make_sure_remote_apache_exists_and_fetch(github_repository: str = "apache/ai
             )
         else:
             get_console().print(
-                f"[error]Error {ex}[/]\n" f"[error]When checking if 
{HTTPS_REMOTE} is set.[/]\n\n"
+                f"[error]Error {ex}[/]\n[error]When checking if {HTTPS_REMOTE} 
is set.[/]\n\n"
             )
             sys.exit(1)
     get_console().print("[info]Fetching full history and tags from remote.")
diff --git a/dev/breeze/src/airflow_breeze/utils/reproducible.py 
b/dev/breeze/src/airflow_breeze/utils/reproducible.py
index e60e374648..418d5b2079 100644
--- a/dev/breeze/src/airflow_breeze/utils/reproducible.py
+++ b/dev/breeze/src/airflow_breeze/utils/reproducible.py
@@ -139,6 +139,8 @@ def repack_deterministically(
                         arcname = entry
                         if prepend_path is not None:
                             arcname = 
os.path.normpath(os.path.join(prepend_path, arcname))
+                        if arcname == ".":
+                            continue
                         if arcname.startswith("./"):
                             arcname = arcname[2:]
                         tar_file.add(entry, filter=reset, recursive=False, 
arcname=arcname)
diff --git a/dev/breeze/src/airflow_breeze/utils/run_utils.py 
b/dev/breeze/src/airflow_breeze/utils/run_utils.py
index c4389a9962..f3956bc07d 100644
--- a/dev/breeze/src/airflow_breeze/utils/run_utils.py
+++ b/dev/breeze/src/airflow_breeze/utils/run_utils.py
@@ -33,8 +33,6 @@ from typing import Mapping, Union
 
 from rich.markup import escape
 
-from airflow_breeze.branch_defaults import AIRFLOW_BRANCH
-from airflow_breeze.global_constants import APACHE_AIRFLOW_GITHUB_REPOSITORY
 from airflow_breeze.utils.ci_group import ci_group
 from airflow_breeze.utils.console import Output, get_console
 from airflow_breeze.utils.path_utils import (
@@ -377,28 +375,6 @@ def check_if_image_exists(image: str) -> bool:
     return cmd_result.returncode == 0
 
 
-def get_ci_image_for_pre_commits() -> str:
-    github_repository = os.environ.get("GITHUB_REPOSITORY", 
APACHE_AIRFLOW_GITHUB_REPOSITORY)
-    python_version = "3.8"
-    airflow_image = 
f"ghcr.io/{github_repository}/{AIRFLOW_BRANCH}/ci/python{python_version}"
-    skip_image_pre_commits = os.environ.get("SKIP_IMAGE_PRE_COMMITS", "false")
-    if skip_image_pre_commits[0].lower() == "t":
-        get_console().print(
-            f"[info]Skipping image check as SKIP_IMAGE_PRE_COMMITS is set to 
{skip_image_pre_commits}[/]"
-        )
-        sys.exit(0)
-    if not check_if_image_exists(
-        image=airflow_image,
-    ):
-        get_console().print(f"[red]The image {airflow_image} is not 
available.[/]\n")
-        get_console().print(
-            f"\n[yellow]Please run this to fix it:[/]\n\n"
-            f"breeze ci-image build --python {python_version}\n\n"
-        )
-        sys.exit(1)
-    return airflow_image
-
-
 def _run_compile_internally(command_to_execute: list[str], dev: bool) -> 
RunCommandResult:
     from filelock import SoftFileLock, Timeout
 
diff --git a/dev/breeze/src/airflow_breeze/utils/selective_checks.py 
b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
index 4f9a383a36..a98478d137 100644
--- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
+++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
@@ -14,7 +14,6 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-
 from __future__ import annotations
 
 import difflib
@@ -992,7 +991,6 @@ class SelectiveChecks:
                     "check-airflow-provider-compatibility",
                     "check-extra-packages-references",
                     "check-provider-yaml-valid",
-                    "validate-operators-init",
                     "lint-helm-chart",
                     "validate-operators-init",
                 )

Reply via email to