This is an automated email from the ASF dual-hosted git repository.
kaxilnaik pushed a change to branch v3-0-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit f7c1c971ff1 Bump task-sdk version to 1.0.0
omit 31c3bccaf2d Update RELEASE_NOTES.rst
omit dbd816df7f5 Update Airflow version to 3.0.0
omit 1d189f9e16d Update default branches for 3-0
add 891c53fd3bc Dev: Fix path to get `source_date_epoch` (#49078)
add ad2cd9eeafe Git provider is marked as chicken-egg provider (#49080)
add 7871e1f1704 Add back-compat for `get_unique_task_id` (#49084)
add 87306b32c18 Fix AWS auth manager system test (#49072)
add 7eb03ead82f Bump eslint-config-prettier (#49077)
add 4feef849efe Fix `example_dag_decorator` (#49087)
add bb1a193b205 Update docs on how to run behind a reverse proxy (#49086)
add 28a96413bb7 Increase default value of `waiter_max_attempts` in
`BedrockBatchInferenceOperator` (#49090)
add b7b25d62062 feat: Add owner_links in DAG object in airflow facet
(#49085)
add da670180673 Build images with constraints when building pre-release
images (#49092)
add 9b1a507483a Update expected list of providers for prod image tests
(#49096)
add ae61b5c731c fix (airflowctl): The Auth fails if credentials aren't
created already (#49058)
add c932dab6a22 Fix: BigQuery connection UI defaults 'Use Legacy SQL' to
true on edit (#49038)
add 999188097ef fix: overwrite `get_uri` for `Oracle` (#48734)
add 0936d76aa6a chore: Update requirement for openlineage client to
>=1.31.0 (#49083)
add 551066006b6 Use scheme-relative URLs for the UI so https works out of
the box more often (#49106)
add 04c049b95b4 Get rid of non-main removed --disable-provider-checks flag
(#49111)
add 8324dae65e1 Fix the dependency handling logic for empty task groups
(#49034)
add 3ed428fcf76 Allow pulling XCom from inlet events (#49054)
add 42b8553e8f5 Extract compatibility versions for airflow as constants in
breeze (#49105)
add 530b6e11201 Remove updating readme files in provider by pre-commits
(#49062)
add 89d8345643d Move `generate_access_token` to `test_common.test_utils`
(#47712)
add 4805257608f Cope with more "interesting" proxy configurations when
accessing the UI (#49118)
add 6bd53547181 feat: Explicitly propagate airflow logging level to OL
client (#49108)
add c2504f1afbd Fix GetDagRunState and GetTICount response conversion
(#49095)
add 3d6460e034a Update EKS Operators and Sensors to inherit AWS base
classes (#48192)
add b4876179696 feat: Add support for task's manual state change
notification in OpenLineage listener (#49040)
add bc4df6a0e05 Update dag version UI (#49088)
add 7921b56b91c Add min-provider versions in apache-airflow pyproject.toml
(#49103)
add ad452089774 Improvre `TestHandleRequest` to catch more bugs (#49125)
add 4428781d7d1 Bump openlineage-airflow from 1.30.1 to 1.31.0 (#49079)
add 7defea9f6ad Bump vite (#49126)
add 1479f5431a0 Improve “Fundamental Concepts” Tutorial and Screenshot
Organization (#49098)
add 1320fa4b5f8 Remove asset-name-ref and asset-uri-ref node after
resolving them (#49008)
add 64221ae62c7 Remove cgroups extra since the dep has been removed
(#49123)
add ef80791fbae Fix ExternalTaskSensor task_group_id check condition
(#49027)
add 93a56355038 Adding type checking assert to cron.get_next (#49127)
add 22d4476ae97 Catch BrokenPipeError gracefully while servicing
subprocess (#49128)
add a8f4bfdf3f1 Remove @provide_session from Variable.set/update in models
(#49107)
add a4a6e2bc99c Decrease default value of `waiter_max_attempts` in
`MwaaTriggerDagRunOperator` (#49136)
add f671a10ef8e Prettifyed airflowctl outputs (#49061)
add 9fcba3da080 Fix bug in Serialization of templated fields set at
Runtime (#49144)
add b563f1ba9a1 Rewrite data pipeline tutorial to no longer use deprecated
PostgresOperator (#49147)
add be3befa0efc Bump trove-classifiers in /airflow-core (#49134)
add 82a8d4f8b32 Stabilize min provider version update (#49151)
add 8ebdd14de2f Fix isoformat for Python < 3.11 (#49155)
add 1172599b456 Bump trove-classifiers from 2025.3.19.19 to 2025.4.11.15
(#49133)
add 4fa0eec9d47 Help pip to find appropriate boto for aiobotocore (#49166)
add 0ecc99f8510 Add `jason810496` in codeowners (#49174)
add 9dcce2f71b8 Fixing DatabricksNotebookOperator invalid dependency graph
issue (#48492)
add eecbd216ab0 Move celery integration tests to celery provider. (#49178)
add 0c883c5be7c Remove dag_version as a create_dagrun argument (#49148)
add 1781dc9d5fc AWS Batch Operators/Sensors inherit AWS Base classes
(#49172)
add 9b130c6f718 Fix generation of local provider documentation index
(#49183)
add 4743694b16f Added step to install docker compose in MacOs (#47979)
add 0ca0f17996c Remove unused db method in k8s provider (#49186)
add 4add064816b Implement `Variable.delete` method in task SDK (#49141)
add fdf7f77224f Fix broken link in development index (#49192)
add 9f5e76f053d Add inventory of providers using DB (#49189)
add baa1cc2d3f6 chore: use object type hint for __eq__ method (#48900)
add 9c11f39e990 chore: make the __enter__ method return Self instead of
the class type (#48902)
add 4c8966ef8ac Silence non-user-actionable warning about forks+threads in
macOS & Py 3.12+ (#49185)
add efdca941103 Use BaseXCom serialize_value when objectstorage_threshold
is less than given input (#49173)
add cb79c51303e mark sendgrid provider as not ready (#49203)
add e9c46a3a6fe Add link to precommit tool install guide (#49200)
add 000366dcdd8 Fix finding assets in serialized mapped operator (#49210)
add 2a7dea10f2b Fix PostgresHook Json serialization (#49120)
add 4cdc7be004f update md5 type hints to respect PEP570 (#49195)
add 4ab223db3cd Logging the loaded secrets backends in worker (#49205)
add bc45acf4ccb Move SQS message queue code example from core to provider
docs (#49208)
add 76a96086b6b Fix get_confluent_token callback for Managed Kafka service
(#48926)
add 23793983669 Deprecate start_sql_job in DataflowHook (#48663)
add e2a466dd151 Update providers metadata 2025-04-14 (#49207)
add e519ca76ddd Fix default value wait_for_operation_result (#49121)
add 0f0662cc326 remove Literal[local] type hint as it is included in str
(#49194)
add b835641f746 Collapse Cadwyn migrations (#49116)
add 959135f8a9f Mark mssql and samba tests as db-tests (#49213)
add fd241fceeac fix(AssetSchedule): fix how asset_expression is accessed
(#49214)
add d61fe47bf63 Improve example docs around SQLExecuteQueryOperator in
Druid/Hive/Impala/Kylin/Pinot (#48856)
add c48744891dc Fix some mistakes in AirbyteJobSensor docs. (#49196)
add cb295c351a0 remove superfluous else block (#49199)
add 80232bd35f5 Update taskflow.rst (#47984)
add 571fce66188 fix(AssetSchedule): use asset.name if exists (#49225)
add c447ad303b9 gate import behind Airflow 2 path (#49209)
add dc5d007fe57 feat: overwrite `get_uri` for `JDBC` (#48915)
add 36deade3fc8 Rename directory for dag processor child process logs
(#49227)
add f89dac92025 Improve logging of abnormal exit codes for supervised
sub-processes. (#49217)
add 9534c0690a9 Update Object Storage tutorial to match learning path tone
(#49170)
add 23965c4aa5c Nuke orm_deserialize_value refs in docs and docstring
(#49220)
add c6beaf0e304 batch processing for updating TI UUIDs (#49015)
add 8615a1fc32b Bump min version of pre-installed providers to latest
(#49222)
add 727ab2dfffd Add note in update_airflow_pyproject_toml.py (#49230)
add 45be7f823f3 feat(dag_dependency): add unresolved asset ref node
(#49231)
add 4919400862c Add cross dependencies between airflow-core and task-sdk
(#49221)
add 20f8af546e6 Fix `EksClusterStateSensor`. Save `region` as attribute
(#49138)
add 2a0009dddfd Unpause DAG in AWS MWAA system test (#49145)
add 2450c6a63f4 add callout for using multiple outputs in step 2 example
(#49169)
add f8c3bbcfa67 Re-add section on getting Context in Taskflow API (#49240)
add 261d569d9ec Properly allow variable delete from models (#49234)
add 3dafd330591 Instantiate logger while logging loaded secrets backend
(#49235)
add 647de21d4cb Remove `STATE_COLORS` from Airflow Local Setting (#49228)
add 58c5b820e7d Initialize Providers configuration is now session-scoped
(#49245)
add 2b8eebd0692 Rename edge provider to edgeexecutor provider. (#49184)
add 344f75b6087 Fix deprecation warning for Variable utility imports from
models (#49242)
add bd8941dee9d Bump Serialized DAG to v2 and handle conversion from v1
(#49020)
add 8fd9a8167bf Wrap dictionary iteration with list to prevent dictionary
being changed during iteration. (#49241)
add ae89d60a005 Cleanup AUTH_TYPE import comments in
default_webserver_config.py (#49248)
add 18c99df9541 Add ORC support to GCSToBigQueryOperator and test for
external tables (#49188)
add 405ca32ff2a Add `common-messaging` in the prod image (#49249)
add 479e513d864 Remove duplicate Trove classifier (#49258)
add 19d52ce5ea1 Add ref default default node (#49233)
add 88f9218eaf1 fix(serialized_dag): return original DagDependency if
Asset Alias has not yet been resolved into asset (#49204)
add c6f51c2643e Elasticsearch : Ignore cursor specific parameters when
instantiating the connection (#48865)
add 9c95c3c08f1 docs: update connections how-to with 3.0 screenshots
(#49264)
add 8365295f4d8 docs: add light mode screenshots for overview, move dark
mode to folder (#49263)
add fe099c41dc4 Properly handle build of PRD image when constraint build
failed (#49259)
add 2520faa7884 docs: update email-config.rst how-to with 3.0 screenshots
(#49269)
add dbfb2a65ae6 docs: update setup/teardown how-to with 3.0 screenshots
(#49268)
add 12682b27246 docs: update and clean up "add tags to dags" how-to
(#49266)
add c8f365435bf simplify isinstance conditions for otel in trigger_tasks
method (#49253)
add 1355b8e192c Load TI related objects when purging TIs without heartbeat
(#49246)
add 8d9afc239bc Update stable rest API docs ref (#49279)
add da399c4951f Use ``default`` in variable.get for task SDK variables
(#49278)
add 6b7c0f7d211 Update airflow config lint to show breaking config changes
by default (#49223)
add 4ebddc945d0 Show pending states in historic metrics (#49267)
add 8dc0e55234d Make sure provider's manager is not left in a clean state
(#49283)
add 85f3cffa794 docs: update variables how-to with Airflow 3.0 screenshots
(#49265)
add f53002d8e8c Move function to methods on models.TaskInstance (#49257)
add b1033fc8437 docs: remove DAG owner links how-to since no feature
parity (#49262)
add ad2604461cf Ensure scheduler uses best available serdag for dag run
(#49097)
add 09854ff3069 AIP-38: remove `default_ui_timezone` (#49176)
add 9b61af17835 Removing init_dagbag from fastapi app (#49285)
add 0d6a6a260f7 Improvements to rendered API docs (#49287)
add 6ced7b86d43 Document upgrading to Airflow 3 (#49271)
add b9052eed423 Include subdir in Gitbundle view url (#49239)
add 4da93d0b60a fix(serialized_objects): handle both inlet and outlet in
v1 to v2 convert (#49286)
add 3512e8cbe82 Fix fab auth manager login (#49292)
add 90dbd241f0e Make sure all openapi schemes have distinct names (#49290)
add fcb9dae0397 Remove 1.10 to 2 upgrade docs (#49289)
add 9f5e20db337 Update screenshots in the repo readme to Airflow 3
(#49293)
add e4177217f46 Feature/aip 38 add dag warning (#49236)
add 1b920d96936 add sorting to Pools (#48442)
add 65c4900bd7b fix(serialized_objects): fix how dataset/asset
dag_dependency is converted from v1 to v2 (#49281)
add 4c65dc6bc28 Remove FAB entry from `NOTICE` (#49063)
add 67c9bd6f4ee Fix failing tests after subdir path bundle URL merged
(#49294)
add c576d4217ed Updating docs to reflect latest state of project for AF3
(#49280)
add def0508dc93 update _run_inline_trigger to make its logic clearer
(#49198)
add 05b32dbe9b3 Return explicit 404 errors for `/helath` and `/api/v1/*`
(#49284)
add 00de8b7b8a2 Update next run assets and asset expression types (#49137)
add bd6b429b8b0 Update FAB changelog (#49069)
add 75e5c60925e Force query cache to always refetch on opening mark/clear
modals (#49298)
add d0d0e3c5db1 Exclude 9.3.0 release of mysql-connector-python (#49300)
add 95b2715a19b Change default page_size from 100 to 50 (#49243)
add f7f84fda3cd Fix Pool table modelName (#49303)
add 2c7b56ee742 Make git connection optional for git dag bundle (#49270)
add 9d6cca74b4c Quickly bumpv FAB version to 2.0.1 (#49308)
add fe52138b3dc Add base_url fallback for aws auth_manager (#49305)
add 0c7a9c2c05d Update api_fastapi CODEOWNERS (#49310)
add c75166ebb95 API - Fix pool ordering (#49302)
add c773fd6e688 Draft 3.0.0 release notes (#49304)
add edb7c99e3a7 Pass mapIndex to filter the relevant task instance while
clearing mapped tasks. (#49307)
add a45c32971ce Add possibility to have extra project metadata in
providers (#49306)
add 4ce7b64c51e Run all tests when git provider changes (#49312)
add 32b3f7cee6d Fix failing git bundle tests (#49313)
add 6f53d22adec Split out the /ui routes from the "main" spec file (#49311)
add 192b337c86e Don't log repo_url in git dag bundle (#48909)
add 5216db2db9f use enumerate for index variable in for loop in Airflow
core (#49252)
add 0b3bee770d8 feat (api-airflowctl): Change ExtraLinksResponse to
BaseModel (#49250)
add ca3ea8eab76 use key in dict instead of key in dict.keys in Airflow
core (#49255)
add 4e87839b262 Add condition in finalize that allows to skip some jobs
(#49320)
add 47bd8961a9c Use contextlib.suppress(exception) instead of
try-except-pass and add SIM105 ruff rule (#49251)
add 5c01acbdf26 Remove release notes for Airflow 1.x (#49323)
add e6cee6c24fb Remove limitation for mysql-connector-python (#49321)
add 45b106a1f25 Fix DB migrations from 2.10.5 to 3.0.0 for SQlite (#49301)
add e63e7d1d4f0 fix(serialized_dag): expand DagDependency generation and
add fallback value (#49327)
add b075a1d18d4 feat: integrate `polars` in `get_df`, `get_df_by_chunks`
(#48875)
add 39a373cc841 fix: overwrite `get-uri` for `Trino` (#48917)
add fdd054e3254 remove unnecessary True if <condition> else False (#49256)
add 438220f6b5e Fix MySQL migration (#49315)
add 412a366761c Always avoid modifying Readme and Changelog in pre-commit
(#49324)
add 694bdc6c43f Remove `subdir` arg from CLI commands (#49317)
add 074294d5d7e Conditionally add session related imports in standard
provider (#49218)
add 098ed33b9a3 type: annotate miss type in `provider` (#49130)
add 19af68db790 HttpHook: allways add port if given (#48573)
add c85dd5442de Fix xcom for system tests (#49337)
add f87596ef424 Clairfy that allowed_deserialization_classes is
space-separated not just newlines (#49326)
add 8bc4f0db672 Bump minimum ruff version required for upgrade utility
(#49341)
add fcd100cc022 docs: replace webserver with api-server in quick start
(#49333)
add 77cf5d52c1b Revert "use key in dict instead of key in dict.keys in
Airflow core (#49255)" (#49322)
add ade9fb185a9 refactor: remove `navbar_logo_text_color` (#49161)
add 1b592527429 Improve dag bundle documentation (#49342)
add 58a845e6f77 fix(serialized_object): fix how timetable and
schedule_interval are handled during v1 to v2 conversion (#49344)
add 58adb1a9c78 Don't spend time adding `ti.try_id` only to remove it in a
later migration (#49346)
add ca3e4e75c63 Prepare docs for Apr 3rd wave of providers (#49338)
add e80e41abe63 Make `DatasetOrTimeSchedule` compatible with Airflow
2.10.x (#49350)
add 51b755e7a2a Add option to include pre-release packages in PROD images
(#49348)
add 3796f7ece06 Add openlineage to chicken-egg providers so that we use
latest RC (#49356)
add cd93e5c3c6c Handle more legacy schedule format (#49353)
add 349798c5900 Improve execution time messages for DAG or Task not found
(#49352)
add a74daa3e4fb Remove redundant fixtures in OL provider (#49357)
add 81d32202190 Include trigger event payload in asset event (#49345)
add 99666f97893 Rename `edge` provider fom `edgeexecutor` to `edge3`
provider (#49358)
add 1c983b5b250 Autorefresh dagrun breadcrumb state when dagrun is in
pending state. (#49328)
add 1f81ee6bdb0 refactor: refine schema assignment in
`useConnectionTypeMeta` (#49165)
add 86de25fa987 Do not error if summarize warning does not find warnings
(#49360)
add 7d31dba128c Update default branches for 3-0
add c158463cd55 Update Airflow version to 3.0.0
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (f7c1c971ff1)
\
N -- N -- N refs/heads/v3-0-stable (c158463cd55)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 10 +-
.../airflow_providers_bug_report.yml | 2 +-
.github/boring-cyborg.yml | 2 +-
.github/workflows/ci.yml | 2 +
.github/workflows/generate-constraints.yml | 5 +
.github/workflows/release_dockerhub_image.yml | 6 +
.pre-commit-config.yaml | 10 +-
.rat-excludes | 3 +-
Dockerfile | 19 +-
Dockerfile.ci | 15 +-
README.md | 10 +-
RELEASE_NOTES.rst | 5863 +-------------------
airflow-core/LICENSE | 1 -
airflow-core/NOTICE | 7 -
.../administration-and-deployment/dag-bundles.rst | 52 +-
.../docs/authoring-and-scheduling/assets.rst | 2 +-
.../docs/authoring-and-scheduling/datasets.rst | 4 +-
.../authoring-and-scheduling/event-scheduling.rst | 35 +-
.../docs/authoring-and-scheduling/index.rst | 7 +-
.../docs/authoring-and-scheduling/timezone.rst | 4 +-
airflow-core/docs/best-practices.rst | 8 +-
airflow-core/docs/cli-and-env-variables-ref.rst | 2 +-
airflow-core/docs/conf.py | 6 +-
airflow-core/docs/core-concepts/executor/index.rst | 2 +-
airflow-core/docs/core-concepts/taskflow.rst | 2 +-
airflow-core/docs/core-concepts/variables.rst | 4 +-
airflow-core/docs/core-concepts/xcoms.rst | 4 +-
airflow-core/docs/extra-packages-ref.rst | 6 +-
airflow-core/docs/howto/add-dag-tags.rst | 2 +-
airflow-core/docs/howto/add-owner-links.rst | 50 -
airflow-core/docs/howto/connection.rst | 6 +-
airflow-core/docs/howto/customize-ui.rst | 59 -
airflow-core/docs/howto/email-config.rst | 2 +-
airflow-core/docs/howto/index.rst | 2 -
airflow-core/docs/howto/run-behind-proxy.rst | 32 +-
airflow-core/docs/howto/setup-and-teardown.rst | 14 +-
.../docs/howto/upgrading-from-1-10/index.rst | 1182 ----
.../howto/upgrading-from-1-10/upgrade-check.rst | 221 -
airflow-core/docs/howto/variable.rst | 2 +-
airflow-core/docs/img/add-dag-tags.png | Bin 54332 -> 0 bytes
airflow-core/docs/img/airflow_erd.sha256 | 2 +-
airflow-core/docs/img/airflow_erd.svg | 3757 ++++++-------
airflow-core/docs/img/backfill.png | Bin 0 -> 481589 bytes
airflow-core/docs/img/code.png | Bin 504063 -> 829390
bytes
airflow-core/docs/img/connection_create.png | Bin 52889 -> 0 bytes
airflow-core/docs/img/connection_edit.png | Bin 31186 -> 0 bytes
airflow-core/docs/img/dag_doc.png | Bin 93757 -> 0 bytes
airflow-core/docs/img/dags.png | Bin 614240 -> 418739
bytes
.../img/demo_dag_overview_with_failed_tasks.png | Bin 292803 -> 0 bytes
airflow-core/docs/img/demo_graph_and_code_view.png | Bin 172027 -> 0 bytes
.../docs/img/demo_grid_view_with_task_logs.png | Bin 194258 -> 0 bytes
airflow-core/docs/img/email_connection.png | Bin 59515 -> 0 bytes
airflow-core/docs/img/graph.png | Bin 417210 -> 567178
bytes
airflow-core/docs/img/grid.png | Bin 334128 -> 628939
bytes
airflow-core/docs/img/home.png | Bin 0 -> 465823 bytes
airflow-core/docs/img/setup-teardown-complex.png | Bin 114476 -> 0 bytes
airflow-core/docs/img/setup-teardown-group.png | Bin 48789 -> 0 bytes
airflow-core/docs/img/setup-teardown-nesting.png | Bin 83934 -> 0 bytes
airflow-core/docs/img/setup-teardown-parallel.png | Bin 43571 -> 0 bytes
airflow-core/docs/img/setup-teardown-scope.png | Bin 62951 -> 0 bytes
.../docs/img/setup-teardown-setup-group.png | Bin 76759 -> 0 bytes
airflow-core/docs/img/setup-teardown-simple.png | Bin 29606 -> 0 bytes
airflow-core/docs/img/task_doc.png | Bin 145331 -> 0 bytes
airflow-core/docs/img/tutorial-pipeline-1.png | Bin 66411 -> 0 bytes
airflow-core/docs/img/tutorial-pipeline-2.png | Bin 137595 -> 0 bytes
airflow-core/docs/img/ui-dark/add-dag-tags.png | Bin 0 -> 87307 bytes
.../docs/img/ui-dark/connection_create.png | Bin 0 -> 56075 bytes
airflow-core/docs/img/ui-dark/connection_edit.png | Bin 0 -> 42107 bytes
airflow-core/docs/img/ui-dark/dag_doc.png | Bin 0 -> 92727 bytes
.../demo_dag_overview_with_failed_tasks.png | Bin 0 -> 285470 bytes
.../docs/img/ui-dark/demo_graph_and_code_view.png | Bin 0 -> 171844 bytes
.../img/ui-dark/demo_grid_view_with_task_logs.png | Bin 0 -> 220959 bytes
airflow-core/docs/img/ui-dark/email_connection.png | Bin 0 -> 56930 bytes
.../docs/img/ui-dark/setup-teardown-complex.png | Bin 0 -> 63390 bytes
.../docs/img/ui-dark/setup-teardown-group.png | Bin 0 -> 33595 bytes
.../docs/img/ui-dark/setup-teardown-nesting.png | Bin 0 -> 39867 bytes
.../docs/img/ui-dark/setup-teardown-parallel.png | Bin 0 -> 25371 bytes
.../docs/img/ui-dark/setup-teardown-scope.png | Bin 0 -> 32771 bytes
.../img/ui-dark/setup-teardown-setup-group.png | Bin 0 -> 40659 bytes
.../docs/img/ui-dark/setup-teardown-simple.png | Bin 0 -> 24861 bytes
airflow-core/docs/img/ui-dark/task_doc.png | Bin 0 -> 196657 bytes
.../ui-dark/tutorial_pipeline_add_connection.png | Bin 0 -> 109852 bytes
.../img/ui-dark/tutorial_pipeline_dag_list.png | Bin 0 -> 70666 bytes
.../tutorial_pipeline_dag_overview_processed.png | Bin 0 -> 107191 bytes
airflow-core/docs/img/ui-dark/variable_hidden.png | Bin 0 -> 76058 bytes
airflow-core/docs/img/ui-light/add_dag_tags.png | Bin 0 -> 85527 bytes
.../docs/img/ui-light/connection_create.png | Bin 0 -> 59177 bytes
airflow-core/docs/img/ui-light/connection_edit.png | Bin 0 -> 51498 bytes
airflow-core/docs/img/ui-light/dag_doc.png | Bin 0 -> 96363 bytes
.../demo_dag_overview_with_failed_tasks.png | Bin 0 -> 286606 bytes
.../docs/img/ui-light/demo_graph_and_code_view.png | Bin 0 -> 165225 bytes
.../img/ui-light/demo_grid_view_with_task_logs.png | Bin 0 -> 222704 bytes
.../docs/img/ui-light/email_connection.png | Bin 0 -> 59168 bytes
.../docs/img/ui-light/setup-teardown-complex.png | Bin 0 -> 63929 bytes
.../docs/img/ui-light/setup-teardown-group.png | Bin 0 -> 33507 bytes
.../docs/img/ui-light/setup-teardown-nesting.png | Bin 0 -> 39474 bytes
.../docs/img/ui-light/setup-teardown-parallel.png | Bin 0 -> 25106 bytes
.../docs/img/ui-light/setup-teardown-scope.png | Bin 0 -> 32664 bytes
.../img/ui-light/setup-teardown-setup-group.png | Bin 0 -> 40084 bytes
.../docs/img/ui-light/setup-teardown-simple.png | Bin 0 -> 24939 bytes
airflow-core/docs/img/ui-light/task_doc.png | Bin 0 -> 202764 bytes
.../ui-light/tutorial_pipeline_add_connection.png | Bin 0 -> 114291 bytes
.../img/ui-light/tutorial_pipeline_dag_list.png | Bin 0 -> 70320 bytes
.../tutorial_pipeline_dag_overview_processed.png | Bin 0 -> 108052 bytes
airflow-core/docs/img/ui-light/variable_hidden.png | Bin 0 -> 79071 bytes
airflow-core/docs/img/variable_hidden.png | Bin 55331 -> 0 bytes
airflow-core/docs/index.rst | 6 +-
airflow-core/docs/installation/index.rst | 7 +-
.../docs/installation/supported-versions.rst | 2 +-
.../docs/installation/upgrading_to_airflow3.rst | 158 +
.../security/secrets/secrets-backend/index.rst | 29 +
airflow-core/docs/stable-rest-api-ref.rst | 2 +-
airflow-core/docs/start.rst | 2 +-
airflow-core/docs/troubleshooting.rst | 6 +-
airflow-core/docs/tutorial/fundamentals.rst | 310 +-
airflow-core/docs/tutorial/objectstorage.rst | 160 +-
airflow-core/docs/tutorial/pipeline.rst | 204 +-
airflow-core/docs/tutorial/taskflow.rst | 735 +--
airflow-core/docs/ui.rst | 2 +-
airflow-core/newsfragments/47070.significant.rst | 6 +-
airflow-core/newsfragments/47761.significant.rst | 10 +-
airflow-core/newsfragments/48579.significant.rst | 4 +-
airflow-core/newsfragments/49161.significant.rst | 18 +
airflow-core/newsfragments/49223.significant.rst | 36 +
airflow-core/newsfragments/aip-66.significant.rst | 9 +
airflow-core/pyproject.toml | 18 +-
airflow-core/src/airflow/__init__.py | 2 +-
airflow-core/src/airflow/api/common/trigger_dag.py | 3 -
airflow-core/src/airflow/api_fastapi/app.py | 1 +
....yaml => v1-simple-auth-manager-generated.yaml} | 0
.../auth/managers/simple/simple_auth_manager.py | 2 +-
.../auth/managers/simple/ui/package-lock.json | 8 +-
.../auth/managers/simple/ui/package.json | 4 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 32 +-
.../auth/managers/simple/ui/src/router.tsx | 10 +-
.../src/airflow/api_fastapi/auth/tokens.py | 10 +-
.../src/airflow/api_fastapi/common/parameters.py | 5 +-
.../src/airflow/api_fastapi/core_api/app.py | 30 +-
.../core_api/datamodels/dag_versions.py | 6 +-
.../api_fastapi/core_api/datamodels/dags.py | 2 +-
.../api_fastapi/core_api/datamodels/extra_links.py | 11 +-
.../api_fastapi/core_api/datamodels/ui/config.py | 3 -
.../airflow/api_fastapi/core_api/init_dagbag.py | 9 -
.../api_fastapi/core_api/openapi/_private_ui.yaml | 1783 ++++++
...1-generated.yaml => v1-rest-api-generated.yaml} | 1560 +-----
.../api_fastapi/core_api/routes/public/__init__.py | 9 +-
.../api_fastapi/core_api/routes/public/assets.py | 2 -
.../api_fastapi/core_api/routes/public/dag_run.py | 19 +-
.../core_api/routes/public/extra_links.py | 10 +-
.../api_fastapi/core_api/routes/public/log.py | 30 +-
.../api_fastapi/core_api/routes/public/pools.py | 2 +-
.../api_fastapi/core_api/routes/ui/assets.py | 4 +-
.../api_fastapi/core_api/routes/ui/config.py | 5 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 12 +-
.../core_api/services/public/connections.py | 6 +-
.../api_fastapi/core_api/services/public/pools.py | 6 +-
.../core_api/services/public/variables.py | 6 +-
.../api_fastapi/core_api/services/ui/grid.py | 18 +-
.../execution_api/datamodels/taskinstance.py | 15 +-
.../execution_api/routes/task_instances.py | 133 +-
.../api_fastapi/execution_api/routes/variables.py | 18 +-
.../api_fastapi/execution_api/versions/__init__.py | 10 +-
.../execution_api/versions/v2025_03_26.py | 41 -
.../execution_api/versions/v2025_04_10.py | 34 -
.../src/airflow/callbacks/pipe_callback_sink.py | 7 +-
airflow-core/src/airflow/cli/cli_config.py | 44 +-
.../src/airflow/cli/commands/api_server_command.py | 4 +-
.../src/airflow/cli/commands/config_command.py | 156 +-
.../src/airflow/cli/commands/dag_command.py | 13 +-
.../src/airflow/cli/commands/info_command.py | 12 +-
.../src/airflow/cli/commands/task_command.py | 23 +-
.../config_templates/airflow_local_settings.py | 2 -
.../src/airflow/config_templates/config.yml | 77 +-
.../config_templates/default_webserver_config.py | 8 +-
airflow-core/src/airflow/configuration.py | 22 +-
.../src/airflow/dag_processing/bundles/base.py | 7 +-
airflow-core/src/airflow/dag_processing/manager.py | 16 +-
.../src/airflow/dag_processing/processor.py | 12 +-
airflow-core/src/airflow/decorators/__init__.py | 1 +
.../airflow/example_dags/example_bash_decorator.py | 5 +-
.../example_branch_python_dop_operator_3.py | 3 +-
.../airflow/example_dags/example_dag_decorator.py | 2 +
airflow-core/src/airflow/exceptions.py | 4 +-
.../src/airflow/executors/base_executor.py | 4 +-
.../src/airflow/executors/executor_loader.py | 14 +-
.../src/airflow/executors/executor_utils.py | 3 +-
airflow-core/src/airflow/jobs/job.py | 9 +-
.../src/airflow/jobs/scheduler_job_runner.py | 110 +-
.../src/airflow/jobs/triggerer_job_runner.py | 33 +-
.../src/airflow/metrics/base_stats_logger.py | 6 +-
airflow-core/src/airflow/metrics/datadog_logger.py | 4 +-
airflow-core/src/airflow/metrics/otel_logger.py | 4 +-
airflow-core/src/airflow/metrics/protocols.py | 13 +-
airflow-core/src/airflow/metrics/statsd_logger.py | 7 +-
airflow-core/src/airflow/metrics/validators.py | 6 +-
airflow-core/src/airflow/migrations/env.py | 3 +-
.../versions/0041_3_0_0_rename_dataset_as_asset.py | 102 +-
...3_0_0_add_uuid_primary_key_to_task_instance_.py | 32 +-
.../versions/0047_3_0_0_add_dag_versioning.py | 10 +
.../0060_3_0_0_add_try_id_to_ti_and_tih.py | 43 +-
.../0068_3_0_0_ti_table_id_unique_per_try.py | 13 +-
airflow-core/src/airflow/models/asset.py | 24 +-
airflow-core/src/airflow/models/backfill.py | 55 +-
airflow-core/src/airflow/models/base.py | 29 +-
airflow-core/src/airflow/models/baseoperator.py | 3 +-
airflow-core/src/airflow/models/connection.py | 6 +-
airflow-core/src/airflow/models/dag.py | 25 +-
airflow-core/src/airflow/models/dag_version.py | 14 +-
airflow-core/src/airflow/models/dagbag.py | 2 +-
airflow-core/src/airflow/models/dagcode.py | 3 +-
airflow-core/src/airflow/models/dagrun.py | 27 +-
.../src/airflow/models/renderedtifields.py | 3 +-
airflow-core/src/airflow/models/serialized_dag.py | 93 +-
airflow-core/src/airflow/models/taskinstance.py | 1611 +++---
.../src/airflow/models/taskinstancehistory.py | 7 +-
airflow-core/src/airflow/models/trigger.py | 4 +-
airflow-core/src/airflow/models/variable.py | 154 +-
airflow-core/src/airflow/provider.yaml.schema.json | 4 +
airflow-core/src/airflow/providers_manager.py | 8 +-
airflow-core/src/airflow/secrets/base_secrets.py | 6 +-
.../src/airflow/serialization/dag_dependency.py | 88 +-
airflow-core/src/airflow/serialization/helpers.py | 29 +-
airflow-core/src/airflow/serialization/serde.py | 3 +-
.../airflow/serialization/serialized_objects.py | 164 +-
.../airflow/serialization/serializers/timezone.py | 4 +-
airflow-core/src/airflow/settings.py | 22 +-
airflow-core/src/airflow/ti_deps/dep_context.py | 5 +-
.../src/airflow/ti_deps/deps/base_ti_dep.py | 4 +-
.../airflow/ti_deps/deps/task_not_running_dep.py | 2 +-
.../src/airflow/ti_deps/deps/valid_state_dep.py | 6 +-
airflow-core/src/airflow/timetables/__init__.py | 11 -
airflow-core/src/airflow/timetables/_cron.py | 8 +-
.../src/airflow/timetables/datasets.py | 19 +-
airflow-core/src/airflow/timetables/events.py | 7 +-
airflow-core/src/airflow/timetables/interval.py | 2 +-
airflow-core/src/airflow/timetables/simple.py | 2 +-
airflow-core/src/airflow/timetables/trigger.py | 3 +-
airflow-core/src/airflow/traces/otel_tracer.py | 10 +-
airflow-core/src/airflow/traces/tracer.py | 5 +-
airflow-core/src/airflow/ui/.gitignore | 1 +
.../src/airflow/ui/openapi-gen/queries/common.ts | 613 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 851 ++-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 851 ++-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 1169 ++--
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 1031 ++--
.../ui/openapi-gen/requests/core/OpenAPI.ts | 2 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 5100 ++++++++---------
.../ui/openapi-gen/requests/services.gen.ts | 959 ++--
.../airflow/ui/openapi-gen/requests/types.gen.ts | 1555 +++---
airflow-core/src/airflow/ui/openapi-merge.json | 11 +
airflow-core/src/airflow/ui/package.json | 3 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 105 +
.../components/AssetExpression/AssetExpression.tsx | 8 +-
.../ui/src/components/AssetExpression/types.ts | 13 +-
.../ui/src/components/Clear/Run/ClearRunDialog.tsx | 1 +
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 3 +-
.../{AssetExpression/types.ts => DagVersion.tsx} | 33 +-
.../airflow/ui/src/components/DagVersionSelect.tsx | 125 +-
.../Graph/DefaultNode.tsx} | 35 +-
.../types.ts => Graph/graphTypes.ts} | 40 +-
.../airflow/ui/src/components/LimitedItemsList.tsx | 70 +-
.../TaskInstance/MarkTaskInstanceAsDialog.tsx | 1 +
.../{AssetExpression/types.ts => WarningAlert.tsx} | 32 +-
.../ui/src/components/ui/DagWarningsModal.tsx | 70 +
.../ui/src/context/timezone/TimezoneProvider.tsx | 9 +-
.../ui/src/layouts/Details/DagBreadcrumb.tsx | 3 +
.../ui/src/layouts/Details/DagRunSelect.tsx | 2 +-
.../ui/src/layouts/Details/DetailsLayout.tsx | 36 +-
.../airflow/ui/src/layouts/Details/Graph/Graph.tsx | 18 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 2 +-
airflow-core/src/airflow/ui/src/main.tsx | 9 +-
.../src/airflow/ui/src/mocks/handlers/config.ts | 16 -
.../src/airflow/ui/src/pages/Asset/AssetGraph.tsx | 12 +-
.../src/airflow/ui/src/pages/Dag/Code/Code.tsx | 2 +-
.../src/airflow/ui/src/pages/Dag/Header.tsx | 8 +-
airflow-core/src/airflow/ui/src/pages/DagRuns.tsx | 8 +-
.../ui/src/pages/DagsList/AssetSchedule.tsx | 45 +-
.../airflow/ui/src/pages/DagsList/DagCard.test.tsx | 22 +-
.../src/airflow/ui/src/pages/DagsList/DagTags.tsx | 1 -
.../Dashboard/HistoricalMetrics/DagRunMetrics.tsx | 15 +-
.../HistoricalMetrics/HistoricalMetrics.tsx | 9 +-
.../Dashboard/HistoricalMetrics/MetricSection.tsx | 10 +-
.../HistoricalMetrics/TaskInstanceMetrics.tsx | 15 +-
.../src/airflow/ui/src/pages/Pools/Pools.tsx | 81 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 6 +-
.../ui/src/pages/TaskInstance/ExtraLinks.tsx | 4 +-
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 6 +-
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 4 +-
.../ui/src/queries/useConnectionTypeMeta.ts | 4 +-
airflow-core/src/airflow/utils/cli.py | 59 +-
airflow-core/src/airflow/utils/code_utils.py | 9 +-
airflow-core/src/airflow/utils/dag_cycle_tester.py | 2 +-
airflow-core/src/airflow/utils/db.py | 4 +-
airflow-core/src/airflow/utils/decorators.py | 4 +-
airflow-core/src/airflow/utils/email.py | 26 +-
airflow-core/src/airflow/utils/file.py | 11 +-
airflow-core/src/airflow/utils/hashlib_wrapper.py | 6 +-
airflow-core/src/airflow/utils/helpers.py | 34 +-
.../src/airflow/utils/log/file_task_handler.py | 3 +-
.../src/airflow/utils/operator_resources.py | 4 +-
airflow-core/src/airflow/utils/retries.py | 3 +-
airflow-core/src/airflow/utils/session.py | 5 +-
airflow-core/src/airflow/utils/sqlalchemy.py | 31 +-
airflow-core/src/airflow/utils/timezone.py | 5 +-
.../dags/otel_test_dag_with_pause_between_tasks.py | 7 +-
.../otel/dags/otel_test_dag_with_pause_in_task.py | 7 +-
airflow-core/tests/integration/otel/test_otel.py | 20 +-
.../tests/unit/always/test_project_structure.py | 20 +-
.../tests/unit/always/test_providers_manager.py | 7 +-
.../auth/managers/test_base_auth_manager.py | 3 +-
.../unit/api_fastapi/common/test_exceptions.py | 6 +-
airflow-core/tests/unit/api_fastapi/conftest.py | 2 -
.../core_api/routes/public/test_assets.py | 17 +-
.../core_api/routes/public/test_dag_versions.py | 22 +-
.../core_api/routes/public/test_extra_links.py | 64 +-
.../core_api/routes/public/test_pools.py | 1 +
.../core_api/routes/public/test_task_instances.py | 8 +-
.../api_fastapi/core_api/routes/test_routes.py | 7 +-
.../api_fastapi/core_api/routes/ui/test_assets.py | 4 +-
.../api_fastapi/core_api/routes/ui/test_config.py | 37 +-
.../unit/api_fastapi/execution_api/test_app.py | 2 +-
.../versions/head/test_task_instances.py | 198 +
.../execution_api/versions/head/test_variables.py | 29 +
.../versions/v2025_03_19/test_task_instances.py | 74 -
.../versions/v2025_03_26/test_task_instances.py | 99 -
airflow-core/tests/unit/assets/test_evaluation.py | 2 +-
.../tests/unit/cli/commands/test_config_command.py | 139 +-
.../tests/unit/cli/commands/test_task_command.py | 10 +-
airflow-core/tests/unit/core/test_configuration.py | 6 +
airflow-core/tests/unit/core/test_core.py | 7 +-
.../tests/unit/dag_processing/test_processor.py | 35 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 247 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 27 +-
airflow-core/tests/unit/models/test_backfill.py | 5 +-
airflow-core/tests/unit/models/test_dag.py | 3 -
airflow-core/tests/unit/models/test_dagrun.py | 2 -
.../tests/unit/models/test_mappedoperator.py | 19 +-
.../tests/unit/models/test_serialized_dag.py | 87 +-
.../tests/unit/models/test_taskinstance.py | 24 +-
airflow-core/tests/unit/models/test_trigger.py | 2 +-
.../unit/serialization/test_dag_dependency.py | 44 +-
.../unit/serialization/test_dag_serialization.py | 385 +-
.../unit/serialization/test_serialized_objects.py | 18 +
.../ti_deps/deps/test_mapped_task_upstream_dep.py | 2 +-
airflow-core/tests/unit/utils/test_helpers.py | 4 +-
.../tests/unit/utils/test_orm_event_handlers.py | 7 +-
airflow-core/tests/unit/utils/test_task_group.py | 10 +-
airflow-ctl/src/airflowctl/api/client.py | 7 +-
.../src/airflowctl/api/datamodels/generated.py | 32 +-
airflow-ctl/src/airflowctl/api/operations.py | 3 +-
airflow-ctl/src/airflowctl/ctl/cli_config.py | 6 +-
.../tests/airflow_ctl/api}/__init__.py | 0
.../tests/airflow_ctl/api/test_operations.py | 4 +-
clients/python/LICENSE | 1 -
clients/python/test_python_client.py | 13 +-
contributing-docs/03_contributors_quick_start.rst | 9 +-
contributing-docs/04_how_to_contribute.rst | 2 +-
contributing-docs/09_testing.rst | 2 +-
contributing-docs/16_adding_api_endpoints.rst | 2 +-
dev/airflow-github | 9 +-
dev/airflow_perf/scheduler_dag_execution_timing.py | 1 -
dev/breeze/doc/03_developer_tasks.rst | 4 +
dev/breeze/doc/images/output_build-docs.svg | 6 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
dev/breeze/doc/images/output_ci-image_build.txt | 2 +-
dev/breeze/doc/images/output_prod-image_build.svg | 2 +-
dev/breeze/doc/images/output_prod-image_build.txt | 2 +-
...tput_release-management_add-back-references.svg | 6 +-
...tput_release-management_add-back-references.txt | 2 +-
...management_generate-issue-content-providers.svg | 8 +-
...management_generate-issue-content-providers.txt | 2 +-
...e-management_install-provider-distributions.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 8 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 32 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 6 +-
.../output_release-management_publish-docs.txt | 2 +-
...tput_release-management_release-prod-images.svg | 28 +-
...tput_release-management_release-prod-images.txt | 2 +-
...se-management_verify-provider-distributions.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 2 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
.../output_testing_core-integration-tests.svg | 4 +-
.../output_testing_core-integration-tests.txt | 2 +-
.../doc/images/output_testing_core-tests.txt | 2 +-
.../output_testing_providers-integration-tests.svg | 4 +-
.../output_testing_providers-integration-tests.txt | 2 +-
.../doc/images/output_testing_providers-tests.txt | 2 +-
.../airflow_breeze/commands/ci_image_commands.py | 50 +-
.../airflow_breeze/commands/developer_commands.py | 8 +-
.../airflow_breeze/commands/kubernetes_commands.py | 14 +-
.../commands/release_candidate_command.py | 2 +-
.../commands/release_management_commands.py | 45 +-
.../commands/release_management_commands_config.py | 2 +
.../src/airflow_breeze/commands/sbom_commands.py | 8 +-
.../src/airflow_breeze/commands/setup_commands.py | 5 +-
dev/breeze/src/airflow_breeze/global_constants.py | 120 +-
.../src/airflow_breeze/params/build_prod_params.py | 3 +-
.../airflow_breeze/params/common_build_params.py | 3 +-
.../src/airflow_breeze/params/doc_build_params.py | 4 -
.../src/airflow_breeze/params/shell_params.py | 21 +-
.../prepare_providers/provider_distributions.py | 2 +-
.../prepare_providers/provider_documentation.py | 17 +-
.../templates/pyproject_TEMPLATE.toml.jinja2 | 3 +
dev/breeze/src/airflow_breeze/utils/cache.py | 3 +-
dev/breeze/src/airflow_breeze/utils/cdxgen.py | 3 +-
dev/breeze/src/airflow_breeze/utils/coertions.py | 5 +-
dev/breeze/src/airflow_breeze/utils/confirm.py | 12 +-
.../airflow_breeze/utils/docker_command_utils.py | 11 +-
.../src/airflow_breeze/utils/docs_publisher.py | 6 +-
dev/breeze/src/airflow_breeze/utils/image.py | 12 +-
.../src/airflow_breeze/utils/kubernetes_utils.py | 18 +-
.../src/airflow_breeze/utils/md5_build_check.py | 13 +-
dev/breeze/src/airflow_breeze/utils/packages.py | 20 +-
dev/breeze/src/airflow_breeze/utils/parallel.py | 3 +-
dev/breeze/src/airflow_breeze/utils/platforms.py | 5 +-
dev/breeze/src/airflow_breeze/utils/run_tests.py | 3 +-
dev/breeze/src/airflow_breeze/utils/run_utils.py | 56 +-
.../src/airflow_breeze/utils/selective_checks.py | 85 +-
.../src/airflow_breeze/utils/version_utils.py | 9 +-
.../tests/test_pytest_args_for_test_types.py | 1 +
dev/breeze/tests/test_selective_checks.py | 41 +-
dev/provider_db_inventory.py | 105 +
dev/stats/get_important_pr_candidates.py | 16 +-
devel-common/src/docs/provider_conf.py | 6 +-
.../sphinx_exts/docs_build/dev_index_generator.py | 8 +-
.../docs_build/dev_index_template.html.jinja2 | 2 +-
.../src/sphinx_exts/docs_build/docs_builder.py | 19 +-
.../src/sphinx_exts/operators_and_hooks_ref.py | 12 +-
.../src/sphinx_exts/removemarktransform.py | 2 +-
.../tests_common/_internals/capture_warnings.py | 4 +-
devel-common/src/tests_common/pytest_plugin.py | 56 +-
.../tests_common/test_utils/api_client_helpers.py | 51 +
devel-common/src/tests_common/test_utils/compat.py | 5 +-
devel-common/src/tests_common/test_utils/db.py | 3 +
.../test_utils/logging_command_executor.py | 68 +-
.../src/tests_common/test_utils/system_tests.py | 5 +-
docker-stack-docs/build-arg-ref.rst | 2 +
docker-tests/tests/docker_tests/command_utils.py | 16 +-
.../test_docker_compose_quick_start.py | 40 +-
docs/spelling_wordlist.txt | 5 +
generated/provider_metadata.json | 72 +
.../tests/kubernetes_tests/test_base.py | 46 +-
performance/requirements.txt | 2 +-
prod_image_installed_providers.txt | 2 -
providers-summary-docs/pyproject.toml | 1 -
providers/airbyte/README.rst | 6 +-
providers/airbyte/docs/changelog.rst | 26 +
providers/airbyte/docs/commits.rst | 25 +-
providers/airbyte/docs/index.rst | 2 +-
providers/airbyte/provider.yaml | 3 +-
providers/airbyte/pyproject.toml | 6 +-
.../src/airflow/providers/airbyte/__init__.py | 2 +-
.../src/airflow/providers/airbyte/hooks/airbyte.py | 8 +-
.../airflow/providers/airbyte/sensors/airbyte.py | 9 +-
providers/alibaba/README.rst | 6 +-
providers/alibaba/docs/changelog.rst | 15 +
providers/alibaba/docs/commits.rst | 18 +-
providers/alibaba/docs/index.rst | 2 +-
providers/alibaba/provider.yaml | 3 +-
providers/alibaba/pyproject.toml | 6 +-
.../src/airflow/providers/alibaba/__init__.py | 2 +-
.../alibaba/cloud/log/oss_task_handler.py | 3 +-
.../tests/unit/alibaba/cloud/utils/test_utils.py | 3 +-
providers/amazon/README.rst | 6 +-
providers/amazon/docs/changelog.rst | 25 +
providers/amazon/docs/commits.rst | 22 +
providers/amazon/docs/index.rst | 6 +-
providers/amazon/docs/operators/batch.rst | 5 +
providers/amazon/docs/operators/eks.rst | 5 +
providers/amazon/provider.yaml | 3 +-
providers/amazon/pyproject.toml | 13 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../amazon/aws/auth_manager/cli/avp_commands.py | 33 +-
.../amazon/aws/auth_manager/router/login.py | 2 +-
.../amazon/aws/executors/ecs/ecs_executor.py | 7 +-
.../aws/executors/ecs/ecs_executor_config.py | 2 +-
.../providers/amazon/aws/executors/ecs/utils.py | 2 +-
.../airflow/providers/amazon/aws/hooks/athena.py | 2 +-
.../airflow/providers/amazon/aws/hooks/base_aws.py | 27 +-
.../providers/amazon/aws/hooks/batch_client.py | 11 +
.../providers/amazon/aws/hooks/cloud_formation.py | 3 +-
.../airflow/providers/amazon/aws/hooks/datasync.py | 4 +-
.../src/airflow/providers/amazon/aws/hooks/dms.py | 5 +-
.../airflow/providers/amazon/aws/hooks/dynamodb.py | 3 +-
.../src/airflow/providers/amazon/aws/hooks/emr.py | 31 +-
.../src/airflow/providers/amazon/aws/hooks/glue.py | 22 +-
.../src/airflow/providers/amazon/aws/hooks/mwaa.py | 13 +-
.../providers/amazon/aws/hooks/redshift_data.py | 2 +-
.../providers/amazon/aws/hooks/redshift_sql.py | 11 +-
.../src/airflow/providers/amazon/aws/hooks/s3.py | 9 +-
.../providers/amazon/aws/hooks/sagemaker.py | 15 +-
.../amazon/aws/hooks/sagemaker_unified_studio.py | 11 +-
.../airflow/providers/amazon/aws/links/base_aws.py | 4 +-
.../src/airflow/providers/amazon/aws/links/emr.py | 6 +-
.../amazon/aws/log/cloudwatch_task_handler.py | 8 +-
.../providers/amazon/aws/log/s3_task_handler.py | 3 +-
.../providers/amazon/aws/operators/athena.py | 2 +-
.../providers/amazon/aws/operators/batch.py | 79 +-
.../providers/amazon/aws/operators/bedrock.py | 2 +-
.../airflow/providers/amazon/aws/operators/ecs.py | 10 +-
.../airflow/providers/amazon/aws/operators/eks.py | 285 +-
.../airflow/providers/amazon/aws/operators/emr.py | 9 +-
.../airflow/providers/amazon/aws/operators/mwaa.py | 2 +-
.../providers/amazon/aws/operators/neptune.py | 4 +-
.../amazon/aws/operators/redshift_data.py | 3 +-
.../airflow/providers/amazon/aws/operators/s3.py | 22 +-
.../providers/amazon/aws/operators/sagemaker.py | 30 +-
.../amazon/aws/secrets/secrets_manager.py | 3 +-
.../airflow/providers/amazon/aws/sensors/batch.py | 88 +-
.../airflow/providers/amazon/aws/sensors/eks.py | 118 +-
.../providers/amazon/aws/sensors/glacier.py | 9 +-
.../airflow/providers/amazon/aws/sensors/glue.py | 15 +-
.../providers/amazon/aws/sensors/glue_crawler.py | 6 +-
.../amazon/aws/sensors/redshift_cluster.py | 2 +-
.../src/airflow/providers/amazon/aws/sensors/s3.py | 3 +-
.../amazon/aws/sensors/sagemaker_unified_studio.py | 9 +-
.../airflow/providers/amazon/aws/sensors/sqs.py | 3 +-
.../amazon/aws/utils/connection_wrapper.py | 2 +-
.../src/airflow/providers/amazon/aws/utils/sqs.py | 3 +-
.../src/airflow/providers/amazon/aws/utils/tags.py | 5 +-
.../airflow/providers/amazon/aws/waiters/mwaa.json | 2 +-
.../amazon/tests/system/amazon/aws/example_mwaa.py | 57 +-
.../amazon/aws/tests/test_aws_auth_manager.py | 2 +-
.../tests/unit/amazon/aws/hooks/test_base_aws.py | 3 +-
.../tests/unit/amazon/aws/operators/test_batch.py | 40 +-
.../tests/unit/amazon/aws/operators/test_eks.py | 63 +-
.../tests/unit/amazon/aws/sensors/test_eks.py | 38 +-
providers/apache/beam/README.rst | 6 +-
providers/apache/beam/docs/changelog.rst | 22 +
providers/apache/beam/docs/commits.rst | 25 +-
providers/apache/beam/docs/index.rst | 6 +-
providers/apache/beam/provider.yaml | 3 +-
providers/apache/beam/pyproject.toml | 6 +-
.../src/airflow/providers/apache/beam/__init__.py | 2 +-
.../providers/apache/beam/operators/beam.py | 39 +-
providers/apache/cassandra/README.rst | 6 +-
providers/apache/cassandra/docs/changelog.rst | 21 +
providers/apache/cassandra/docs/commits.rst | 24 +-
providers/apache/cassandra/docs/index.rst | 2 +-
providers/apache/cassandra/provider.yaml | 3 +-
providers/apache/cassandra/pyproject.toml | 6 +-
.../airflow/providers/apache/cassandra/__init__.py | 2 +-
.../providers/apache/cassandra/hooks/cassandra.py | 3 +-
.../apache/drill/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/druid/README.rst | 6 +-
providers/apache/druid/docs/changelog.rst | 28 +
providers/apache/druid/docs/commits.rst | 27 +-
providers/apache/druid/docs/index.rst | 6 +-
providers/apache/druid/docs/operators.rst | 94 +-
providers/apache/druid/provider.yaml | 3 +-
providers/apache/druid/pyproject.toml | 6 +-
.../src/airflow/providers/apache/druid/__init__.py | 2 +-
.../airflow/providers/apache/druid/hooks/druid.py | 6 +-
.../tests/system/apache/druid/example_druid.py | 75 +
providers/apache/flink/README.rst | 6 +-
providers/apache/flink/docs/changelog.rst | 21 +
providers/apache/flink/docs/commits.rst | 24 +-
providers/apache/flink/docs/index.rst | 6 +-
providers/apache/flink/provider.yaml | 3 +-
providers/apache/flink/pyproject.toml | 6 +-
.../src/airflow/providers/apache/flink/__init__.py | 2 +-
.../apache/flink/sensors/flink_kubernetes.py | 7 +-
providers/apache/hdfs/README.rst | 6 +-
providers/apache/hdfs/docs/changelog.rst | 11 +
providers/apache/hdfs/docs/commits.rst | 12 +
providers/apache/hdfs/docs/index.rst | 2 +-
providers/apache/hdfs/provider.yaml | 3 +-
providers/apache/hdfs/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hdfs/__init__.py | 2 +-
.../airflow/providers/apache/hdfs/hooks/webhdfs.py | 3 +-
providers/apache/hive/README.rst | 6 +-
providers/apache/hive/docs/changelog.rst | 20 +
providers/apache/hive/docs/commits.rst | 19 +-
providers/apache/hive/docs/index.rst | 6 +-
providers/apache/hive/docs/operators.rst | 66 +-
providers/apache/hive/provider.yaml | 3 +-
providers/apache/hive/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hive/__init__.py | 2 +-
.../airflow/providers/apache/hive/hooks/hive.py | 8 +-
.../airflow/providers/apache/hive/macros/hive.py | 14 +-
.../apache/hive/sensors/named_hive_partition.py | 3 +-
.../providers/apache/hive/transfers/s3_to_hive.py | 13 +-
.../hive/tests/system/apache/hive/example_hive.py | 83 +
.../iceberg/docs/.latest-doc-only-change.txt | 2 +-
.../apache/impala/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/impala/docs/index.rst | 9 +
providers/apache/impala/docs/operators.rst | 74 +
.../apache/impala/tests/system/apache}/__init__.py | 0
.../impala/tests/system/apache/impala}/__init__.py | 0
.../tests/system/apache/impala/example_impala.py | 89 +
providers/apache/kafka/README.rst | 6 +-
providers/apache/kafka/docs/changelog.rst | 18 +
providers/apache/kafka/docs/commits.rst | 21 +-
providers/apache/kafka/docs/index.rst | 6 +-
providers/apache/kafka/provider.yaml | 3 +-
providers/apache/kafka/pyproject.toml | 6 +-
.../src/airflow/providers/apache/kafka/__init__.py | 2 +-
.../apache/kafka/hooks/test_producer.py | 7 +-
.../apache/kafka/example_dag_event_listener.py | 9 +-
providers/apache/kylin/README.rst | 6 +-
providers/apache/kylin/docs/changelog.rst | 22 +
providers/apache/kylin/docs/commits.rst | 21 +-
providers/apache/kylin/docs/index.rst | 3 +-
providers/apache/kylin/docs/operators.rst | 75 +
providers/apache/kylin/provider.yaml | 3 +-
providers/apache/kylin/pyproject.toml | 6 +-
.../src/airflow/providers/apache/kylin/__init__.py | 2 +-
.../tests/system/apache/kylin/example_kylin.py | 91 +
.../tests/unit/apache/kylin/hooks/test_kylin.py | 3 +-
providers/apache/livy/README.rst | 6 +-
providers/apache/livy/docs/changelog.rst | 11 +
providers/apache/livy/docs/commits.rst | 14 +-
providers/apache/livy/docs/index.rst | 6 +-
providers/apache/livy/provider.yaml | 3 +-
providers/apache/livy/pyproject.toml | 6 +-
.../src/airflow/providers/apache/livy/__init__.py | 2 +-
.../airflow/providers/apache/livy/hooks/livy.py | 5 +-
.../apache/pig/docs/.latest-doc-only-change.txt | 2 +-
.../apache/pinot/docs/.latest-doc-only-change.txt | 2 +-
.../apache/pinot/docs/{operators.rst => hooks.rst} | 0
providers/apache/pinot/docs/index.rst | 1 +
providers/apache/pinot/docs/operators.rst | 134 +-
.../tests/system/apache/pinot/example_pinot.py | 75 +
providers/apache/spark/README.rst | 6 +-
providers/apache/spark/docs/changelog.rst | 11 +
providers/apache/spark/docs/commits.rst | 14 +-
providers/apache/spark/docs/index.rst | 6 +-
providers/apache/spark/provider.yaml | 3 +-
providers/apache/spark/pyproject.toml | 6 +-
.../src/airflow/providers/apache/spark/__init__.py | 2 +-
.../providers/apache/spark/hooks/spark_submit.py | 7 +-
providers/apprise/docs/.latest-doc-only-change.txt | 2 +-
providers/arangodb/README.rst | 6 +-
providers/arangodb/docs/changelog.rst | 22 +
providers/arangodb/docs/commits.rst | 25 +-
providers/arangodb/docs/index.rst | 2 +-
providers/arangodb/provider.yaml | 3 +-
providers/arangodb/pyproject.toml | 6 +-
.../src/airflow/providers/arangodb/__init__.py | 2 +-
.../airflow/providers/arangodb/hooks/arangodb.py | 27 +-
providers/asana/docs/.latest-doc-only-change.txt | 2 +-
.../jira/docs/.latest-doc-only-change.txt | 2 +-
providers/celery/docs/.latest-doc-only-change.txt | 2 +-
.../tests/integration}/__init__.py | 0
.../celery/tests/integration/celery}/__init__.py | 0
.../integration/celery}/test_celery_executor.py | 0
.../cloudant/docs/.latest-doc-only-change.txt | 2 +-
providers/cncf/kubernetes/README.rst | 6 +-
providers/cncf/kubernetes/docs/changelog.rst | 17 +
providers/cncf/kubernetes/docs/commits.rst | 17 +-
providers/cncf/kubernetes/docs/index.rst | 2 +-
providers/cncf/kubernetes/provider.yaml | 3 +-
providers/cncf/kubernetes/pyproject.toml | 6 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 2 +-
.../backcompat/backwards_compat_converters.py | 13 +-
.../cncf/kubernetes/cli/kubernetes_command.py | 5 +-
.../kubernetes/executors/kubernetes_executor.py | 15 +-
.../executors/kubernetes_executor_utils.py | 9 +-
.../providers/cncf/kubernetes/hooks/kubernetes.py | 12 +-
.../cncf/kubernetes/kubernetes_helper_functions.py | 3 +-
.../kubernetes/operators/custom_object_launcher.py | 5 +-
.../providers/cncf/kubernetes/operators/job.py | 2 +-
.../providers/cncf/kubernetes/operators/kueue.py | 2 +-
.../providers/cncf/kubernetes/operators/pod.py | 4 +-
.../cncf/kubernetes/operators/resource.py | 3 +-
.../cncf/kubernetes/operators/spark_kubernetes.py | 2 +-
.../providers/cncf/kubernetes/pod_generator.py | 11 +-
.../kubernetes/resource_convert/env_variable.py | 2 +-
.../cncf/kubernetes/sensors/spark_kubernetes.py | 7 +-
.../cncf/kubernetes/template_rendering.py | 17 -
.../providers/cncf/kubernetes/triggers/pod.py | 5 +-
.../providers/cncf/kubernetes/utils/pod_manager.py | 17 +-
.../tests/unit/cncf/kubernetes/conftest.py | 2 +-
.../cncf/kubernetes/test_template_rendering.py | 32 +-
providers/cohere/docs/.latest-doc-only-change.txt | 2 +-
.../common/compat/docs/.latest-doc-only-change.txt | 2 +-
providers/common/io/README.rst | 6 +-
providers/common/io/docs/changelog.rst | 17 +
providers/common/io/docs/commits.rst | 16 +-
providers/common/io/docs/index.rst | 6 +-
providers/common/io/provider.yaml | 3 +-
providers/common/io/pyproject.toml | 6 +-
.../io/src/airflow/providers/common/io/__init__.py | 2 +-
.../airflow/providers/common/io/xcom/backend.py | 23 +-
.../io/tests/unit/common/io/xcom/test_backend.py | 28 +
.../messaging/docs/.latest-doc-only-change.txt | 1 +
providers/common/messaging/docs/triggers.rst | 18 +-
.../messaging/example_message_queue_trigger.py | 16 +-
providers/common/sql/README.rst | 6 +-
providers/common/sql/docs/changelog.rst | 21 +
providers/common/sql/docs/commits.rst | 20 +-
providers/common/sql/docs/dataframes.rst | 59 +
providers/common/sql/docs/index.rst | 7 +-
providers/common/sql/provider.yaml | 3 +-
providers/common/sql/pyproject.toml | 10 +-
.../src/airflow/providers/common/sql/__init__.py | 2 +-
.../airflow/providers/common/sql/hooks/handlers.py | 10 +-
.../src/airflow/providers/common/sql/hooks/sql.py | 160 +-
.../airflow/providers/common/sql/operators/sql.py | 14 +-
.../airflow/providers/common/sql/sensors/sql.py | 8 +-
providers/databricks/README.rst | 6 +-
providers/databricks/docs/changelog.rst | 16 +
providers/databricks/docs/commits.rst | 15 +-
providers/databricks/docs/index.rst | 6 +-
providers/databricks/provider.yaml | 3 +-
providers/databricks/pyproject.toml | 6 +-
.../src/airflow/providers/databricks/__init__.py | 2 +-
.../providers/databricks/hooks/databricks.py | 9 +-
.../providers/databricks/hooks/databricks_base.py | 29 +-
.../providers/databricks/hooks/databricks_sql.py | 8 +-
.../providers/databricks/operators/databricks.py | 33 +-
.../databricks/operators/databricks_workflow.py | 18 +-
.../databricks/sensors/databricks_partition.py | 5 +-
.../providers/databricks/utils/databricks.py | 13 +-
.../tests/unit/databricks/hooks/test_databricks.py | 9 +-
.../unit/databricks/operators/test_databricks.py | 9 +-
.../operators/test_databricks_workflow.py | 8 +-
providers/datadog/docs/.latest-doc-only-change.txt | 2 +-
providers/dbt/cloud/README.rst | 6 +-
providers/dbt/cloud/docs/changelog.rst | 15 +
providers/dbt/cloud/docs/commits.rst | 18 +-
providers/dbt/cloud/docs/index.rst | 6 +-
providers/dbt/cloud/provider.yaml | 3 +-
providers/dbt/cloud/pyproject.toml | 6 +-
.../src/airflow/providers/dbt/cloud/__init__.py | 2 +-
.../airflow/providers/dbt/cloud/operators/dbt.py | 49 +-
.../dingding/docs/.latest-doc-only-change.txt | 2 +-
providers/docker/docs/.latest-doc-only-change.txt | 2 +-
.../airflow/providers/docker/operators/docker.py | 10 +-
.../providers/docker/operators/docker_swarm.py | 5 +-
.../unit/docker/operators/test_docker_swarm.py | 5 +-
providers/edge/src/airflow/__init__.py | 17 -
providers/edge/src/airflow/providers/__init__.py | 17 -
.../src/airflow/providers/edge/cli/__init__.py | 16 -
.../providers/edge/example_dags/__init__.py | 16 -
.../src/airflow/providers/edge/models/__init__.py | 16 -
.../src/airflow/providers/edge/plugins/__init__.py | 16 -
.../providers/edge/worker_api/routes/__init__.py | 16 -
providers/edge/tests/unit/__init__.py | 17 -
providers/edge/tests/unit/edge/__init__.py | 16 -
providers/edge/tests/unit/edge/cli/__init__.py | 17 -
.../edge/tests/unit/edge/executors/__init__.py | 16 -
providers/edge/tests/unit/edge/models/__init__.py | 17 -
providers/edge/tests/unit/edge/plugins/__init__.py | 17 -
.../edge/tests/unit/edge/worker_api/__init__.py | 17 -
.../tests/unit/edge/worker_api/routes/__init__.py | 17 -
providers/{edge => edge3}/README.rst | 14 +-
providers/{edge => edge3}/docs/changelog.rst | 2 +-
providers/{edge => edge3}/docs/cli-ref.rst | 2 +-
providers/{edge => edge3}/docs/commits.rst | 6 +-
providers/{edge => edge3}/docs/conf.py | 2 +-
.../{edge => edge3}/docs/configurations-ref.rst | 0
providers/{edge => edge3}/docs/edge_executor.rst | 2 +-
.../{edge => edge3}/docs/img/worker_hosts.png | Bin
.../docs/img/worker_maintenance.png | Bin
providers/{edge => edge3}/docs/index.rst | 22 +-
.../{edge => edge3}/docs/install_on_windows.rst | 6 +-
.../docs/installing-providers-from-sources.rst | 0
providers/{edge => edge3}/docs/security.rst | 0
providers/{edge => edge3}/provider.yaml | 6 +-
providers/{edge => edge3}/pyproject.toml | 16 +-
.../edge3/src/airflow}/__init__.py | 0
.../edge3/src/airflow/providers}/__init__.py | 0
.../src/airflow/providers/edge3}/LICENSE | 0
.../src/airflow/providers/edge3}/__init__.py | 2 +-
.../src/airflow/providers/edge3/cli}/__init__.py | 0
.../src/airflow/providers/edge3}/cli/api_client.py | 10 +-
.../airflow/providers/edge3}/cli/dataclasses.py | 4 +-
.../airflow/providers/edge3}/cli/edge_command.py | 37 +-
.../providers/edge3/example_dags}/__init__.py | 0
.../edge3}/example_dags/integration_test.py | 0
.../providers/edge3}/example_dags/win_notepad.py | 2 +-
.../providers/edge3}/example_dags/win_test.py | 2 +-
.../airflow/providers/edge3}/executors/__init__.py | 2 +-
.../providers/edge3}/executors/edge_executor.py | 21 +-
.../airflow/providers/edge3}/get_provider_info.py | 6 +-
.../airflow/providers/edge3/models}/__init__.py | 0
.../airflow/providers/edge3}/models/edge_job.py | 0
.../airflow/providers/edge3}/models/edge_logs.py | 0
.../airflow/providers/edge3}/models/edge_worker.py | 0
.../airflow/providers/edge3}/openapi/__init__.py | 0
.../edge3}/openapi/edge_worker_api_v1.yaml | 16 +-
.../airflow/providers/edge3/plugins}/__init__.py | 0
.../edge3}/plugins/edge_executor_plugin.py | 22 +-
.../plugins/templates/edge_worker_hosts.html | 0
.../edge3}/plugins/templates/edge_worker_jobs.html | 0
.../src/airflow/providers/edge3}/version_compat.py | 0
.../providers/edge3}/worker_api/__init__.py | 0
.../src/airflow/providers/edge3}/worker_api/app.py | 8 +-
.../airflow/providers/edge3}/worker_api/auth.py | 6 +-
.../providers/edge3}/worker_api/datamodels.py | 4 +-
.../providers/edge3/worker_api/routes}/__init__.py | 0
.../edge3}/worker_api/routes/_v2_compat.py | 2 +-
.../edge3}/worker_api/routes/_v2_routes.py | 15 +-
.../providers/edge3}/worker_api/routes/health.py | 2 +-
.../providers/edge3}/worker_api/routes/jobs.py | 8 +-
.../providers/edge3}/worker_api/routes/logs.py | 8 +-
.../providers/edge3}/worker_api/routes/worker.py | 10 +-
providers/{edge => edge3}/tests/conftest.py | 0
.../edge3/tests/unit}/__init__.py | 0
.../edge3/tests/unit/edge3}/__init__.py | 0
.../edge3/tests/unit/edge3/cli}/__init__.py | 0
.../tests/unit/edge3}/cli/test_api_client.py | 2 +-
.../tests/unit/edge3}/cli/test_dataclasses.py | 4 +-
.../tests/unit/edge3}/cli/test_edge_command.py | 44 +-
.../edge3/tests/unit/edge3/executors}/__init__.py | 0
.../unit/edge3}/executors/test_edge_executor.py | 12 +-
.../edge3/tests/unit/edge3/models}/__init__.py | 0
.../edge3/tests/unit/edge3/plugins}/__init__.py | 0
.../edge3}/plugins/test_edge_executor_plugin.py | 8 +-
.../edge3/tests/unit/edge3/worker_api}/__init__.py | 0
.../unit/edge3/worker_api/routes}/__init__.py | 0
.../unit/edge3}/worker_api/routes/test_health.py | 2 +-
.../unit/edge3}/worker_api/routes/test_jobs.py | 4 +-
.../unit/edge3}/worker_api/routes/test_logs.py | 6 +-
.../unit/edge3}/worker_api/routes/test_worker.py | 14 +-
providers/elasticsearch/README.rst | 6 +-
providers/elasticsearch/docs/changelog.rst | 26 +
providers/elasticsearch/docs/commits.rst | 25 +-
providers/elasticsearch/docs/index.rst | 6 +-
providers/elasticsearch/provider.yaml | 3 +-
providers/elasticsearch/pyproject.toml | 6 +-
.../airflow/providers/elasticsearch/__init__.py | 2 +-
.../providers/elasticsearch/hooks/elasticsearch.py | 9 +-
.../providers/elasticsearch/log/es_task_handler.py | 6 +-
.../unit/elasticsearch/hooks/test_elasticsearch.py | 8 +
.../log/elasticmock/fake_elasticsearch.py | 3 +-
.../log/elasticmock/utilities/__init__.py | 2 +-
providers/exasol/README.rst | 6 +-
providers/exasol/docs/changelog.rst | 15 +
providers/exasol/docs/commits.rst | 18 +-
providers/exasol/docs/index.rst | 6 +-
providers/exasol/provider.yaml | 3 +-
providers/exasol/pyproject.toml | 6 +-
.../src/airflow/providers/exasol/__init__.py | 2 +-
.../src/airflow/providers/exasol/hooks/exasol.py | 3 +-
{airflow-core => providers/fab}/NOTICE | 15 -
providers/fab/README.rst | 6 +-
providers/fab/docs/changelog.rst | 259 +-
providers/fab/docs/commits.rst | 24 +
providers/fab/docs/index.rst | 6 +-
providers/fab/provider.yaml | 3 +
providers/fab/pyproject.toml | 8 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
.../auth_manager/api/auth/backend/basic_auth.py | 3 +-
.../auth_manager/api/auth/backend/kerberos_auth.py | 4 +-
...ted.yaml => v1-fab-auth-manager-generated.yaml} | 0
.../fab/auth_manager/api_fastapi/services/login.py | 3 +-
.../providers/fab/auth_manager/fab_auth_manager.py | 35 +-
.../openapi/{v1.yaml => v1-flask-api.yaml} | 0
.../fab/auth_manager/security_manager/override.py | 37 +-
.../fab/src/airflow/providers/fab/www/auth.py | 14 +-
.../fab/www/extensions/init_appbuilder.py | 3 +-
.../fab/www/extensions/init_jinja_globals.py | 12 -
.../providers/fab/www/extensions/init_views.py | 6 +-
.../airflow/providers/fab/www/package-lock.json | 8 +-
.../fab/src/airflow/providers/fab/www/package.json | 2 +-
.../providers/fab/www/templates/airflow/main.html | 14 -
.../fab/www/templates/appbuilder/navbar.html | 2 +-
.../fab/src/airflow/providers/fab/www/views.py | 5 +-
.../api_endpoints/test_user_endpoint.py | 2 +-
.../unit/fab/auth_manager/test_fab_auth_manager.py | 6 +-
providers/fab/tests/unit/fab/decorators.py | 3 +-
providers/fab/tests/unit/fab/utils.py | 3 -
providers/facebook/README.rst | 6 +-
providers/facebook/docs/changelog.rst | 21 +
providers/facebook/docs/commits.rst | 24 +-
providers/facebook/docs/index.rst | 2 +-
providers/facebook/provider.yaml | 3 +-
providers/facebook/pyproject.toml | 6 +-
.../src/airflow/providers/facebook/__init__.py | 2 +-
.../airflow/providers/facebook/ads/hooks/ads.py | 15 +-
providers/git/README.rst | 6 +-
providers/git/docs/changelog.rst | 17 +
providers/git/docs/commits.rst | 16 +-
providers/git/docs/index.rst | 2 +-
providers/git/provider.yaml | 3 +-
providers/git/pyproject.toml | 6 +-
.../git/src/airflow/providers/git/__init__.py | 2 +-
.../git/src/airflow/providers/git/bundles/git.py | 37 +-
providers/git/tests/unit/git/bundles/test_git.py | 145 +-
providers/google/README.rst | 6 +-
providers/google/docs/changelog.rst | 27 +
providers/google/docs/commits.rst | 22 +-
providers/google/docs/index.rst | 6 +-
providers/google/provider.yaml | 3 +-
providers/google/pyproject.toml | 6 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../providers/google/cloud/hooks/bigquery.py | 8 +-
.../providers/google/cloud/hooks/cloud_batch.py | 7 +-
.../providers/google/cloud/hooks/cloud_sql.py | 75 +-
.../cloud/hooks/cloud_storage_transfer_service.py | 2 +-
.../providers/google/cloud/hooks/compute_ssh.py | 5 +-
.../providers/google/cloud/hooks/dataflow.py | 17 +-
.../providers/google/cloud/hooks/datafusion.py | 7 +-
.../providers/google/cloud/hooks/dataprep.py | 2 +-
.../airflow/providers/google/cloud/hooks/dlp.py | 2 +-
.../airflow/providers/google/cloud/hooks/gcs.py | 11 +-
.../google/cloud/hooks/kubernetes_engine.py | 3 +-
.../providers/google/cloud/hooks/managed_kafka.py | 2 +-
.../providers/google/cloud/hooks/mlengine.py | 10 +-
.../providers/google/cloud/hooks/stackdriver.py | 10 +-
.../airflow/providers/google/cloud/hooks/vision.py | 3 +-
.../providers/google/cloud/openlineage/mixins.py | 5 +-
.../providers/google/cloud/operators/alloy_db.py | 3 +-
.../providers/google/cloud/operators/automl.py | 10 +-
.../providers/google/cloud/operators/bigquery.py | 50 +-
.../google/cloud/operators/cloud_batch.py | 28 +-
.../google/cloud/operators/cloud_build.py | 3 +-
.../google/cloud/operators/cloud_composer.py | 52 +-
.../providers/google/cloud/operators/cloud_run.py | 25 +-
.../providers/google/cloud/operators/cloud_sql.py | 91 +-
.../providers/google/cloud/operators/compute.py | 19 +-
.../providers/google/cloud/operators/dataproc.py | 49 +-
.../providers/google/cloud/operators/functions.py | 12 +-
.../google/cloud/operators/kubernetes_engine.py | 3 +-
.../providers/google/cloud/operators/spanner.py | 62 +-
.../google/cloud/sensors/cloud_composer.py | 8 +-
.../providers/google/cloud/sensors/dataflow.py | 2 +-
.../providers/google/cloud/sensors/dataproc.py | 10 +-
.../airflow/providers/google/cloud/sensors/gcs.py | 31 +-
.../providers/google/cloud/sensors/looker.py | 6 +-
.../providers/google/cloud/sensors/pubsub.py | 27 +-
.../google/cloud/transfers/bigquery_to_gcs.py | 15 +-
.../google/cloud/transfers/cassandra_to_gcs.py | 36 +-
.../google/cloud/transfers/facebook_ads_to_gcs.py | 3 +-
.../google/cloud/transfers/gcs_to_bigquery.py | 30 +-
.../google/cloud/transfers/postgres_to_gcs.py | 5 +-
.../providers/google/cloud/utils/bigquery.py | 12 +-
.../providers/google/cloud/utils/dataform.py | 2 +-
.../providers/google/common/hooks/base_google.py | 2 +-
.../google/common/hooks/operation_helpers.py | 3 +-
.../google/common/utils/id_token_credentials.py | 2 +-
.../providers/google/leveldb/hooks/leveldb.py | 9 +-
.../cloud/cloud_batch/example_cloud_batch.py | 8 +-
.../cloud_build/example_cloud_build_trigger.py | 3 +-
.../google/cloud/cloud_run/example_cloud_run.py | 19 +-
.../cloud/cloud_sql/example_cloud_sql_query.py | 21 +-
.../cloud/cloud_sql/example_cloud_sql_query_iam.py | 23 +-
.../cloud/cloud_sql/example_cloud_sql_query_ssl.py | 23 +-
.../system/google/cloud/gcs/example_gcs_to_gcs.py | 2 +-
.../kubernetes_engine/example_kubernetes_engine.py | 2 +-
.../example_kubernetes_engine_async.py | 2 +-
.../example_managed_kafka_consumer_group.py | 6 +-
.../google/cloud/translate/example_translate.py | 2 +-
.../vertex_ai/example_vertex_ai_custom_job.py | 6 +-
.../vertex_ai/example_vertex_ai_model_service.py | 6 +-
.../tests/unit/google/cloud/hooks/test_dataflow.py | 38 +-
.../cloud/transfers/test_bigquery_to_bigquery.py | 4 +-
.../google/cloud/transfers/test_gcs_to_bigquery.py | 44 +
.../unit/google/cloud/triggers/test_dataproc.py | 5 +-
providers/hashicorp/README.rst | 6 +-
providers/hashicorp/docs/changelog.rst | 22 +
providers/hashicorp/docs/commits.rst | 25 +-
providers/hashicorp/docs/index.rst | 6 +-
providers/hashicorp/provider.yaml | 3 +-
providers/hashicorp/pyproject.toml | 6 +-
.../src/airflow/providers/hashicorp/__init__.py | 2 +-
.../hashicorp/_internal_client/vault_client.py | 6 +-
.../airflow/providers/hashicorp/secrets/vault.py | 3 +-
providers/http/README.rst | 6 +-
providers/http/docs/changelog.rst | 28 +
providers/http/docs/commits.rst | 27 +-
providers/http/docs/index.rst | 2 +-
providers/http/provider.yaml | 3 +-
providers/http/pyproject.toml | 6 +-
.../http/src/airflow/providers/http/__init__.py | 2 +-
.../http/src/airflow/providers/http/hooks/http.py | 6 +-
.../src/airflow/providers/http/operators/http.py | 3 +-
.../src/airflow/providers/http/sensors/http.py | 2 +-
providers/http/tests/unit/http/hooks/test_http.py | 10 +
providers/jdbc/README.rst | 6 +-
providers/jdbc/docs/changelog.rst | 21 +
providers/jdbc/docs/commits.rst | 24 +-
providers/jdbc/docs/index.rst | 6 +-
providers/jdbc/provider.yaml | 3 +-
providers/jdbc/pyproject.toml | 6 +-
.../jdbc/src/airflow/providers/jdbc/__init__.py | 2 +-
.../jdbc/src/airflow/providers/jdbc/hooks/jdbc.py | 36 +
providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py | 67 +
providers/jenkins/README.rst | 6 +-
providers/jenkins/docs/changelog.rst | 21 +
providers/jenkins/docs/commits.rst | 24 +-
providers/jenkins/docs/index.rst | 2 +-
providers/jenkins/provider.yaml | 3 +-
providers/jenkins/pyproject.toml | 6 +-
.../src/airflow/providers/jenkins/__init__.py | 2 +-
.../jenkins/operators/jenkins_job_trigger.py | 5 +-
.../airflow/providers/jenkins/sensors/jenkins.py | 11 +-
providers/microsoft/azure/README.rst | 6 +-
providers/microsoft/azure/docs/changelog.rst | 15 +
providers/microsoft/azure/docs/commits.rst | 18 +-
providers/microsoft/azure/docs/index.rst | 17 +-
providers/microsoft/azure/provider.yaml | 3 +-
providers/microsoft/azure/pyproject.toml | 6 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
.../providers/microsoft/azure/hooks/batch.py | 9 +-
.../providers/microsoft/azure/hooks/data_lake.py | 3 +-
.../providers/microsoft/azure/hooks/fileshare.py | 47 +-
.../providers/microsoft/azure/hooks/msgraph.py | 2 +-
.../providers/microsoft/azure/hooks/synapse.py | 3 +-
.../providers/microsoft/azure/hooks/wasb.py | 3 +-
.../providers/microsoft/azure/operators/adx.py | 3 +-
.../azure/operators/container_instances.py | 3 +-
.../providers/microsoft/azure/operators/msgraph.py | 6 +-
.../microsoft/azure/transfers/s3_to_wasb.py | 5 +-
.../src/airflow/providers/microsoft/azure/utils.py | 3 +-
.../tests/unit/microsoft/mssql/hooks/test_mssql.py | 31 +-
providers/mongo/README.rst | 6 +-
providers/mongo/docs/changelog.rst | 21 +
providers/mongo/docs/commits.rst | 24 +-
providers/mongo/docs/index.rst | 2 +-
providers/mongo/provider.yaml | 3 +-
providers/mongo/pyproject.toml | 6 +-
.../mongo/src/airflow/providers/mongo/__init__.py | 2 +-
.../src/airflow/providers/mongo/hooks/mongo.py | 3 +-
providers/mysql/README.rst | 6 +-
providers/mysql/docs/changelog.rst | 13 +
providers/mysql/docs/commits.rst | 16 +-
providers/mysql/docs/index.rst | 6 +-
providers/mysql/provider.yaml | 3 +-
providers/mysql/pyproject.toml | 6 +-
.../mysql/src/airflow/providers/mysql/__init__.py | 2 +-
.../src/airflow/providers/mysql/hooks/mysql.py | 3 +-
providers/odbc/README.rst | 6 +-
providers/odbc/docs/changelog.rst | 22 +
providers/odbc/docs/commits.rst | 25 +-
providers/odbc/docs/index.rst | 6 +-
providers/odbc/provider.yaml | 3 +-
providers/odbc/pyproject.toml | 6 +-
.../odbc/src/airflow/providers/odbc/__init__.py | 2 +-
.../odbc/src/airflow/providers/odbc/hooks/odbc.py | 5 +-
providers/openai/README.rst | 6 +-
providers/openai/docs/changelog.rst | 17 +
providers/openai/docs/commits.rst | 20 +-
providers/openai/docs/index.rst | 2 +-
providers/openai/provider.yaml | 3 +-
providers/openai/pyproject.toml | 6 +-
.../src/airflow/providers/openai/__init__.py | 2 +-
.../src/airflow/providers/openai/hooks/openai.py | 4 +-
providers/openfaas/README.rst | 6 +-
providers/openfaas/docs/changelog.rst | 21 +
providers/openfaas/docs/commits.rst | 24 +-
providers/openfaas/docs/index.rst | 2 +-
providers/openfaas/provider.yaml | 3 +-
providers/openfaas/pyproject.toml | 6 +-
.../src/airflow/providers/openfaas/__init__.py | 2 +-
.../airflow/providers/openfaas/hooks/openfaas.py | 11 +-
providers/openlineage/README.rst | 10 +-
providers/openlineage/docs/changelog.rst | 20 +
providers/openlineage/docs/commits.rst | 19 +-
providers/openlineage/docs/guides/developer.rst | 14 +-
providers/openlineage/docs/index.rst | 10 +-
providers/openlineage/provider.yaml | 3 +-
providers/openlineage/pyproject.toml | 10 +-
.../src/airflow/providers/openlineage/__init__.py | 2 +-
.../providers/openlineage/extractors/manager.py | 7 +-
.../providers/openlineage/plugins/adapter.py | 10 +-
.../providers/openlineage/plugins/listener.py | 81 +-
.../airflow/providers/openlineage/utils/spark.py | 2 +-
.../airflow/providers/openlineage/utils/utils.py | 59 +-
.../tests/system/openlineage/operator.py | 4 +-
.../unit/openlineage/extractors/test_manager.py | 155 +-
.../tests/unit/openlineage/plugins/test_adapter.py | 15 +
.../unit/openlineage/plugins/test_listener.py | 204 +-
.../tests/unit/openlineage/utils/test_utils.py | 19 +
providers/opensearch/README.rst | 6 +-
providers/opensearch/docs/changelog.rst | 21 +
providers/opensearch/docs/commits.rst | 24 +-
providers/opensearch/docs/index.rst | 2 +-
providers/opensearch/provider.yaml | 3 +-
providers/opensearch/pyproject.toml | 6 +-
.../src/airflow/providers/opensearch/__init__.py | 2 +-
.../providers/opensearch/hooks/opensearch.py | 2 +-
.../providers/opensearch/log/os_task_handler.py | 3 +-
providers/oracle/README.rst | 6 +-
providers/oracle/docs/changelog.rst | 21 +
providers/oracle/docs/commits.rst | 24 +-
providers/oracle/docs/index.rst | 6 +-
providers/oracle/provider.yaml | 3 +-
providers/oracle/pyproject.toml | 6 +-
.../src/airflow/providers/oracle/__init__.py | 2 +-
.../src/airflow/providers/oracle/hooks/oracle.py | 26 +-
.../oracle/tests/unit/oracle/hooks/test_oracle.py | 53 +
providers/papermill/README.rst | 6 +-
providers/papermill/docs/changelog.rst | 15 +
providers/papermill/docs/commits.rst | 18 +-
providers/papermill/docs/index.rst | 6 +-
providers/papermill/provider.yaml | 3 +-
providers/papermill/pyproject.toml | 6 +-
.../src/airflow/providers/papermill/__init__.py | 2 +-
.../providers/papermill/operators/papermill.py | 3 +-
providers/postgres/README.rst | 6 +-
providers/postgres/docs/changelog.rst | 20 +
providers/postgres/docs/commits.rst | 19 +-
providers/postgres/docs/index.rst | 6 +-
providers/postgres/provider.yaml | 3 +-
providers/postgres/pyproject.toml | 6 +-
.../src/airflow/providers/postgres/__init__.py | 2 +-
.../airflow/providers/postgres/hooks/postgres.py | 17 +-
.../tests/unit/postgres/hooks/test_postgres.py | 19 +
providers/presto/README.rst | 6 +-
providers/presto/docs/changelog.rst | 17 +
providers/presto/docs/commits.rst | 20 +-
providers/presto/docs/index.rst | 6 +-
providers/presto/provider.yaml | 3 +-
providers/presto/pyproject.toml | 6 +-
.../src/airflow/providers/presto/__init__.py | 2 +-
.../src/airflow/providers/presto/hooks/presto.py | 4 +-
.../samba/tests/unit/samba/hooks/test_samba.py | 27 +-
providers/sendgrid/provider.yaml | 2 +-
providers/sendgrid/pyproject.toml | 2 +-
providers/sftp/README.rst | 6 +-
providers/sftp/docs/changelog.rst | 11 +
providers/sftp/docs/commits.rst | 14 +-
providers/sftp/docs/index.rst | 6 +-
providers/sftp/provider.yaml | 3 +-
providers/sftp/pyproject.toml | 6 +-
.../sftp/src/airflow/providers/sftp/__init__.py | 2 +-
.../sftp/src/airflow/providers/sftp/hooks/sftp.py | 17 +-
providers/sftp/tests/unit/sftp/hooks/test_sftp.py | 13 +-
providers/slack/README.rst | 6 +-
providers/slack/docs/changelog.rst | 11 +
providers/slack/docs/commits.rst | 14 +-
providers/slack/docs/index.rst | 6 +-
providers/slack/provider.yaml | 3 +-
providers/slack/pyproject.toml | 6 +-
.../slack/src/airflow/providers/slack/__init__.py | 2 +-
.../providers/slack/transfers/sql_to_slack.py | 4 +-
.../src/airflow/providers/slack/utils/__init__.py | 30 +-
providers/smtp/README.rst | 6 +-
providers/smtp/docs/changelog.rst | 18 +
providers/smtp/docs/commits.rst | 19 +
providers/smtp/docs/index.rst | 6 +-
providers/smtp/provider.yaml | 3 +-
providers/smtp/pyproject.toml | 6 +-
.../smtp/src/airflow/providers/smtp/__init__.py | 2 +-
.../smtp/src/airflow/providers/smtp/hooks/smtp.py | 5 +-
providers/snowflake/README.rst | 6 +-
providers/snowflake/docs/changelog.rst | 11 +
providers/snowflake/docs/commits.rst | 14 +-
providers/snowflake/docs/index.rst | 6 +-
providers/snowflake/provider.yaml | 3 +-
providers/snowflake/pyproject.toml | 6 +-
.../src/airflow/providers/snowflake/__init__.py | 2 +-
.../airflow/providers/snowflake/hooks/snowflake.py | 5 +-
.../providers/snowflake/hooks/snowflake_sql_api.py | 9 +-
.../providers/snowflake/operators/snowflake.py | 4 +-
.../airflow/providers/snowflake/utils/snowpark.py | 3 +-
providers/standard/README.rst | 6 +-
providers/standard/docs/changelog.rst | 22 +
providers/standard/docs/commits.rst | 16 +
providers/standard/docs/index.rst | 2 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 6 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
.../airflow/providers/standard/operators/bash.py | 2 +-
.../providers/standard/operators/latest_only.py | 5 +-
.../airflow/providers/standard/operators/python.py | 11 +-
.../providers/standard/operators/trigger_dagrun.py | 63 +-
.../src/airflow/providers/standard/sensors/bash.py | 10 +-
.../providers/standard/sensors/external_task.py | 93 +-
.../airflow/providers/standard/sensors/python.py | 3 +-
.../airflow/providers/standard/sensors/weekday.py | 3 +-
.../providers/standard/triggers/external_task.py | 66 +-
.../providers/standard/triggers/temporal.py | 5 +-
.../providers/standard/utils/python_virtualenv.py | 2 +-
.../providers/standard/utils/sensor_helper.py | 13 +-
.../standard/decorators/test_external_python.py | 3 +-
.../standard/decorators/test_python_virtualenv.py | 3 +-
.../tests/unit/standard/operators/test_python.py | 6 +-
.../standard/sensors/test_external_task_sensor.py | 11 +-
.../unit/standard/triggers/test_external_task.py | 69 +-
providers/teradata/README.rst | 6 +-
providers/teradata/docs/changelog.rst | 22 +
providers/teradata/docs/commits.rst | 25 +-
providers/teradata/docs/index.rst | 6 +-
providers/teradata/provider.yaml | 3 +-
providers/teradata/pyproject.toml | 6 +-
.../src/airflow/providers/teradata/__init__.py | 2 +-
.../teradata/operators/teradata_compute_cluster.py | 32 +-
providers/trino/README.rst | 6 +-
providers/trino/docs/changelog.rst | 23 +
providers/trino/docs/commits.rst | 22 +-
providers/trino/docs/index.rst | 6 +-
providers/trino/provider.yaml | 3 +-
providers/trino/pyproject.toml | 6 +-
.../trino/src/airflow/providers/trino/__init__.py | 2 +-
.../src/airflow/providers/trino/hooks/trino.py | 42 +-
.../trino/tests/unit/trino/hooks/test_trino.py | 52 +
providers/weaviate/README.rst | 6 +-
providers/weaviate/docs/changelog.rst | 22 +
providers/weaviate/docs/commits.rst | 25 +-
providers/weaviate/docs/index.rst | 2 +-
providers/weaviate/provider.yaml | 3 +-
providers/weaviate/pyproject.toml | 6 +-
.../src/airflow/providers/weaviate/__init__.py | 2 +-
.../airflow/providers/weaviate/hooks/weaviate.py | 5 +-
pyproject.toml | 403 +-
reproducible_build.yaml | 4 +-
scripts/ci/docker-compose/remove-sources.yml | 2 +-
scripts/ci/docker-compose/tests-sources.yml | 4 +-
scripts/ci/pre_commit/check_deprecations.py | 7 +-
scripts/ci/pre_commit/check_integrations_list.py | 5 +-
scripts/ci/pre_commit/checkout_no_credentials.py | 14 +-
scripts/ci/pre_commit/generate_pypi_readme.py | 3 +-
scripts/ci/pre_commit/supported_versions.py | 2 +-
.../ci/pre_commit/update_airflow_pyproject_toml.py | 78 +-
scripts/ci/pre_commit/update_example_dags_paths.py | 9 +-
.../pre_commit/update_installers_and_pre_commit.py | 4 +-
.../ci/pre_commit/update_providers_build_files.py | 23 +-
scripts/ci/testing/summarize_captured_warnings.py | 5 +-
scripts/docker/common.sh | 6 +
.../docker/install_airflow_when_building_images.sh | 9 +-
scripts/in_container/bin/run_tmux | 2 +-
.../in_container/install_airflow_and_providers.py | 2 +-
scripts/in_container/run_generate_constraints.py | 18 +-
.../in_container/run_update_fastapi_api_spec.py | 29 +-
scripts/in_container/verify_providers.py | 3 +-
task-sdk/pyproject.toml | 3 +-
task-sdk/src/airflow/sdk/api/client.py | 58 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 10 +-
task-sdk/src/airflow/sdk/bases/decorator.py | 6 +-
task-sdk/src/airflow/sdk/bases/operator.py | 19 +-
task-sdk/src/airflow/sdk/bases/sensor.py | 10 +-
task-sdk/src/airflow/sdk/bases/xcom.py | 20 +-
.../src/airflow/sdk/definitions/_internal/node.py | 8 +-
.../airflow/sdk/definitions/_internal/templater.py | 8 +-
.../src/airflow/sdk/definitions/asset/__init__.py | 2 +-
task-sdk/src/airflow/sdk/definitions/dag.py | 24 +-
.../src/airflow/sdk/definitions/mappedoperator.py | 2 +
task-sdk/src/airflow/sdk/definitions/taskgroup.py | 21 +-
task-sdk/src/airflow/sdk/definitions/variable.py | 10 +
task-sdk/src/airflow/sdk/definitions/xcom_arg.py | 2 +-
task-sdk/src/airflow/sdk/execution_time/comms.py | 108 +
task-sdk/src/airflow/sdk/execution_time/context.py | 47 +-
.../airflow/sdk/execution_time/lazy_sequence.py | 9 +-
.../airflow/sdk/execution_time/secrets_masker.py | 25 +-
.../src/airflow/sdk/execution_time/supervisor.py | 132 +-
.../src/airflow/sdk/execution_time/task_runner.py | 72 +-
task-sdk/src/airflow/sdk/io/path.py | 12 +-
task-sdk/src/airflow/sdk/io/store.py | 20 +-
task-sdk/src/airflow/sdk/log.py | 109 +-
task-sdk/src/airflow/sdk/types.py | 9 +
task-sdk/tests/task_sdk/api/test_client.py | 69 +-
.../definitions/decorators/test_setup_teardown.py | 17 +-
task-sdk/tests/task_sdk/definitions/test_asset.py | 2 +-
.../task_sdk/definitions/test_mappedoperator.py | 2 +-
task-sdk/tests/task_sdk/definitions/test_mixins.py | 17 +-
.../tests/task_sdk/definitions/test_taskgroup.py | 69 +
.../tests/task_sdk/execution_time/test_context.py | 107 +-
.../task_sdk/execution_time/test_supervisor.py | 208 +-
.../task_sdk/execution_time/test_task_runner.py | 111 +-
task-sdk/tests/task_sdk/io/test_path.py | 2 +-
1258 files changed, 23056 insertions(+), 25445 deletions(-)
delete mode 100644 airflow-core/docs/howto/add-owner-links.rst
delete mode 100644 airflow-core/docs/howto/upgrading-from-1-10/index.rst
delete mode 100644
airflow-core/docs/howto/upgrading-from-1-10/upgrade-check.rst
delete mode 100644 airflow-core/docs/img/add-dag-tags.png
create mode 100644 airflow-core/docs/img/backfill.png
delete mode 100644 airflow-core/docs/img/connection_create.png
delete mode 100644 airflow-core/docs/img/connection_edit.png
delete mode 100644 airflow-core/docs/img/dag_doc.png
delete mode 100644
airflow-core/docs/img/demo_dag_overview_with_failed_tasks.png
delete mode 100644 airflow-core/docs/img/demo_graph_and_code_view.png
delete mode 100644 airflow-core/docs/img/demo_grid_view_with_task_logs.png
delete mode 100644 airflow-core/docs/img/email_connection.png
create mode 100644 airflow-core/docs/img/home.png
delete mode 100644 airflow-core/docs/img/setup-teardown-complex.png
delete mode 100644 airflow-core/docs/img/setup-teardown-group.png
delete mode 100644 airflow-core/docs/img/setup-teardown-nesting.png
delete mode 100644 airflow-core/docs/img/setup-teardown-parallel.png
delete mode 100644 airflow-core/docs/img/setup-teardown-scope.png
delete mode 100644 airflow-core/docs/img/setup-teardown-setup-group.png
delete mode 100644 airflow-core/docs/img/setup-teardown-simple.png
delete mode 100644 airflow-core/docs/img/task_doc.png
delete mode 100644 airflow-core/docs/img/tutorial-pipeline-1.png
delete mode 100644 airflow-core/docs/img/tutorial-pipeline-2.png
create mode 100644 airflow-core/docs/img/ui-dark/add-dag-tags.png
create mode 100644 airflow-core/docs/img/ui-dark/connection_create.png
create mode 100644 airflow-core/docs/img/ui-dark/connection_edit.png
create mode 100644 airflow-core/docs/img/ui-dark/dag_doc.png
create mode 100644
airflow-core/docs/img/ui-dark/demo_dag_overview_with_failed_tasks.png
create mode 100644 airflow-core/docs/img/ui-dark/demo_graph_and_code_view.png
create mode 100644
airflow-core/docs/img/ui-dark/demo_grid_view_with_task_logs.png
create mode 100644 airflow-core/docs/img/ui-dark/email_connection.png
create mode 100644 airflow-core/docs/img/ui-dark/setup-teardown-complex.png
create mode 100644 airflow-core/docs/img/ui-dark/setup-teardown-group.png
create mode 100644 airflow-core/docs/img/ui-dark/setup-teardown-nesting.png
create mode 100644 airflow-core/docs/img/ui-dark/setup-teardown-parallel.png
create mode 100644 airflow-core/docs/img/ui-dark/setup-teardown-scope.png
create mode 100644 airflow-core/docs/img/ui-dark/setup-teardown-setup-group.png
create mode 100644 airflow-core/docs/img/ui-dark/setup-teardown-simple.png
create mode 100644 airflow-core/docs/img/ui-dark/task_doc.png
create mode 100644
airflow-core/docs/img/ui-dark/tutorial_pipeline_add_connection.png
create mode 100644 airflow-core/docs/img/ui-dark/tutorial_pipeline_dag_list.png
create mode 100644
airflow-core/docs/img/ui-dark/tutorial_pipeline_dag_overview_processed.png
create mode 100644 airflow-core/docs/img/ui-dark/variable_hidden.png
create mode 100644 airflow-core/docs/img/ui-light/add_dag_tags.png
create mode 100644 airflow-core/docs/img/ui-light/connection_create.png
create mode 100644 airflow-core/docs/img/ui-light/connection_edit.png
create mode 100644 airflow-core/docs/img/ui-light/dag_doc.png
create mode 100644
airflow-core/docs/img/ui-light/demo_dag_overview_with_failed_tasks.png
create mode 100644 airflow-core/docs/img/ui-light/demo_graph_and_code_view.png
create mode 100644
airflow-core/docs/img/ui-light/demo_grid_view_with_task_logs.png
create mode 100644 airflow-core/docs/img/ui-light/email_connection.png
create mode 100644 airflow-core/docs/img/ui-light/setup-teardown-complex.png
create mode 100644 airflow-core/docs/img/ui-light/setup-teardown-group.png
create mode 100644 airflow-core/docs/img/ui-light/setup-teardown-nesting.png
create mode 100644 airflow-core/docs/img/ui-light/setup-teardown-parallel.png
create mode 100644 airflow-core/docs/img/ui-light/setup-teardown-scope.png
create mode 100644
airflow-core/docs/img/ui-light/setup-teardown-setup-group.png
create mode 100644 airflow-core/docs/img/ui-light/setup-teardown-simple.png
create mode 100644 airflow-core/docs/img/ui-light/task_doc.png
create mode 100644
airflow-core/docs/img/ui-light/tutorial_pipeline_add_connection.png
create mode 100644
airflow-core/docs/img/ui-light/tutorial_pipeline_dag_list.png
create mode 100644
airflow-core/docs/img/ui-light/tutorial_pipeline_dag_overview_processed.png
create mode 100644 airflow-core/docs/img/ui-light/variable_hidden.png
delete mode 100644 airflow-core/docs/img/variable_hidden.png
create mode 100644 airflow-core/docs/installation/upgrading_to_airflow3.rst
create mode 100644 airflow-core/newsfragments/49161.significant.rst
create mode 100644 airflow-core/newsfragments/49223.significant.rst
rename
airflow-core/src/airflow/api_fastapi/auth/managers/simple/openapi/{v1-generated.yaml
=> v1-simple-auth-manager-generated.yaml} (100%)
create mode 100644
airflow-core/src/airflow/api_fastapi/core_api/openapi/_private_ui.yaml
rename
airflow-core/src/airflow/api_fastapi/core_api/openapi/{v1-generated.yaml =>
v1-rest-api-generated.yaml} (87%)
delete mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/versions/v2025_03_26.py
delete mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/versions/v2025_04_10.py
copy providers/edge/src/airflow/providers/edge/worker_api/routes/health.py =>
airflow-core/src/airflow/timetables/datasets.py (60%)
create mode 100644 airflow-core/src/airflow/ui/.gitignore
create mode 100644 airflow-core/src/airflow/ui/openapi-merge.json
copy airflow-core/src/airflow/ui/src/components/{AssetExpression/types.ts =>
DagVersion.tsx} (61%)
copy airflow-core/src/airflow/ui/src/{pages/DagsList/DagTags.tsx =>
components/Graph/DefaultNode.tsx} (59%)
copy airflow-core/src/airflow/ui/src/components/{AssetExpression/types.ts =>
Graph/graphTypes.ts} (57%)
copy airflow-core/src/airflow/ui/src/components/{AssetExpression/types.ts =>
WarningAlert.tsx} (66%)
create mode 100644
airflow-core/src/airflow/ui/src/components/ui/DagWarningsModal.tsx
delete mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2025_03_19/test_task_instances.py
delete mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2025_03_26/test_task_instances.py
copy providers/cncf/kubernetes/tests/unit/cncf/kubernetes/conftest.py =>
airflow-core/tests/unit/serialization/test_dag_dependency.py (51%)
rename {airflow-core/tests/unit/api_fastapi/execution_api/versions/v2025_03_19
=> airflow-ctl/tests/airflow_ctl/api}/__init__.py (100%)
create mode 100755 dev/provider_db_inventory.py
create mode 100644
devel-common/src/tests_common/test_utils/api_client_helpers.py
create mode 100644
providers/apache/druid/tests/system/apache/druid/example_druid.py
create mode 100644
providers/apache/hive/tests/system/apache/hive/example_hive.py
create mode 100644 providers/apache/impala/docs/operators.rst
copy {airflow-core/tests/integration =>
providers/apache/impala/tests/system/apache}/__init__.py (100%)
rename {airflow-core/tests/unit/api_fastapi/execution_api/versions/v2025_03_26
=> providers/apache/impala/tests/system/apache/impala}/__init__.py (100%)
create mode 100644
providers/apache/impala/tests/system/apache/impala/example_impala.py
create mode 100644 providers/apache/kylin/docs/operators.rst
create mode 100644
providers/apache/kylin/tests/system/apache/kylin/example_kylin.py
copy providers/apache/pinot/docs/{operators.rst => hooks.rst} (100%)
create mode 100644
providers/apache/pinot/tests/system/apache/pinot/example_pinot.py
copy providers/{git/src/airflow => celery/tests/integration}/__init__.py (100%)
copy {airflow-core/src/airflow/api =>
providers/celery/tests/integration/celery}/__init__.py (100%)
rename {airflow-core/tests/integration/executors =>
providers/celery/tests/integration/celery}/test_celery_executor.py (100%)
create mode 100644 providers/common/messaging/docs/.latest-doc-only-change.txt
create mode 100644 providers/common/sql/docs/dataframes.rst
delete mode 100644 providers/edge/src/airflow/__init__.py
delete mode 100644 providers/edge/src/airflow/providers/__init__.py
delete mode 100644 providers/edge/src/airflow/providers/edge/cli/__init__.py
delete mode 100644
providers/edge/src/airflow/providers/edge/example_dags/__init__.py
delete mode 100644 providers/edge/src/airflow/providers/edge/models/__init__.py
delete mode 100644
providers/edge/src/airflow/providers/edge/plugins/__init__.py
delete mode 100644
providers/edge/src/airflow/providers/edge/worker_api/routes/__init__.py
delete mode 100644 providers/edge/tests/unit/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/cli/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/executors/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/models/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/plugins/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/worker_api/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/worker_api/routes/__init__.py
rename providers/{edge => edge3}/README.rst (89%)
rename providers/{edge => edge3}/docs/changelog.rst (99%)
rename providers/{edge => edge3}/docs/cli-ref.rst (93%)
rename providers/{edge => edge3}/docs/commits.rst (99%)
rename providers/{edge => edge3}/docs/conf.py (99%)
rename providers/{edge => edge3}/docs/configurations-ref.rst (100%)
rename providers/{edge => edge3}/docs/edge_executor.rst (99%)
rename providers/{edge => edge3}/docs/img/worker_hosts.png (100%)
rename providers/{edge => edge3}/docs/img/worker_maintenance.png (100%)
rename providers/{edge => edge3}/docs/index.rst (75%)
rename providers/{edge => edge3}/docs/install_on_windows.rst (92%)
rename providers/{edge => edge3}/docs/installing-providers-from-sources.rst
(100%)
rename providers/{edge => edge3}/docs/security.rst (100%)
rename providers/{edge => edge3}/provider.yaml (95%)
rename providers/{edge => edge3}/pyproject.toml (90%)
copy {airflow-core/tests/integration =>
providers/edge3/src/airflow}/__init__.py (100%)
copy {airflow-core/tests/integration =>
providers/edge3/src/airflow/providers}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/LICENSE (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/__init__.py (93%)
copy {airflow-core/src/airflow/api =>
providers/edge3/src/airflow/providers/edge3/cli}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/cli/api_client.py (95%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/cli/dataclasses.py (94%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/cli/edge_command.py (95%)
copy {airflow-core/src/airflow/api =>
providers/edge3/src/airflow/providers/edge3/example_dags}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/example_dags/integration_test.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/example_dags/win_notepad.py (96%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/example_dags/win_test.py (99%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/executors/__init__.py (92%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/executors/edge_executor.py (96%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/get_provider_info.py (95%)
copy {airflow-core/src/airflow/api =>
providers/edge3/src/airflow/providers/edge3/models}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/models/edge_job.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/models/edge_logs.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/models/edge_worker.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/openapi/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/openapi/edge_worker_api_v1.yaml (97%)
copy {airflow-core/src/airflow/api =>
providers/edge3/src/airflow/providers/edge3/plugins}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/plugins/edge_executor_plugin.py (90%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/plugins/templates/edge_worker_hosts.html
(100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/plugins/templates/edge_worker_jobs.html
(100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/version_compat.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/app.py (85%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/auth.py (95%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/datamodels.py (97%)
copy {airflow-core/src/airflow/api =>
providers/edge3/src/airflow/providers/edge3/worker_api/routes}/__init__.py
(100%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/routes/_v2_compat.py (98%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/routes/_v2_routes.py (95%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/routes/health.py (92%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/routes/jobs.py (95%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/routes/logs.py (93%)
rename providers/{edge/src/airflow/providers/edge =>
edge3/src/airflow/providers/edge3}/worker_api/routes/worker.py (95%)
rename providers/{edge => edge3}/tests/conftest.py (100%)
copy {airflow-core/tests/integration =>
providers/edge3/tests/unit}/__init__.py (100%)
copy {airflow-core/src/airflow/api =>
providers/edge3/tests/unit/edge3}/__init__.py (100%)
copy {airflow-core/src/airflow/api/common =>
providers/edge3/tests/unit/edge3/cli}/__init__.py (100%)
rename providers/{edge/tests/unit/edge =>
edge3/tests/unit/edge3}/cli/test_api_client.py (97%)
rename providers/{edge/tests/unit/edge =>
edge3/tests/unit/edge3}/cli/test_dataclasses.py (90%)
rename providers/{edge/tests/unit/edge =>
edge3/tests/unit/edge3}/cli/test_edge_command.py (90%)
copy {airflow-core/src/airflow/api =>
providers/edge3/tests/unit/edge3/executors}/__init__.py (100%)
rename providers/{edge/tests/unit/edge =>
edge3/tests/unit/edge3}/executors/test_edge_executor.py (96%)
copy {airflow-core/src/airflow/api/common =>
providers/edge3/tests/unit/edge3/models}/__init__.py (100%)
copy {airflow-core/src/airflow/api/common =>
providers/edge3/tests/unit/edge3/plugins}/__init__.py (100%)
rename providers/{edge/tests/unit/edge =>
edge3/tests/unit/edge3}/plugins/test_edge_executor_plugin.py (91%)
copy {airflow-core/src/airflow/api/common =>
providers/edge3/tests/unit/edge3/worker_api}/__init__.py (100%)
copy {airflow-core/src/airflow/api/common =>
providers/edge3/tests/unit/edge3/worker_api/routes}/__init__.py (100%)
rename providers/{edge/tests/unit/edge =>
edge3/tests/unit/edge3}/worker_api/routes/test_health.py (92%)
rename providers/{edge/tests/unit/edge =>
edge3/tests/unit/edge3}/worker_api/routes/test_jobs.py (95%)
rename providers/{edge/tests/unit/edge =>
edge3/tests/unit/edge3}/worker_api/routes/test_logs.py (92%)
rename providers/{edge/tests/unit/edge =>
edge3/tests/unit/edge3}/worker_api/routes/test_worker.py (93%)
copy {airflow-core => providers/fab}/NOTICE (56%)
rename
providers/fab/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/{v1-generated.yaml
=> v1-fab-auth-manager-generated.yaml} (100%)
rename providers/fab/src/airflow/providers/fab/auth_manager/openapi/{v1.yaml
=> v1-flask-api.yaml} (100%)
mode change 100644 => 100755
scripts/in_container/run_update_fastapi_api_spec.py