This is an automated email from the ASF dual-hosted git repository.

ashb pushed a change to branch provider-log-ti-id
in repository https://gitbox.apache.org/repos/asf/airflow.git


    from a8198a9f4cb Look up task logs by task try UUID
     add 592cf3ffdd2 Use the current user in the HITL detail tests instead of 
hardcoding (#74184)
     add 8331bb485c5 Read the msgraph connection extra with 
get_async_extra_dejson (#74161)
     add b156582855c Fix OpenSearch provider log pagination (#73947)
     add c8b136358ce Allow OpensearchTaskHandler and OpensearchRemoteLogIO to 
take empty username and password (#71692)
     add cc94831e213 Fix docstring cross-references that Sphinx 9 cannot 
resolve (#74169)
     add b58cfa912a9 Add an API endpoint and UI tab comparing two stored Dag 
versions (#73322)
     add d1d5b1af26e Adapt GCP BigtableHook to run in private cloud (#73181)
     add b3674d43be0 `SparkSubmitHook`: Mask `_mask_cmd` secrets in linear time 
(#71711)
     add 8d5814c09d5 Bump the react group across 1 directory with 4 updates 
(#73334)
     add 7e448f70af5 Use async database access for Variable key listing (#73407)
     add 523567e47d0 Add tests for Google Go module subprocess utility (#73268)
     add 4a766db2b03 Bump the typescript group across 1 directory with 4 
updates (#72994)
     add 7fad35d9c99 Add deadline alert coverage to Dag endpoint tests (#72296)
     add 6f5d5d06b17 Align standard provider tests with source paths (#73267)
     add c2f600f6ec6 Add airflowctl tasks state command (#71206)
     add 86b8a521837 Bind the AWS auth manager SAML response to the browser 
that started the login (#73698)
     add cefc0c3239d Bump the java-sdk-dependency-updates group across 1 
directory with 3 updates (#74108)
     add 2a274ab3c93 Refuse nested secret ids looked up with no team in 
multi-team mode (#73789)
     add 8055f6a8717 Skip creating an empty hook lineage collector for 
OpenLineage events (#74190)
     add 38fefc1ca95 Fix invalid cron expression in OpenLineage system test Dag 
(#74187)
     add 27f827fcdce Honor the polling interval for deferred Kubernetes jobs 
(#74143)
     add 3bd4df6b2da Fix Snowflake SQL API wait_for_query timing out on 
finished queries (#73761)
     add f74a685978c Use configured default queue for Celery executor callbacks 
(#73552)
     add ad3bb1f676c Replace coordinator artifact roots with 
task_handler_bundle_name (#73970)
     add 1c3f78e1d57 Validate a serialized Dag and fill its unset settings from 
the Airflow config (#74041)
     add a44fd6d1f31 Allow explicit runs to drain a paused Dag (#73763)
     add 40832901c59 Improve LocalExecutor bookkeeping: correctly add tasks to 
the `running` list (#74142)
     add 5487c080bea Add Azure Blob Storage support to the DataFusion object 
storage layer (#73374)
     add 206486b18f6 Merge branch 'main' into provider-log-ti-id

No new revisions were added by this update.

Summary of changes:
 .agents/skills/airflow-java-sdk/SKILL.md           |  11 +-
 airflow-core/adr/lang-sdk/0004-dag-parsing.md      |  12 +-
 .../0013-persisted-task-handler-bindings.md        |   2 +-
 .../authoring-and-scheduling/language-sdks/go.rst  |  93 ++--
 .../language-sdks/index.rst                        |   6 +-
 .../language-sdks/java.rst                         | 112 ++--
 .../language-sdks/typescript.rst                   |  85 +--
 airflow-core/docs/core-concepts/backfill.rst       |   7 +-
 airflow-core/docs/core-concepts/dags.rst           |  13 +
 airflow-core/docs/security/api_permissions_ref.rst |   4 +
 airflow-core/docs/security/security_model.rst      |   9 +
 airflow-core/newsfragments/72407.significant.rst   |  10 +-
 airflow-core/newsfragments/73970.significant.rst   |   5 +
 .../api_fastapi/core_api/datamodels/backfills.py   |   8 +
 .../api_fastapi/core_api/datamodels/dag_run.py     |   7 +
 .../core_api/datamodels/dag_versions.py            | 158 ++++++
 .../core_api/openapi/v2-rest-api-generated.yaml    | 301 +++++++++++
 .../api_fastapi/core_api/routes/public/assets.py   |  10 +
 .../core_api/routes/public/backfills.py            |  17 +-
 .../api_fastapi/core_api/routes/public/dag_run.py  |  11 +
 .../core_api/routes/public/dag_versions.py         |  98 +++-
 .../api_fastapi/execution_api/routes/variables.py  |  10 +-
 .../src/airflow/config_templates/config.yml        |  17 +-
 .../src/airflow/executors/local_executor.py        |  75 ++-
 airflow-core/src/airflow/models/backfill.py        |   3 +
 airflow-core/src/airflow/models/dag.py             |  16 +
 .../src/airflow/serialization/dag_version_diff.py  |   3 +-
 airflow-core/src/airflow/serialization/schema.json |  13 +-
 .../airflow/serialization/serialized_objects.py    |  96 ++++
 .../src/airflow/ui/openapi-gen/queries/common.ts   |  18 +
 .../ui/openapi-gen/queries/ensureQueryData.ts      |  38 ++
 .../src/airflow/ui/openapi-gen/queries/prefetch.ts |  38 ++
 .../src/airflow/ui/openapi-gen/queries/queries.ts  |  38 ++
 .../src/airflow/ui/openapi-gen/queries/suspense.ts |  38 ++
 .../airflow/ui/openapi-gen/requests/schemas.gen.ts | 206 +++++++
 .../ui/openapi-gen/requests/services.gen.ts        |  72 ++-
 .../airflow/ui/openapi-gen/requests/types.gen.ts   | 155 ++++++
 airflow-core/src/airflow/ui/package.json           |  16 +-
 airflow-core/src/airflow/ui/pnpm-lock.yaml         | 591 +++++++++------------
 .../ui/public/i18n/locales/ar/components.json      |   4 +-
 .../ui/public/i18n/locales/ca/components.json      |   4 +-
 .../ui/public/i18n/locales/de/components.json      |   4 +-
 .../ui/public/i18n/locales/el/components.json      |   4 +-
 .../ui/public/i18n/locales/en/components.json      |  16 +-
 .../src/airflow/ui/public/i18n/locales/en/dag.json |  63 +++
 .../ui/public/i18n/locales/es/components.json      |   4 +-
 .../ui/public/i18n/locales/fr/components.json      |   4 +-
 .../ui/public/i18n/locales/he/components.json      |   4 +-
 .../ui/public/i18n/locales/hi/components.json      |   4 +-
 .../ui/public/i18n/locales/hu/components.json      |   4 +-
 .../ui/public/i18n/locales/it/components.json      |   4 +-
 .../ui/public/i18n/locales/ja/components.json      |   4 +-
 .../ui/public/i18n/locales/ko/components.json      |   4 +-
 .../ui/public/i18n/locales/nl/components.json      |   4 +-
 .../ui/public/i18n/locales/pl/components.json      |   4 +-
 .../ui/public/i18n/locales/pt/components.json      |   4 +-
 .../ui/public/i18n/locales/ru/components.json      |   4 +-
 .../ui/public/i18n/locales/th/components.json      |   4 +-
 .../ui/public/i18n/locales/tr/components.json      |   4 +-
 .../ui/public/i18n/locales/zh-CN/components.json   |   4 +-
 .../ui/public/i18n/locales/zh-TW/components.json   |   4 +-
 .../components/DagActions/RunBackfillForm.test.tsx |  96 +++-
 .../src/components/DagActions/RunBackfillForm.tsx  |  35 +-
 .../TriggerDag/PausedDagOptions.test.tsx           | 250 +++++++++
 .../src/components/TriggerDag/PausedDagOptions.tsx | 123 +++++
 .../src/components/TriggerDag/TriggerDAGButton.tsx |   4 -
 .../components/TriggerDag/TriggerDAGForm.test.tsx  |  78 ++-
 .../src/components/TriggerDag/TriggerDAGForm.tsx   |  32 +-
 .../components/TriggerDag/TriggerDAGModal.test.tsx | 238 +++++++++
 .../src/components/TriggerDag/TriggerDAGModal.tsx  |  21 +-
 .../airflow/ui/src/components/TriggerDag/types.ts  |   3 +
 .../src/components/VersionCompareSelect.test.tsx   |  82 +++
 .../Code => components}/VersionCompareSelect.tsx   |   4 +-
 .../src/airflow/ui/src/constants/searchParams.ts   |   3 +
 airflow-core/src/airflow/ui/src/constants/tab.ts   |   1 +
 .../ui/src/layouts/Details/DetailsLayout.tsx       |   1 -
 .../src/pages/Asset/CreateAssetEventModal.test.tsx | 161 +++++-
 .../ui/src/pages/Asset/CreateAssetEventModal.tsx   |  20 +-
 .../src/airflow/ui/src/pages/Dag/Code/Code.tsx     |   2 +-
 airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx  |   3 +-
 .../pages/Dag/Versions/VersionDiff.i18n.test.tsx   |  83 +++
 .../ui/src/pages/Dag/Versions/VersionDiff.test.tsx | 275 ++++++++++
 .../ui/src/pages/Dag/Versions/VersionDiff.tsx      | 197 +++++++
 .../ui/src/pages/Dag/Versions/Versions.test.tsx    | 227 ++++++++
 .../airflow/ui/src/pages/Dag/Versions/Versions.tsx | 182 +++++++
 .../Details/Gantt => pages/Dag/Versions}/index.ts  |   3 +-
 .../ui/src/pages/DagsList/DagCardActions.tsx       |   1 -
 .../src/airflow/ui/src/pages/DagsList/DagsList.tsx |   1 -
 .../ui/src/queries/useCreateBackfill.test.tsx      |  99 ++++
 .../airflow/ui/src/queries/useCreateBackfill.ts    |  39 +-
 .../src/airflow/ui/src/queries/useTrigger.test.tsx |  98 ++++
 .../src/airflow/ui/src/queries/useTrigger.ts       |  31 +-
 airflow-core/src/airflow/ui/src/router.tsx         |   6 +
 .../tests/unit/always/test_project_structure.py    |   3 -
 airflow-core/tests/unit/api_fastapi/conftest.py    |  13 +
 .../core_api/routes/public/test_assets.py          |  48 +-
 .../core_api/routes/public/test_backfills.py       |  72 ++-
 .../core_api/routes/public/test_dag_run.py         |  75 ++-
 .../core_api/routes/public/test_dag_versions.py    | 296 +++++++++++
 .../core_api/routes/public/test_dags.py            | 175 +++++-
 .../core_api/routes/public/test_hitl.py            |   3 +-
 .../tests/unit/executors/test_local_executor.py    | 455 +++++++++++++++-
 .../executors/test_local_executor_check_workers.py |   5 +-
 airflow-core/tests/unit/jobs/test_scheduler_job.py |   9 +-
 airflow-core/tests/unit/models/test_backfill.py    | 133 ++++-
 airflow-core/tests/unit/models/test_dag.py         |  40 ++
 airflow-core/tests/unit/models/test_dagrun.py      |   6 +-
 .../tests/unit/models/test_serialized_dag.py       |   4 +-
 .../unit/serialization/test_dag_serialization.py   | 215 ++++++++
 .../unit/serialization/test_dag_version_diff.py    |   1 -
 .../airflowctl_tests/test_airflowctl_commands.py   |   2 +
 airflow-ctl/docs/images/command_hashes.txt         |   2 +-
 airflow-ctl/docs/images/output_tasks.svg           |  78 +--
 .../src/airflowctl/api/datamodels/generated.py     | 178 +++++++
 airflow-ctl/src/airflowctl/api/operations.py       |   7 +-
 airflow-ctl/src/airflowctl/ctl/cli_config.py       |  17 +
 .../src/airflowctl/ctl/commands/task_command.py    |  53 +-
 .../tests/airflow_ctl/api/test_operations.py       |  54 +-
 .../airflow_ctl/ctl/commands/test_task_command.py  | 275 +++++++++-
 .../tests/airflow_e2e_tests/conftest.py            |  56 +-
 contributing-docs/30_new_language_sdk.rst          |   8 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |   4 +-
 dev/breeze/tests/test_selective_checks.py          |  15 +-
 docs/spelling_wordlist.txt                         |   3 +
 generated/known_airflow_exceptions.txt             |   2 +-
 go-sdk/README.md                                   |  39 +-
 go-sdk/example/bundle/Justfile                     |   5 +-
 go-sdk/schema/dag-schema.json                      |  13 +-
 java-sdk/README.md                                 |  30 +-
 java-sdk/buildSrc/build.gradle.kts                 |   2 +-
 java-sdk/gradle/verification-metadata.xml          | 410 +++++++-------
 .../apache/airflow/sdk/plugin/AirflowSdkPlugin.kt  |   4 +-
 java-sdk/scala_spark_example/README.md             |   6 +-
 java-sdk/sdk/build.gradle.kts                      |   4 +-
 java-sdk/sdk/schema/dag-schema.json                |  13 +-
 kubernetes-tests/lang_sdk/README.md                |  14 +-
 kubernetes-tests/lang_sdk/config/values.yaml       |  14 +-
 .../lang_sdk/pod_templates/lang_sdk_golang.yaml    |   3 +-
 .../lang_sdk/pod_templates/lang_sdk_java.yaml      |   3 +-
 kubernetes-tests/lang_sdk/stage_artifacts.py       |   8 +-
 providers/akeyless/docs/changelog.rst              |   7 +
 .../airflow/providers/akeyless/secrets/akeyless.py |  28 +-
 .../tests/unit/akeyless/secrets/test_akeyless.py   |  27 +-
 .../docs/auth-manager/setup/identity-center.rst    |  36 ++
 providers/amazon/provider.yaml                     |  15 +
 .../providers/amazon/aws/auth_manager/constants.py |   1 +
 .../amazon/aws/auth_manager/routes/login.py        | 200 ++++++-
 .../providers/amazon/aws/executors/batch/utils.py  |   6 +-
 .../airflow/providers/amazon/get_provider_info.py  |   7 +
 .../amazon/aws/auth_manager/routes/test_login.py   | 359 +++++++++++--
 .../providers/apache/spark/hooks/spark_submit.py   |  98 +++-
 .../unit/apache/spark/hooks/test_spark_submit.py   | 118 ++++
 .../providers/celery/executors/celery_executor.py  |   4 +-
 .../unit/celery/executors/test_celery_executor.py  |  29 +-
 .../providers/cncf/kubernetes/triggers/job.py      |   4 +-
 .../unit/cncf/kubernetes/triggers/test_job.py      |  13 +-
 .../ai/docs/operators/llm_schema_compare.rst       |   2 +-
 providers/common/ai/docs/operators/llm_sql.rst     |   2 +-
 providers/common/ai/docs/toolsets/datafusion.rst   |   2 +-
 providers/common/sql/docs/operators.rst            |  60 ++-
 .../sql/src/airflow/providers/common/sql/config.py |   3 +
 .../providers/common/sql/datafusion/engine.py      | 185 +++++++
 .../sql/datafusion/object_storage_provider.py      |  36 +-
 .../common/sql/example_dags/example_analytics.py   |  13 +
 .../unit/common/sql/datafusion/test_engine.py      | 447 ++++++++++++++++
 .../sql/datafusion/test_object_storage_provider.py |  48 ++
 .../sql/tests/unit/common/sql/test_config.py       |   1 +
 providers/fab/docs/auth-manager/access-control.rst |   4 +
 .../providers/google/cloud/hooks/bigtable.py       |  24 +
 .../providers/google/cloud/hooks/compute.py        |   3 -
 .../google/cloud/hooks/vertex_ai/auto_ml.py        |   2 +-
 .../tests/unit/google/cloud/hooks/test_bigtable.py |  26 +
 .../tests/unit/google/test_go_module_utils.py      |  73 +++
 providers/hashicorp/docs/changelog.rst             |   7 +
 .../airflow/providers/hashicorp/secrets/vault.py   |  31 +-
 .../tests/unit/hashicorp/secrets/test_vault.py     |  55 ++
 providers/microsoft/azure/pyproject.toml           |   2 +-
 .../providers/microsoft/azure/hooks/msgraph.py     |  13 +-
 .../unit/microsoft/azure/hooks/test_msgraph.py     |  17 +
 .../providers/openlineage/extractors/manager.py    |  31 ++
 ...schedule_multiple_cron_trigger_timetable_dag.py |   2 +-
 ...hedule_multiple_cron_trigger_timetable_dag.json |  12 +-
 .../unit/openlineage/extractors/test_manager.py    |  71 ++-
 .../providers/opensearch/log/os_task_handler.py    |  32 +-
 .../opensearch/log/test_os_remote_log_io.py        |  18 +
 .../unit/opensearch/log/test_os_task_handler.py    | 102 +++-
 .../providers/snowflake/hooks/snowflake_sql_api.py |  12 +-
 .../unit/snowflake/hooks/test_snowflake_sql_api.py |  35 +-
 .../tests/unit/standard/operators/test_empty.py    |  56 ++
 ...ternal_task_sensor.py => test_external_task.py} |  32 ++
 .../ci/lang_sdk_serialization/serialize_python.py  |  23 +-
 .../prek/check_contextmanager_class_decorators.py  |   1 +
 .../test_check_contextmanager_class_decorators.py  |  80 +++
 task-sdk/docs/deferred-vs-async-operators.rst      |   2 +-
 task-sdk/docs/executable-bundle-spec.rst           |  31 +-
 task-sdk/docs/ts-bundle-spec.rst                   |  26 +-
 .../airflow/sdk/coordinators/_bundle_metadata.py   |  45 +-
 .../src/airflow/sdk/coordinators/_subprocess.py    | 131 +----
 .../sdk/coordinators/executable/coordinator.py     |  30 +-
 .../airflow/sdk/coordinators/java/coordinator.py   |  34 +-
 .../airflow/sdk/coordinators/node/coordinator.py   |  31 +-
 .../src/airflow/sdk/execution_time/coordinator.py  |  21 +-
 .../coordinators/executable/test_coordinator.py    |  73 +--
 .../task_sdk/coordinators/java/test_coordinator.py |  96 ++--
 .../task_sdk/coordinators/node/test_coordinator.py |  45 +-
 .../tests/task_sdk/coordinators/test_subprocess.py | 194 ++-----
 .../task_sdk/execution_time/test_coordinator.py    |  85 ++-
 ts-sdk/README.md                                   |  23 +-
 ts-sdk/example/README.md                           |  14 +-
 ts-sdk/schema/dag-schema.json                      |  13 +-
 210 files changed, 9508 insertions(+), 1756 deletions(-)
 create mode 100644 airflow-core/newsfragments/73970.significant.rst
 create mode 100644 
airflow-core/src/airflow/ui/src/components/TriggerDag/PausedDagOptions.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/TriggerDag/PausedDagOptions.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/TriggerDag/TriggerDAGModal.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/VersionCompareSelect.test.tsx
 rename airflow-core/src/airflow/ui/src/{pages/Dag/Code => 
components}/VersionCompareSelect.tsx (97%)
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Dag/Versions/VersionDiff.i18n.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Dag/Versions/VersionDiff.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Dag/Versions/VersionDiff.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Dag/Versions/Versions.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Dag/Versions/Versions.tsx
 copy airflow-core/src/airflow/ui/src/{layouts/Details/Gantt => 
pages/Dag/Versions}/index.ts (95%)
 create mode 100644 
airflow-core/src/airflow/ui/src/queries/useCreateBackfill.test.tsx
 create mode 100644 airflow-core/src/airflow/ui/src/queries/useTrigger.test.tsx
 create mode 100644 providers/google/tests/unit/google/test_go_module_utils.py
 create mode 100644 
providers/standard/tests/unit/standard/operators/test_empty.py
 rename 
providers/standard/tests/unit/standard/sensors/{test_external_task_sensor.py => 
test_external_task.py} (98%)
 create mode 100644 
scripts/tests/ci/prek/test_check_contextmanager_class_decorators.py

Reply via email to