This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/pip/airflow-core/pip-dependency-updates-1a800ef2ca
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard bb32a4e9e6f Bump the pip-dependency-updates group across 3 directories
with 2 updates
add b723f314155 Fix GenericTransfer docs reference (#66996)
add df00cd6dba2 Fix CreateWorkflowOperator if_exists=skip ARN construction
(#66974)
add 4f47c3aa86b Adapt GCP CloudSQL trigger to run in private cloud (#66917)
add 508d7fd4d3a (system tests): Move BigQuery streaming-buffer system test
to manual-only (#67009)
add a0367309846 Add `S3TablesDeleteTableBucketPolicyOperator` (#66957)
add dd010a09ea2 Enable ruff PLE1205 to catch logging calls with too many
arguments (#66978)
add ff37123e5cc fix elasticsearch and opensearch providers changelog.rst
(#67007)
add 73eac24b4e6 Bump the auth-ui-package-updates group across 1 directory
with 12 updates (#67001)
add d9b560cd2df Helm Chart Documentation Update (#66970)
add 45db47f0e25 Bugfix/make edge resilient against log errors (#66995)
add ea60a4d6844 docs(security): document supported deployment platforms
(#66931)
add c72b6613fd3 Bump flask-appbuilder to 5.2.1 and mirror new auth event
hooks (#66841)
add ff140cd0b4a Support inline ignore marker for check_core_imports_in_sdk
hook (#65358)
add 2ed6805b0b6 Enable ruff B015 to catch silent no-op comparisons in
tests (#66977)
add b3387b8cef6 Bump the github-actions-updates group with 3 updates
(#67003)
add 42a85ee1ac9 UI: Add custom RouterLink component (#66945)
add d5cc8ac7e05 docs: fix grammar issues in contributing-docs/README.rst
(#67024)
add 66ecac66d1f fix: connection dialog state handling in BasePage to avoid
flaky tests (#67026)
add 724ac5ffec0 Close Catalan gap in main (#67010)
add bc8ef9a4b5c Refactor deferrable execution in DbtCloudRunJobOperator to
align with PR #64051 patterns. Simplify trigger polling/control flow and
propagate execution_timeout via defer. Add tests for best-effort cancellation
semantics in execute_complete and on_kill. (#66449)
add 40fcb034ada Add Bundle documentation for Amazon S3 and Google GCS
providers (#66993)
add 4e82672b4da Replace deprecated typer-slim with typer in devel-common
(#67034)
add 89389e092c4 Bump the edge-ui-package-updates group across 1 directory
with 15 updates (#67002)
add bb75d2a0803 Fix hardcoded OS path in K8s provider (#67040)
add 3a27d600f93 Prevent splitting by OS path separator (#67038)
add 74ec32ff950 Enable ruff B008 (function-call-in-default-argument) and
fix violations (#66979)
add 49958a5000a Add static check ensuring trigger `__init__()` and
`serialize()` stay in sync (#66960)
add c2246efe07d Isolate openlineage extractor test from hook lineage
collector pollution (#67057)
add d4e22155cb0 Fix flaky FileTrigger/FileDeleteTrigger tests by awaiting
the task (#66825)
add 59362117698 Preserve Databricks deferrable trigger caller across
triggerer restarts (#66965)
add 8248e048fdd Render Jinja templates in CloudBatchSubmitJobOperator job
field (#67021)
add c692e85e34c Fix CloudRunExecuteJobOperator deferrable mode silently
passing on cancel (#67050)
add 246c19f113f k8s tests: wait for push task in executor before killing
scheduler (#67067)
add 8ee29ce9e4f providers/mongo: ping mongod before yielding from
mongodb_container fixture (#67066)
add 977935d14b4 airflow-ctl-tests: wait for Dag run terminal state before
xcom commands (#67065)
add 4dff3767564 Include endpoint_prefix in LivyTrigger serialization
(#66966)
add 740c6880e1c Preserve BigQueryIntervalCheckTrigger params after
triggerer restart (#67053)
add 09545ece029 Fix broken download URLs and variable names in airflow-ctl
docs (#67046)
add d728644f535 Handle commas in provider Project-URL metadata (#67064)
add ce1de567e6b Fix airflow-ctl connections import schema handling (#67063)
add 4cf176e6a4f Add Git Sparse Checkout to Git Dag Bundle (#67047)
add cf709d929a0 Remove global variables in airflow.settings (#67070)
add bca6a659724 Updates our docker commands to use breeze prefix (#66368)
add 45161ae7da0 Remove resolved triggers from KNOWN_VIOLATIONS allowlist
(#67069)
add da03584282c Warn against world-accessible Kerberos ccache default in
docs (#66557)
add 1193e5e29d3 Fix scheduler MySQL task instance index hint (#66785)
add fe13eeb25ac Keep Named*Logger.name working across structlog releases
(#66875)
add ac39596bd53 fix(scheduler): ignore stale executor success after defer
reschedule (#66431)
add 75e481c08f7 Fix hardcoded OS path in edge provider (#67039)
add 6594a2f0f45 Add OpenLineage support to AthenaSQLHook (#66844)
add c5408b446c4 Translations: add missing Polish translations for new UI
keys (#66822)
add 80f1ab4d5a0 Tighten deserialization allowlist regex to require
full-string match (#66499)
add 76eb2a09002 Fix max_active_runs lost during DAG serialisation when
value equals schema default (#65310)
add 6b0ccd38417 Register custom deadline references via plugins, matching
timetable pattern (#66737)
add 1621508b108 Revert "Remove global variables in airflow.settings
(#67070)" (#67099)
add 1a019979335 Add UI support to render multi-type params (#66278)
add 37667f11aa3 Improve DB performance of datetime range filters filters
in API queries (#66696)
add a255eebdc03 Adopt apache/airflow-steward framework (pr-management
skills via snapshot) (#66677)
add 91806fd139b Fix N+1 query pattern in bulk pool delete endpoint (#66222)
add 73a6641631d UI: Filter task instances by rendered map index (#66008)
add b2273b55fa3 Make Pool model session parameter keyword-only (#66967)
add aab741737f0 docs(plugins_manager): fix misleading typo (#67101)
add 4ceb0db321e Redact rendered template fields while still structured to
preserve nested-key masking on truncation (#65906)
add 059ceef1230 Move Task Identity line into Pre Execution block in logs
(#67036)
add c0911ae7571 Add `LLMRetryPolicy` to common-ai provider (#65451)
add 69c0d7cc0c7 Fix: Repair action missing job parameters in
`DatabricksRunNowOperator` (#67055)
add 16bb3f15960 fix: Handle `None` Task ID state when matching states in
`ExternalTaskSensor` (#66881)
add c8a6c55cac8 fix: migrate existing deadline rows in migration 0080
upgrade and downgrade (#66016)
add 9b62858d368 Add Helm Chart Development Guide (#66659)
add 322557ac46e Comment to not edit RELEASE_NOTES.rst manually in PRs for
airflowctl (#67128)
add b465693c80e [main] CI: Upgrade important CI environment (#67093)
add 3d73cceafae Docs: Make common.compat.sdk re-exports clickable (#67083)
add e61640e2a1b Aggregate CI-image dependency groups so providers can
register non-default extras with a one-line change (#67130)
add 6431cd1e329 Upgrade main chart to 2.0.0 (#67131)
add 36cf604883d Bump the pip-dependency-updates group across 3 directories
with 2 updates
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 (bb32a4e9e6f)
\
N -- N -- N
refs/heads/dependabot/pip/airflow-core/pip-dependency-updates-1a800ef2ca
(36cf604883d)
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:
.../README.md | 19 +-
.apache-steward-overrides/pr-management-config.md | 77 ++
.../pr-management-triage-ci-check-map.md | 79 ++
.../pr-management-triage-comment-templates.md | 236 ++++++
.apache-steward-overrides/user.md | 59 ++
.apache-steward.lock | 6 +
.claude/skills/maintainer-review | 1 -
.claude/skills/pr-stats | 1 -
.claude/skills/pr-triage | 1 -
.claude/skills/setup-steward | 1 +
.github/skills/maintainer-review/SKILL.md | 525 ------------
.github/skills/maintainer-review/adversarial.md | 208 -----
.github/skills/maintainer-review/criteria.md | 172 ----
.github/skills/maintainer-review/posting.md | 394 ---------
.github/skills/maintainer-review/prerequisites.md | 198 -----
.github/skills/maintainer-review/review-flow.md | 687 ----------------
.github/skills/maintainer-review/selectors.md | 591 --------------
.github/skills/pr-stats/SKILL.md | 248 ------
.github/skills/pr-stats/aggregate.md | 290 -------
.github/skills/pr-stats/classify.md | 180 ----
.github/skills/pr-stats/fetch.md | 353 --------
.github/skills/pr-stats/render.md | 488 -----------
.github/skills/pr-triage/SKILL.md | 457 -----------
.github/skills/pr-triage/actions.md | 514 ------------
.github/skills/pr-triage/classify-and-act.md | 360 --------
.github/skills/pr-triage/comment-templates.md | 488 -----------
.github/skills/pr-triage/fetch-and-batch.md | 446 ----------
.github/skills/pr-triage/interaction-loop.md | 374 ---------
.github/skills/pr-triage/prerequisites.md | 169 ----
.github/skills/pr-triage/rationale.md | 388 ---------
.github/skills/pr-triage/stale-sweeps.md | 222 -----
.github/skills/pr-triage/workflow-approval.md | 332 --------
.github/skills/setup-steward/SKILL.md | 362 ++++++++
.github/skills/setup-steward/adopt.md | 888 ++++++++++++++++++++
.github/skills/setup-steward/conventions.md | 128 +++
.github/skills/setup-steward/overrides.md | 136 ++++
.github/skills/setup-steward/unadopt.md | 342 ++++++++
.github/skills/setup-steward/upgrade.md | 496 +++++++++++
.github/skills/setup-steward/verify.md | 341 ++++++++
.github/skills/setup-steward/worktree-init.md | 205 +++++
.github/workflows/basic-tests.yml | 2 +-
.github/workflows/ci-image-checks.yml | 2 +-
.github/workflows/codeql-analysis.yml | 6 +-
.github/workflows/publish-docs-to-s3.yml | 2 +-
.github/workflows/registry-backfill.yml | 6 +-
.github/workflows/registry-build.yml | 4 +-
.github/workflows/ui-e2e-tests.yml | 2 +-
.gitignore | 27 +-
.pre-commit-config.yaml | 11 +-
AGENTS.md | 19 +
Dockerfile | 14 +-
Dockerfile.ci | 14 +-
README.md | 34 +
airflow-core/.pre-commit-config.yaml | 2 +-
.../docs/administration-and-deployment/plugins.rst | 7 +
airflow-core/docs/core-concepts/params.rst | 36 +
airflow-core/docs/operators-and-hooks-ref.rst | 2 +-
airflow-core/docs/security/kerberos.rst | 10 +
airflow-core/docs/security/security_model.rst | 19 +
airflow-core/newsfragments/66499.significant.rst | 14 +
airflow-core/newsfragments/66737.significant.rst | 1 +
.../auth/managers/simple/ui/package.json | 24 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 811 ++++++++++--------
.../src/airflow/api_fastapi/common/parameters.py | 146 +++-
.../core_api/openapi/v2-rest-api-generated.yaml | 90 ++
.../core_api/routes/public/task_instances.py | 10 +
.../api_fastapi/core_api/services/public/pools.py | 16 +-
.../execution_api/routes/task_instances.py | 4 +-
.../src/airflow/config_templates/config.yml | 5 +-
.../example_dags/example_params_ui_tutorial.py | 40 +
.../src/airflow/jobs/scheduler_job_runner.py | 18 +-
.../0080_3_1_0_modify_deadline_callback_schema.py | 195 ++++-
...0_replace_deadline_inline_callback_with_fkey.py | 31 +-
airflow-core/src/airflow/models/pool.py | 5 +-
airflow-core/src/airflow/models/taskinstance.py | 9 +
airflow-core/src/airflow/plugins_manager.py | 13 +
.../airflow/serialization/definitions/deadline.py | 4 +-
airflow-core/src/airflow/serialization/helpers.py | 32 +-
airflow-core/src/airflow/serialization/schema.json | 10 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 12 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 20 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 20 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 20 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 20 +-
.../ui/openapi-gen/requests/services.gen.ts | 12 +
.../airflow/ui/openapi-gen/requests/types.gen.ts | 20 +
.../airflow/ui/public/i18n/locales/ca/common.json | 8 +
.../ui/public/i18n/locales/ca/components.json | 5 +-
.../src/airflow/ui/public/i18n/locales/ca/dag.json | 51 ++
.../airflow/ui/public/i18n/locales/ca/dags.json | 5 +
.../airflow/ui/public/i18n/locales/en/common.json | 1 +
.../airflow/ui/public/i18n/locales/pl/common.json | 10 +
.../ui/public/i18n/locales/pl/components.json | 4 +-
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 49 ++
.../airflow/ui/public/i18n/locales/pl/dags.json | 5 +
.../src/components/AssetExpression/AssetNode.tsx | 11 +-
.../ui/src/components/Assets/TriggeredRuns.tsx | 17 +-
.../FlexibleForm/FieldMultiType.test.tsx | 263 ++++++
.../src/components/FlexibleForm/FieldMultiType.tsx | 118 +++
.../src/components/FlexibleForm/FieldSelector.tsx | 13 +
.../ui/RouterLink.tsx} | 19 +-
.../src/airflow/ui/src/components/ui/index.ts | 1 +
.../src/airflow/ui/src/constants/filterConfigs.tsx | 7 +
.../src/airflow/ui/src/constants/searchParams.ts | 1 +
.../src/airflow/ui/src/mocks/handlers/log.ts | 14 +-
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 11 +-
.../ui/src/pages/AssetsList/DependencyPopover.tsx | 11 +-
.../src/airflow/ui/src/pages/Dag/Header.tsx | 24 +-
.../ui/src/pages/Dag/Overview/DeadlineRow.tsx | 16 +-
.../ui/src/pages/Dag/Overview/TaskLogPreview.tsx | 12 +-
.../src/airflow/ui/src/pages/Dag/Tasks/Tasks.tsx | 12 +-
airflow-core/src/airflow/ui/src/pages/DagRuns.tsx | 29 +-
.../ui/src/pages/DagsList/AssetSchedule.tsx | 13 +-
.../src/airflow/ui/src/pages/DagsList/DagCard.tsx | 39 +-
.../airflow/ui/src/pages/DagsList/DagOwners.tsx | 8 +-
.../src/airflow/ui/src/pages/DagsList/DagTags.tsx | 9 +-
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 42 +-
.../pages/Dashboard/PoolSummary/PoolSummary.tsx | 10 +-
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 44 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 16 +-
.../ui/src/pages/TaskInstance/Logs/Logs.test.tsx | 17 +-
.../ui/src/pages/TaskInstance/Logs/utils.test.ts | 7 +-
.../ui/src/pages/TaskInstance/Logs/utils.ts | 6 +-
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 46 +-
.../pages/TaskInstances/TaskInstancesFilter.tsx | 2 +
.../src/airflow/ui/src/pages/XCom/XCom.tsx | 50 +-
.../src/airflow/ui/src/queries/useLogs.tsx | 31 +-
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/BasePage.ts | 12 +-
.../src/airflow/utils/log/file_task_handler.py | 2 +-
.../unit/api_fastapi/common/test_parameters.py | 62 ++
.../core_api/routes/public/test_pools.py | 36 +
.../core_api/routes/public/test_task_instances.py | 119 ++-
.../unit/cli/commands/test_api_server_command.py | 2 +-
.../tests/unit/dag_processing/test_collection.py | 18 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 94 ++-
.../test_0080_deadline_callback_migration.py | 268 ++++++
.../test_0094_deadline_callback_migration.py | 178 ++++
airflow-core/tests/unit/models/test_dag.py | 2 +-
.../tests/unit/models/test_mappedoperator.py | 4 +-
.../unit/serialization/test_dag_serialization.py | 97 ++-
.../test_deadline_reference_registry.py | 100 +++
.../tests/unit/serialization/test_helpers.py | 24 +
.../tests/airflowctl_tests/conftest.py | 77 +-
airflow-ctl/RELEASE_NOTES.rst | 2 +
.../docs/installation/installing-from-sources.rst | 16 +-
airflow-ctl/src/airflowctl/api/operations.py | 13 +-
.../airflowctl/ctl/commands/connection_command.py | 1 +
.../tests/airflow_ctl/api/test_operations.py | 112 +++
.../ctl/commands/test_connections_command.py | 35 +
.../tests/airflow_e2e_tests/conftest.py | 2 +-
chart/Chart.yaml | 2 +-
chart/docs/conf.py | 9 +
chart/docs/customizing-labels.rst | 3 +-
chart/docs/customizing-workers.rst | 28 +-
chart/docs/extending-the-chart.rst | 36 +-
chart/docs/index.rst | 23 +-
chart/docs/parameters-ref.rst | 40 +-
chart/docs/production-guide.rst | 11 +-
chart/docs/quick-start.rst | 9 +-
chart/docs/setting-resources-for-containers.rst | 55 +-
chart/docs/upgrading-to-airflow-3.rst | 30 +-
chart/newsfragments/66970.significant.rst | 1 +
.../airflow_aux/test_pod_template_file.py | 2 +-
contributing-docs/12_provider_distributions.rst | 43 +
contributing-docs/25_maintainer_pr_triage.md | 53 +-
contributing-docs/29_helm_chart_development.rst | 227 ++++++
contributing-docs/README.rst | 16 +-
dev/breeze/doc/ci/02_images.md | 2 +-
dev/breeze/doc/images/output-commands.svg | 158 ++--
dev/breeze/doc/images/output_run.svg | 38 +-
dev/breeze/doc/images/output_run.txt | 2 +-
dev/breeze/doc/images/output_shell.svg | 286 +++----
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.svg | 238 +++---
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
.../airflow_breeze/commands/developer_commands.py | 6 +-
.../commands/release_management_commands.py | 12 +-
.../src/airflow_breeze/commands/setup_commands.py | 2 +-
.../airflow_breeze/commands/testing_commands.py | 6 +-
dev/breeze/src/airflow_breeze/global_constants.py | 20 +-
.../src/airflow_breeze/params/shell_params.py | 2 +-
.../utils/constraints_version_check.py | 12 +-
.../airflow_breeze/utils/docker_command_utils.py | 3 +-
dev/breeze/tests/test_docker_command_utils.py | 24 +-
dev/breeze/uv.lock | 258 +++---
devel-common/pyproject.toml | 4 +-
devel-common/src/docs/utils/conf_constants.py | 1 +
.../src/sphinx_exts/common_compat_alias.py | 124 +++
.../test_docker_compose_quick_start.py | 4 +-
.../tests/kubernetes_tests/test_base.py | 26 +
.../tests/kubernetes_tests/test_other_executors.py | 23 +-
providers/.pre-commit-config.yaml | 7 +
providers/{git => amazon}/docs/bundles/index.rst | 31 +-
providers/amazon/docs/index.rst | 1 +
providers/amazon/docs/operators/s3_tables.rst | 14 +
.../providers/amazon/aws/hooks/athena_sql.py | 31 +
.../amazon/aws/operators/mwaa_serverless.py | 8 +-
.../amazon/aws/operators/redshift_data.py | 5 +-
.../providers/amazon/aws/operators/s3_tables.py | 29 +
.../airflow/providers/amazon/aws/sensors/ssm.py | 6 +-
.../providers/amazon/aws/utils/task_log_fetcher.py | 4 +-
.../system/amazon/aws/example_mwaa_serverless.py | 10 +
.../tests/system/amazon/aws/example_s3_tables.py | 10 +
.../aws/executors/batch/test_batch_executor.py | 4 +-
.../tests/unit/amazon/aws/hooks/test_athena_sql.py | 93 +++
.../unit/amazon/aws/operators/test_bedrock.py | 11 +-
.../amazon/aws/operators/test_emr_serverless.py | 10 +-
.../amazon/aws/operators/test_mwaa_serverless.py | 19 +-
.../unit/amazon/aws/operators/test_s3_tables.py | 21 +
.../aws/operators/test_sagemaker_processing.py | 2 +-
.../aws/operators/test_sagemaker_transform.py | 2 +-
.../amazon/aws/utils/test_waiter_with_logging.py | 2 +-
.../airflow/providers/apache/livy/triggers/livy.py | 2 +
.../tests/unit/apache/livy/triggers/test_livy.py | 13 +
.../cncf/kubernetes/cli/kubernetes_command.py | 10 +-
.../executors/test_kubernetes_executor.py | 2 +-
providers/common/ai/docs/index.rst | 1 +
providers/common/ai/docs/retry_policies.rst | 170 ++++
.../ai/example_dags/example_llm_retry_policy.py | 72 ++
.../providers/common/ai/policies}/__init__.py | 0
.../airflow/providers/common/ai/policies/retry.py | 183 +++++
.../ai/tests/unit/common/ai/policies}/__init__.py | 0
.../ai/tests/unit/common/ai/policies/test_retry.py | 197 +++++
.../providers/databricks/operators/databricks.py | 4 +
.../providers/databricks/triggers/databricks.py | 7 +
.../unit/databricks/operators/test_databricks.py | 42 +
.../unit/databricks/triggers/test_databricks.py | 24 +
.../airflow/providers/dbt/cloud/operators/dbt.py | 38 +-
.../airflow/providers/dbt/cloud/triggers/dbt.py | 72 +-
.../tests/unit/dbt/cloud/operators/test_dbt.py | 133 ++-
.../tests/unit/dbt/cloud/triggers/test_dbt.py | 282 ++-----
.../src/airflow/providers/edge3/cli/worker.py | 109 +--
.../providers/edge3/plugins/www/package.json | 30 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 906 ++++++++++++---------
.../edge3/tests/unit/edge3/cli/test_worker.py | 57 ++
.../unit/edge3/worker_api/routes/test_logs.py | 5 +-
providers/elasticsearch/docs/changelog.rst | 16 +-
providers/fab/docs/index.rst | 2 +-
providers/fab/pyproject.toml | 2 +-
.../fab/auth_manager/security_manager/override.py | 37 +
.../unit/fab/auth_manager/api_fastapi/conftest.py | 4 +-
.../security_manager/test_fab_alignment.py | 2 +-
providers/git/docs/bundles/index.rst | 7 +-
.../git/src/airflow/providers/git/bundles/git.py | 16 +-
providers/git/tests/unit/git/bundles/test_git.py | 69 +-
providers/{git => google}/docs/bundles/index.rst | 31 +-
providers/google/docs/index.rst | 1 +
providers/google/docs/operators/cloud/bigquery.rst | 4 +-
.../providers/google/cloud/hooks/cloud_sql.py | 22 +-
.../providers/google/cloud/hooks/vertex_ai/ray.py | 4 +-
.../google/cloud/operators/cloud_batch.py | 7 +-
.../providers/google/cloud/operators/cloud_sql.py | 1 +
.../providers/google/cloud/operators/compute.py | 4 +-
.../google/cloud/operators/vertex_ai/ray.py | 4 +-
.../providers/google/cloud/transfers/s3_to_gcs.py | 2 +-
.../providers/google/cloud/triggers/bigquery.py | 3 +
.../providers/google/cloud/triggers/cloud_run.py | 43 +-
.../providers/google/cloud/triggers/cloud_sql.py | 19 +-
.../airflow/providers/google/suite/hooks/drive.py | 2 +-
.../cloud/bigquery/example_bigquery_sensors.py | 85 +-
...=> example_bigquery_streaming_buffer_sensor.py} | 139 +---
.../google/cloud/gcs/example_gcs_to_gdrive.py | 2 +-
.../google/cloud/gcs/example_gdrive_to_gcs.py | 2 +-
.../cloud/transfers/example_gdrive_to_local.py | 2 +-
.../system/google/suite/example_local_to_drive.py | 2 +-
.../tests/unit/google/cloud/hooks/test_bigquery.py | 2 +-
.../unit/google/cloud/hooks/test_cloud_sql.py | 50 ++
.../unit/google/cloud/hooks/vertex_ai/test_ray.py | 17 +
.../google/cloud/operators/test_cloud_batch.py | 57 +-
.../unit/google/cloud/operators/test_cloud_run.py | 26 +
.../google/cloud/operators/vertex_ai/test_ray.py | 99 +++
.../unit/google/cloud/transfers/test_sql_to_gcs.py | 29 +-
.../unit/google/cloud/triggers/test_bigquery.py | 21 +-
.../unit/google/cloud/triggers/test_cloud_run.py | 68 ++
.../unit/google/cloud/triggers/test_cloud_sql.py | 64 +-
providers/mongo/tests/conftest.py | 29 +-
.../tests/system/openlineage/operator.py | 4 +-
.../tests/unit/openlineage/extractors/test_base.py | 23 +-
providers/opensearch/docs/changelog.rst | 16 +-
.../providers/standard/utils/sensor_helper.py | 7 +-
.../tests/unit/standard/triggers/test_file.py | 16 +-
.../unit/standard/utils/test_sensor_helper.py | 33 +
pyproject.toml | 31 +-
scripts/ci/prek/check_core_imports_in_sdk.py | 62 +-
scripts/ci/prek/check_sdk_imports.py | 88 --
...it_in_tests.py => check_sdk_imports_in_core.py} | 51 +-
scripts/ci/prek/check_trigger_serialize_init.py | 264 ++++++
scripts/ci/prek/common_prek_utils.py | 131 ++-
scripts/ci/prek/known_airflow_exceptions.txt | 1 -
.../docker/install_airflow_when_building_images.sh | 12 +-
scripts/in_container/run_schema_defaults_check.py | 11 +-
.../ci/prek/test_check_core_imports_in_sdk.py | 220 +++++
...mports.py => test_check_sdk_imports_in_core.py} | 42 +-
scripts/tools/setup_breeze | 2 +-
.../src/airflow_shared/logging/structlog.py | 26 +-
shared/logging/tests/logging/test_structlog.py | 21 +
.../observability/metrics/datadog_logger.py | 8 +-
.../observability/metrics/otel_logger.py | 4 +-
.../observability/metrics/statsd_logger.py | 8 +-
.../observability/metrics/test_otel_logger.py | 4 +-
.../plugins_manager/plugins_manager.py | 5 +-
.../providers_discovery/providers_discovery.py | 4 +-
.../test_providers_discovery.py | 36 +-
.../tests/task_sdk_tests/conftest.py | 1 +
task-sdk/src/airflow/sdk/bases/sensor.py | 4 +-
.../airflow/sdk/definitions/operator_resources.py | 16 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 2 +-
.../src/airflow/sdk/execution_time/task_runner.py | 5 +-
task-sdk/src/airflow/sdk/plugins_manager.py | 2 +-
task-sdk/src/airflow/sdk/serde/__init__.py | 4 +-
task-sdk/tests/task_sdk/bases/test_sensor.py | 14 +
.../definitions/test_operator_resources.py | 38 +
.../tests/task_sdk/definitions/test_taskgroup.py | 4 +-
.../task_sdk/execution_time/test_task_runner.py | 71 ++
task-sdk/tests/task_sdk/serde/test_serde.py | 20 +-
uv.lock | 572 +++++++------
317 files changed, 11944 insertions(+), 11074 deletions(-)
copy {chart/dockerfiles => .apache-steward-overrides}/README.md (52%)
create mode 100644 .apache-steward-overrides/pr-management-config.md
create mode 100644
.apache-steward-overrides/pr-management-triage-ci-check-map.md
create mode 100644
.apache-steward-overrides/pr-management-triage-comment-templates.md
create mode 100644 .apache-steward-overrides/user.md
create mode 100644 .apache-steward.lock
delete mode 120000 .claude/skills/maintainer-review
delete mode 120000 .claude/skills/pr-stats
delete mode 120000 .claude/skills/pr-triage
create mode 120000 .claude/skills/setup-steward
delete mode 100644 .github/skills/maintainer-review/SKILL.md
delete mode 100644 .github/skills/maintainer-review/adversarial.md
delete mode 100644 .github/skills/maintainer-review/criteria.md
delete mode 100644 .github/skills/maintainer-review/posting.md
delete mode 100644 .github/skills/maintainer-review/prerequisites.md
delete mode 100644 .github/skills/maintainer-review/review-flow.md
delete mode 100644 .github/skills/maintainer-review/selectors.md
delete mode 100644 .github/skills/pr-stats/SKILL.md
delete mode 100644 .github/skills/pr-stats/aggregate.md
delete mode 100644 .github/skills/pr-stats/classify.md
delete mode 100644 .github/skills/pr-stats/fetch.md
delete mode 100644 .github/skills/pr-stats/render.md
delete mode 100644 .github/skills/pr-triage/SKILL.md
delete mode 100644 .github/skills/pr-triage/actions.md
delete mode 100644 .github/skills/pr-triage/classify-and-act.md
delete mode 100644 .github/skills/pr-triage/comment-templates.md
delete mode 100644 .github/skills/pr-triage/fetch-and-batch.md
delete mode 100644 .github/skills/pr-triage/interaction-loop.md
delete mode 100644 .github/skills/pr-triage/prerequisites.md
delete mode 100644 .github/skills/pr-triage/rationale.md
delete mode 100644 .github/skills/pr-triage/stale-sweeps.md
delete mode 100644 .github/skills/pr-triage/workflow-approval.md
create mode 100644 .github/skills/setup-steward/SKILL.md
create mode 100644 .github/skills/setup-steward/adopt.md
create mode 100644 .github/skills/setup-steward/conventions.md
create mode 100644 .github/skills/setup-steward/overrides.md
create mode 100644 .github/skills/setup-steward/unadopt.md
create mode 100644 .github/skills/setup-steward/upgrade.md
create mode 100644 .github/skills/setup-steward/verify.md
create mode 100644 .github/skills/setup-steward/worktree-init.md
create mode 100644 airflow-core/newsfragments/66499.significant.rst
create mode 100644 airflow-core/newsfragments/66737.significant.rst
create mode 100644
airflow-core/src/airflow/ui/src/components/FlexibleForm/FieldMultiType.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/FlexibleForm/FieldMultiType.tsx
copy airflow-core/src/airflow/ui/src/{layouts/Details/Grid/DurationTick.tsx =>
components/ui/RouterLink.tsx} (64%)
create mode 100644
airflow-core/tests/unit/migrations/test_0080_deadline_callback_migration.py
create mode 100644
airflow-core/tests/unit/migrations/test_0094_deadline_callback_migration.py
create mode 100644
airflow-core/tests/unit/serialization/test_deadline_reference_registry.py
create mode 100644 chart/newsfragments/66970.significant.rst
create mode 100644 contributing-docs/29_helm_chart_development.rst
create mode 100644 devel-common/src/sphinx_exts/common_compat_alias.py
copy providers/{git => amazon}/docs/bundles/index.rst (61%)
create mode 100644 providers/common/ai/docs/retry_policies.rst
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_llm_retry_policy.py
copy {airflow-core/src/airflow/_shared =>
providers/common/ai/src/airflow/providers/common/ai/policies}/__init__.py (100%)
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/policies/retry.py
copy {airflow-core/src/airflow/_shared =>
providers/common/ai/tests/unit/common/ai/policies}/__init__.py (100%)
create mode 100644
providers/common/ai/tests/unit/common/ai/policies/test_retry.py
copy providers/{git => google}/docs/bundles/index.rst (60%)
copy
providers/google/tests/system/google/cloud/bigquery/{example_bigquery_sensors.py
=> example_bigquery_streaming_buffer_sensor.py} (69%)
create mode 100644
providers/google/tests/unit/google/cloud/operators/vertex_ai/test_ray.py
delete mode 100755 scripts/ci/prek/check_sdk_imports.py
copy scripts/ci/prek/{check_init_in_tests.py => check_sdk_imports_in_core.py}
(51%)
create mode 100755 scripts/ci/prek/check_trigger_serialize_init.py
create mode 100644 scripts/tests/ci/prek/test_check_core_imports_in_sdk.py
rename scripts/tests/ci/prek/{test_check_sdk_imports.py =>
test_check_sdk_imports_in_core.py} (74%)