This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/npm_and_yarn/registry/registry-major-version-updates-66413a1f6e
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard 76b5b21065c chore(deps): bump picomatch
add 97959da0877 Re-enable start_from_trigger feature with rendering of
template fields (#55068)
add f7c57937a60 Teardown Waiting for All in-scope Tasks to Complete
(#64181)
add 8210f69505c Fix SSHHookAsync defaulting no_host_key_check to False
unlike SSHHook (#64225)
add 90776562809 refactor: Ignore if db test collecting failed due to no
tests available (#64222)
add 221cdd64056 Fix SQLToolset read-only mode bypass via data-modifying
CTEs and SELECT INTO (#64173)
add 42d24243fb3 Add docs for using toolsets directly with PydanticAI in
any task (#64234)
add f8b2649ba7e Update Python Client Release Document to provide easier
check (#64228)
add c2ba5fc8407 Bump pyodps for python>=3.13 (#64210)
add 16f2fc10aa9 Use compat sdk conf import in Informatica provider (#64155)
add a3584d730bf Use compat sdk conf import in Google Gen AI operators
(#64157)
add 89c82681011 Compat sdk conf follow-up for multiple providers (#64161)
add ac9b401c5f3 Add initial Portuguese (pt) translation agent skill
(#62001) (#62083)
add 8d44a84e71b simplify the bug report template (#63851)
add c65c7fd0d45 Ensure presence of conn.login in microsoft azure hook
before usage (#64241)
add a8e130d39e2 Apache RAT 0.18 is released, upgrade references (#64231)
add 526768d7217 [main] Upgrade important CI environment (#64239)
add fbe7cbef234 fix(providers/standard): remove premature param value
validation in HITLOperator (#64108)
add a6e6d04e709 Fixed output encoding in WinRMTrigger for WinRMOperator in
deferred mode (#64154)
add fba15d6f04a fix(mypy): Pass parameters to Kubernetes methods
conditionally (#64242)
add 853028b3bf4 Fix assume_role_with_web_identity not using botocore
config for STS calls (#64216)
add 63be7a6be9b Fix dag_display_name property bypass for DagStats query
(#64256)
add 283ab813cf5 Improve Playwright test patterns in VariablePage (#63965)
(#63979)
add fa20f18ea44 Add suspending providers section to provider governance
(#64252)
add 9ad468cb955 Restore `deactivate_deleted_dags` signature broken by
#63617 (#64245)
add cc9abce01b0 Add explicit type annotations to k8s code to fix mypy
(#64260)
add bd08e77d962 Add locale configuration to Playwright test settings
(#64125)
add 3bec5d61818 AIP-99: Add LLMFileAnalysisOperator and
@task.llm_file_analysis (#64077)
add f8c9c517d69 UI Fix: Date time input 'year' field unmodifiable (#63885)
add 0c2a8d548bd Fix PoolBar links using wrong query params for task
instances filtering (#64182)
add 43945831cef Clear, Mark Success/Fail and delete multiple Task
Instances (#64141)
add efdc08e9869 Fix LLMApprovalMixin to enforce allow_modifications in
execute_complete (#64244)
add 059e9a40ecb misc: specify remove date for deprecations warnings
(#63505)
add 95fc11ed217 Ignore redelivered message for already-running task
(#64052)
add 1680d60934e tests: fix failing integration test after upgrading to
elasticsearch 9 (#64276)
add 3bb2dd5ec41 refactor(partition-mapper): rename ToXXXMapper to
StartOfXXXMapper (#64160)
add e8e22bd4678 Improve Playwright test patterns in providers.spec.ts
(#64078)
add 2eaa200a182 UI: Fix RenderedJsonField flickering when collapsed
(#64261)
add 0ed72b480c5 Refactor xcom API to use shared serialisation constants
(#64148)
add 677e53436ce Fix AwsBaseWaiterTrigger losing error details on deferred
task failure (#64085)
add 536101b12e4 Allow gray, black, and white color tokens in
AIRFLOW__API__THEME (#64232)
add a5fc6385833 Invalidate queries on dag run add/delete (#64269)
add 335bafd3c17 chore(deps): bump picomatch
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 (76b5b21065c)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/registry/registry-major-version-updates-66413a1f6e
(335bafd3c17)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 57 +-
.github/actions/breeze/action.yml | 2 +-
.github/actions/install-prek/action.yml | 4 +-
.github/skills/airflow-translations/locales/pt.md | 78 +
.github/workflows/basic-tests.yml | 2 +-
.github/workflows/ci-amd-arm.yml | 2 +-
.github/workflows/release_dockerhub_image.yml | 2 +-
Dockerfile | 2 +-
Dockerfile.ci | 6 +-
airflow-core/.pre-commit-config.yaml | 1 +
.../docs/authoring-and-scheduling/assets.rst | 24 +-
airflow-core/docs/howto/customize-ui.rst | 45 +-
airflow-core/newsfragments/64232.feature.rst | 1 +
airflow-core/pyproject.toml | 4 +-
airflow-core/src/airflow/_shared/serialization | 1 +
.../src/airflow/api_fastapi/common/dagbag.py | 2 +-
.../src/airflow/api_fastapi/common/db/dag_runs.py | 9 +-
.../src/airflow/api_fastapi/common/types.py | 38 +-
.../core_api/datamodels/task_instances.py | 1 +
.../api_fastapi/core_api/datamodels/xcom.py | 23 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 28 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 6 +
.../core_api/routes/public/task_instances.py | 8 +
.../core_api/services/public/task_instances.py | 13 +-
airflow-core/src/airflow/dag_processing/manager.py | 8 +-
.../example_dags/example_asset_partition.py | 22 +-
.../src/airflow/executors/workloads/trigger.py | 5 +-
.../src/airflow/jobs/triggerer_job_runner.py | 200 ++-
airflow-core/src/airflow/models/dag.py | 3 +-
airflow-core/src/airflow/models/dagbag.py | 58 +-
airflow-core/src/airflow/models/dagrun.py | 28 +-
airflow-core/src/airflow/models/taskinstance.py | 69 +-
.../src/airflow/partition_mappers/temporal.py | 12 +-
airflow-core/src/airflow/serialization/encoders.py | 50 +-
.../src/airflow/ti_deps/deps/trigger_rule_dep.py | 57 +-
airflow-core/src/airflow/triggers/base.py | 63 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 37 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 13 +-
airflow-core/src/airflow/ui/playwright.config.ts | 1 +
.../airflow/ui/public/i18n/locales/en/common.json | 15 +
.../components/ActionAccordion/ActionAccordion.tsx | 87 +-
.../TaskInstance/ClearGroupTaskInstanceDialog.tsx | 3 +-
.../airflow/ui/src/components/DateTimeInput.tsx | 47 +-
.../src/airflow/ui/src/components/PoolBar.tsx | 2 +-
.../ui/src/components/RenderedJsonField.tsx | 25 +-
airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx | 23 +-
.../TaskInstances/BulkClearTaskInstancesButton.tsx | 157 ++
.../BulkDeleteTaskInstancesButton.tsx | 153 ++
.../BulkMarkTaskInstancesAsButton.tsx | 208 +++
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 85 +-
.../index.ts => queries/gridViewQueryKeys.ts} | 28 +-
.../airflow/ui/src/queries/useBulkClearDryRun.ts | 113 ++
.../ui/src/queries/useBulkClearTaskInstances.ts | 118 ++
.../airflow/ui/src/queries/useBulkMarkAsDryRun.ts | 113 ++
.../airflow/ui/src/queries/useBulkTaskInstances.ts | 105 ++
.../src/airflow/ui/src/queries/useClearRun.ts | 10 +-
.../ui/src/queries/useClearTaskInstances.ts | 8 +-
.../src/airflow/ui/src/queries/useDeleteDag.ts | 7 +-
.../src/airflow/ui/src/queries/useDeleteDagRun.ts | 6 +-
.../src/airflow/ui/src/queries/usePatchDagRun.ts | 8 +-
.../airflow/ui/src/queries/usePatchTaskInstance.ts | 8 +-
.../ui/src/queries/useRefreshOnNewDagRuns.ts | 65 +-
.../src/airflow/ui/src/queries/useTrigger.ts | 21 +-
.../airflow/ui/tests/e2e/pages/ProvidersPage.ts | 58 +-
.../src/airflow/ui/tests/e2e/pages/VariablePage.ts | 27 +-
.../airflow/ui/tests/e2e/specs/providers.spec.ts | 44 +-
.../tests/unit/api_fastapi/common/test_types.py | 135 +-
.../core_api/routes/public/test_task_instances.py | 140 ++
.../core_api/routes/public/test_xcom.py | 19 +
.../api_fastapi/core_api/routes/ui/test_config.py | 80 +-
.../tests/unit/dag_processing/test_manager.py | 35 +-
airflow-core/tests/unit/jobs/test_scheduler_job.py | 4 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 5 +-
airflow-core/tests/unit/models/test_dag.py | 2 +-
airflow-core/tests/unit/models/test_dagbag.py | 79 +
.../tests/unit/models/test_taskinstance.py | 97 ++
.../tests/unit/partition_mappers/test_chain.py | 12 +-
.../tests/unit/partition_mappers/test_product.py | 34 +-
.../tests/unit/partition_mappers/test_temporal.py | 45 +-
.../unit/serialization/test_serialized_objects.py | 82 +-
.../unit/ti_deps/deps/test_trigger_rule_dep.py | 111 ++
.../tests/unit/triggers/test_base_trigger.py | 69 +
airflow-ctl-tests/pyproject.toml | 2 +-
airflow-ctl/pyproject.toml | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 1 +
airflow-e2e-tests/docker/elasticsearch.yml | 2 +-
airflow-e2e-tests/pyproject.toml | 2 +-
chart/pyproject.toml | 2 +-
clients/python/pyproject.toml | 2 +-
dev/README_RELEASE_AIRFLOW.md | 12 +-
dev/README_RELEASE_AIRFLOWCTL.md | 12 +-
dev/README_RELEASE_HELM_CHART.md | 14 +-
dev/README_RELEASE_PROVIDERS.md | 12 +-
dev/README_RELEASE_PYTHON_CLIENT.md | 91 +-
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/pyproject.toml | 2 +-
.../commands/release_management_commands.py | 6 +-
dev/breeze/src/airflow_breeze/global_constants.py | 2 +-
.../src/airflow_breeze/utils/release_validator.py | 10 +-
dev/breeze/uv.lock | 388 ++---
dev/pyproject.toml | 2 +-
dev/registry/pyproject.toml | 2 +-
devel-common/src/tests_common/pytest_plugin.py | 47 +-
.../src/tests_common/test_utils/version_compat.py | 1 +
docker-stack-docs/pyproject.toml | 2 +-
docker-tests/pyproject.toml | 2 +-
docs/spelling_wordlist.txt | 2 +
helm-tests/pyproject.toml | 2 +-
kubernetes-tests/pyproject.toml | 2 +-
providers-summary-docs/pyproject.toml | 2 +-
providers/PROVIDER_GOVERNANCE.rst | 20 +
providers/alibaba/docs/index.rst | 9 +-
providers/alibaba/pyproject.toml | 3 +-
.../airflow/providers/amazon/aws/hooks/base_aws.py | 11 +-
.../airflow/providers/amazon/aws/operators/dms.py | 36 +-
.../airflow/providers/amazon/aws/operators/emr.py | 35 +-
.../providers/amazon/aws/operators/neptune.py | 27 +-
.../airflow/providers/amazon/aws/sensors/mwaa.py | 11 +-
.../airflow/providers/amazon/aws/triggers/base.py | 25 +-
.../airflow/providers/amazon/aws/triggers/dms.py | 2 +-
.../airflow/providers/amazon/aws/triggers/glue.py | 2 +-
.../aws/executors/batch/test_batch_executor.py | 3 +-
.../tests/unit/amazon/aws/hooks/test_base_aws.py | 61 +-
.../tests/unit/amazon/aws/operators/test_dms.py | 51 +
.../amazon/aws/operators/test_emr_serverless.py | 20 +
.../tests/unit/amazon/aws/sensors/test_mwaa.py | 22 +
.../tests/unit/amazon/aws/triggers/test_base.py | 19 +
.../tests/unit/amazon/aws/triggers/test_glue.py | 7 +-
.../tests/unit/amazon/aws/triggers/test_neptune.py | 6 +-
.../celery/executors/celery_executor_utils.py | 52 +-
.../src/airflow/providers/celery/version_compat.py | 3 +-
.../unit/celery/executors/test_celery_executor.py | 55 +-
.../providers/cncf/kubernetes/hooks/kubernetes.py | 37 +-
.../unit/cncf/kubernetes/hooks/test_kubernetes.py | 2 -
providers/common/ai/docs/operators/index.rst | 12 +-
.../common/ai/docs/operators/llm_file_analysis.rst | 141 ++
providers/common/ai/docs/toolsets.rst | 25 +
providers/common/ai/provider.yaml | 4 +
providers/common/ai/pyproject.toml | 10 +-
.../decorators/{agent.py => llm_file_analysis.py} | 63 +-
.../ai/example_dags/example_llm_file_analysis.py | 133 ++
.../ai/example_dags/example_pydantic_ai_hook.py | 37 +-
.../src/airflow/providers/common/ai/exceptions.py | 16 +
.../providers/common/ai/get_provider_info.py | 6 +
.../airflow/providers/common/ai/mixins/approval.py | 6 +-
.../airflow/providers/common/ai/operators/agent.py | 3 +-
.../common/ai/operators/llm_file_analysis.py | 165 +++
.../providers/common/ai/plugins/hitl_review.py | 2 +-
.../providers/common/ai/utils/file_analysis.py | 670 +++++++++
.../providers/common/ai/utils/sql_validation.py | 43 +
.../ai/tests/unit/common/ai/assets}/__init__.py | 0
.../unit/common/ai/assets}/airflow-3-task-sdk.png | Bin
.../{test_llm.py => test_llm_file_analysis.py} | 65 +-
.../tests/unit/common/ai/mixins/test_approval.py | 12 +
.../common/ai/operators/test_llm_file_analysis.py | 303 ++++
.../unit/common/ai/utils/test_file_analysis.py | 525 +++++++
.../unit/common/ai/utils/test_sql_validation.py | 54 +
providers/edge3/pyproject.toml | 2 +-
providers/fab/pyproject.toml | 2 +-
.../providers/google/cloud/hooks/dataflow.py | 8 +-
.../airflow/providers/google/cloud/hooks/gcs.py | 2 +-
.../airflow/providers/google/cloud/hooks/pubsub.py | 2 +-
.../providers/google/cloud/links/dataproc.py | 2 +-
.../google/cloud/log/stackdriver_task_handler.py | 2 +-
.../providers/google/cloud/operators/dataproc.py | 2 +-
.../providers/google/cloud/operators/gcs.py | 2 +-
.../providers/google/cloud/operators/gen_ai.py | 2 +-
.../google/cloud/operators/kubernetes_engine.py | 2 +-
.../providers/google/cloud/sensors/bigquery.py | 2 +-
.../cloud/transfers/azure_fileshare_to_gcs.py | 2 +-
.../google/cloud/transfers/bigquery_to_mssql.py | 2 +-
.../providers/google/cloud/transfers/gcs_to_gcs.py | 6 +-
.../google/cloud/triggers/kubernetes_engine.py | 4 +-
.../google/cloud/hooks/test_kubernetes_engine.py | 4 +-
.../src/airflow/providers/informatica/hooks/edc.py | 2 +-
.../providers/informatica/plugins/informatica.py | 2 +-
.../keycloak/auth_manager/keycloak_auth_manager.py | 7 +-
.../microsoft/azure/hooks/container_registry.py | 7 +
.../providers/microsoft/azure/operators/powerbi.py | 8 +-
.../providers/microsoft/winrm/operators/winrm.py | 28 +-
.../providers/microsoft/winrm/triggers/winrm.py | 13 +-
.../unit/microsoft/winrm/operators/test_winrm.py | 54 +
.../unit/microsoft/winrm/triggers/test_winrm.py | 2 -
.../ssh/src/airflow/providers/ssh/hooks/ssh.py | 2 +-
.../airflow/providers/standard/operators/hitl.py | 9 +-
.../tests/unit/standard/operators/test_hitl.py | 64 +-
pyproject.toml | 7 +-
.../docker-compose/integration-elasticsearch.yml | 2 +-
.../ci/dockerfiles/apache-rat/build_and_push.sh | 2 +-
scripts/ci/testing/run_unit_tests.sh | 7 +-
scripts/pyproject.toml | 2 +-
scripts/tools/setup_breeze | 2 +-
shared/configuration/pyproject.toml | 2 +-
shared/dagnode/pyproject.toml | 2 +-
shared/listeners/pyproject.toml | 2 +-
shared/logging/pyproject.toml | 2 +-
shared/module_loading/pyproject.toml | 2 +-
shared/observability/pyproject.toml | 2 +-
shared/plugins_manager/pyproject.toml | 2 +-
shared/providers_discovery/pyproject.toml | 2 +-
shared/secrets_backend/pyproject.toml | 2 +-
shared/secrets_masker/pyproject.toml | 2 +-
{airflow-core => shared/serialization}/.gitignore | 0
.../pyproject.toml | 4 +-
.../src/airflow_shared/serialization}/__init__.py | 29 +-
.../tests/conftest.py | 0
.../serialization/tests/serialization}/__init__.py | 0
.../tests/serialization/test_constants.py | 6 +-
shared/template_rendering/pyproject.toml | 2 +-
shared/timezones/pyproject.toml | 2 +-
task-sdk-integration-tests/pyproject.toml | 2 +-
task-sdk/docs/api.rst | 12 +-
task-sdk/pyproject.toml | 4 +-
task-sdk/src/airflow/sdk/__init__.py | 36 +-
task-sdk/src/airflow/sdk/__init__.pyi | 24 +-
task-sdk/src/airflow/sdk/_shared/serialization | 1 +
task-sdk/src/airflow/sdk/bases/operator.py | 22 +
.../sdk/definitions/_internal/abstractoperator.py | 53 -
.../airflow/sdk/definitions/_internal/templater.py | 94 +-
.../src/airflow/sdk/definitions/mappedoperator.py | 14 +-
.../sdk/definitions/partition_mappers/temporal.py | 12 +-
task-sdk/src/airflow/sdk/serde/__init__.py | 19 +-
task-sdk/tests/task_sdk/bases/test_operator.py | 20 +
.../definitions/_internal/test_templater.py | 188 +++
uv.lock | 1562 ++++++++++----------
225 files changed, 7252 insertions(+), 2064 deletions(-)
create mode 100644 .github/skills/airflow-translations/locales/pt.md
create mode 100644 airflow-core/newsfragments/64232.feature.rst
create mode 120000 airflow-core/src/airflow/_shared/serialization
create mode 100644
airflow-core/src/airflow/ui/src/pages/TaskInstances/BulkClearTaskInstancesButton.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/TaskInstances/BulkDeleteTaskInstancesButton.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/TaskInstances/BulkMarkTaskInstancesAsButton.tsx
copy airflow-core/src/airflow/ui/src/{hooks/navigation/index.ts =>
queries/gridViewQueryKeys.ts} (56%)
create mode 100644
airflow-core/src/airflow/ui/src/queries/useBulkClearDryRun.ts
create mode 100644
airflow-core/src/airflow/ui/src/queries/useBulkClearTaskInstances.ts
create mode 100644
airflow-core/src/airflow/ui/src/queries/useBulkMarkAsDryRun.ts
create mode 100644
airflow-core/src/airflow/ui/src/queries/useBulkTaskInstances.ts
create mode 100644 airflow-core/tests/unit/triggers/test_base_trigger.py
create mode 100644 providers/common/ai/docs/operators/llm_file_analysis.rst
copy providers/common/ai/src/airflow/providers/common/ai/decorators/{agent.py
=> llm_file_analysis.py} (55%)
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_llm_file_analysis.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/operators/llm_file_analysis.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/utils/file_analysis.py
copy {airflow-core/src/airflow/_shared =>
providers/common/ai/tests/unit/common/ai/assets}/__init__.py (100%)
copy {task-sdk/docs/img =>
providers/common/ai/tests/unit/common/ai/assets}/airflow-3-task-sdk.png (100%)
copy providers/common/ai/tests/unit/common/ai/decorators/{test_llm.py =>
test_llm_file_analysis.py} (54%)
create mode 100644
providers/common/ai/tests/unit/common/ai/operators/test_llm_file_analysis.py
create mode 100644
providers/common/ai/tests/unit/common/ai/utils/test_file_analysis.py
copy {airflow-core => shared/serialization}/.gitignore (100%)
copy shared/{template_rendering => serialization}/pyproject.toml (91%)
copy {airflow-core/src/airflow/lineage =>
shared/serialization/src/airflow_shared/serialization}/__init__.py (62%)
copy shared/{module_loading => serialization}/tests/conftest.py (100%)
copy {airflow-core/src/airflow/_shared =>
shared/serialization/tests/serialization}/__init__.py (100%)
copy airflow-core/src/airflow/listeners/__init__.py =>
shared/serialization/tests/serialization/test_constants.py (87%)
create mode 120000 task-sdk/src/airflow/sdk/_shared/serialization