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
omit 36cf604883d Bump the pip-dependency-updates group across 3 directories
with 2 updates
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 0d8c23492c6 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 (36cf604883d)
\
N -- N -- N
refs/heads/dependabot/pip/airflow-core/pip-dependency-updates-1a800ef2ca
(0d8c23492c6)
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:
.../pr-management-triage-comment-templates.md | 16 -
.github/skills/setup-steward/SKILL.md | 6 +-
.github/skills/setup-steward/adopt.md | 42 +-
.github/skills/setup-steward/conventions.md | 3 +
.github/skills/setup-steward/overrides.md | 3 +
.github/skills/setup-steward/unadopt.md | 3 +
.github/skills/setup-steward/upgrade.md | 40 +-
.github/skills/setup-steward/verify.md | 9 +-
.github/skills/setup-steward/worktree-init.md | 3 +
.pre-commit-config.yaml | 6 +
AGENTS.md | 24 +
...atetimepicker.txt => LICENSE-monaco-editor.txt} | 2 +-
airflow-core/LICENSE | 1 +
airflow-core/NOTICE | 8 +
airflow-core/docs/migrations-ref.rst | 4 +-
airflow-core/docs/security/api.rst | 5 +
.../src/airflow/api_fastapi/core_api/app.py | 3 +-
.../api_fastapi/core_api/routes/public/__init__.py | 9 +-
.../core_api/routes/public/event_logs.py | 7 +-
.../core_api/routes/public/import_error.py | 18 +-
.../api_fastapi/core_api/routes/ui/__init__.py | 7 +-
.../src/airflow/api_fastapi/core_api/security.py | 70 ++-
.../execution_api/datamodels/task_state.py | 3 +
.../api_fastapi/execution_api/routes/task_state.py | 2 +-
.../src/airflow/cli/commands/dag_command.py | 6 +-
.../src/airflow/config_templates/config.yml | 10 +
.../src/airflow/dag_processing/bundles/base.py | 57 +-
.../src/airflow/dag_processing/collection.py | 4 +
airflow-core/src/airflow/dag_processing/dagbag.py | 4 +-
airflow-core/src/airflow/dag_processing/manager.py | 20 +-
.../src/airflow/executors/workloads/task.py | 17 +-
... 0115_3_3_0_add_version_data_to_dag_version.py} | 33 +-
airflow-core/src/airflow/models/connection.py | 4 +
airflow-core/src/airflow/models/dag_version.py | 6 +
airflow-core/src/airflow/models/serialized_dag.py | 4 +
airflow-core/src/airflow/models/variable.py | 4 +
airflow-core/src/airflow/state/metastore.py | 56 +-
airflow-core/src/airflow/ui/package.json | 1 +
airflow-core/src/airflow/ui/pnpm-lock.yaml | 50 +-
airflow-core/src/airflow/ui/rules/core.js | 18 +
.../ui/src/components/AdvancedSearchToggle.tsx | 5 +-
.../ui/src/components/AssetProgressCell.tsx | 2 +-
.../ui/src/components/Assets/AssetEvents.tsx | 13 +-
.../ui/src/components/Assets/TriggeredRuns.tsx | 2 +-
.../ui/src/components/AttrSelectFilterMulti.tsx | 6 +-
.../ui/src/components/Clear/Run/ClearRunButton.tsx | 24 +-
.../ui/src/components/Clear/Run/ClearRunDialog.tsx | 3 +-
.../TaskInstance/ClearGroupTaskInstanceDialog.tsx | 3 +-
.../Clear/TaskInstance/ClearTaskInstanceButton.tsx | 43 +-
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 3 +-
.../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 | 19 +-
.../ui/src/components/DataTable/DataTable.tsx | 8 +-
.../src/components/DataTable/FilterMenuButton.tsx | 12 +-
.../src/components/DataTable/useTableUrlState.ts | 3 +-
.../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 -
.../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/src/components/MonacoEditor/index.tsx | 37 +-
.../useMonacoReady.ts} | 33 +-
.../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 +-
.../airflow/ui/src/components/ui/IconButton.tsx | 27 +-
.../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/{NumberInput.tsx => Menu/MenuTrigger.tsx} | 35 +-
.../src/components/ui/Pagination/NextTrigger.tsx | 3 +-
.../src/components/ui/Pagination/PrevTrigger.tsx | 3 +-
.../airflow/ui/src/components/ui/ResetButton.tsx | 2 +-
.../ui/src/components/ui/SegmentedControl.tsx | 1 -
.../src/airflow/ui/src/components/ui/index.ts | 1 +
.../ui/src/layouts/Details/DetailsLayout.tsx | 95 ++--
.../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/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 +-
.../ui/src/pages/AssetsList/DependencyPopover.tsx | 2 +-
.../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 +-
.../src/airflow/ui/src/pages/Dag/DagNotFound.tsx | 2 -
.../src/pages/Dag/Overview/AllDeadlinesModal.tsx | 2 +-
.../ui/src/pages/Dag/Overview/FailedLogs.tsx | 1 -
.../ui/src/pages/Dag/Overview/TaskLogPreview.tsx | 2 +-
.../Dag/Tasks/TaskFilters/AttrSelectFilter.tsx | 2 +-
.../ui/src/pages/DagsList/AssetSchedule.tsx | 4 +-
.../pages/DagsList/DagsFilters/FavoriteFilter.tsx | 32 +-
.../DagsList/DagsFilters/RequiredActionFilter.tsx | 2 -
.../src/pages/DagsList/PartitionScheduleModal.tsx | 2 +-
.../pages/Dashboard/FavoriteDags/FavoriteDags.tsx | 4 +-
.../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 -
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 +-
.../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 | 2 +-
.../src/pages/TaskInstance/Logs/ScrollToButton.tsx | 35 +-
.../src/pages/TaskInstance/Logs/TaskLogHeader.tsx | 31 +-
.../TaskInstances/BulkClearTaskInstancesButton.tsx | 5 +-
.../BulkDeleteTaskInstancesButton.tsx | 4 +-
.../BulkMarkTaskInstancesAsButton.tsx | 21 +-
.../TaskInstances/DeleteTaskInstanceButton.tsx | 26 +-
.../ui/src/pages/TaskInstances/TaskInstances.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/queries/useDeleteDag.ts | 3 +-
airflow-core/src/airflow/ui/src/theme.ts | 42 +-
airflow-core/src/airflow/ui/src/utils/TrimText.tsx | 2 +-
.../src/airflow/ui/tests/e2e/pages/DagCodePage.ts | 2 +-
airflow-core/src/airflow/utils/db.py | 2 +-
airflow-core/tests/integration/otel/test_otel.py | 2 +
.../core_api/routes/public/test_event_logs.py | 36 ++
.../core_api/routes/public/test_import_error.py | 43 +-
.../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 +
.../tests/unit/dag_processing/bundles/test_base.py | 29 +
.../tests/unit/dag_processing/test_collection.py | 1 +
.../tests/unit/dag_processing/test_manager.py | 66 +++
.../tests/unit/dag_processing/test_processor.py | 1 +
airflow-core/tests/unit/models/test_dag_version.py | 38 ++
airflow-core/tests/unit/state/test_metastore.py | 19 +-
chart/templates/_helpers.yaml | 2 +-
.../helm_tests/airflow_core/test_worker_sets.py | 16 +
contributing-docs/15_node_environment_setup.rst | 54 ++
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 +-
.../airflow_breeze/commands/kubernetes_commands.py | 16 +-
docs/spelling_wordlist.txt | 1 +
providers/.last_release_date.txt | 2 +-
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/amazon/docs/changelog.rst | 49 ++
providers/amazon/docs/index.rst | 6 +-
providers/amazon/docs/operators/bedrock.rst | 15 +
providers/amazon/provider.yaml | 3 +-
providers/amazon/pyproject.toml | 6 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../providers/amazon/aws/operators/bedrock.py | 56 ++
.../amazon/aws/example_bedrock_evaluation.py | 142 +++++
.../tests/system/amazon/aws/example_emr_eks.py | 73 ++-
.../unit/amazon/aws/operators/test_bedrock.py | 62 ++
.../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 +-
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 +-
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 +-
providers/common/ai/README.rst | 6 +-
providers/common/ai/docs/changelog.rst | 17 +
providers/common/ai/docs/hooks/index.rst | 51 ++
providers/common/ai/docs/hooks/langchain.rst | 174 ++++++
providers/common/ai/docs/index.rst | 8 +-
providers/common/ai/provider.yaml | 42 +-
providers/common/ai/pyproject.toml | 12 +-
.../ai/src/airflow/providers/common/ai/__init__.py | 2 +-
.../ai/example_dags/example_langchain_hook.py | 131 +++++
.../example_dags/example_langchain_tool_agent.py | 542 ++++++++++++++++++
.../providers/common/ai/get_provider_info.py | 33 ++
.../airflow/providers/common/ai/hooks/langchain.py | 173 ++++++
.../tests/unit/common/ai/hooks/test_langchain.py | 270 +++++++++
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/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 +-
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/index.rst | 8 +-
providers/edge3/provider.yaml | 3 +-
providers/edge3/pyproject.toml | 8 +-
.../edge3/src/airflow/providers/edge3/__init__.py | 2 +-
.../edge3/worker_api/v2-edge-generated.yaml | 4 +-
providers/elasticsearch/README.rst | 6 +-
providers/elasticsearch/docs/changelog.rst | 37 ++
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 | 6 +-
providers/fab/provider.yaml | 3 +-
providers/fab/pyproject.toml | 6 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
.../fab/src/airflow/providers/fab/www/package.json | 2 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 77 ++-
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/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 | 16 +-
providers/git/tests/unit/git/bundles/test_git.py | 77 +--
providers/google/README.rst | 6 +-
providers/google/docs/changelog.rst | 53 ++
providers/google/docs/index.rst | 6 +-
providers/google/provider.yaml | 3 +-
providers/google/pyproject.toml | 6 +-
.../src/airflow/providers/google/__init__.py | 2 +-
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 +-
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/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/opensearch/README.rst | 6 +-
providers/opensearch/docs/changelog.rst | 19 +
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/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/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 +-
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 +-
scripts/ci/prek/check_task_instance_dto_sync.py | 125 ++++
shared/state/src/airflow_shared/state/__init__.py | 24 +-
task-sdk/docs/api.rst | 4 +
task-sdk/src/airflow/sdk/__init__.py | 3 +
task-sdk/src/airflow/sdk/api/client.py | 33 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 1 +
task-sdk/src/airflow/sdk/exceptions.py | 16 +
task-sdk/src/airflow/sdk/execution_time/comms.py | 1 +
task-sdk/src/airflow/sdk/execution_time/context.py | 47 +-
.../sdk/execution_time/secrets/execution_api.py | 71 ++-
.../src/airflow/sdk/execution_time/supervisor.py | 138 ++++-
.../src/airflow/sdk/execution_time/task_runner.py | 28 +
.../sdk/execution_time/workloads}/__init__.py | 9 +-
.../airflow/sdk/execution_time/workloads/task.py | 43 +-
task-sdk/src/airflow/sdk/log.py | 26 +-
task-sdk/tests/task_sdk/api/test_client.py | 69 ++-
.../tests/task_sdk/execution_time/test_context.py | 59 +-
.../tests/task_sdk/execution_time/test_secrets.py | 162 +++++-
.../task_sdk/execution_time/test_supervisor.py | 215 ++++++-
.../task_sdk/execution_time/test_task_runner.py | 162 +++++-
task-sdk/tests/task_sdk/test_log.py | 120 ++++
uv.lock | 626 +++++++++++++++++++--
529 files changed, 7749 insertions(+), 1915 deletions(-)
copy
airflow-core/3rd-party-licenses/{LICENSE-eonasdan-bootstrap-datetimepicker.txt
=> LICENSE-monaco-editor.txt} (95%)
copy
airflow-core/src/airflow/migrations/versions/{0111_3_3_0_add_timetable_periodic_to_dag.py
=> 0115_3_3_0_add_version_data_to_dag_version.py} (57%)
create mode 100644
airflow-core/src/airflow/ui/src/components/MonacoEditor/configureMonaco.ts
copy registry/src/_data/utils.js =>
airflow-core/src/airflow/ui/src/components/MonacoEditor/index.tsx (53%)
copy airflow-core/src/airflow/ui/src/components/{SqlParserProvider.tsx =>
MonacoEditor/useMonacoReady.ts} (64%)
copy
providers/edge3/src/airflow/providers/edge3/plugins/www/src/components/ui/CloseButton.tsx
=> airflow-core/src/airflow/ui/src/components/ui/IconButton.tsx (60%)
copy airflow-core/src/airflow/ui/src/components/ui/Menu/{Menu.tsx =>
MenuRoot.tsx} (55%)
copy airflow-core/src/airflow/ui/src/components/ui/{NumberInput.tsx =>
Menu/MenuTrigger.tsx} (54%)
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/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/hooks/langchain.py
create mode 100644
providers/common/ai/tests/unit/common/ai/hooks/test_langchain.py
create mode 100644
providers/elasticsearch/src/airflow/providers/elasticsearch/_compat.py
create mode 100644
providers/elasticsearch/tests/unit/elasticsearch/test__compat.py
create mode 100755 scripts/ci/prek/check_task_instance_dto_sync.py
copy {airflow-ctl-tests/tests/airflowctl_tests =>
task-sdk/src/airflow/sdk/execution_time/workloads}/__init__.py (83%)
copy airflow-core/src/airflow/api_fastapi/core_api/datamodels/ui/gantt.py =>
task-sdk/src/airflow/sdk/execution_time/workloads/task.py (51%)
create mode 100644 task-sdk/tests/task_sdk/test_log.py