This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a change to branch v3-1-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git
from 7cbc8bfb199 [v3-1-test] Fix plugin import error alignment issue
(#57787) (#57790)
add e73a90866d7 Fix upgrade failure when xcom contains NaN in string
values (#57614)
add 7630158eceb [v3-1-test] Remove leftovers from unlimited parallelism in
local executor (#57579) (#57644)
add 5ade89b99df [v3-1-test] Fix: Prevent AttributeError crash in prek when
run inside container (#57497) (#57649)
add 84a3816767b [v3-1-test] Enable ruff PLW0602 rule (apache#57588)
(#57638)
add 901be22a712 [v3-1-test] Upgrade Python Runtime to 3.9.25 (#57656)
(#57661)
add 06fb5d15df8 [v3-1-test] Fix code formatting via ruff preview (#57641)
(#57670)
add 3ceb3667f29 [v3-1-test] Enable ruff PLW1508 rule (#57653) (#57673)
add 4a1817a0628 [v3-1-test] Enable ruff PLW1510 rule (#57660) (#57674)
add b9aed715fad [v3-1-test] Dev: Add Task SDK support to `start-release`
command (#57658) (#57666)
add 69a0fbac7a0 Add `localstack` Breeze integration (#54050) (#57668)
add 0850c373d49 [v3-1-test] Support PR number with use-airflow-version in
Breeze (#57667) (#57688)
add 3b92bdf9429 [v3-1-test] Refactor trigger method (#57678) (#57687)
add 2c56bdf3f78 [v3-1-test] Enable ruff PLW0211 rule (#57522) (#57684)
add 232388ec5bd [v3-1-test] Shorten German Translation of Asset in
Navigation (#57671) (#57690)
add f45aeba7a5a [v3-1-test] Update diagrams>=0.24.4 (#57483) (#57698)
add c7caba08071 [v3-1-test] Upgrade Zizmor to 1.16.2 (#57708) (#57709)
add 4c88862c52d [v3-1-test] Use eralchemy instead of eralchemy2 (#55758)
(#57715)
add 861521631dd [v3-1-test] Enable ruff PLW1641 rule (#57679) (#57701)
add 363fe113232 [v3-1-test] Make `extra` of Asset, AssetAlias, AssetEvent
a `dict[str, JsonValue]` (#57352) (#57728)
add d9708c558b0 [v3-1-test] Add number of queries guard for public
variables (#57647) (#57732)
add 5a72080fb4e [v3-1-test] Remove Python 3.9 since we are not
cherry-picking to 3.0 (#57662) (#57669)
add 745fd6a5ae8 [v3-1-test] Add link to Airflow CVEs in MITRE CVE
database. (#57683) (#57689)
add 20544a444e9 Add number of queries guard in public dag runs list
endpoints (#57450) (#57736)
add 407b3f42266 [v3-1-test] Add number of queries guard in public
providers list endpoints (#57635) (#57643)
add f502b7ebf82 [v3-1-test] update docs (#57770) (#57788)
add fe3fcf22342 [v3-1-test] Note asset event extra storage (#57727)
(#57734)
add 0c50320ff5b [v3-1-test] fix(task_instance): Ignore NotFullyPopulated
if the task might be triggered due to trigger rule setup (#57474) (#57786)
add fe3e9e9c6a9 [v3-1-test] Add number of queries guard for public hitls
(#57549) (#57738)
add a4c924470ab [v3-1-test] Fix duplicate mention of 'Dags' and 'tasks' in
overview.rst (#57524) (#57793)
add 2f100f94de0 Add number of queries guard in public dag version list
endpoints (#57500) (#57735)
add 354182a4f60 [v3-1-test] Add number of queries guard for public tasks
(#57646) (#57664)
add c0ed83b60b1 Add number of queries guard in public task instances list
endpoints (#57645) (#57794)
add 746b4884b29 [v3-1-test] Update release docs to reflect versioning
decision and yanked versions (#57677) (#57686)
add 7c490dbc790 [v3-1-test] Fix loading providers hooks fields w/o FAB
provider installed (#57717) (#57830)
add 201ce3c2ae5 [v3-1-test] Minor fixes for the release candidate command
(#57806) (#57849)
add 45c778c0cbf [v3-1-test] Change airflowctl version to 0.* (#57773)
(#57829)
add 76390790c86 [v3-1-test] Update version of Grafana and statsd-exporter
used for `--integration statsd` (#57855) (#57858)
add 50bf57f08a0 [v3-1-test] Configure uvicorn `timeout_worker_healthcheck`
from worker-timeout CLI option (#57731) (#57854)
add e19cf147178 [v3-1-test] UI - Fix test connection (#57811) (#57852)
add a95eb628159 [v3-1-test] Add pause and unpause commands for dags
(#57685) (#57714)
add b0354d00f07 [v3-1-test] Update release documentation for airflowctl
and tarballs (#57337) (#57876)
add 44face064f0 [v3-1-test] Update release process for source tarballs
prepared during release (#57364) (#57877)
add 178e36d8334 Revert "[v3-1-test] Fix text selection jumping in logs
pane to match text ediā¦" (#57874)
add 468f5734bcb [v3-1-test] Fix start-rc-process command test in CI
(#57870) (#57875)
add 0e7c553e3aa [v3-1-test] Ensure `task` in the context is always
correct. (#57884) (#57892)
add 6b80761e8ef Ensure that DB migrations handles all kinds of NaN values
in historical xcoms (#57866) (#57893)
add 151f424d402 [v3-1-test] Don't fetch ImportError until modal opens. Use
limit as 1 since the UI shows total_entries value and rest of the response is
ignored. (#57624) (#57757)
add 4e1f51aaabb [v3-1-test] Fix pin-versions prek hook and upgrade hooks
(#57857) (#57905)
add bbd74e2e954 [v3-1-test] Improve preparation and verification of source
tarballs (#57901) (#57906)
add fea9b2926de [v3-1-test] Upgrade important versions in v3-1-test
(#57908)
add 14c3ebe75f5 [v3-1-test] Bump prek, zizmor, go to fix the CI (#57930)
(#57946)
add 0365505e1b4 Fix scheduler using stale max_active_runs from
SerializedDAG (#57619) (#57959)
add 58242c2964d [v3-1-test] Add number of queries guard for ui config
(#57868) (#57918)
add 632f217b00c [v3-1-test] Add number of queries guard for ui connections
(#57869) (#57882)
add a30b7b3e6ae [v3-1-test] Add number of queries guard for ui
dependencies (#57957) (#57972)
add 0093e284e1b [v3-1-test] Release Notes change (#57895) (#57960)
add c2b901ffd0c [v3-1-test] Add `breeze ci upgrade` command to automate CI
infrastructure upgrade (#57958) (#57987)
add cd63f1d9ca7 [v3-1-test] Further fixes for release preparation process
for tarballs (#57996) (#57997)
add 124e14f07f7 [v3-1-test] Remove unnecessary `--tag` flag from git push
(#57999) (#58000)
add f4f6f835f29 [v3-1-test] Use VERSION_SUFFIX in airflow-ctl when
preparing PyPI packages. (#58001) (#58002)
add 6884d3cde90 [v3-1-test] build: upgrade ruff to 0.14.4 (#58017) (#58024)
add 75ff1f1b3c1 [v3-1-test] Add number of queries guard for ui dashboard
(#57956) (#57973)
add 1ab2907d429 [v3-1-test] fix: Add .txt extension for log download
function (#57991) (#58040)
add c35019f1f18 [v3-1-test] Adjustments in release docs (#58008) (#58026)
add 71936f7ad05 [v3-1-test] Add number of queries guard for ui backfill
(#57820) (#57856)
add 088049d70d6 Fix logout in airflow-core (#57990) (#58043)
add d718d40f01d [v3-1-test] Update Hebrew translation 2025-11-07 (#58041)
(#58048)
add 8a5b05087a2 [v3-1-test] Update Arabic translation 2025-11-07 (#58042)
add 23cbf7c9db6 [v3-1-test] Add number of queries guard for ui
next_run_assets (#58052) (#58064)
add 5bb8ead6686 [v3-1-test] Fix reproducibility check source tarball
instructions (#58077) (#58078)
add 29838388f03 Close German translation gaps for full UI translation
2025-11-08 on v3-1-test (#58079)
add 80db5b72a1e [v3-1-test]Add missing PL translations in 3.1 branch
(#58076)
add 1df4039190e [v3-1-test] Add learnings from Airflow 3 migration
(#57989) (#58083)
add 2977eedc388 [v3-1-test] Fix release cleanup for providers (#58082)
(#58095)
add 20957bc3b36 Backport: Upgrade hungarian language package (#58113)
add 1bbcf01c304 feat(i18n): Fill in the gap for Taiwan translation (#58121)
add 8dc9e9994ce [v3-1-test] feat: add resize function to dag run / TI
notes (#57897) (#58068)
add 2b9575de34e Close TR translation gaps in v3-1 (#58086)
add 6e5da0eacaf [v3-1-test] Add secret masking for Jinja template
rendering exceptions (#57467) (#57962)
add 07704b53fcd [v3-1-test] Add number of queries guard for ui calendar
(#58044) (#58050)
add a6bbf45b543 [v3-1-test] Enable PT006 rule to dev (#57834) (#57890)
add 03fc7a05cf5 close catalan gap (#58109)
add d22630169bc [v3-1-test] close spanish gap airflow 3.1 (#58117) (#58151)
add 3f80b65d3ea [v3-1-test] Remove deprecation warning in common test
utils (#58152) (#58166)
add 3bbb78e8ac5 [v3-1-test] Update Release instruction to include Task SDK
version update (#58134) (#58154)
add 154d48c2be3 [v3-1-test] Convert all airflow distributions to be
compliant with ASF requirements (#58138) (#58150)
add 4544c1ef281 [v3-1-test] CI: Upgrade important CI environment (#58164)
(#58170)
add 8c8fb58ca7a [v3-1-test] fix: HITL params not validating (#57547)
(#58144)
add 1653fa144ea Update Airflow version to 3.1.3 and Task SDK to 1.1.3
add df94ff60878 Update RELEASE_NOTES.rst
No new revisions were added by this update.
Summary of changes:
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 2 +-
.github/actions/breeze/action.yml | 2 +-
.github/actions/install-prek/action.yml | 4 +-
.github/workflows/basic-tests.yml | 34 +-
.github/workflows/ci-amd-arm.yml | 9 +-
.github/workflows/ci-notification.yml | 5 -
.github/workflows/release_dockerhub_image.yml | 2 +-
.pre-commit-config.yaml | 13 +-
Dockerfile | 4 +-
Dockerfile.ci | 27 +-
NOTICE | 5 +
README.md | 12 +-
RELEASE_NOTES.rst | 89 +
.../docs/authoring-and-scheduling/assets.rst | 2 +
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/core-concepts/executor/local.rst | 39 +-
airflow-core/docs/core-concepts/overview.rst | 4 +-
airflow-core/docs/img/airflow_erd.sha256 | 2 +-
airflow-core/docs/img/airflow_erd.svg | 4432 ++++++++++----------
.../docs/installation/supported-versions.rst | 2 +-
.../docs/installation/upgrading_to_airflow3.rst | 12 +
airflow-core/docs/security/index.rst | 7 +
airflow-core/docs/start.rst | 2 +-
airflow-core/newsfragments/56583.significant.rst | 49 -
airflow-core/newsfragments/56609.significant.rst | 14 -
airflow-core/pyproject.toml | 10 +-
airflow-core/src/airflow/__init__.py | 2 +-
airflow-core/src/airflow/api_fastapi/app.py | 2 -
.../auth/managers/simple/simple_auth_manager.py | 2 +-
.../src/airflow/api_fastapi/common/db/dag_runs.py | 19 +
.../common/db/{dag_runs.py => task_instances.py} | 29 +-
.../src/airflow/api_fastapi/core_api/app.py | 2 +-
.../api_fastapi/core_api/datamodels/assets.py | 6 +-
.../core_api/datamodels/dag_versions.py | 28 +-
.../api_fastapi/core_api/datamodels/dags.py | 4 +-
.../api_fastapi/core_api/datamodels/hitl.py | 18 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 1 -
.../core_api/openapi/v2-rest-api-generated.yaml | 24 +-
.../api_fastapi/core_api/routes/public/auth.py | 23 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 13 +-
.../core_api/routes/public/dag_versions.py | 2 +-
.../api_fastapi/core_api/routes/public/hitl.py | 7 +-
.../core_api/routes/public/task_instances.py | 17 +-
.../api_fastapi/core_api/routes/ui/backfills.py | 3 +-
.../core_api/services/ui/connections.py | 98 +-
.../api_fastapi/execution_api/datamodels/asset.py | 4 +-
.../execution_api/datamodels/asset_event.py | 4 +-
.../execution_api/datamodels/taskinstance.py | 5 +-
.../execution_api/routes/task_instances.py | 45 +-
.../src/airflow/cli/commands/api_server_command.py | 1 +
.../src/airflow/config_templates/config.yml | 7 +-
airflow-core/src/airflow/configuration.py | 2 +-
.../src/airflow/executors/local_executor.py | 11 +-
.../src/airflow/jobs/scheduler_job_runner.py | 6 +-
airflow-core/src/airflow/lineage/hook.py | 8 +-
airflow-core/src/airflow/logging_config.py | 1 -
...49_3_0_0_remove_pickled_data_from_xcom_table.py | 27 +-
airflow-core/src/airflow/models/dag_version.py | 39 +-
airflow-core/src/airflow/models/taskinstance.py | 14 +-
airflow-core/src/airflow/operators/__init__.py | 8 +-
airflow-core/src/airflow/plugins_manager.py | 14 -
airflow-core/src/airflow/sensors/__init__.py | 6 +-
.../airflow/serialization/serialized_objects.py | 3 +
airflow-core/src/airflow/task/priority_strategy.py | 3 +
.../ti_deps/deps/not_previously_skipped_dep.py | 2 +-
airflow-core/src/airflow/timetables/_cron.py | 3 +
airflow-core/src/airflow/timetables/interval.py | 3 +
airflow-core/src/airflow/timetables/simple.py | 3 +
.../src/airflow/ui/openapi-gen/queries/common.ts | 4 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 6 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 6 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 6 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 6 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 11 +-
.../ui/openapi-gen/requests/services.gen.ts | 12 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 15 +-
.../airflow/ui/public/i18n/locales/ar/common.json | 7 +
.../ui/public/i18n/locales/ar/components.json | 12 +
.../src/airflow/ui/public/i18n/locales/ar/dag.json | 2 +
.../airflow/ui/public/i18n/locales/ar/hitl.json | 5 +
.../airflow/ui/public/i18n/locales/ca/common.json | 7 +-
.../ui/public/i18n/locales/ca/components.json | 4 +
.../src/airflow/ui/public/i18n/locales/ca/dag.json | 2 +
.../airflow/ui/public/i18n/locales/de/README.md | 3 +-
.../airflow/ui/public/i18n/locales/de/common.json | 7 +-
.../airflow/ui/public/i18n/locales/de/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/es/common.json | 7 +
.../ui/public/i18n/locales/es/components.json | 6 +
.../src/airflow/ui/public/i18n/locales/es/dag.json | 2 +
.../airflow/ui/public/i18n/locales/es/hitl.json | 5 +
.../airflow/ui/public/i18n/locales/he/common.json | 7 +
.../ui/public/i18n/locales/he/components.json | 6 +
.../src/airflow/ui/public/i18n/locales/he/dag.json | 2 +
.../airflow/ui/public/i18n/locales/he/hitl.json | 5 +
.../airflow/ui/public/i18n/locales/hu/common.json | 12 +
.../ui/public/i18n/locales/hu/components.json | 4 +
.../src/airflow/ui/public/i18n/locales/hu/dag.json | 5 +
.../airflow/ui/public/i18n/locales/hu/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/hu/hitl.json | 3 +
.../airflow/ui/public/i18n/locales/pl/common.json | 5 +
.../airflow/ui/public/i18n/locales/tr/common.json | 5 +
.../ui/public/i18n/locales/tr/components.json | 4 +
.../src/airflow/ui/public/i18n/locales/tr/dag.json | 2 +
.../airflow/ui/public/i18n/locales/tr/dags.json | 3 +-
.../ui/public/i18n/locales/zh-TW/common.json | 5 +
.../ui/public/i18n/locales/zh-TW/components.json | 4 +
.../ui/src/components/DisplayMarkdownButton.tsx | 6 +-
.../ui/src/components/EditableMarkdownArea.tsx | 7 +-
.../ui/src/components/EditableMarkdownButton.tsx | 55 +-
.../ui/src/components/ui/ResizableWrapper.tsx | 2 +
.../src/airflow/ui/src/layouts/Nav/LogoutModal.tsx | 1 -
.../src/pages/Dashboard/Stats/DAGImportErrors.tsx | 2 +-
.../pages/Dashboard/Stats/DAGImportErrorsModal.tsx | 14 +-
.../ui/src/pages/TaskInstance/Logs/Logs.tsx | 2 +-
.../src/pages/TaskInstance/Logs/TaskLogContent.tsx | 25 +-
.../airflow/ui/src/queries/useTestConnection.ts | 12 +-
airflow-core/src/airflow/ui/src/utils/hitl.ts | 51 +-
airflow-core/src/airflow/ui/src/utils/query.ts | 1 +
airflow-core/src/airflow/utils/db.py | 3 +
.../src/airflow/utils/log/file_task_handler.py | 2 +-
.../core_api/routes/public/test_auth.py | 12 +-
.../core_api/routes/public/test_connections.py | 4 +-
.../core_api/routes/public/test_dag_run.py | 25 +-
.../core_api/routes/public/test_dag_versions.py | 32 +-
.../core_api/routes/public/test_dags.py | 2 +-
.../core_api/routes/public/test_hitl.py | 11 +-
.../core_api/routes/public/test_providers.py | 5 +-
.../core_api/routes/public/test_task_instances.py | 93 +-
.../core_api/routes/public/test_tasks.py | 26 +-
.../core_api/routes/public/test_variables.py | 4 +-
.../api_fastapi/core_api/routes/ui/test_assets.py | 4 +-
.../core_api/routes/ui/test_backfills.py | 4 +-
.../core_api/routes/ui/test_calendar.py | 7 +-
.../api_fastapi/core_api/routes/ui/test_config.py | 4 +-
.../core_api/routes/ui/test_connections.py | 4 +-
.../core_api/routes/ui/test_dashboard.py | 19 +-
.../core_api/routes/ui/test_dependencies.py | 10 +-
.../versions/head/test_task_instances.py | 135 +-
.../tests/unit/charts/helm_template_generator.py | 2 +-
.../unit/cli/commands/test_api_server_command.py | 2 +
.../tests/unit/executors/test_local_executor.py | 15 +-
.../executors/test_local_executor_check_workers.py | 10 -
airflow-core/tests/unit/jobs/test_scheduler_job.py | 99 +
.../tests/unit/models/test_renderedtifields.py | 3 +
.../tests/unit/models/test_taskinstance.py | 20 +-
.../unit/serialization/test_dag_serialization.py | 3 +
.../tests/unit/serialization/test_serde.py | 3 +
.../unit/serialization/test_serialized_objects.py | 6 +-
airflow-core/tests/unit/utils/test_json.py | 3 +
airflow-core/tests/unit/utils/test_log_handlers.py | 1 -
airflow-core/tests/unit/utils/test_sqlalchemy.py | 2 +-
.../tests/airflowctl_tests/conftest.py | 1 -
{clients/python => airflow-ctl}/LICENSE | 0
airflow-ctl/NOTICE | 5 +
airflow-ctl/RELEASE_NOTES.rst | 6 +-
airflow-ctl/docs/changelog.rst | 2 +-
airflow-ctl/docs/images/command_hashes.txt | 4 +-
airflow-ctl/docs/images/output_dagrun.svg | 70 +-
airflow-ctl/docs/images/output_dags.svg | 122 +-
airflow-ctl/pyproject.toml | 2 +
airflow-ctl/src/airflowctl/__init__.py | 2 +-
airflow-ctl/src/airflowctl/api/client.py | 1 +
.../src/airflowctl/api/datamodels/generated.py | 4 +-
airflow-ctl/src/airflowctl/api/operations.py | 28 +-
airflow-ctl/src/airflowctl/ctl/cli_config.py | 34 +
.../src/airflowctl/ctl/commands/dag_command.py | 74 +
.../tests/airflow_ctl/api/test_operations.py | 63 +-
.../ctl/commands/test_config_command.py | 2 +-
.../airflow_ctl/ctl/commands/test_dag_command.py | 139 +
.../ctl/commands/test_version_command.py | 2 +-
chart/NOTICE | 2 +-
chart/pyproject.toml | 1 -
clients/python/pyproject.toml | 4 +-
contributing-docs/08_static_code_checks.rst | 10 +-
contributing-docs/testing/integration_tests.rst | 2 +
dev/README_RELEASE_AIRFLOW.md | 219 +-
dev/README_RELEASE_AIRFLOWCTL.md | 299 +-
dev/README_RELEASE_PROVIDERS.md | 260 +-
dev/airflow-github | 2 -
dev/airflow_perf/sql_queries.py | 3 +
dev/breeze/doc/03_developer_tasks.rst | 23 +
dev/breeze/doc/08_ci_tasks.rst | 20 +-
dev/breeze/doc/09_release_management_tasks.rst | 26 +-
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/doc/images/output-commands.svg | 6 +-
dev/breeze/doc/images/output_ci.svg | 12 +-
dev/breeze/doc/images/output_ci.txt | 2 +-
dev/breeze/doc/images/output_ci_upgrade.svg | 136 +
dev/breeze/doc/images/output_ci_upgrade.txt | 1 +
.../doc/images/output_release-management.svg | 2 +-
.../doc/images/output_release-management.txt | 2 +-
...e-management_install-provider-distributions.svg | 66 +-
...e-management_install-provider-distributions.txt | 2 +-
...anagement_prepare-airflow-ctl-distributions.svg | 22 +-
...anagement_prepare-airflow-ctl-distributions.txt | 2 +-
...se-management_prepare-airflow-distributions.svg | 22 +-
...se-management_prepare-airflow-distributions.txt | 2 +-
..._release-management_prepare-airflow-tarball.svg | 124 -
..._release-management_prepare-airflow-tarball.txt | 1 -
...e-management_prepare-provider-distributions.svg | 22 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 6 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_prepare-tarball.svg | 148 +
.../output_release-management_prepare-tarball.txt | 1 +
...e-management_prepare-task-sdk-distributions.svg | 22 +-
...e-management_prepare-task-sdk-distributions.txt | 2 +-
.../output_release-management_start-rc-process.svg | 24 +-
.../output_release-management_start-rc-process.txt | 2 +-
.../output_release-management_start-release.svg | 28 +-
.../output_release-management_start-release.txt | 2 +-
...se-management_verify-provider-distributions.svg | 48 +-
...se-management_verify-provider-distributions.txt | 2 +-
.../output_setup_check-all-params-in-groups.svg | 8 +-
.../output_setup_check-all-params-in-groups.txt | 2 +-
.../output_setup_regenerate-command-images.svg | 62 +-
.../output_setup_regenerate-command-images.txt | 2 +-
dev/breeze/doc/images/output_shell.svg | 98 +-
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.svg | 74 +-
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
.../doc/images/output_testing_core-tests.svg | 48 +-
.../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.svg | 66 +-
.../doc/images/output_testing_providers-tests.txt | 2 +-
.../doc/images/output_testing_system-tests.svg | 48 +-
.../doc/images/output_testing_system-tests.txt | 2 +-
dev/breeze/pyproject.toml | 9 +-
.../src/airflow_breeze/commands/ci_commands.py | 333 ++
.../airflow_breeze/commands/ci_commands_config.py | 11 +
.../src/airflow_breeze/commands/common_options.py | 5 +-
.../commands/release_candidate_command.py | 141 +-
.../src/airflow_breeze/commands/release_command.py | 151 +-
.../commands/release_management_commands.py | 92 +-
.../commands/release_management_commands_config.py | 18 +-
dev/breeze/src/airflow_breeze/global_constants.py | 18 +-
.../src/airflow_breeze/params/shell_params.py | 1 +
.../prepare_providers/provider_documentation.py | 1 -
.../templates/pyproject_TEMPLATE.toml.jinja2 | 3 +-
.../src/airflow_breeze/utils/custom_param_types.py | 7 +-
dev/breeze/src/airflow_breeze/utils/packages.py | 7 +
.../src/airflow_breeze/utils/publish_docs_to_s3.py | 7 +-
dev/breeze/tests/test_cache.py | 2 +-
dev/breeze/tests/test_docker_command_utils.py | 2 +-
dev/breeze/tests/test_exclude_from_matrix.py | 2 +-
dev/breeze/tests/test_general_utils.py | 2 +-
dev/breeze/tests/test_packages.py | 16 +-
dev/breeze/tests/test_provider_documentation.py | 27 +-
dev/breeze/tests/test_publish_docs_to_s3.py | 4 +-
.../tests/test_pytest_args_for_test_types.py | 6 +-
dev/breeze/tests/test_selective_checks.py | 30 +-
dev/breeze/tests/test_shell_params.py | 2 +-
dev/breeze/tests/test_use_airflow_version.py | 54 +
dev/breeze/tests/test_versions.py | 3 +-
dev/breeze/uv.lock | 288 +-
devel-common/pyproject.toml | 10 +-
.../src/sphinx_exts/docs_build/docs_builder.py | 2 +
devel-common/src/sphinx_exts/docs_build/errors.py | 3 +
.../sphinx_exts/docs_build/fetch_inventories.py | 1 -
.../src/sphinx_exts/docs_build/spelling_checks.py | 3 +
.../tests_common/_internals/forbidden_warnings.py | 16 +-
devel-common/src/tests_common/pytest_plugin.py | 9 +-
.../src/tests_common/test_utils/timetables.py | 3 +
.../src/tests_common/test_utils/version_compat.py | 1 +
docker-stack-docs/README.md | 10 +-
.../extending/add-airflow-configuration/Dockerfile | 2 +-
.../extending/add-apt-packages/Dockerfile | 2 +-
.../add-build-essential-extend/Dockerfile | 2 +-
.../extending/add-providers/Dockerfile | 2 +-
.../add-pypi-packages-constraints/Dockerfile | 2 +-
.../extending/add-pypi-packages-uv/Dockerfile | 2 +-
.../extending/add-pypi-packages/Dockerfile | 2 +-
.../extending/add-requirement-packages/Dockerfile | 2 +-
.../extending/custom-providers/Dockerfile | 2 +-
.../extending/embedding-dags/Dockerfile | 2 +-
.../extending/writable-directory/Dockerfile | 2 +-
docker-stack-docs/entrypoint.rst | 14 +-
docker-stack-docs/pyproject.toml | 1 -
docker-tests/tests/docker_tests/test_prod_image.py | 2 +-
generated/PYPI_README.md | 10 +-
generated/devel_deps.txt | 2 +-
LICENSE => go-sdk/LICENSE | 0
go-sdk/NOTICE | 5 +
.../tests/chart_utils/helm_template_generator.py | 2 +-
.../tests/kubernetes_tests/test_base.py | 3 +
providers-summary-docs/pyproject.toml | 1 -
LICENSE => providers/airbyte/LICENSE | 0
providers/airbyte/NOTICE | 5 +
providers/airbyte/pyproject.toml | 3 +-
LICENSE => providers/alibaba/LICENSE | 0
providers/alibaba/NOTICE | 5 +
providers/alibaba/pyproject.toml | 3 +-
LICENSE => providers/amazon/LICENSE | 0
providers/amazon/NOTICE | 5 +
providers/amazon/pyproject.toml | 3 +-
.../amazon/aws/executors/aws_lambda/docker/app.py | 6 +-
.../providers/amazon/aws/hooks/batch_waiters.py | 1 -
.../tests/system/amazon/aws/example_bedrock.py | 4 +-
.../aws/executors/batch/test_batch_executor.py | 5 +-
.../unit/amazon/aws/operators/test_appflow.py | 1 -
LICENSE => providers/apache/beam/LICENSE | 0
providers/apache/beam/NOTICE | 5 +
providers/apache/beam/pyproject.toml | 3 +-
LICENSE => providers/apache/cassandra/LICENSE | 0
providers/apache/cassandra/NOTICE | 5 +
providers/apache/cassandra/pyproject.toml | 3 +-
LICENSE => providers/apache/drill/LICENSE | 0
providers/apache/drill/NOTICE | 5 +
providers/apache/drill/pyproject.toml | 3 +-
LICENSE => providers/apache/druid/LICENSE | 0
providers/apache/druid/NOTICE | 5 +
providers/apache/druid/pyproject.toml | 3 +-
LICENSE => providers/apache/flink/LICENSE | 0
providers/apache/flink/NOTICE | 5 +
providers/apache/flink/pyproject.toml | 3 +-
LICENSE => providers/apache/hdfs/LICENSE | 0
providers/apache/hdfs/NOTICE | 5 +
providers/apache/hdfs/pyproject.toml | 3 +-
LICENSE => providers/apache/hive/LICENSE | 0
providers/apache/hive/NOTICE | 5 +
providers/apache/hive/pyproject.toml | 3 +-
LICENSE => providers/apache/iceberg/LICENSE | 0
providers/apache/iceberg/NOTICE | 5 +
providers/apache/iceberg/pyproject.toml | 3 +-
LICENSE => providers/apache/impala/LICENSE | 0
providers/apache/impala/NOTICE | 5 +
providers/apache/impala/pyproject.toml | 3 +-
LICENSE => providers/apache/kafka/LICENSE | 0
providers/apache/kafka/NOTICE | 5 +
providers/apache/kafka/pyproject.toml | 3 +-
LICENSE => providers/apache/kylin/LICENSE | 0
providers/apache/kylin/NOTICE | 5 +
providers/apache/kylin/pyproject.toml | 3 +-
LICENSE => providers/apache/livy/LICENSE | 0
providers/apache/livy/NOTICE | 5 +
providers/apache/livy/pyproject.toml | 3 +-
.../tests/unit/apache/livy/operators/test_livy.py | 5 +-
LICENSE => providers/apache/pig/LICENSE | 0
providers/apache/pig/NOTICE | 5 +
providers/apache/pig/pyproject.toml | 3 +-
LICENSE => providers/apache/pinot/LICENSE | 0
providers/apache/pinot/NOTICE | 5 +
providers/apache/pinot/pyproject.toml | 3 +-
LICENSE => providers/apache/spark/LICENSE | 0
providers/apache/spark/NOTICE | 5 +
providers/apache/spark/pyproject.toml | 3 +-
.../apache/spark/operators/test_spark_submit.py | 5 +-
LICENSE => providers/apache/tinkerpop/LICENSE | 0
providers/apache/tinkerpop/NOTICE | 5 +
providers/apache/tinkerpop/pyproject.toml | 3 +-
LICENSE => providers/apprise/LICENSE | 0
providers/apprise/NOTICE | 5 +
providers/apprise/pyproject.toml | 3 +-
LICENSE => providers/arangodb/LICENSE | 0
providers/arangodb/NOTICE | 5 +
providers/arangodb/pyproject.toml | 3 +-
LICENSE => providers/asana/LICENSE | 0
providers/asana/NOTICE | 5 +
providers/asana/pyproject.toml | 3 +-
LICENSE => providers/atlassian/jira/LICENSE | 0
providers/atlassian/jira/NOTICE | 5 +
providers/atlassian/jira/pyproject.toml | 3 +-
LICENSE => providers/celery/LICENSE | 0
providers/celery/NOTICE | 5 +
providers/celery/pyproject.toml | 3 +-
.../celery/executors/celery_executor_utils.py | 9 +-
.../integration/celery/test_celery_executor.py | 3 +
.../unit/celery/log_handlers/test_log_handlers.py | 1 -
LICENSE => providers/cloudant/LICENSE | 0
providers/cloudant/NOTICE | 5 +
providers/cloudant/pyproject.toml | 3 +-
LICENSE => providers/cncf/kubernetes/LICENSE | 0
providers/cncf/kubernetes/NOTICE | 5 +
providers/cncf/kubernetes/pyproject.toml | 3 +-
.../airflow/providers/cncf/kubernetes/secret.py | 3 +
.../kubernetes/log_handlers/test_log_handlers.py | 1 -
.../unit/cncf/kubernetes/operators/test_pod.py | 7 +-
.../unit/cncf/kubernetes/triggers/test_pod.py | 14 +-
LICENSE => providers/cohere/LICENSE | 0
providers/cohere/NOTICE | 5 +
providers/cohere/pyproject.toml | 3 +-
LICENSE => providers/common/compat/LICENSE | 0
providers/common/compat/NOTICE | 5 +
providers/common/compat/pyproject.toml | 3 +-
LICENSE => providers/common/io/LICENSE | 0
providers/common/io/NOTICE | 5 +
providers/common/io/pyproject.toml | 3 +-
LICENSE => providers/common/messaging/LICENSE | 0
providers/common/messaging/NOTICE | 5 +
providers/common/messaging/pyproject.toml | 3 +-
LICENSE => providers/common/sql/LICENSE | 0
providers/common/sql/NOTICE | 5 +
providers/common/sql/pyproject.toml | 3 +-
.../src/airflow/providers/common/sql/hooks/sql.pyi | 6 +-
.../sql/tests/unit/common/sql/hooks/test_dbapi.py | 1 -
.../sql/tests/unit/common/sql/hooks/test_sql.py | 1 -
LICENSE => providers/databricks/LICENSE | 0
providers/databricks/NOTICE | 5 +
providers/databricks/pyproject.toml | 3 +-
.../providers/databricks/hooks/databricks.py | 9 +
.../databricks/plugins/databricks_workflow.py | 5 -
.../databricks/example_databricks_workflow.py | 2 +-
.../tests/unit/databricks/hooks/test_databricks.py | 2 -
LICENSE => providers/datadog/LICENSE | 0
providers/datadog/NOTICE | 5 +
providers/datadog/pyproject.toml | 3 +-
LICENSE => providers/dbt/cloud/LICENSE | 0
providers/dbt/cloud/NOTICE | 5 +
providers/dbt/cloud/pyproject.toml | 3 +-
LICENSE => providers/dingding/LICENSE | 0
providers/dingding/NOTICE | 5 +
providers/dingding/pyproject.toml | 3 +-
LICENSE => providers/discord/LICENSE | 0
providers/discord/NOTICE | 5 +
providers/discord/pyproject.toml | 3 +-
LICENSE => providers/docker/LICENSE | 0
providers/docker/NOTICE | 5 +
providers/docker/pyproject.toml | 3 +-
LICENSE => providers/edge3/LICENSE | 0
providers/edge3/NOTICE | 5 +
providers/edge3/pyproject.toml | 3 +-
.../src/airflow/providers/edge3/cli/api_client.py | 12 +-
.../providers/edge3/worker_api/routes/worker.py | 2 +-
LICENSE => providers/elasticsearch/LICENSE | 0
providers/elasticsearch/NOTICE | 5 +
providers/elasticsearch/pyproject.toml | 3 +-
LICENSE => providers/exasol/LICENSE | 0
providers/exasol/NOTICE | 5 +
providers/exasol/pyproject.toml | 3 +-
LICENSE => providers/fab/LICENSE | 0
providers/fab/provider.yaml | 2 -
providers/fab/pyproject.toml | 5 +-
.../providers/fab/auth_manager/models/__init__.py | 3 +
LICENSE => providers/facebook/LICENSE | 0
providers/facebook/NOTICE | 5 +
providers/facebook/pyproject.toml | 3 +-
LICENSE => providers/ftp/LICENSE | 0
providers/ftp/NOTICE | 5 +
providers/ftp/pyproject.toml | 3 +-
LICENSE => providers/git/LICENSE | 0
providers/git/NOTICE | 5 +
providers/git/pyproject.toml | 3 +-
LICENSE => providers/github/LICENSE | 0
providers/github/NOTICE | 5 +
providers/github/pyproject.toml | 3 +-
LICENSE => providers/google/LICENSE | 0
providers/google/NOTICE | 5 +
providers/google/pyproject.toml | 3 +-
.../providers/google/3rd-party-licenses/NOTICE | 14 +-
.../providers/google/cloud/hooks/bigquery.py | 2 +-
.../providers/google/cloud/hooks/cloud_sql.py | 2 +-
.../providers/google/cloud/hooks/dataflow.py | 2 +-
.../providers/google/cloud/hooks/dataproc.py | 2 +-
.../providers/google/cloud/hooks/mlengine.py | 2 +-
.../google/common/auth_backend/google_openid.py | 1 -
.../providers/google/common/hooks/base_google.py | 1 -
.../google/common/utils/id_token_credentials.py | 3 +-
.../example_cloud_storage_transfer_service_aws.py | 2 +-
.../google/cloud/triggers/test_bigquery_dts.py | 7 +-
.../unit/google/cloud/triggers/test_dataflow.py | 4 +-
.../unit/google/cloud/triggers/test_dataplex.py | 2 +-
.../cloud/triggers/test_kubernetes_engine.py | 22 +-
LICENSE => providers/grpc/LICENSE | 0
providers/grpc/NOTICE | 5 +
providers/grpc/pyproject.toml | 3 +-
LICENSE => providers/hashicorp/LICENSE | 0
providers/hashicorp/NOTICE | 5 +
providers/hashicorp/pyproject.toml | 3 +-
LICENSE => providers/http/LICENSE | 0
providers/http/NOTICE | 5 +
providers/http/pyproject.toml | 3 +-
LICENSE => providers/imap/LICENSE | 0
providers/imap/NOTICE | 5 +
providers/imap/pyproject.toml | 3 +-
LICENSE => providers/influxdb/LICENSE | 0
providers/influxdb/NOTICE | 5 +
providers/influxdb/pyproject.toml | 3 +-
LICENSE => providers/jdbc/LICENSE | 0
providers/jdbc/NOTICE | 5 +
providers/jdbc/pyproject.toml | 3 +-
LICENSE => providers/jenkins/LICENSE | 0
providers/jenkins/NOTICE | 5 +
providers/jenkins/pyproject.toml | 3 +-
LICENSE => providers/keycloak/LICENSE | 0
providers/keycloak/NOTICE | 5 +
providers/keycloak/pyproject.toml | 3 +-
LICENSE => providers/microsoft/azure/LICENSE | 0
providers/microsoft/azure/NOTICE | 5 +
providers/microsoft/azure/pyproject.toml | 3 +-
.../microsoft/azure/example_azure_service_bus.py | 2 +-
.../microsoft/azure/example_azure_synapse.py | 6 +-
LICENSE => providers/microsoft/mssql/LICENSE | 0
providers/microsoft/mssql/NOTICE | 5 +
providers/microsoft/mssql/pyproject.toml | 3 +-
LICENSE => providers/microsoft/psrp/LICENSE | 0
providers/microsoft/psrp/NOTICE | 5 +
providers/microsoft/psrp/pyproject.toml | 3 +-
LICENSE => providers/microsoft/winrm/LICENSE | 0
providers/microsoft/winrm/NOTICE | 5 +
providers/microsoft/winrm/pyproject.toml | 3 +-
LICENSE => providers/mongo/LICENSE | 0
providers/mongo/NOTICE | 5 +
providers/mongo/pyproject.toml | 3 +-
LICENSE => providers/mysql/LICENSE | 0
providers/mysql/NOTICE | 5 +
providers/mysql/pyproject.toml | 3 +-
LICENSE => providers/neo4j/LICENSE | 0
providers/neo4j/NOTICE | 5 +
providers/neo4j/pyproject.toml | 3 +-
LICENSE => providers/odbc/LICENSE | 0
providers/odbc/NOTICE | 5 +
providers/odbc/pyproject.toml | 3 +-
LICENSE => providers/openai/LICENSE | 0
providers/openai/NOTICE | 5 +
providers/openai/pyproject.toml | 3 +-
LICENSE => providers/openfaas/LICENSE | 0
providers/openfaas/NOTICE | 5 +
providers/openfaas/pyproject.toml | 3 +-
LICENSE => providers/openlineage/LICENSE | 0
providers/openlineage/NOTICE | 5 +
providers/openlineage/pyproject.toml | 3 +-
LICENSE => providers/opensearch/LICENSE | 0
providers/opensearch/NOTICE | 5 +
providers/opensearch/pyproject.toml | 3 +-
LICENSE => providers/opsgenie/LICENSE | 0
providers/opsgenie/NOTICE | 5 +
providers/opsgenie/pyproject.toml | 3 +-
LICENSE => providers/oracle/LICENSE | 0
providers/oracle/NOTICE | 5 +
providers/oracle/pyproject.toml | 3 +-
LICENSE => providers/pagerduty/LICENSE | 0
providers/pagerduty/NOTICE | 5 +
providers/pagerduty/pyproject.toml | 3 +-
LICENSE => providers/papermill/LICENSE | 0
providers/papermill/NOTICE | 5 +
providers/papermill/pyproject.toml | 3 +-
LICENSE => providers/pgvector/LICENSE | 0
providers/pgvector/NOTICE | 5 +
providers/pgvector/pyproject.toml | 3 +-
LICENSE => providers/pinecone/LICENSE | 0
providers/pinecone/NOTICE | 5 +
providers/pinecone/pyproject.toml | 3 +-
LICENSE => providers/postgres/LICENSE | 0
providers/postgres/NOTICE | 5 +
providers/postgres/pyproject.toml | 3 +-
.../airflow/providers/postgres/hooks/postgres.py | 1 -
LICENSE => providers/presto/LICENSE | 0
providers/presto/NOTICE | 5 +
providers/presto/pyproject.toml | 3 +-
LICENSE => providers/qdrant/LICENSE | 0
providers/qdrant/NOTICE | 5 +
providers/qdrant/pyproject.toml | 3 +-
LICENSE => providers/redis/LICENSE | 0
providers/redis/NOTICE | 5 +
providers/redis/pyproject.toml | 3 +-
LICENSE => providers/salesforce/LICENSE | 0
providers/salesforce/NOTICE | 5 +
providers/salesforce/pyproject.toml | 3 +-
LICENSE => providers/samba/LICENSE | 0
providers/samba/NOTICE | 5 +
providers/samba/pyproject.toml | 3 +-
LICENSE => providers/segment/LICENSE | 0
providers/segment/NOTICE | 5 +
providers/segment/pyproject.toml | 3 +-
LICENSE => providers/sendgrid/LICENSE | 0
providers/sendgrid/NOTICE | 5 +
providers/sendgrid/pyproject.toml | 3 +-
LICENSE => providers/sftp/LICENSE | 0
providers/sftp/NOTICE | 5 +
providers/sftp/pyproject.toml | 3 +-
LICENSE => providers/singularity/LICENSE | 0
providers/singularity/NOTICE | 5 +
providers/singularity/pyproject.toml | 3 +-
LICENSE => providers/slack/LICENSE | 0
providers/slack/NOTICE | 5 +
providers/slack/pyproject.toml | 3 +-
LICENSE => providers/smtp/LICENSE | 0
providers/smtp/NOTICE | 5 +
providers/smtp/pyproject.toml | 3 +-
LICENSE => providers/snowflake/LICENSE | 0
providers/snowflake/NOTICE | 5 +
providers/snowflake/pyproject.toml | 3 +-
.../unit/snowflake/operators/test_snowflake_sql.py | 3 +
LICENSE => providers/sqlite/LICENSE | 0
providers/sqlite/NOTICE | 5 +
providers/sqlite/pyproject.toml | 3 +-
LICENSE => providers/ssh/LICENSE | 0
providers/ssh/NOTICE | 5 +
providers/ssh/pyproject.toml | 3 +-
LICENSE => providers/standard/LICENSE | 0
providers/standard/NOTICE | 5 +
providers/standard/pyproject.toml | 3 +-
.../airflow/providers/standard/operators/hitl.py | 19 +-
.../airflow/providers/standard/triggers/hitl.py | 135 +-
.../airflow/providers/standard/version_compat.py | 1 +
.../tests/unit/standard/operators/test_hitl.py | 133 +-
.../tests/unit/standard/operators/test_python.py | 2 -
.../tests/unit/standard/triggers/test_hitl.py | 36 +-
LICENSE => providers/tableau/LICENSE | 0
providers/tableau/NOTICE | 5 +
providers/tableau/pyproject.toml | 3 +-
LICENSE => providers/telegram/LICENSE | 0
providers/telegram/NOTICE | 5 +
providers/telegram/pyproject.toml | 3 +-
LICENSE => providers/teradata/LICENSE | 0
providers/teradata/NOTICE | 5 +
providers/teradata/pyproject.toml | 3 +-
LICENSE => providers/trino/LICENSE | 0
providers/trino/NOTICE | 5 +
providers/trino/pyproject.toml | 3 +-
LICENSE => providers/vertica/LICENSE | 0
providers/vertica/NOTICE | 5 +
providers/vertica/pyproject.toml | 3 +-
LICENSE => providers/weaviate/LICENSE | 0
providers/weaviate/NOTICE | 5 +
providers/weaviate/pyproject.toml | 3 +-
.../tests/unit/weaviate/hooks/test_weaviate.py | 3 +
LICENSE => providers/yandex/LICENSE | 0
providers/yandex/NOTICE | 5 +
providers/yandex/pyproject.toml | 3 +-
LICENSE => providers/ydb/LICENSE | 0
providers/ydb/NOTICE | 5 +
providers/ydb/pyproject.toml | 3 +-
LICENSE => providers/zendesk/LICENSE | 0
providers/zendesk/NOTICE | 5 +
providers/zendesk/pyproject.toml | 3 +-
pyproject.toml | 28 +-
reproducible_build.yaml | 4 +-
.../ci/docker-compose/integration-localstack.yml | 31 +-
scripts/ci/docker-compose/integration-statsd.yml | 4 +-
scripts/ci/prek/check_imports_in_providers.py | 2 +-
.../check_providers_subpackages_all_have_init.py | 2 -
scripts/ci/prek/common_prek_utils.py | 9 +-
scripts/ci/prek/generate_airflow_diagrams.py | 2 +-
scripts/ci/prek/mypy_folder.py | 91 +-
scripts/ci/prek/ruff_format.py | 2 +-
.../ci/prek/significant_newsfragments_checker.py | 1 -
scripts/ci/prek/supported_versions.py | 2 +-
scripts/ci/prek/upgrade_important_versions.py | 2 +-
scripts/docker/entrypoint_ci.sh | 21 +
scripts/in_container/in_container_utils.py | 2 +-
.../in_container/install_airflow_and_providers.py | 93 +-
.../run_check_default_configuration.py | 4 +-
.../run_prepare_airflow_distributions.py | 2 +
scripts/in_container/run_prepare_er_diagram.py | 4 +-
.../in_container/update_quarantined_test_status.py | 4 +-
scripts/tools/initialize_virtualenv.py | 8 +-
scripts/tools/setup_breeze | 2 +-
task-sdk/NOTICE | 5 +
task-sdk/pyproject.toml | 6 +-
task-sdk/src/airflow/sdk/__init__.py | 2 +-
task-sdk/src/airflow/sdk/api/client.py | 2 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 140 +-
.../sdk/definitions/_internal/abstractoperator.py | 7 +-
.../src/airflow/sdk/definitions/asset/__init__.py | 24 +-
.../airflow/sdk/definitions/asset/decorators.py | 4 +-
.../src/airflow/sdk/definitions/asset/metadata.py | 6 +-
.../sdk/definitions/decorators/condition.py | 4 +-
.../airflow/sdk/definitions/operator_resources.py | 6 +
task-sdk/src/airflow/sdk/definitions/param.py | 4 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 15 +-
.../airflow/sdk/execution_time/lazy_sequence.py | 3 +
.../src/airflow/sdk/execution_time/task_runner.py | 5 +-
task-sdk/src/airflow/sdk/io/store.py | 3 +
task-sdk/src/airflow/sdk/types.py | 8 +-
task-sdk/tests/task_sdk/bases/test_operator.py | 28 +
.../tests/task_sdk/execution_time/test_cache.py | 2 +-
.../tests/task_sdk/execution_time/test_hitl.py | 4 +-
.../task_sdk/execution_time/test_supervisor.py | 6 +-
.../task_sdk/execution_time/test_task_runner.py | 1 +
672 files changed, 7526 insertions(+), 4574 deletions(-)
create mode 100644 NOTICE
delete mode 100644 airflow-core/newsfragments/56583.significant.rst
delete mode 100644 airflow-core/newsfragments/56609.significant.rst
copy airflow-core/src/airflow/api_fastapi/common/db/{dag_runs.py =>
task_instances.py} (51%)
copy {clients/python => airflow-ctl}/LICENSE (100%)
create mode 100644 airflow-ctl/NOTICE
create mode 100644 airflow-ctl/src/airflowctl/ctl/commands/dag_command.py
create mode 100644
airflow-ctl/tests/airflow_ctl/ctl/commands/test_dag_command.py
create mode 100644 dev/breeze/doc/images/output_ci_upgrade.svg
create mode 100644 dev/breeze/doc/images/output_ci_upgrade.txt
delete mode 100644
dev/breeze/doc/images/output_release-management_prepare-airflow-tarball.svg
delete mode 100644
dev/breeze/doc/images/output_release-management_prepare-airflow-tarball.txt
create mode 100644
dev/breeze/doc/images/output_release-management_prepare-tarball.svg
create mode 100644
dev/breeze/doc/images/output_release-management_prepare-tarball.txt
create mode 100644 dev/breeze/tests/test_use_airflow_version.py
copy LICENSE => go-sdk/LICENSE (100%)
create mode 100644 go-sdk/NOTICE
copy LICENSE => providers/airbyte/LICENSE (100%)
create mode 100644 providers/airbyte/NOTICE
copy LICENSE => providers/alibaba/LICENSE (100%)
create mode 100644 providers/alibaba/NOTICE
copy LICENSE => providers/amazon/LICENSE (100%)
create mode 100644 providers/amazon/NOTICE
copy LICENSE => providers/apache/beam/LICENSE (100%)
create mode 100644 providers/apache/beam/NOTICE
copy LICENSE => providers/apache/cassandra/LICENSE (100%)
create mode 100644 providers/apache/cassandra/NOTICE
copy LICENSE => providers/apache/drill/LICENSE (100%)
create mode 100644 providers/apache/drill/NOTICE
copy LICENSE => providers/apache/druid/LICENSE (100%)
create mode 100644 providers/apache/druid/NOTICE
copy LICENSE => providers/apache/flink/LICENSE (100%)
create mode 100644 providers/apache/flink/NOTICE
copy LICENSE => providers/apache/hdfs/LICENSE (100%)
create mode 100644 providers/apache/hdfs/NOTICE
copy LICENSE => providers/apache/hive/LICENSE (100%)
create mode 100644 providers/apache/hive/NOTICE
copy LICENSE => providers/apache/iceberg/LICENSE (100%)
create mode 100644 providers/apache/iceberg/NOTICE
copy LICENSE => providers/apache/impala/LICENSE (100%)
create mode 100644 providers/apache/impala/NOTICE
copy LICENSE => providers/apache/kafka/LICENSE (100%)
create mode 100644 providers/apache/kafka/NOTICE
copy LICENSE => providers/apache/kylin/LICENSE (100%)
create mode 100644 providers/apache/kylin/NOTICE
copy LICENSE => providers/apache/livy/LICENSE (100%)
create mode 100644 providers/apache/livy/NOTICE
copy LICENSE => providers/apache/pig/LICENSE (100%)
create mode 100644 providers/apache/pig/NOTICE
copy LICENSE => providers/apache/pinot/LICENSE (100%)
create mode 100644 providers/apache/pinot/NOTICE
copy LICENSE => providers/apache/spark/LICENSE (100%)
create mode 100644 providers/apache/spark/NOTICE
copy LICENSE => providers/apache/tinkerpop/LICENSE (100%)
create mode 100644 providers/apache/tinkerpop/NOTICE
copy LICENSE => providers/apprise/LICENSE (100%)
create mode 100644 providers/apprise/NOTICE
copy LICENSE => providers/arangodb/LICENSE (100%)
create mode 100644 providers/arangodb/NOTICE
copy LICENSE => providers/asana/LICENSE (100%)
create mode 100644 providers/asana/NOTICE
copy LICENSE => providers/atlassian/jira/LICENSE (100%)
create mode 100644 providers/atlassian/jira/NOTICE
copy LICENSE => providers/celery/LICENSE (100%)
create mode 100644 providers/celery/NOTICE
copy LICENSE => providers/cloudant/LICENSE (100%)
create mode 100644 providers/cloudant/NOTICE
copy LICENSE => providers/cncf/kubernetes/LICENSE (100%)
create mode 100644 providers/cncf/kubernetes/NOTICE
copy LICENSE => providers/cohere/LICENSE (100%)
create mode 100644 providers/cohere/NOTICE
copy LICENSE => providers/common/compat/LICENSE (100%)
create mode 100644 providers/common/compat/NOTICE
copy LICENSE => providers/common/io/LICENSE (100%)
create mode 100644 providers/common/io/NOTICE
copy LICENSE => providers/common/messaging/LICENSE (100%)
create mode 100644 providers/common/messaging/NOTICE
copy LICENSE => providers/common/sql/LICENSE (100%)
create mode 100644 providers/common/sql/NOTICE
copy LICENSE => providers/databricks/LICENSE (100%)
create mode 100644 providers/databricks/NOTICE
copy LICENSE => providers/datadog/LICENSE (100%)
create mode 100644 providers/datadog/NOTICE
copy LICENSE => providers/dbt/cloud/LICENSE (100%)
create mode 100644 providers/dbt/cloud/NOTICE
copy LICENSE => providers/dingding/LICENSE (100%)
create mode 100644 providers/dingding/NOTICE
copy LICENSE => providers/discord/LICENSE (100%)
create mode 100644 providers/discord/NOTICE
copy LICENSE => providers/docker/LICENSE (100%)
create mode 100644 providers/docker/NOTICE
copy LICENSE => providers/edge3/LICENSE (100%)
create mode 100644 providers/edge3/NOTICE
copy LICENSE => providers/elasticsearch/LICENSE (100%)
create mode 100644 providers/elasticsearch/NOTICE
copy LICENSE => providers/exasol/LICENSE (100%)
create mode 100644 providers/exasol/NOTICE
copy LICENSE => providers/fab/LICENSE (100%)
copy LICENSE => providers/facebook/LICENSE (100%)
create mode 100644 providers/facebook/NOTICE
copy LICENSE => providers/ftp/LICENSE (100%)
create mode 100644 providers/ftp/NOTICE
copy LICENSE => providers/git/LICENSE (100%)
create mode 100644 providers/git/NOTICE
copy LICENSE => providers/github/LICENSE (100%)
create mode 100644 providers/github/NOTICE
copy LICENSE => providers/google/LICENSE (100%)
create mode 100644 providers/google/NOTICE
copy LICENSE => providers/grpc/LICENSE (100%)
create mode 100644 providers/grpc/NOTICE
copy LICENSE => providers/hashicorp/LICENSE (100%)
create mode 100644 providers/hashicorp/NOTICE
copy LICENSE => providers/http/LICENSE (100%)
create mode 100644 providers/http/NOTICE
copy LICENSE => providers/imap/LICENSE (100%)
create mode 100644 providers/imap/NOTICE
copy LICENSE => providers/influxdb/LICENSE (100%)
create mode 100644 providers/influxdb/NOTICE
copy LICENSE => providers/jdbc/LICENSE (100%)
create mode 100644 providers/jdbc/NOTICE
copy LICENSE => providers/jenkins/LICENSE (100%)
create mode 100644 providers/jenkins/NOTICE
copy LICENSE => providers/keycloak/LICENSE (100%)
create mode 100644 providers/keycloak/NOTICE
copy LICENSE => providers/microsoft/azure/LICENSE (100%)
create mode 100644 providers/microsoft/azure/NOTICE
copy LICENSE => providers/microsoft/mssql/LICENSE (100%)
create mode 100644 providers/microsoft/mssql/NOTICE
copy LICENSE => providers/microsoft/psrp/LICENSE (100%)
create mode 100644 providers/microsoft/psrp/NOTICE
copy LICENSE => providers/microsoft/winrm/LICENSE (100%)
create mode 100644 providers/microsoft/winrm/NOTICE
copy LICENSE => providers/mongo/LICENSE (100%)
create mode 100644 providers/mongo/NOTICE
copy LICENSE => providers/mysql/LICENSE (100%)
create mode 100644 providers/mysql/NOTICE
copy LICENSE => providers/neo4j/LICENSE (100%)
create mode 100644 providers/neo4j/NOTICE
copy LICENSE => providers/odbc/LICENSE (100%)
create mode 100644 providers/odbc/NOTICE
copy LICENSE => providers/openai/LICENSE (100%)
create mode 100644 providers/openai/NOTICE
copy LICENSE => providers/openfaas/LICENSE (100%)
create mode 100644 providers/openfaas/NOTICE
copy LICENSE => providers/openlineage/LICENSE (100%)
create mode 100644 providers/openlineage/NOTICE
copy LICENSE => providers/opensearch/LICENSE (100%)
create mode 100644 providers/opensearch/NOTICE
copy LICENSE => providers/opsgenie/LICENSE (100%)
create mode 100644 providers/opsgenie/NOTICE
copy LICENSE => providers/oracle/LICENSE (100%)
create mode 100644 providers/oracle/NOTICE
copy LICENSE => providers/pagerduty/LICENSE (100%)
create mode 100644 providers/pagerduty/NOTICE
copy LICENSE => providers/papermill/LICENSE (100%)
create mode 100644 providers/papermill/NOTICE
copy LICENSE => providers/pgvector/LICENSE (100%)
create mode 100644 providers/pgvector/NOTICE
copy LICENSE => providers/pinecone/LICENSE (100%)
create mode 100644 providers/pinecone/NOTICE
copy LICENSE => providers/postgres/LICENSE (100%)
create mode 100644 providers/postgres/NOTICE
copy LICENSE => providers/presto/LICENSE (100%)
create mode 100644 providers/presto/NOTICE
copy LICENSE => providers/qdrant/LICENSE (100%)
create mode 100644 providers/qdrant/NOTICE
copy LICENSE => providers/redis/LICENSE (100%)
create mode 100644 providers/redis/NOTICE
copy LICENSE => providers/salesforce/LICENSE (100%)
create mode 100644 providers/salesforce/NOTICE
copy LICENSE => providers/samba/LICENSE (100%)
create mode 100644 providers/samba/NOTICE
copy LICENSE => providers/segment/LICENSE (100%)
create mode 100644 providers/segment/NOTICE
copy LICENSE => providers/sendgrid/LICENSE (100%)
create mode 100644 providers/sendgrid/NOTICE
copy LICENSE => providers/sftp/LICENSE (100%)
create mode 100644 providers/sftp/NOTICE
copy LICENSE => providers/singularity/LICENSE (100%)
create mode 100644 providers/singularity/NOTICE
copy LICENSE => providers/slack/LICENSE (100%)
create mode 100644 providers/slack/NOTICE
copy LICENSE => providers/smtp/LICENSE (100%)
create mode 100644 providers/smtp/NOTICE
copy LICENSE => providers/snowflake/LICENSE (100%)
create mode 100644 providers/snowflake/NOTICE
copy LICENSE => providers/sqlite/LICENSE (100%)
create mode 100644 providers/sqlite/NOTICE
copy LICENSE => providers/ssh/LICENSE (100%)
create mode 100644 providers/ssh/NOTICE
copy LICENSE => providers/standard/LICENSE (100%)
create mode 100644 providers/standard/NOTICE
copy LICENSE => providers/tableau/LICENSE (100%)
create mode 100644 providers/tableau/NOTICE
copy LICENSE => providers/telegram/LICENSE (100%)
create mode 100644 providers/telegram/NOTICE
copy LICENSE => providers/teradata/LICENSE (100%)
create mode 100644 providers/teradata/NOTICE
copy LICENSE => providers/trino/LICENSE (100%)
create mode 100644 providers/trino/NOTICE
copy LICENSE => providers/vertica/LICENSE (100%)
create mode 100644 providers/vertica/NOTICE
copy LICENSE => providers/weaviate/LICENSE (100%)
create mode 100644 providers/weaviate/NOTICE
copy LICENSE => providers/yandex/LICENSE (100%)
create mode 100644 providers/yandex/NOTICE
copy LICENSE => providers/ydb/LICENSE (100%)
create mode 100644 providers/ydb/NOTICE
copy LICENSE => providers/zendesk/LICENSE (100%)
create mode 100644 providers/zendesk/NOTICE
rename dev/.pre-commit-config.yaml =>
scripts/ci/docker-compose/integration-localstack.yml (55%)
create mode 100644 task-sdk/NOTICE