This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a change to branch guard-go-example-mod-tidy
in repository https://gitbox.apache.org/repos/asf/airflow.git
from 08546d774aa Catch lang-SDK Go example module drift before it reaches
main
add 8db8d9713a9 Restore the lang-SDK Go bundle build (#70561)
add e807d5e9ba3 Make SSH remote-job kill test diagnosable and stop it
reddening main (#70562)
add f88b635902f Complete missing Hebrew (he) translations (#70382)
add e1e93e682d0 Document the sql extra required for LLMSQLQueryOperator
(#70564)
add 9e001828094 Support `.txt` files in `LLMFileAnalysisOperator` (#70431)
add 32168fdf5ef Add deferrable mode to DynamoDBValueSensor (#69799)
add f5d7c8a0548 Cleanup multi-team docs for team_name tagging (#70146)
add 83968fb101c Allow argument-provision checks of templated fields in
operator __init__ (#70505)
add 4a73814adb0 Use common.compat.sdk for timezone imports in providers
(#70492)
add c04b93baaae Keep SSH remote job running when its PTY session hangs up
(#70573)
add 08384f52e0e Update providers metadata 2026-07-28 (#70577)
add d7aa92913bf Fix grid/graph view topological sort for group-level and
cross-group dependencies (#69933)
add d8b8620662d Clarify ``logging_config_class`` contract and document
``REMOTE_TASK_LOG`` (#67104)
add c7f0f2c4081 Merge remote-tracking branch 'upstream/main' into
guard-go-tidy-prek-golang
add 0857652de66 Let prek provide the Go toolchain for the tidy check
No new revisions were added by this update.
Summary of changes:
.pre-commit-config.yaml | 5 +-
.../advanced-logging-configuration.rst | 53 ++++++-
airflow-core/docs/core-concepts/multi-team.rst | 13 +-
airflow-core/docs/howto/custom-operator.rst | 16 ++
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 19 ++-
.../api_fastapi/core_api/routes/ui/structure.py | 6 +-
.../api_fastapi/core_api/services/ui/grid.py | 7 +-
.../api_fastapi/core_api/services/ui/task_group.py | 56 +++++--
.../config_templates/airflow_local_settings.py | 8 +
.../src/airflow/config_templates/config.yml | 9 +-
airflow-core/src/airflow/logging_config.py | 50 +++++-
.../airflow/serialization/definitions/taskgroup.py | 25 ++-
.../airflow/ui/public/i18n/locales/he/admin.json | 1 +
.../airflow/ui/public/i18n/locales/he/assets.json | 17 ++
.../airflow/ui/public/i18n/locales/he/common.json | 87 +++++++++-
.../ui/public/i18n/locales/he/components.json | 2 +
.../src/airflow/ui/public/i18n/locales/he/dag.json | 22 +++
.../airflow/ui/public/i18n/locales/he/dags.json | 11 ++
.../ui/public/i18n/locales/he/dashboard.json | 19 +++
.../airflow/ui/public/i18n/locales/he/hitl.json | 14 ++
.../tests/unit/logging/test_logging_config.py | 63 ++++++++
airflow-core/tests/unit/utils/test_task_group.py | 128 +++++++++++++--
contributing-docs/05_pull_requests.rst | 30 ++++
generated/provider_metadata.json | 120 ++++++++++++++
kubernetes-tests/lang_sdk/go_example/go.mod | 6 +-
kubernetes-tests/lang_sdk/go_example/go.sum | 36 ++---
providers/.pre-commit-config.yaml | 4 +-
.../alibaba/cloud/sensors/test_analyticdb_spark.py | 2 +-
providers/amazon/docs/operators/dynamodb.rst | 1 +
providers/amazon/provider.yaml | 3 +
.../providers/amazon/aws/sensors/dynamodb.py | 39 +++++
.../providers/amazon/aws/triggers/dynamodb.py | 168 ++++++++++++++++++++
.../airflow/providers/amazon/get_provider_info.py | 4 +
.../tests/unit/amazon/aws/sensors/test_dynamodb.py | 54 +++++++
.../unit/amazon/aws/triggers/test_dynamodb.py | 175 +++++++++++++++++++++
.../flink/operators/test_flink_kubernetes.py | 2 +-
.../apache/flink/sensors/test_flink_kubernetes.py | 3 +-
.../hive/tests/unit/apache/hive/hooks/test_hive.py | 3 +-
.../tests/unit/apache/hive/operators/test_hive.py | 3 +-
.../apache/hive/transfers/test_hive_to_mysql.py | 3 +-
.../apache/hive/transfers/test_mysql_to_hive.py | 2 +-
.../tests/unit/apache/livy/operators/test_livy.py | 3 +-
.../tests/unit/apache/livy/sensors/test_livy.py | 2 +-
.../unit/apache/spark/decorators/test_pyspark.py | 2 +-
.../unit/apache/spark/operators/test_spark_jdbc.py | 2 +-
.../apache/spark/operators/test_spark_pyspark.py | 2 +-
.../unit/apache/spark/operators/test_spark_sql.py | 2 +-
.../apache/spark/operators/test_spark_submit.py | 2 +-
.../apache/tinkerpop/operators/test_gremlin.py | 2 +-
.../tests/unit/arangodb/sensors/test_arangodb.py | 2 +-
.../unit/atlassian/jira/operators/test_jira.py | 2 +-
.../tests/unit/atlassian/jira/sensors/test_jira.py | 2 +-
.../unit/cncf/kubernetes/operators/test_job.py | 3 +-
.../unit/cncf/kubernetes/operators/test_pod.py | 2 +-
.../cncf/kubernetes/operators/test_resource.py | 3 +-
.../kubernetes/operators/test_spark_kubernetes.py | 3 +-
.../kubernetes/sensors/test_spark_kubernetes.py | 3 +-
providers/common/ai/docs/operators/llm_sql.rst | 5 +
.../providers/common/ai/utils/file_analysis.py | 5 +-
.../unit/common/ai/plugins/test_hitl_review.py | 2 +-
.../unit/common/ai/utils/test_file_analysis.py | 24 +++
.../system/common/sql/example_generic_transfer.py | 2 +-
.../common/sql/example_sql_column_table_check.py | 2 +-
.../common/sql/operators/test_generic_transfer.py | 2 +-
.../tests/unit/dbt/cloud/utils/test_openlineage.py | 3 +-
.../tests/unit/dingding/operators/test_dingding.py | 2 +-
.../unit/discord/operators/test_discord_webhook.py | 2 +-
.../unit/elasticsearch/log/test_es_task_handler.py | 8 +-
providers/ftp/tests/unit/ftp/operators/test_ftp.py | 5 +-
.../providers/google/cloud/operators/gcs.py | 3 +-
.../airflow/providers/google/cloud/triggers/gcs.py | 2 +-
.../cloud/log/test_stackdriver_task_handler.py | 2 +-
.../test_cloud_storage_transfer_service.py | 3 +-
.../unit/google/cloud/operators/test_compute.py | 3 +-
.../operators/test_bid_manager.py | 2 +-
.../operators/test_campaign_manager.py | 2 +-
.../operators/test_display_video.py | 2 +-
.../providers/microsoft/azure/hooks/batch.py | 3 +-
.../microsoft/azure/operators/test_data_factory.py | 3 +-
.../unit/microsoft/azure/operators/test_synapse.py | 3 +-
.../unit/microsoft/azure/sensors/test_wasb.py | 3 +-
.../tests/integration/mongo/sensors/test_mongo.py | 2 +-
.../mongo/tests/unit/mongo/sensors/test_mongo.py | 2 +-
.../unit/openlineage/plugins/test_execution.py | 2 +-
.../unit/opensearch/log/test_os_task_handler.py | 8 +-
.../tests/unit/opsgenie/operators/test_opsgenie.py | 2 +-
.../unit/papermill/operators/test_papermill.py | 2 +-
.../qdrant/operators/test_qdrant_ingest.py | 2 +-
.../redis/operators/test_redis_publish.py | 2 +-
.../integration/redis/sensors/test_redis_key.py | 2 +-
.../redis/sensors/test_redis_pub_sub.py | 2 +-
.../unit/redis/operators/test_redis_publish.py | 2 +-
.../tests/unit/redis/sensors/test_redis_key.py | 2 +-
.../tests/unit/redis/sensors/test_redis_pub_sub.py | 2 +-
.../unit/sftp/decorators/sensors/test_sftp.py | 2 +-
.../sftp/tests/unit/sftp/operators/test_sftp.py | 6 +-
.../airflow/providers/snowflake/hooks/snowflake.py | 2 +-
.../providers/snowflake/utils/openlineage.py | 2 +-
.../unit/snowflake/decorators/test_snowpark.py | 3 +-
.../tests/unit/snowflake/hooks/test_snowflake.py | 3 +-
.../unit/snowflake/operators/test_snowpark.py | 2 +-
.../tests/unit/snowflake/utils/test_openlineage.py | 3 +-
.../src/airflow/providers/ssh/utils/remote_job.py | 8 +-
.../ssh/tests/unit/ssh/utils/test_remote_job.py | 48 +++++-
.../standard/decorators/test_python_virtualenv.py | 2 +-
.../tests/unit/standard/operators/test_bash.py | 8 +-
.../standard/operators/test_branch_operator.py | 2 +-
.../operators/test_latest_only_operator.py | 2 +-
.../tests/unit/standard/operators/test_weekday.py | 3 +-
.../unit/standard/triggers/test_external_task.py | 2 +-
.../tests/unit/standard/triggers/test_temporal.py | 6 +-
.../tests/integration/ydb/operators/test_ydb.py | 2 +-
pyproject.toml | 8 +-
scripts/ci/prek/update_airflow_pyproject_toml.py | 4 +-
scripts/ci/prek/validate_operators_init.py | 81 ++++++++--
.../ci/prek/validate_operators_init_exemptions.txt | 8 +-
.../tests/ci/prek/test_validate_operators_init.py | 116 +++++++++++++-
shared/dagnode/src/airflow_shared/dagnode/node.py | 38 +++++
.../logging/src/airflow_shared/logging/remote.py | 20 ++-
task-sdk/src/airflow/sdk/definitions/taskgroup.py | 23 ++-
task-sdk/src/airflow/sdk/log.py | 7 +-
.../tests/task_sdk/definitions/test_taskgroup.py | 3 +-
122 files changed, 1621 insertions(+), 244 deletions(-)
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/triggers/dynamodb.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/triggers/test_dynamodb.py