This is an automated email from the ASF dual-hosted git repository.
kaxil pushed a change to branch aip99-llamaindex
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 57fc8336074 Add LlamaIndex operators to common.ai provider
add e29b44f0a40 Show expected duration based on historical avg in DAG Run
details (#65722)
add a1470a949bc Neutralize path separator in IMAP (#66951)
add 9b1d58aedb2 Allow using fresh interpreter besides fork() in Edge
Worker (#65943)
add c5041604dc2 Allow pasting full datetime strings into date picker
inputs (#66251)
add f575da4a80d Fix KafkaError.name() called as property instead of method
in create_topic (#65734)
add 90051561e72 fix serialize_template_field handling callable value in
dict (#63871)
add 25b96669630 Add MwaaServerlessDeleteWorkflowOperator (#66891)
add beea114b0f1 added parent info injection to EMR operator (#66816)
add 2fe52abc2c0 AGENTS.md: Require batching for bulk DELETE/UPDATE in
scheduler (#66908)
add 28e82d24c97 Enforce supervisor schema class name matches its `type`
literal (#66899)
add d74039c0751 fix `BigQueryStreamingBufferEmptySensor.poke()` always
raise `NotFound` (#66962)
add 767b72b5652 Fix no-op equality checks in Vertex AI trigger tests
(#66894)
add 4d5649349ff Add PAT connection to snowflake in SnowflakeHook (#66953)
add 01be07a4571 Mark Dags stale when their bundle is removed from config
(#66948)
add f9119133f66 Fix TableauOperator tasks.run AttributeError (#66682)
add 2e886a4dac7 cache connections in OpenLineage SQL hook lineage (#64843)
add 32ac8ad5132 Extend DEFAULT_SENSITIVE_FIELDS with common credential
field names (#66673)
add 171f6130247 Fix s3_tables system test: use CDK-provided ACCOUNT_ID for
bucket policy (#66972)
add 332fb1e2673 Bump axios in UI packages to patched release (#66770)
add 0c4c1f81ac6 [main] Upgrade important CI environment (#66980)
add f50036846eb Add function naming convention to AGENTS.md (action verbs,
not nouns) (#66997)
add 775b7e4cfdb Serialize poll_interval and impersonation_chain on
DataFusionStartPipelineTrigger (#66968)
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 41a6436a1dd Update apache-steward framework snapshot + slim
author-primary triage overrides (#67149)
add 008cbe90e2a AIP-103: Adding ability for per task state key retention
from operators (#66699)
add 20124635877 AGENTS.md: golden rule — when a fix is imminent, open the
PR, not an issue (#67100)
add 4498582dd1e Apply per-DAG audit log permission to event log detail
endpoint (#67112)
add 5a0ff83231d Fix error messages in `PythonVirtualenvOperator` when
Azure Key Vault secret backend is configured (#67157)
add 9bb5ff3535a Fix ValueError when supervisor force-closes stuck sockets
after timeout (#67115)
add fdbb9b01a4f fix: pin compatible-with at the transport layer to keep ES
8 servers working (#66065)
add c8f592d0b2d Implement execution_timeout semantics for
AirbyteTriggerSyncOperator in deferrable mode (#64051)
add 1a95a43bab3 CI: Mount providers directory for breeze k8s dev (#67152)
add aa8542f69ad Default-deny auth at the API and UI router level (#66505)
add ef87426904c Surface remote-log upload failures via structured warnings
(#66571)
add 1e5d79945ad Don't crash supervisor IPC loop on transient network
errors (#66572)
add 2b8c80568b5 Refuse secrets-backend fallback on Execution-API authz
deny (#66575)
add 9cd75dcab83 OTel integration: align test_export_legacy_metric_names
timeout with siblings (#67170)
add 58cd0e05d2e Use a distinct redact message for import errors with no
registered Dag (#66923)
add 16ebf0bbc7f Introduce BaseTaskInstanceDTO and duplicate it across core
and task-sdk (#67174)
add 2723f66d6ed Make CORS allow_credentials configurable (#66503)
add 448f8462919 Harden _collect_teams_to_check / requires_access_backfill
against malformed bodies (#66504)
add 7e91517ffd0 Fail closed when supervisor IPC fails on a non-success
terminal state (#66573)
add d63b5e9c24e fix(keycloak): attach default role policies (#67031)
add ea15bd287aa Bump stylelint (#67148)
add 0a324ba86a8 Add `BedrockCreateEvaluationJobOperator` (#66722)
add 2747837b057 Upgrade icons, spacing, and default component themes
(#66569)
add 3a861426cae UI: Use local Monaco editor module instead of CDN (#66647)
add f9faf65e340 Regenerate Edge worker OpenAPI spec after #67093 env
upgrade (#67188)
add 173c2a1806d Recover stuck TIs when direct terminal-state API call
fails (#66574)
add 41df5a980c8 Add BundleVersion dataclass and version_data persistence
to DagVersion (#66491)
add f5fd3bc4c8f Add eslint-no-duplicate-imports (#67201)
add b81e335fcc4 [helm chart] Go Template Error: Cannot Compare Slice to
nil using eq (#64032)
add b28681f154f Apply requires_access_event_log to GET /eventLogs list
endpoint (#67185)
add 954b3035cc8 Prepare providers release 2026-05-19 (#67137)
add dcdd124431a Add ``Langchain`` hook to ``common-ai`` provider (#67192)
add a1784e880f8 Replace fixed sleep with active IAM trust policy
validation in example_emr_eks (#66736)
add 2017b407666 AGENTS.md: require translating domain-layer exceptions to
`HTTPException` at FastAPI route boundaries (#67221)
add 085459e6f96 AIP-76: Add PartitionAtRuntime authoring API to Task SDK
(#65447)
add 5aeb726b1f9 Sync RuntimeTaskInstanceProtocol with RuntimeTaskInstance
(#67216)
add ec2d56a473d AIP-103: Worker side custom state backend support (#66859)
add f9e4e6efd10 AIP-103: Add Core API endpoints for task state and asset
state (#67041)
add 41ec7a09398 Improve query validation, including for streaming (#67212)
add b2d4d63c64b Bump eslint (via audit fix) (#67220)
add 5ae6bb07cd5 Update French (fr) UI translations to 100% coverage
(#67240)
add 58a60ed2f48 tests: Add new options to test operator (#67195)
add 153623856ef Prevent AlreadyRunningBackfill error caused by invalid
date range request (#66874)
add fe1618f9f32 Fix LangChain hook tests failing when langchain is not
installed (#67237)
add 678d1dd0ce9 Replace `allow_producer_teams` with `access_control` on
Asset (#66954)
add 2970152b190 Fix CallbackKey type for more accurate type checking
(#66973)
add 13e2125a2c3 Add rerun_with_latest_version config hierarchy for
clear/rerun behavior (#63884)
add 3047ad7fa3c Fix autorefresh for deadlines and paused dags (#67249)
add aa3ae537a0d Fix console errors in gantt view (#67255)
add 6b64a621be4 [main] CI: Upgrade important CI environment (#67232)
add eec2f75e556 Add `DocumentLoaderOperator` to `common.ai` provider
(#67120)
add c0bc3d07747 Add chart/v*-stable to protected branches (#67259)
add cb2aaf41ed2 docs(edge3): clarify WorkerQueuesBase.team_name is an
experimental hint, cross-ref workload.rst (#66718)
add fee20dc273a Add LlamaIndex operators to common.ai provider
add a6e176f2c59 Refactor LlamaIndex hook + operators: no Settings
mutation, BYO models, cloud URIs
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 (57fc8336074)
\
N -- N -- N refs/heads/aip99-llamaindex (a6e176f2c59)
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:
.apache-steward-overrides/README.md | 35 +
.apache-steward-overrides/pr-management-config.md | 77 +
.../pr-management-triage-ci-check-map.md | 79 +
.../pr-management-triage-comment-templates.md | 220 +
.apache-steward-overrides/user.md | 59 +
.apache-steward.lock | 6 +
.asf.yaml | 1 +
.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 | 900 ++++
.github/skills/setup-steward/conventions.md | 131 +
.github/skills/setup-steward/overrides.md | 139 +
.github/skills/setup-steward/unadopt.md | 345 ++
.github/skills/setup-steward/upgrade.md | 532 ++
.github/skills/setup-steward/verify.md | 344 ++
.github/skills/setup-steward/worktree-init.md | 208 +
.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 | 19 +-
AGENTS.md | 46 +
Dockerfile | 14 +-
Dockerfile.ci | 16 +-
README.md | 34 +
airflow-core/.pre-commit-config.yaml | 2 +-
.../3rd-party-licenses/LICENSE-monaco-editor.txt | 21 +
airflow-core/LICENSE | 1 +
airflow-core/NOTICE | 8 +
.../administration-and-deployment/dag-bundles.rst | 105 +
.../docs/administration-and-deployment/plugins.rst | 7 +
.../docs/authoring-and-scheduling/assets.rst | 2 +
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/core-concepts/params.rst | 36 +
airflow-core/docs/migrations-ref.rst | 4 +-
airflow-core/docs/operators-and-hooks-ref.rst | 2 +-
airflow-core/docs/security/api.rst | 5 +
airflow-core/docs/security/kerberos.rst | 10 +
airflow-core/docs/security/security_model.rst | 19 +
airflow-core/newsfragments/63884.significant.rst | 34 +
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 +-
.../src/airflow/api_fastapi/core_api/app.py | 3 +-
.../datamodels/asset_state.py} | 26 +-
.../api_fastapi/core_api/datamodels/backfills.py | 8 +-
.../api_fastapi/core_api/datamodels/dag_run.py | 9 +-
.../api_fastapi/core_api/datamodels/dags.py | 1 +
.../core_api/datamodels/task_instances.py | 9 +-
.../datamodels/task_state.py | 25 +-
.../api_fastapi/core_api/datamodels/ui/config.py | 1 +
.../api_fastapi/core_api/datamodels/ui/dag_runs.py | 17 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 91 +
.../core_api/openapi/v2-rest-api-generated.yaml | 866 +++-
.../api_fastapi/core_api/routes/public/__init__.py | 13 +-
.../core_api/routes/public/asset_state.py | 163 +
.../core_api/routes/public/backfills.py | 13 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 6 +-
.../core_api/routes/public/event_logs.py | 7 +-
.../core_api/routes/public/import_error.py | 18 +-
.../core_api/routes/public/task_instances.py | 19 +-
.../core_api/routes/public/task_state.py | 210 +
.../api_fastapi/core_api/routes/ui/__init__.py | 9 +-
.../api_fastapi/core_api/routes/ui/config.py | 7 +
.../api_fastapi/core_api/routes/ui/dag_runs.py | 63 +
.../src/airflow/api_fastapi/core_api/security.py | 70 +-
.../api_fastapi/core_api/services/public/common.py | 26 +
.../api_fastapi/core_api/services/public/pools.py | 16 +-
.../api_fastapi/core_api/services/ui/dag_run.py | 59 +
.../execution_api/datamodels/task_state.py | 3 +
.../execution_api/routes/task_instances.py | 4 +-
.../api_fastapi/execution_api/routes/task_state.py | 2 +-
airflow-core/src/airflow/cli/cli_config.py | 8 +-
.../src/airflow/cli/commands/backfill_command.py | 13 +-
.../src/airflow/cli/commands/dag_command.py | 6 +-
.../src/airflow/config_templates/config.yml | 39 +-
.../src/airflow/dag_processing/bundles/base.py | 57 +-
.../src/airflow/dag_processing/collection.py | 8 +-
airflow-core/src/airflow/dag_processing/dagbag.py | 4 +-
airflow-core/src/airflow/dag_processing/manager.py | 36 +-
.../example_dags/example_asset_allow_teams.py | 22 +-
.../example_dags/example_params_ui_tutorial.py | 40 +
.../src/airflow/executors/base_executor.py | 12 +-
.../src/airflow/executors/workloads/callback.py | 6 +-
.../src/airflow/executors/workloads/task.py | 17 +-
.../src/airflow/executors/workloads/types.py | 8 +-
.../src/airflow/jobs/scheduler_job_runner.py | 29 +-
.../0080_3_1_0_modify_deadline_callback_schema.py | 195 +-
...0_replace_deadline_inline_callback_with_fkey.py | 31 +-
... 0115_3_3_0_add_version_data_to_dag_version.py} | 35 +-
airflow-core/src/airflow/models/backfill.py | 21 +-
airflow-core/src/airflow/models/callback.py | 12 +-
airflow-core/src/airflow/models/connection.py | 4 +
airflow-core/src/airflow/models/dag_version.py | 6 +
airflow-core/src/airflow/models/pool.py | 5 +-
airflow-core/src/airflow/models/serialized_dag.py | 4 +
airflow-core/src/airflow/models/taskinstance.py | 9 +
airflow-core/src/airflow/models/variable.py | 4 +
airflow-core/src/airflow/plugins_manager.py | 13 +
airflow-core/src/airflow/serialization/decoders.py | 2 +-
.../airflow/serialization/definitions/assets.py | 2 +-
.../src/airflow/serialization/definitions/dag.py | 2 +
.../airflow/serialization/definitions/deadline.py | 4 +-
airflow-core/src/airflow/serialization/encoders.py | 21 +-
airflow-core/src/airflow/serialization/helpers.py | 151 +-
airflow-core/src/airflow/serialization/schema.json | 11 +-
.../airflow/serialization/serialized_objects.py | 1 +
airflow-core/src/airflow/state/metastore.py | 56 +-
airflow-core/src/airflow/timetables/base.py | 7 +
airflow-core/src/airflow/timetables/simple.py | 16 +
.../src/airflow/ui/openapi-gen/queries/common.ts | 63 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 103 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 103 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 234 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 103 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 242 +-
.../ui/openapi-gen/requests/services.gen.ts | 357 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 475 +-
airflow-core/src/airflow/ui/package.json | 3 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 83 +-
.../airflow/ui/public/i18n/locales/ar/common.json | 5 +
.../airflow/ui/public/i18n/locales/ca/common.json | 13 +
.../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/de/common.json | 5 +
.../airflow/ui/public/i18n/locales/el/common.json | 5 +
.../airflow/ui/public/i18n/locales/en/common.json | 6 +
.../airflow/ui/public/i18n/locales/es/common.json | 5 +
.../airflow/ui/public/i18n/locales/fr/admin.json | 21 +-
.../airflow/ui/public/i18n/locales/fr/assets.json | 8 +-
.../airflow/ui/public/i18n/locales/fr/browse.json | 26 +-
.../airflow/ui/public/i18n/locales/fr/common.json | 95 +-
.../ui/public/i18n/locales/fr/components.json | 34 +-
.../src/airflow/ui/public/i18n/locales/fr/dag.json | 92 +-
.../airflow/ui/public/i18n/locales/fr/dags.json | 13 +-
.../ui/public/i18n/locales/fr/dashboard.json | 3 +-
.../airflow/ui/public/i18n/locales/fr/hitl.json | 4 +
.../airflow/ui/public/i18n/locales/he/common.json | 5 +
.../airflow/ui/public/i18n/locales/hi/common.json | 5 +
.../airflow/ui/public/i18n/locales/hu/common.json | 5 +
.../airflow/ui/public/i18n/locales/it/common.json | 5 +
.../airflow/ui/public/i18n/locales/ja/common.json | 5 +
.../airflow/ui/public/i18n/locales/ko/common.json | 5 +
.../airflow/ui/public/i18n/locales/nl/common.json | 5 +
.../airflow/ui/public/i18n/locales/pl/common.json | 15 +
.../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 +
.../airflow/ui/public/i18n/locales/pt/common.json | 5 +
.../airflow/ui/public/i18n/locales/ru/common.json | 5 +
.../airflow/ui/public/i18n/locales/th/common.json | 5 +
.../airflow/ui/public/i18n/locales/tr/common.json | 5 +
.../ui/public/i18n/locales/zh-CN/common.json | 5 +
.../ui/public/i18n/locales/zh-TW/common.json | 5 +
airflow-core/src/airflow/ui/rules/core.js | 18 +
.../ui/src/components/AdvancedSearchToggle.tsx | 5 +-
.../src/components/AssetExpression/AssetNode.tsx | 11 +-
.../ui/src/components/AssetProgressCell.tsx | 2 +-
.../ui/src/components/Assets/AssetEvents.tsx | 13 +-
.../ui/src/components/Assets/TriggeredRuns.tsx | 19 +-
.../ui/src/components/AttrSelectFilterMulti.tsx | 6 +-
.../ui/src/components/Clear/Run/ClearRunButton.tsx | 24 +-
.../ui/src/components/Clear/Run/ClearRunDialog.tsx | 10 +-
.../TaskInstance/ClearGroupTaskInstanceDialog.tsx | 45 +-
.../Clear/TaskInstance/ClearTaskInstanceButton.tsx | 43 +-
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 42 +-
.../Clear/useRerunWithLatestVersion.test.tsx | 154 +
.../components/Clear/useRerunWithLatestVersion.ts | 55 +
.../ui/src/components/ConfirmationModal.tsx | 1 -
.../airflow/ui/src/components/DAGWarningsModal.tsx | 8 +-
.../src/components/DagActions/DeleteDagButton.tsx | 22 +-
.../components/DagActions/FavoriteDagButton.tsx | 25 +-
.../src/components/DagActions/ParseDagButton.tsx | 18 +-
.../src/components/DagActions/RunBackfillForm.tsx | 37 +-
.../ui/src/components/DataTable/DataTable.tsx | 8 +-
.../src/components/DataTable/FilterMenuButton.tsx | 12 +-
.../src/components/DataTable/useTableUrlState.ts | 3 +-
.../ui/src/components/DateTimeInput.test.tsx | 129 +
.../airflow/ui/src/components/DateTimeInput.tsx | 55 +-
.../ui/src/components/DisplayMarkdownButton.tsx | 20 +-
.../ui/src/components/EditableMarkdownButton.tsx | 13 +-
.../ui/src/components/ExpandCollapseButtons.tsx | 14 +-
.../ui/src/components/FilterBar/FilterBar.tsx | 2 +-
.../src/components/FilterBar/filters/DateInput.tsx | 4 +-
.../ui/src/components/FlexibleForm/FieldBool.tsx | 1 -
.../FlexibleForm/FieldMultiType.test.tsx | 263 +
.../src/components/FlexibleForm/FieldMultiType.tsx | 118 +
.../src/components/FlexibleForm/FieldSelector.tsx | 13 +
.../ui/src/components/Graph/DownloadButton.tsx | 9 +-
.../airflow/ui/src/components/Graph/TaskNode.tsx | 2 -
.../airflow/ui/src/components/GraphTaskFilters.tsx | 20 +-
.../src/airflow/ui/src/components/JsonEditor.tsx | 2 +-
.../airflow/ui/src/components/LimitedItemsList.tsx | 2 -
.../src/components/MarkAs/Run/MarkRunAsButton.tsx | 38 +-
.../src/components/MarkAs/Run/MarkRunAsDialog.tsx | 3 +-
.../MarkAs/TaskGroup/MarkTaskGroupAsButton.tsx | 40 +-
.../MarkAs/TaskGroup/MarkTaskGroupAsDialog.tsx | 3 +-
.../TaskInstance/MarkTaskInstanceAsButton.tsx | 39 +-
.../TaskInstance/MarkTaskInstanceAsDialog.tsx | 3 +-
.../src/components/MonacoEditor/configureMonaco.ts | 71 +
.../{ui/ResetButton.tsx => MonacoEditor/index.tsx} | 42 +-
.../Menu.tsx => MonacoEditor/useMonacoReady.ts} | 27 +-
.../ui/src/components/QuickFilterButton.tsx | 1 -
.../airflow/ui/src/components/ReactMarkdown.tsx | 2 +-
.../ui/src/components/RenderedJsonField.tsx | 2 +-
.../src/airflow/ui/src/components/RunTypeIcon.tsx | 3 +-
.../src/airflow/ui/src/components/SearchBar.tsx | 3 +-
.../src/components/SearchDags/SearchDagsButton.tsx | 8 +-
.../airflow/ui/src/components/TaskTrySelect.tsx | 2 -
.../src/airflow/ui/src/components/TogglePause.tsx | 2 -
.../src/components/TriggerDag/TriggerDAGButton.tsx | 11 +-
.../src/components/TriggerDag/TriggerDAGForm.tsx | 9 +-
.../src/components/TriggerDag/TriggerDAGModal.tsx | 2 +-
.../ui/src/components/ui/ButtonGroupToggle.tsx | 6 +-
.../src/airflow/ui/src/components/ui/Clipboard.tsx | 8 +-
.../{Pagination/PrevTrigger.tsx => IconButton.tsx} | 32 +-
.../airflow/ui/src/components/ui/LazyClipboard.tsx | 3 +-
.../src/airflow/ui/src/components/ui/Menu/Menu.tsx | 4 +
.../components/ui/Menu/{Menu.tsx => MenuRoot.tsx} | 26 +-
.../ui/Menu/{Menu.tsx => MenuTrigger.tsx} | 31 +-
.../src/components/ui/Pagination/NextTrigger.tsx | 3 +-
.../src/components/ui/Pagination/PrevTrigger.tsx | 3 +-
.../airflow/ui/src/components/ui/ResetButton.tsx | 2 +-
.../ui/{Menu/Menu.tsx => RouterLink.tsx} | 16 +-
.../ui/src/components/ui/SegmentedControl.tsx | 1 -
.../src/airflow/ui/src/components/ui/index.ts | 2 +
.../src/airflow/ui/src/constants/filterConfigs.tsx | 7 +
.../src/airflow/ui/src/constants/searchParams.ts | 1 +
.../ui/src/layouts/Details/DetailsLayout.tsx | 104 +-
.../ui/src/layouts/Details/Gantt/GanttTimeline.tsx | 2 +-
.../layouts/Details/Grid/GridPaginationButtons.tsx | 11 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 11 +-
.../ui/src/layouts/Details/TaskStreamFilter.tsx | 28 +-
.../airflow/ui/src/layouts/Nav/LanguageModal.tsx | 2 +-
.../src/airflow/ui/src/layouts/Nav/PluginMenus.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/TimezoneModal.tsx | 2 +-
.../ui/src/layouts/Nav/TokenGenerationModal.tsx | 2 +-
airflow-core/src/airflow/ui/src/main.tsx | 3 +-
.../src/airflow/ui/src/mocks/handlers/log.ts | 14 +-
.../src/airflow/ui/src/pages/Asset/AssetLayout.tsx | 3 +-
.../ui/src/pages/Asset/AssetPanelButtons.tsx | 15 +-
.../ui/src/pages/Asset/CreateAssetEvent.tsx | 19 +-
.../ui/src/pages/Asset/CreateAssetEventModal.tsx | 9 +-
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 11 +-
.../ui/src/pages/AssetsList/DependencyPopover.tsx | 13 +-
.../src/pages/Connections/AddConnectionButton.tsx | 8 +-
.../ui/src/pages/Connections/ConnectionForm.tsx | 1 -
.../ui/src/pages/Connections/Connections.tsx | 2 -
.../pages/Connections/DeleteConnectionButton.tsx | 26 +-
.../pages/Connections/DeleteConnectionsButton.tsx | 3 +-
.../src/pages/Connections/EditConnectionButton.tsx | 22 +-
.../src/pages/Connections/TestConnectionButton.tsx | 30 +-
.../airflow/ui/src/pages/Dag/Calendar/Calendar.tsx | 11 +-
.../src/airflow/ui/src/pages/Dag/Code/Code.tsx | 5 +-
.../ui/src/pages/Dag/Code/CodeDiffViewer.tsx | 2 +-
airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx | 2 +-
.../src/airflow/ui/src/pages/Dag/DagNotFound.tsx | 2 -
.../src/airflow/ui/src/pages/Dag/Header.tsx | 24 +-
.../src/pages/Dag/Overview/AllDeadlinesModal.tsx | 2 +-
.../ui/src/pages/Dag/Overview/DagDeadlines.tsx | 8 +-
.../ui/src/pages/Dag/Overview/DeadlineRow.tsx | 16 +-
.../ui/src/pages/Dag/Overview/FailedLogs.tsx | 1 -
.../ui/src/pages/Dag/Overview/TaskLogPreview.tsx | 14 +-
.../Dag/Tasks/TaskFilters/AttrSelectFilter.tsx | 2 +-
.../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 | 17 +-
.../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 +-
.../pages/DagsList/DagsFilters/FavoriteFilter.tsx | 32 +-
.../DagsList/DagsFilters/RequiredActionFilter.tsx | 2 -
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 42 +-
.../src/pages/DagsList/PartitionScheduleModal.tsx | 2 +-
.../pages/Dashboard/FavoriteDags/FavoriteDags.tsx | 4 +-
.../pages/Dashboard/PoolSummary/PoolSummary.tsx | 10 +-
.../pages/Dashboard/Stats/DAGImportErrorsModal.tsx | 2 +-
.../Dashboard/Stats/PluginImportErrorsModal.tsx | 2 +-
.../src/airflow/ui/src/pages/DeleteRunButton.tsx | 22 +-
airflow-core/src/airflow/ui/src/pages/Error.tsx | 2 -
.../pages/HITLTaskInstances/HITLResponseForm.tsx | 1 -
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 44 +-
airflow-core/src/airflow/ui/src/pages/Jobs.tsx | 3 +-
.../airflow/ui/src/pages/Pools/AddPoolButton.tsx | 8 +-
.../ui/src/pages/Pools/DeletePoolButton.tsx | 18 +-
.../airflow/ui/src/pages/Pools/EditPoolButton.tsx | 20 +-
.../src/airflow/ui/src/pages/Pools/PoolForm.tsx | 8 +-
.../airflow/ui/src/pages/Run/DeadlineStatus.tsx | 2 +-
.../src/airflow/ui/src/pages/Run/Details.tsx | 29 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 16 +-
.../ui/src/pages/TaskInstance/ExtraLinks.tsx | 2 +-
.../ui/src/pages/TaskInstance/HITLResponse.tsx | 3 +-
.../src/pages/TaskInstance/Logs/LogSearchInput.tsx | 6 +-
.../ui/src/pages/TaskInstance/Logs/Logs.test.tsx | 19 +-
.../src/pages/TaskInstance/Logs/ScrollToButton.tsx | 35 +-
.../src/pages/TaskInstance/Logs/TaskLogHeader.tsx | 31 +-
.../ui/src/pages/TaskInstance/Logs/utils.test.ts | 7 +-
.../ui/src/pages/TaskInstance/Logs/utils.ts | 6 +-
.../TaskInstances/BulkClearTaskInstancesButton.tsx | 5 +-
.../BulkDeleteTaskInstancesButton.tsx | 4 +-
.../BulkMarkTaskInstancesAsButton.tsx | 21 +-
.../TaskInstances/DeleteTaskInstanceButton.tsx | 26 +-
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 48 +-
.../pages/TaskInstances/TaskInstancesFilter.tsx | 2 +
.../src/pages/Variables/DeleteVariablesButton.tsx | 3 +-
.../src/pages/Variables/ImportVariablesButton.tsx | 4 +-
.../ui/src/pages/Variables/ImportVariablesForm.tsx | 2 +-
.../Variables/ManageVariable/AddVariableButton.tsx | 8 +-
.../ManageVariable/DeleteVariableButton.tsx | 26 +-
.../ManageVariable/EditVariableButton.tsx | 21 +-
.../Variables/ManageVariable/VariableForm.tsx | 6 +-
.../airflow/ui/src/pages/Variables/Variables.tsx | 2 -
.../airflow/ui/src/pages/XCom/AddXComButton.tsx | 2 +-
.../airflow/ui/src/pages/XCom/DeleteXComButton.tsx | 14 +-
.../airflow/ui/src/pages/XCom/EditXComButton.tsx | 5 +-
.../src/airflow/ui/src/pages/XCom/XCom.tsx | 50 +-
.../airflow/ui/src/queries/gridViewQueryKeys.ts | 10 +
.../ui/src/queries/useBulkClearTaskInstances.ts | 17 +-
.../airflow/ui/src/queries/useBulkTaskInstances.ts | 3 +
.../src/airflow/ui/src/queries/useClearRun.ts | 3 +-
.../ui/src/queries/useClearTaskInstances.ts | 3 +-
.../airflow/ui/src/queries/useCreateBackfill.ts | 1 +
.../src/airflow/ui/src/queries/useDeadlines.ts | 2 +-
.../src/airflow/ui/src/queries/useDeleteDag.ts | 3 +-
.../src/airflow/ui/src/queries/useDeleteDagRun.ts | 9 +-
.../ui/src/queries/useDeleteTaskInstance.ts | 12 +-
.../airflow/ui/src/queries/useGridTISummaries.ts | 42 +
.../src/airflow/ui/src/queries/useLogs.tsx | 31 +-
.../src/airflow/ui/src/queries/usePatchDagRun.ts | 9 +-
.../airflow/ui/src/queries/usePatchTaskGroup.ts | 3 +-
.../airflow/ui/src/queries/usePatchTaskInstance.ts | 3 +-
.../ui/src/queries/useRefreshOnNewDagRuns.ts | 8 +-
.../airflow/ui/src/queries/useUpdateHITLDetail.ts | 10 +-
airflow-core/src/airflow/ui/src/theme.ts | 42 +-
airflow-core/src/airflow/ui/src/utils/TrimText.tsx | 2 +-
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/BasePage.ts | 12 +-
.../src/airflow/ui/tests/e2e/pages/DagCodePage.ts | 2 +-
airflow-core/src/airflow/utils/db.py | 2 +-
.../src/airflow/utils/log/file_task_handler.py | 2 +-
airflow-core/tests/integration/otel/test_otel.py | 2 +
.../unit/api_fastapi/common/test_parameters.py | 62 +
.../core_api/routes/public/test_asset_state.py | 255 +
.../core_api/routes/public/test_dag_run.py | 81 +
.../core_api/routes/public/test_dags.py | 2 +
.../core_api/routes/public/test_event_logs.py | 36 +
.../core_api/routes/public/test_import_error.py | 43 +-
.../core_api/routes/public/test_pools.py | 36 +
.../core_api/routes/public/test_task_instances.py | 119 +-
.../core_api/routes/public/test_task_state.py | 293 ++
.../api_fastapi/core_api/routes/ui/test_config.py | 1 +
.../tests/unit/api_fastapi/core_api/test_app.py | 50 +
.../unit/api_fastapi/core_api/test_security.py | 216 +
.../execution_api/versions/head/test_task_state.py | 30 +
.../unit/cli/commands/test_api_server_command.py | 2 +-
.../unit/cli/commands/test_backfill_command.py | 3 +
.../tests/unit/dag_processing/bundles/test_base.py | 29 +
.../tests/unit/dag_processing/test_collection.py | 33 +-
.../tests/unit/dag_processing/test_manager.py | 106 +
.../tests/unit/dag_processing/test_processor.py | 1 +
.../tests/unit/dags/test_dag_decorator_version.py | 63 +
.../tests/unit/executors/test_base_executor.py | 25 +-
.../tests/unit/executors/test_local_executor.py | 2 +-
.../tests/unit/executors/test_workloads.py | 52 +
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_backfill.py | 18 +
airflow-core/tests/unit/models/test_dag.py | 2 +-
airflow-core/tests/unit/models/test_dag_version.py | 38 +
.../tests/unit/models/test_mappedoperator.py | 4 +-
.../tests/unit/models/test_renderedtifields.py | 4 +-
.../unit/serialization/test_dag_serialization.py | 159 +-
.../test_deadline_reference_registry.py | 100 +
.../tests/unit/serialization/test_helpers.py | 630 +++
.../unit/serialization/test_serialized_objects.py | 55 +
airflow-core/tests/unit/state/test_metastore.py | 19 +-
.../tests/airflowctl_tests/conftest.py | 77 +-
airflow-ctl/RELEASE_NOTES.rst | 2 +
.../docs/installation/installing-from-sources.rst | 16 +-
.../src/airflowctl/api/datamodels/generated.py | 78 +-
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 +
chart/templates/_helpers.yaml | 2 +-
.../airflow_aux/test_pod_template_file.py | 2 +-
.../helm_tests/airflow_core/test_worker_sets.py | 16 +
contributing-docs/12_provider_distributions.rst | 43 +
contributing-docs/15_node_environment_setup.rst | 54 +
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 | 4 +-
dev/breeze/doc/images/output-commands.svg | 158 +-
dev/breeze/doc/images/output_k8s.svg | 2 +-
dev/breeze/doc/images/output_k8s.txt | 2 +-
dev/breeze/doc/images/output_k8s_dev.svg | 4 +-
dev/breeze/doc/images/output_k8s_dev.txt | 2 +-
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 +-
dev/breeze/pyproject.toml | 2 +-
.../airflow_breeze/commands/developer_commands.py | 6 +-
.../airflow_breeze/commands/kubernetes_commands.py | 16 +-
.../commands/release_management_commands.py | 14 +-
.../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 | 314 +-
devel-common/pyproject.toml | 6 +-
devel-common/src/docs/utils/conf_constants.py | 1 +
.../src/sphinx_exts/common_compat_alias.py | 124 +
.../test_docker_compose_quick_start.py | 4 +-
docs/spelling_wordlist.txt | 1 +
.../tests/kubernetes_tests/test_base.py | 26 +
.../tests/kubernetes_tests/test_other_executors.py | 23 +-
providers/.last_release_date.txt | 2 +-
providers/.pre-commit-config.yaml | 7 +
providers/airbyte/README.rst | 6 +-
providers/airbyte/docs/changelog.rst | 11 +
providers/airbyte/docs/index.rst | 6 +-
providers/airbyte/provider.yaml | 3 +-
providers/airbyte/pyproject.toml | 6 +-
.../src/airflow/providers/airbyte/__init__.py | 2 +-
.../airflow/providers/airbyte/operators/airbyte.py | 51 +-
.../airflow/providers/airbyte/triggers/airbyte.py | 89 +-
.../tests/unit/airbyte/operators/test_airbyte.py | 108 +-
.../tests/unit/airbyte/triggers/test_airbyte.py | 163 +-
providers/alibaba/README.rst | 6 +-
providers/alibaba/docs/changelog.rst | 13 +
providers/alibaba/docs/index.rst | 6 +-
providers/alibaba/provider.yaml | 3 +-
providers/alibaba/pyproject.toml | 6 +-
.../src/airflow/providers/alibaba/__init__.py | 2 +-
providers/amazon/README.rst | 6 +-
providers/{git => amazon}/docs/bundles/index.rst | 31 +-
providers/amazon/docs/changelog.rst | 49 +
providers/amazon/docs/index.rst | 7 +-
providers/amazon/docs/operators/bedrock.rst | 15 +
.../amazon/docs/operators/mwaa_serverless.rst | 14 +
providers/amazon/docs/operators/s3_tables.rst | 14 +
providers/amazon/provider.yaml | 3 +-
providers/amazon/pyproject.toml | 6 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../providers/amazon/aws/hooks/athena_sql.py | 31 +
.../providers/amazon/aws/operators/bedrock.py | 56 +
.../airflow/providers/amazon/aws/operators/emr.py | 30 +-
.../amazon/aws/operators/mwaa_serverless.py | 51 +-
.../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 +-
.../amazon/aws/example_bedrock_evaluation.py | 142 +
.../tests/system/amazon/aws/example_emr_eks.py | 73 +-
.../system/amazon/aws/example_mwaa_serverless.py | 35 +-
.../tests/system/amazon/aws/example_s3_tables.py | 17 +-
.../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 | 73 +-
.../amazon/aws/operators/test_emr_containers.py | 228 +
.../amazon/aws/operators/test_emr_serverless.py | 10 +-
.../amazon/aws/operators/test_mwaa_serverless.py | 75 +-
.../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 +-
.../apache/druid/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/hdfs/README.rst | 6 +-
providers/apache/hdfs/docs/changelog.rst | 17 +
providers/apache/hdfs/docs/index.rst | 6 +-
providers/apache/hdfs/provider.yaml | 3 +-
providers/apache/hdfs/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hdfs/__init__.py | 2 +-
providers/apache/hive/README.rst | 6 +-
providers/apache/hive/docs/changelog.rst | 15 +
providers/apache/hive/docs/index.rst | 6 +-
providers/apache/hive/provider.yaml | 3 +-
providers/apache/hive/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hive/__init__.py | 2 +-
providers/apache/kafka/README.rst | 6 +-
providers/apache/kafka/docs/changelog.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 +-
.../airflow/providers/apache/kafka/hooks/client.py | 2 +-
.../tests/unit/apache/kafka/hooks/test_client.py | 11 +-
providers/apache/livy/README.rst | 6 +-
providers/apache/livy/docs/changelog.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/triggers/livy.py | 2 +
.../tests/unit/apache/livy/triggers/test_livy.py | 13 +
providers/apache/spark/README.rst | 6 +-
providers/apache/spark/docs/changelog.rst | 13 +
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/celery/README.rst | 8 +-
providers/celery/docs/changelog.rst | 24 +
providers/celery/docs/index.rst | 8 +-
providers/celery/provider.yaml | 3 +-
providers/celery/pyproject.toml | 8 +-
.../src/airflow/providers/celery/__init__.py | 2 +-
providers/cncf/kubernetes/README.rst | 8 +-
providers/cncf/kubernetes/docs/changelog.rst | 52 +-
providers/cncf/kubernetes/docs/index.rst | 8 +-
providers/cncf/kubernetes/provider.yaml | 3 +-
providers/cncf/kubernetes/pyproject.toml | 8 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 2 +-
.../cncf/kubernetes/cli/kubernetes_command.py | 10 +-
.../executors/test_kubernetes_executor.py | 2 +-
providers/common/ai/README.rst | 6 +-
providers/common/ai/docs/changelog.rst | 17 +
providers/common/ai/docs/hooks/index.rst | 57 +
providers/common/ai/docs/hooks/langchain.rst | 174 +
providers/common/ai/docs/hooks/llamaindex.rst | 126 +-
providers/common/ai/docs/index.rst | 10 +-
.../common/ai/docs/operators/document_loader.rst | 297 ++
providers/common/ai/docs/operators/index.rst | 11 +-
.../ai/docs/operators/llamaindex_embedding.rst | 160 +-
.../ai/docs/operators/llamaindex_retrieval.rst | 135 +-
providers/common/ai/docs/retry_policies.rst | 170 +
providers/common/ai/provider.yaml | 78 +-
providers/common/ai/pyproject.toml | 22 +-
.../ai/src/airflow/providers/common/ai/__init__.py | 2 +-
.../ai/example_dags/example_document_loader.py | 145 +
.../ai/example_dags/example_langchain_hook.py | 131 +
.../example_dags/example_langchain_tool_agent.py | 542 ++
.../ai/example_dags/example_llamaindex_hook.py | 147 +
.../ai/example_dags/example_llm_retry_policy.py | 72 +
.../providers/common/ai/get_provider_info.py | 75 +
.../airflow/providers/common/ai/hooks/langchain.py | 173 +
.../providers/common/ai/hooks/llamaindex.py | 171 +-
.../common/ai/operators/document_loader.py | 401 ++
.../common/ai/operators/llamaindex_embedding.py | 139 +-
.../common/ai/operators/llamaindex_retrieval.py | 135 +-
.../providers/common/ai/policies}/__init__.py | 0
.../airflow/providers/common/ai/policies/retry.py | 183 +
.../tests/unit/common/ai/hooks/test_langchain.py | 293 ++
.../tests/unit/common/ai/hooks/test_llamaindex.py | 271 +-
.../common/ai/operators/test_document_loader.py | 596 +++
.../ai/operators/test_llamaindex_embedding.py | 275 +-
.../ai/operators/test_llamaindex_retrieval.py | 255 +-
.../ai/tests/unit/common/ai/policies}/__init__.py | 0
.../ai/tests/unit/common/ai/policies/test_retry.py | 197 +
providers/common/compat/README.rst | 6 +-
providers/common/compat/docs/changelog.rst | 13 +
providers/common/compat/docs/index.rst | 6 +-
providers/common/compat/provider.yaml | 3 +-
providers/common/compat/pyproject.toml | 6 +-
.../airflow/providers/common/compat/__init__.py | 2 +-
.../providers/common/compat/version_compat.py | 2 +
providers/common/sql/README.rst | 6 +-
providers/common/sql/docs/changelog.rst | 8 +
providers/common/sql/docs/index.rst | 8 +-
providers/common/sql/provider.yaml | 3 +-
providers/common/sql/pyproject.toml | 6 +-
.../src/airflow/providers/common/sql/__init__.py | 2 +-
providers/databricks/README.rst | 6 +-
providers/databricks/docs/changelog.rst | 21 +
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/operators/databricks.py | 4 +
.../providers/databricks/triggers/databricks.py | 7 +
.../unit/databricks/operators/test_databricks.py | 42 +
.../unit/databricks/triggers/test_databricks.py | 24 +
providers/dbt/cloud/README.rst | 6 +-
providers/dbt/cloud/docs/changelog.rst | 16 +
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 | 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 +-
providers/docker/README.rst | 6 +-
providers/docker/docs/changelog.rst | 13 +
providers/docker/docs/index.rst | 6 +-
providers/docker/provider.yaml | 3 +-
providers/docker/pyproject.toml | 6 +-
.../src/airflow/providers/docker/__init__.py | 2 +-
providers/edge3/README.rst | 8 +-
providers/edge3/docs/changelog.rst | 27 +
providers/edge3/docs/deployment.rst | 9 +-
providers/edge3/docs/edge_executor.rst | 11 +-
providers/edge3/docs/index.rst | 8 +-
providers/edge3/provider.yaml | 3 +-
providers/edge3/pyproject.toml | 8 +-
.../edge3/src/airflow/providers/edge3/__init__.py | 2 +-
.../src/airflow/providers/edge3/cli/dataclasses.py | 28 +-
.../src/airflow/providers/edge3/cli/definition.py | 8 +-
.../src/airflow/providers/edge3/cli/worker.py | 214 +-
.../providers/edge3/plugins/www/package.json | 30 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 906 ++--
.../providers/edge3/worker_api/datamodels.py | 9 +-
.../edge3/worker_api/v2-edge-generated.yaml | 25 +-
.../edge3/tests/unit/edge3/cli/test_worker.py | 419 +-
.../unit/edge3/worker_api/routes/test_logs.py | 5 +-
providers/elasticsearch/README.rst | 6 +-
providers/elasticsearch/docs/changelog.rst | 53 +-
providers/elasticsearch/docs/index.rst | 6 +-
providers/elasticsearch/docs/logging/index.rst | 42 +
providers/elasticsearch/provider.yaml | 17 +-
providers/elasticsearch/pyproject.toml | 6 +-
.../airflow/providers/elasticsearch/__init__.py | 2 +-
.../src/airflow/providers/elasticsearch/_compat.py | 119 +
.../providers/elasticsearch/get_provider_info.py | 7 +
.../providers/elasticsearch/hooks/elasticsearch.py | 7 +-
.../providers/elasticsearch/log/es_task_handler.py | 5 +-
.../tests/unit/elasticsearch/test__compat.py | 240 +
providers/fab/README.rst | 9 +-
providers/fab/docs/changelog.rst | 29 +
providers/fab/docs/index.rst | 8 +-
providers/fab/provider.yaml | 3 +-
providers/fab/pyproject.toml | 8 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
.../fab/auth_manager/security_manager/override.py | 37 +
.../fab/src/airflow/providers/fab/www/package.json | 4 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 88 +-
.../unit/fab/auth_manager/api_fastapi/conftest.py | 4 +-
.../security_manager/test_fab_alignment.py | 2 +-
providers/ftp/README.rst | 6 +-
providers/ftp/docs/changelog.rst | 18 +
providers/ftp/docs/index.rst | 6 +-
providers/ftp/provider.yaml | 3 +-
providers/ftp/pyproject.toml | 6 +-
.../ftp/src/airflow/providers/ftp/__init__.py | 2 +-
providers/git/README.rst | 6 +-
providers/git/docs/bundles/index.rst | 7 +-
providers/git/docs/changelog.rst | 12 +
providers/git/docs/index.rst | 8 +-
providers/git/provider.yaml | 3 +-
providers/git/pyproject.toml | 8 +-
.../git/src/airflow/providers/git/__init__.py | 2 +-
.../git/src/airflow/providers/git/bundles/git.py | 32 +-
providers/git/tests/unit/git/bundles/test_git.py | 146 +-
providers/google/README.rst | 6 +-
providers/{git => google}/docs/bundles/index.rst | 31 +-
providers/google/docs/changelog.rst | 53 +
providers/google/docs/index.rst | 7 +-
providers/google/docs/operators/cloud/bigquery.rst | 4 +-
providers/google/provider.yaml | 3 +-
providers/google/pyproject.toml | 6 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../providers/google/cloud/hooks/bigquery.py | 5 +-
.../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/sensors/bigquery.py | 19 +-
.../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 +-
.../providers/google/cloud/triggers/datafusion.py | 2 +
.../airflow/providers/google/suite/hooks/drive.py | 2 +-
.../cloud/bigquery/example_bigquery_sensors.py | 69 +-
...=> example_bigquery_streaming_buffer_sensor.py} | 151 +-
.../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 | 8 +-
.../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/sensors/test_bigquery.py | 13 +-
.../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 +-
.../unit/google/cloud/triggers/test_datafusion.py | 18 +
.../unit/google/cloud/triggers/test_vertex_ai.py | 8 +-
providers/imap/README.rst | 6 +-
providers/imap/docs/changelog.rst | 14 +
providers/imap/docs/index.rst | 6 +-
providers/imap/provider.yaml | 3 +-
providers/imap/pyproject.toml | 6 +-
.../imap/src/airflow/providers/imap/__init__.py | 2 +-
.../imap/src/airflow/providers/imap/hooks/imap.py | 6 +-
providers/influxdb/README.rst | 7 +-
providers/influxdb/docs/changelog.rst | 13 +
providers/influxdb/docs/index.rst | 6 +-
providers/influxdb/provider.yaml | 3 +-
providers/influxdb/pyproject.toml | 6 +-
.../src/airflow/providers/influxdb/__init__.py | 2 +-
providers/keycloak/README.rst | 6 +-
providers/keycloak/docs/changelog.rst | 18 +
providers/keycloak/docs/index.rst | 6 +-
providers/keycloak/provider.yaml | 3 +-
providers/keycloak/pyproject.toml | 6 +-
.../src/airflow/providers/keycloak/__init__.py | 2 +-
.../keycloak/auth_manager/cli/commands.py | 61 +
.../keycloak/auth_manager/cli/test_commands.py | 108 +-
providers/microsoft/azure/README.rst | 8 +-
providers/microsoft/azure/docs/changelog.rst | 18 +
providers/microsoft/azure/docs/index.rst | 6 +-
providers/microsoft/azure/provider.yaml | 3 +-
providers/microsoft/azure/pyproject.toml | 6 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
.../providers/microsoft/azure/secrets/key_vault.py | 10 +
.../unit/microsoft/azure/secrets/test_key_vault.py | 10 +
providers/microsoft/mssql/README.rst | 40 +-
providers/microsoft/mssql/docs/changelog.rst | 14 +
providers/microsoft/mssql/docs/index.rst | 6 +-
providers/microsoft/mssql/provider.yaml | 3 +-
providers/microsoft/mssql/pyproject.toml | 6 +-
.../airflow/providers/microsoft/mssql/__init__.py | 2 +-
providers/mongo/README.rst | 6 +-
providers/mongo/docs/changelog.rst | 15 +
providers/mongo/docs/index.rst | 6 +-
providers/mongo/provider.yaml | 3 +-
providers/mongo/pyproject.toml | 6 +-
.../mongo/src/airflow/providers/mongo/__init__.py | 2 +-
providers/mongo/tests/conftest.py | 29 +-
providers/mysql/README.rst | 6 +-
providers/mysql/docs/changelog.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 +-
providers/openlineage/README.rst | 10 +-
providers/openlineage/docs/changelog.rst | 18 +
providers/openlineage/docs/index.rst | 8 +-
providers/openlineage/provider.yaml | 3 +-
providers/openlineage/pyproject.toml | 8 +-
.../src/airflow/providers/openlineage/__init__.py | 2 +-
.../providers/openlineage/extractors/manager.py | 20 +-
.../providers/openlineage/plugins/listener.py | 17 +-
.../src/airflow/providers/openlineage/sqlparser.py | 27 +-
.../openlineage/utils/sql_hook_lineage.py | 62 +-
.../example_openlineage_base_complex_dag.py | 25 +-
.../example_openlineage_defer_simple_dag.py | 21 +-
.../example_openlineage_mapped_simple_dag.py | 25 +-
.../example_openlineage_short_circuit_dag.py | 29 +-
.../example_openlineage_trigger_dag_deferrable.py | 2 +-
.../openlineage_base_complex_dag__af2.json | 5156 ++++++++++----------
.../openlineage_base_complex_dag__af3.json | 5030 +++++++++----------
.../openlineage_short_circuit_dag.json | 23 +-
.../tests/system/openlineage/operator.py | 243 +-
.../tests/unit/openlineage/extractors/test_base.py | 23 +-
.../tests/unit/openlineage/test_sqlparser.py | 67 +
.../openlineage/utils/test_sql_hook_lineage.py | 73 +-
providers/opensearch/README.rst | 6 +-
providers/opensearch/docs/changelog.rst | 35 +-
providers/opensearch/docs/index.rst | 6 +-
providers/opensearch/provider.yaml | 3 +-
providers/opensearch/pyproject.toml | 6 +-
.../src/airflow/providers/opensearch/__init__.py | 2 +-
providers/oracle/README.rst | 6 +-
providers/oracle/docs/changelog.rst | 13 +
providers/oracle/docs/index.rst | 6 +-
providers/oracle/provider.yaml | 3 +-
providers/oracle/pyproject.toml | 6 +-
.../src/airflow/providers/oracle/__init__.py | 2 +-
providers/pinecone/README.rst | 6 +-
providers/pinecone/docs/changelog.rst | 14 +
providers/pinecone/docs/index.rst | 6 +-
providers/pinecone/provider.yaml | 3 +-
providers/pinecone/pyproject.toml | 6 +-
.../src/airflow/providers/pinecone/__init__.py | 2 +-
providers/postgres/README.rst | 6 +-
providers/postgres/docs/changelog.rst | 13 +
providers/postgres/docs/index.rst | 6 +-
providers/postgres/provider.yaml | 3 +-
providers/postgres/pyproject.toml | 6 +-
.../src/airflow/providers/postgres/__init__.py | 2 +-
providers/presto/README.rst | 6 +-
providers/presto/docs/changelog.rst | 13 +
providers/presto/docs/index.rst | 6 +-
providers/presto/provider.yaml | 3 +-
providers/presto/pyproject.toml | 6 +-
.../src/airflow/providers/presto/__init__.py | 2 +-
providers/sftp/README.rst | 6 +-
providers/sftp/docs/changelog.rst | 21 +
providers/sftp/docs/index.rst | 6 +-
providers/sftp/provider.yaml | 3 +-
providers/sftp/pyproject.toml | 6 +-
.../sftp/src/airflow/providers/sftp/__init__.py | 2 +-
providers/smtp/README.rst | 6 +-
providers/smtp/docs/changelog.rst | 15 +
providers/smtp/docs/index.rst | 6 +-
providers/smtp/provider.yaml | 3 +-
providers/smtp/pyproject.toml | 6 +-
.../smtp/src/airflow/providers/smtp/__init__.py | 2 +-
providers/snowflake/README.rst | 6 +-
providers/snowflake/docs/changelog.rst | 26 +
providers/snowflake/docs/connections/snowflake.rst | 27 +-
providers/snowflake/docs/index.rst | 6 +-
providers/snowflake/provider.yaml | 3 +-
providers/snowflake/pyproject.toml | 6 +-
.../src/airflow/providers/snowflake/__init__.py | 2 +-
providers/ssh/README.rst | 6 +-
providers/ssh/docs/changelog.rst | 14 +
providers/ssh/docs/index.rst | 6 +-
providers/ssh/provider.yaml | 3 +-
providers/ssh/pyproject.toml | 6 +-
.../ssh/src/airflow/providers/ssh/__init__.py | 2 +-
providers/standard/README.rst | 6 +-
providers/standard/docs/changelog.rst | 25 +
providers/standard/docs/index.rst | 6 +-
providers/standard/docs/operators/python.rst | 2 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 6 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
.../airflow/providers/standard/operators/python.py | 2 +-
.../providers/standard/utils/sensor_helper.py | 7 +-
.../tests/unit/standard/triggers/test_file.py | 16 +-
.../unit/standard/utils/test_sensor_helper.py | 33 +
providers/tableau/README.rst | 6 +-
providers/tableau/docs/changelog.rst | 13 +
providers/tableau/docs/index.rst | 6 +-
providers/tableau/provider.yaml | 3 +-
providers/tableau/pyproject.toml | 6 +-
.../src/airflow/providers/tableau/__init__.py | 2 +-
.../airflow/providers/tableau/operators/tableau.py | 15 +-
.../tests/unit/tableau/operators/test_tableau.py | 86 +-
providers/teradata/README.rst | 6 +-
providers/teradata/docs/changelog.rst | 13 +
providers/teradata/docs/index.rst | 6 +-
providers/teradata/provider.yaml | 3 +-
providers/teradata/pyproject.toml | 6 +-
.../src/airflow/providers/teradata/__init__.py | 2 +-
providers/trino/README.rst | 6 +-
providers/trino/docs/changelog.rst | 13 +
providers/trino/docs/index.rst | 6 +-
providers/trino/provider.yaml | 3 +-
providers/trino/pyproject.toml | 6 +-
.../trino/src/airflow/providers/trino/__init__.py | 2 +-
providers/vertica/README.rst | 6 +-
providers/vertica/docs/changelog.rst | 12 +
providers/vertica/docs/index.rst | 6 +-
providers/vertica/provider.yaml | 3 +-
providers/vertica/pyproject.toml | 6 +-
.../src/airflow/providers/vertica/__init__.py | 2 +-
providers/weaviate/README.rst | 6 +-
providers/weaviate/docs/changelog.rst | 13 +
providers/weaviate/docs/index.rst | 6 +-
providers/weaviate/provider.yaml | 3 +-
providers/weaviate/pyproject.toml | 6 +-
.../src/airflow/providers/weaviate/__init__.py | 2 +-
providers/zendesk/README.rst | 6 +-
providers/zendesk/docs/changelog.rst | 13 +
providers/zendesk/docs/index.rst | 6 +-
providers/zendesk/provider.yaml | 3 +-
providers/zendesk/pyproject.toml | 6 +-
.../src/airflow/providers/zendesk/__init__.py | 2 +-
pyproject.toml | 31 +-
scripts/ci/prek/check_core_imports_in_sdk.py | 62 +-
scripts/ci/prek/check_imports_in_providers.py | 2 +-
scripts/ci/prek/check_sdk_imports.py | 88 -
scripts/ci/prek/check_sdk_imports_in_core.py | 64 +
scripts/ci/prek/check_task_instance_dto_sync.py | 125 +
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 -
scripts/ci/prek/ruff_format.py | 2 +-
.../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 +-
.../secrets_masker/secrets_masker.py | 7 +-
.../tests/secrets_masker/test_secrets_masker.py | 17 +
shared/state/src/airflow_shared/state/__init__.py | 95 +-
shared/state/tests/state/test_state.py | 83 +-
.../tests/task_sdk_tests/conftest.py | 1 +
task-sdk/docs/api.rst | 10 +-
task-sdk/pyproject.toml | 3 +
task-sdk/src/airflow/sdk/__init__.py | 17 +-
task-sdk/src/airflow/sdk/__init__.pyi | 4 +
task-sdk/src/airflow/sdk/_shared/state | 1 +
task-sdk/src/airflow/sdk/api/client.py | 36 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 1 +
task-sdk/src/airflow/sdk/bases/sensor.py | 4 +-
task-sdk/src/airflow/sdk/bases/timetable.py | 8 +
task-sdk/src/airflow/sdk/configuration.py | 3 +-
.../src/airflow/sdk/definitions/asset/__init__.py | 26 +-
.../sdk/definitions/asset/access_control.py | 23 +-
.../airflow/sdk/definitions/asset/decorators.py | 8 +-
task-sdk/src/airflow/sdk/definitions/dag.py | 7 +
.../airflow/sdk/definitions/operator_resources.py | 16 +-
.../airflow/sdk/definitions/timetables/assets.py | 7 +
task-sdk/src/airflow/sdk/exceptions.py | 16 +
task-sdk/src/airflow/sdk/execution_time/comms.py | 5 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 151 +-
.../sdk/execution_time/secrets/execution_api.py | 71 +-
.../src/airflow/sdk/execution_time/supervisor.py | 138 +-
.../src/airflow/sdk/execution_time/task_runner.py | 194 +-
.../sdk/execution_time/workloads/__init__.py | 15 +-
.../airflow/sdk/execution_time/workloads/task.py | 53 +
task-sdk/src/airflow/sdk/log.py | 26 +-
task-sdk/src/airflow/sdk/plugins_manager.py | 2 +-
task-sdk/src/airflow/sdk/serde/__init__.py | 4 +-
.../src/airflow/sdk/state.py | 19 +-
task-sdk/src/airflow/sdk/types.py | 30 +-
task-sdk/tests/task_sdk/api/test_client.py | 69 +-
task-sdk/tests/task_sdk/bases/test_sensor.py | 14 +
task-sdk/tests/task_sdk/definitions/test_asset.py | 56 +-
.../definitions/test_asset_access_control.py | 66 +
.../task_sdk/definitions/test_asset_decorators.py | 68 +-
task-sdk/tests/task_sdk/definitions/test_dag.py | 15 +-
.../definitions/test_operator_resources.py | 38 +
.../tests/task_sdk/definitions/test_taskgroup.py | 4 +-
task-sdk/tests/task_sdk/docs/test_public_api.py | 1 +
.../tests/task_sdk/execution_time/test_context.py | 287 +-
.../tests/task_sdk/execution_time/test_secrets.py | 162 +-
.../task_sdk/execution_time/test_supervisor.py | 217 +-
.../test_supervisor_schemas_name_type_sync.py | 78 +
.../task_sdk/execution_time/test_task_runner.py | 382 +-
task-sdk/tests/task_sdk/serde/test_serde.py | 20 +-
task-sdk/tests/task_sdk/test_log.py | 120 +
uv.lock | 2544 ++++++----
986 files changed, 36917 insertions(+), 20144 deletions(-)
create mode 100644 .apache-steward-overrides/README.md
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/3rd-party-licenses/LICENSE-monaco-editor.txt
create mode 100644 airflow-core/newsfragments/63884.significant.rst
create mode 100644 airflow-core/newsfragments/66499.significant.rst
create mode 100644 airflow-core/newsfragments/66737.significant.rst
copy
airflow-core/src/airflow/api_fastapi/{execution_api/datamodels/task_state.py =>
core_api/datamodels/asset_state.py} (59%)
copy airflow-core/src/airflow/api_fastapi/{execution_api =>
core_api}/datamodels/task_state.py (62%)
create mode 100644
airflow-core/src/airflow/api_fastapi/core_api/routes/public/asset_state.py
create mode 100644
airflow-core/src/airflow/api_fastapi/core_api/routes/public/task_state.py
create mode 100644
airflow-core/src/airflow/api_fastapi/core_api/routes/ui/dag_runs.py
create mode 100644
airflow-core/src/airflow/api_fastapi/core_api/services/ui/dag_run.py
copy
airflow-core/src/airflow/migrations/versions/{0080_3_1_0_modify_deadline_callback_schema.py
=> 0115_3_3_0_add_version_data_to_dag_version.py} (50%)
create mode 100644
airflow-core/src/airflow/ui/src/components/Clear/useRerunWithLatestVersion.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/Clear/useRerunWithLatestVersion.ts
create mode 100644
airflow-core/src/airflow/ui/src/components/DateTimeInput.test.tsx
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
create mode 100644
airflow-core/src/airflow/ui/src/components/MonacoEditor/configureMonaco.ts
copy airflow-core/src/airflow/ui/src/components/{ui/ResetButton.tsx =>
MonacoEditor/index.tsx} (52%)
copy airflow-core/src/airflow/ui/src/components/{ui/Menu/Menu.tsx =>
MonacoEditor/useMonacoReady.ts} (63%)
copy airflow-core/src/airflow/ui/src/components/ui/{Pagination/PrevTrigger.tsx
=> IconButton.tsx} (55%)
copy airflow-core/src/airflow/ui/src/components/ui/Menu/{Menu.tsx =>
MenuRoot.tsx} (55%)
copy airflow-core/src/airflow/ui/src/components/ui/Menu/{Menu.tsx =>
MenuTrigger.tsx} (52%)
copy airflow-core/src/airflow/ui/src/components/ui/{Menu/Menu.tsx =>
RouterLink.tsx} (63%)
create mode 100644
airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_asset_state.py
create mode 100644
airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_task_state.py
create mode 100644 airflow-core/tests/unit/dags/test_dag_decorator_version.py
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/amazon/tests/system/amazon/aws/example_bedrock_evaluation.py
create mode 100644 providers/common/ai/docs/hooks/index.rst
create mode 100644 providers/common/ai/docs/hooks/langchain.rst
create mode 100644 providers/common/ai/docs/operators/document_loader.rst
create mode 100644 providers/common/ai/docs/retry_policies.rst
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_document_loader.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_langchain_hook.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_langchain_tool_agent.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_llamaindex_hook.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_llm_retry_policy.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/hooks/langchain.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/operators/document_loader.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
create mode 100644
providers/common/ai/tests/unit/common/ai/hooks/test_langchain.py
create mode 100644
providers/common/ai/tests/unit/common/ai/operators/test_document_loader.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
create mode 100644
providers/elasticsearch/src/airflow/providers/elasticsearch/_compat.py
create mode 100644
providers/elasticsearch/tests/unit/elasticsearch/test__compat.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} (64%)
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
create mode 100755 scripts/ci/prek/check_sdk_imports_in_core.py
create mode 100755 scripts/ci/prek/check_task_instance_dto_sync.py
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%)
create mode 120000 task-sdk/src/airflow/sdk/_shared/state
copy
airflow-core/src/airflow/api_fastapi/execution_api/datamodels/task_state.py =>
task-sdk/src/airflow/sdk/definitions/asset/access_control.py (58%)
copy
airflow-core/src/airflow/api_fastapi/execution_api/datamodels/task_state.py =>
task-sdk/src/airflow/sdk/execution_time/workloads/__init__.py (74%)
create mode 100644 task-sdk/src/airflow/sdk/execution_time/workloads/task.py
copy
airflow-core/src/airflow/api_fastapi/execution_api/datamodels/task_state.py =>
task-sdk/src/airflow/sdk/state.py (74%)
create mode 100644
task-sdk/tests/task_sdk/definitions/test_asset_access_control.py
create mode 100644
task-sdk/tests/task_sdk/execution_time/test_supervisor_schemas_name_type_sync.py
create mode 100644 task-sdk/tests/task_sdk/test_log.py