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

utkarsharma pushed a change to branch v2-10-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git


    from 91f8265b68 Sync v2-10-stable with v2-10-test to release python client 
v2.10.0 (#41610)
     add 6f2121a32f Fix try selector refresh (#41483) (#41503)
     add 29270afefa Remove debian bullseye support (#41568) (#41569)
     add 0d6d1e1316 Field Deletion Warning when editing Connections (#41144) 
(#41504)
     add 9a32f7ddde [Backport] Deprecate implicit default DAG schedule (#41469)
     add 29f61a0d03 Fix UI rendering when XCom is INT, FLOAT, BOOL or NULL 
(#41516) (#41605)
     add 36ea9e7fb0 Fix InletEventsAccessors type stub (#41572) (#41607)
     add 8ffe7d67f8 Set better logging level for path wrapper (#41615) (#41668)
     add 400dddca90 Change confirmation text (#41650) (#41679)
     add ceb605191b Adding url sanitisation for extra links (#41665) (#41680)
     add 03e01e76d2 Splitting syspath preparation into stages (#41672) (#41694)
     add 9deba7b9a2 fix log for notifier(instance) without __name__ (#41591) 
(#41699)
     add e8f981131b Adding rel property to hyperlinks in logs (#41696) (#41783)
     add da1820b1f7 Bump micromatch from 4.0.5 to 4.0.8 in /airflow/www (#41755)
     add af3566f907 chore(docs): add an example for auth with keycloak (#41687) 
(#41791)
     add 991906c2d0 Remove deprecation warning for cgitb in Plugins Manager 
(#41732) (#41793)
     add 4a346a07ae Don't Fail LocalTaskJob on heartbeat (#41704) (#41810)
     add 556552940c Keep FAB compatibility for versions before 1.3.0 in 2.10 
(#41549) (#41809)
     add f986fdb6b5 Pin universal-pathlib to 0.2.2 as 0.2.3 generates static 
code check errors (#41715) (#41820)
     add 1bcf94bdc3 Fix: DAGs are not marked as stale if the dags folder change 
(#41433) (#41829)
     add 56990073a5 Set end_date and duration for triggers completed with 
end_from_trigger as True. (#41834)
     add bf2efaa646 logout link in no roles error page fix (#41813) (#41845)
     add 6fb6fdb80a Handle Example dags case when checking for missing files 
(#41856) (#41874)
     add a6dfae313f Bump webpack from 5.76.0 to 5.94.0 in /airflow/www (#41864) 
(#41879)
     add 09ec261656 Adding tojson filter to example_inlet_event_extra example 
dag (#41873) (#41890)
     add fa03a32120 Skip test_scan_stale_dags_when_dag_folder_change in DB 
isolation mode (#41893) (#41895)
     add aafad2aeee Make Scarf usage reporting in major+minor versions and 
counters in buckets (#41900)
     add d4c2dd0f41 Update release command for Airflow 2 (#41907)
     add d17797896c Upgrade UV to 0.4.1 (#41925) (#41926)
     add 6d8e88c0cd Add backcompat check for executors that don't inherit 
BaseExecutor (#41906) (#41927)
     add 4cd17c0d60 Update version to 2.10.1.
     add 3273171c70 Update RELEASE_NOTES.rst
     add 3304c2a548 Protect against None components of universal pathlib xcom 
backend (#41921) (#41938)
     add 854173176f Lower down universal-pathlib minimum to 0.2.2 (#41939) 
(#41943)

No new revisions were added by this update.

Summary of changes:
 .github/workflows/basic-tests.yml                  |   3 +-
 .github/workflows/ci-image-build.yml               |   2 +-
 .github/workflows/prod-image-build.yml             |   2 +-
 .github/workflows/prod-image-extra-checks.yml      |  21 -
 .github/workflows/push-image-cache.yml             |   2 +-
 Dockerfile                                         |  21 +-
 Dockerfile.ci                                      |  23 +-
 README.md                                          |  36 +-
 RELEASE_NOTES.rst                                  |  42 ++
 airflow/__init__.py                                |   2 +-
 airflow/api_connexion/openapi/v1.yaml              |   3 +-
 airflow/dag_processing/manager.py                  |  15 +-
 .../example_dags/example_dynamic_task_mapping.py   |   2 +-
 ...amic_task_mapping_with_no_taskflow_operators.py |   1 +
 airflow/example_dags/example_inlet_event_extra.py  |   2 +-
 airflow/example_dags/example_setup_teardown.py     |   1 +
 .../example_setup_teardown_taskflow.py             |   1 +
 .../example_short_circuit_decorator.py             |   2 +-
 .../example_dags/example_short_circuit_operator.py |   1 +
 airflow/example_dags/example_skip_dag.py           |   2 +
 airflow/example_dags/example_task_group.py         |   1 +
 .../example_dags/example_task_group_decorator.py   |   1 +
 airflow/io/path.py                                 |   4 +-
 airflow/jobs/local_task_job_runner.py              |  11 +-
 airflow/jobs/scheduler_job_runner.py               |   3 +
 airflow/models/dag.py                              |  38 +-
 airflow/models/taskinstance.py                     |  15 +-
 airflow/plugins_manager.py                         |   3 +-
 airflow/providers/common/io/xcom/backend.py        |   7 +-
 airflow/reproducible_build.yaml                    |   4 +-
 airflow/serialization/serialized_objects.py        |   2 +-
 airflow/settings.py                                |  17 +-
 airflow/triggers/base.py                           |   2 +-
 airflow/utils/context.pyi                          |   2 +-
 airflow/utils/usage_data_collection.py             |  18 +-
 airflow/www/package.json                           |   2 +-
 .../www/static/js/components/RenderedJsonField.tsx |  21 +-
 airflow/www/static/js/components/utils.test.ts     |  84 ++++
 .../utils.ts}                                      |  29 +-
 airflow/www/static/js/connection_form.js           |  15 +-
 .../js/dag/details/taskInstance/ExtraLinks.tsx     |  10 +-
 .../dag/details/taskInstance/Logs/utils.test.tsx   |   4 +-
 .../js/dag/details/taskInstance/Logs/utils.ts      |   2 +-
 .../js/dag/details/taskInstance/TrySelector.tsx    |  92 ++--
 .../js/dag/details/taskInstance/Xcom/XcomEntry.tsx |   9 +-
 airflow/www/static/js/types/api-generated.ts       |   2 +-
 airflow/www/templates/airflow/confirm.html         |   2 +-
 .../templates/airflow/no_roles_permissions.html    |   7 +-
 airflow/www/views.py                               |   7 +-
 airflow/www/yarn.lock                              | 459 ++++++++++----------
 dev/README_RELEASE_AIRFLOW.md                      |  49 +--
 dev/breeze/doc/ci/05_workflows.md                  |   1 -
 dev/breeze/doc/ci/06_diagrams.md                   |   1 -
 dev/breeze/doc/images/output_ci-image_build.svg    | 116 +++--
 dev/breeze/doc/images/output_ci-image_build.txt    |   2 +-
 dev/breeze/doc/images/output_prod-image_build.svg  | 146 +++----
 dev/breeze/doc/images/output_prod-image_build.txt  |   2 +-
 .../output_release-management_start-rc-process.svg |  26 +-
 .../output_release-management_start-rc-process.txt |   2 +-
 .../commands/release_candidate_command.py          |  10 +-
 .../commands/release_management_commands_config.py |   1 +
 dev/breeze/src/airflow_breeze/global_constants.py  |   2 +-
 .../auth-manager/webserver-authentication.rst      |  91 ++++
 docs/apache-airflow/howto/docker-compose/index.rst |   2 +-
 docs/apache-airflow/installation/dependencies.rst  |  20 -
 docs/apache-airflow/installation/prerequisites.rst |   3 +-
 .../installation/supported-versions.rst            |   2 +-
 docs/docker-stack/README.md                        |  10 +-
 docs/docker-stack/build.rst                        |  21 -
 docs/docker-stack/changelog.rst                    |   4 +
 .../docker-examples/customizing/debian-bullseye.sh |  37 --
 .../extending/add-airflow-configuration/Dockerfile |   2 +-
 .../extending/add-apt-packages/Dockerfile          |   2 +-
 .../add-build-essential-extend/Dockerfile          |   2 +-
 .../extending/add-providers/Dockerfile             |   2 +-
 .../add-pypi-packages-constraints/Dockerfile       |   2 +-
 .../extending/add-pypi-packages-uv/Dockerfile      |   2 +-
 .../extending/add-pypi-packages/Dockerfile         |   2 +-
 .../extending/add-requirement-packages/Dockerfile  |   2 +-
 .../extending/custom-providers/Dockerfile          |   2 +-
 .../extending/embedding-dags/Dockerfile            |   2 +-
 .../extending/writable-directory/Dockerfile        |   2 +-
 docs/docker-stack/entrypoint.rst                   |  14 +-
 docs/spelling_wordlist.txt                         |   1 +
 generated/PYPI_README.md                           |  26 +-
 hatch_build.py                                     |   1 -
 kubernetes_tests/test_kubernetes_pod_operator.py   |   2 +-
 scripts/ci/pre_commit/supported_versions.py        |   2 +-
 scripts/docker/install_os_dependencies.sh          |  19 +-
 tests/api_connexion/endpoints/test_dag_endpoint.py |  37 +-
 .../endpoints/test_extra_link_endpoint.py          |   2 +-
 tests/api_connexion/endpoints/test_log_endpoint.py |   2 +-
 .../api_connexion/endpoints/test_task_endpoint.py  |   4 +-
 tests/api_connexion/schemas/test_dag_schema.py     |   3 +-
 tests/api_experimental/common/test_delete_dag.py   |   6 +-
 tests/api_experimental/common/test_trigger_dag.py  |  16 +-
 tests/callbacks/test_callback_requests.py          |   5 +-
 tests/conftest.py                                  |   8 +
 tests/core/test_settings.py                        |  33 +-
 tests/dag_processing/test_job_runner.py            |  84 +++-
 tests/dags/test_cli_triggered_dags.py              |   4 +-
 tests/dags/test_dagrun_fast_follow.py              |   2 +-
 tests/dags/test_default_impersonation.py           |   2 +-
 tests/dags/test_double_trigger.py                  |   2 +-
 .../test_external_task_sensor_check_existense.py   |  12 +-
 tests/dags/test_heartbeat_failed_fast.py           |   2 +-
 tests/dags/test_impersonation.py                   |   2 +-
 tests/dags/test_impersonation_subdag.py            |   4 +-
 tests/dags/test_issue_1225.py                      |  42 +-
 tests/dags/test_latest_runs.py                     |   2 +-
 tests/dags/test_mapped_classic.py                  |   2 +-
 tests/dags/test_mapped_taskflow.py                 |   6 +-
 tests/dags/test_mark_state.py                      |   2 +-
 tests/dags/test_no_impersonation.py                |   2 +-
 tests/dags/test_on_failure_callback.py             |   2 +-
 tests/dags/test_on_kill.py                         |   2 +-
 tests/dags/test_parsing_context.py                 |   2 +-
 tests/dags/test_prev_dagrun_dep.py                 |   6 +-
 tests/dags/test_scheduler_dags.py                  |  12 +-
 tests/dags/test_task_view_type_check.py            |   2 +-
 tests/dags/test_zip.zip                            | Bin 2285 -> 1999 bytes
 tests/dags_corrupted/test_impersonation_custom.py  |   4 +-
 tests/dags_with_system_exit/a_system_exit.py       |   4 +-
 .../dags_with_system_exit/b_test_scheduler_dags.py |   4 +-
 tests/dags_with_system_exit/c_system_exit.py       |   4 +-
 tests/decorators/test_mapped.py                    |   2 +-
 tests/decorators/test_python.py                    |   4 +-
 tests/decorators/test_task_group.py                |  16 +-
 .../integration/executors/test_celery_executor.py  |  10 +-
 .../redis/operators/test_redis_publish.py          |   2 +-
 tests/jobs/test_scheduler_job.py                   |   1 +
 tests/jobs/test_triggerer_job.py                   |   2 +-
 tests/models/test_baseoperator.py                  |  48 +-
 tests/models/test_cleartasks.py                    |   1 +
 tests/models/test_dag.py                           | 482 ++++++++++++---------
 tests/models/test_dagbag.py                        |  54 ++-
 tests/models/test_dagrun.py                        |  82 +++-
 tests/models/test_mappedoperator.py                |  16 +-
 tests/models/test_serialized_dag.py                |   6 +-
 tests/models/test_taskinstance.py                  |  35 +-
 tests/models/test_trigger.py                       |  10 +-
 tests/operators/test_generic_transfer.py           |   2 +-
 tests/operators/test_subdag_operator.py            |  40 +-
 .../amazon/aws/log/test_cloudwatch_task_handler.py |   2 +-
 .../amazon/aws/log/test_s3_task_handler.py         |   2 +-
 .../amazon/aws/operators/test_cloud_formation.py   |   4 +-
 .../amazon/aws/operators/test_emr_add_steps.py     |  13 +-
 .../aws/operators/test_emr_create_job_flow.py      |   1 +
 .../aws/operators/test_emr_modify_cluster.py       |   2 +-
 tests/providers/amazon/aws/operators/test_rds.py   |  72 ++-
 .../amazon/aws/operators/test_sagemaker_base.py    |   2 +-
 tests/providers/amazon/aws/sensors/test_rds.py     |  24 +-
 tests/providers/amazon/aws/sensors/test_s3.py      |   4 +-
 tests/providers/amazon/aws/transfers/test_base.py  |   2 +-
 .../amazon/aws/transfers/test_dynamodb_to_s3.py    |   2 +-
 .../amazon/aws/transfers/test_hive_to_dynamodb.py  |   2 +-
 .../amazon/aws/transfers/test_http_to_s3.py        |   2 +-
 .../amazon/aws/transfers/test_local_to_s3.py       |   2 +-
 .../amazon/aws/transfers/test_mongo_to_s3.py       |   2 +-
 .../apache/druid/transfers/test_hive_to_druid.py   |   2 +-
 .../flink/operators/test_flink_kubernetes.py       |   2 +-
 .../apache/flink/sensors/test_flink_kubernetes.py  |   2 +-
 tests/providers/apache/hive/__init__.py            |   2 +-
 tests/providers/apache/hive/hooks/test_hive.py     |   2 +-
 .../hive/sensors/test_named_hive_partition.py      |   2 +-
 .../apache/hive/transfers/test_vertica_to_hive.py  |   2 +-
 .../apache/kylin/operators/test_kylin_cube.py      |   2 +-
 tests/providers/apache/livy/operators/test_livy.py |   2 +-
 tests/providers/apache/livy/sensors/test_livy.py   |   2 +-
 .../apache/spark/operators/test_spark_jdbc.py      |   2 +-
 .../apache/spark/operators/test_spark_sql.py       |   2 +-
 .../apache/spark/operators/test_spark_submit.py    |   2 +-
 tests/providers/arangodb/sensors/test_arangodb.py  |   2 +-
 .../providers/asana/operators/test_asana_tasks.py  |   3 +-
 .../celery/executors/test_celery_executor.py       |   6 +-
 .../cncf/kubernetes/operators/test_job.py          |   4 +-
 .../cncf/kubernetes/operators/test_pod.py          |   7 +-
 .../cncf/kubernetes/operators/test_resource.py     |   2 +-
 .../kubernetes/operators/test_spark_kubernetes.py  |   6 +-
 .../kubernetes/sensors/test_spark_kubernetes.py    |   2 +-
 tests/providers/common/sql/operators/test_sql.py   |  13 +-
 tests/providers/common/sql/sensors/test_sql.py     |   2 +-
 .../databricks/operators/test_databricks.py        |   8 +-
 .../operators/test_databricks_workflow.py          |   6 +-
 .../sensors/test_databricks_partition.py           |   2 +-
 .../databricks/sensors/test_databricks_sql.py      |   2 +-
 tests/providers/dbt/cloud/operators/test_dbt.py    |   6 +-
 .../providers/dingding/operators/test_dingding.py  |   2 +-
 .../discord/operators/test_discord_webhook.py      |   2 +-
 tests/providers/docker/decorators/test_docker.py   |   2 +-
 tests/providers/fab/auth_manager/test_security.py  |   4 +-
 tests/providers/ftp/operators/test_ftp.py          |  10 +-
 tests/providers/github/operators/test_github.py    |   2 +-
 tests/providers/github/sensors/test_github.py      |   2 +-
 .../google/cloud/operators/test_cloud_build.py     |   2 +-
 .../google/cloud/operators/test_dataproc.py        |   6 +-
 .../google/cloud/operators/test_mlengine.py        |   2 +-
 .../google/cloud/transfers/test_gcs_to_bigquery.py |   2 +-
 .../google/cloud/transfers/test_local_to_gcs.py    |   2 +-
 tests/providers/http/sensors/test_http.py          |   2 +-
 .../microsoft/azure/operators/test_data_factory.py |   2 +-
 .../azure/operators/test_wasb_delete_blob.py       |   2 +-
 .../providers/microsoft/azure/sensors/test_wasb.py |   8 +-
 .../azure/transfers/test_local_to_wasb.py          |   2 +-
 tests/providers/mysql/hooks/test_mysql.py          |   2 +-
 tests/providers/mysql/operators/test_mysql.py      |   9 +-
 .../mysql/transfers/test_presto_to_mysql.py        |   2 +-
 .../mysql/transfers/test_trino_to_mysql.py         |   2 +-
 .../mysql/transfers/test_vertica_to_mysql.py       |   2 +-
 .../providers/openlineage/plugins/test_adapter.py  |  11 +-
 .../providers/openlineage/plugins/test_listener.py |   3 +
 .../openlineage/utils/test_selective_enable.py     |   4 +-
 tests/providers/openlineage/utils/test_utils.py    |  44 +-
 .../providers/opsgenie/operators/test_opsgenie.py  |   6 +-
 .../providers/pinecone/operators/test_pinecone.py  |   2 +-
 .../providers/postgres/operators/test_postgres.py  |   4 +-
 .../providers/redis/log/test_redis_task_handler.py |   2 +-
 .../redis/operators/test_redis_publish.py          |   2 +-
 tests/providers/redis/sensors/test_redis_key.py    |   2 +-
 .../providers/redis/sensors/test_redis_pub_sub.py  |   2 +-
 tests/providers/sftp/operators/test_sftp.py        |  12 +-
 .../slack/transfers/test_sql_to_slack_webhook.py   |   2 +-
 .../snowflake/operators/test_snowflake.py          |   4 +-
 tests/providers/sqlite/operators/test_sqlite.py    |   2 +-
 tests/sensors/test_bash.py                         |   2 +-
 tests/sensors/test_date_time.py                    |   2 +-
 tests/sensors/test_external_task_sensor.py         |  10 +-
 tests/sensors/test_filesystem.py                   |   3 +-
 tests/sensors/test_time_delta.py                   |   4 +-
 tests/sensors/test_time_sensor.py                  |  13 +-
 tests/sensors/test_weekday_sensor.py               |   4 +-
 tests/serialization/test_dag_serialization.py      |  97 +++--
 .../providers/alibaba/example_adb_spark_batch.py   |   1 +
 .../providers/alibaba/example_adb_spark_sql.py     |   1 +
 .../system/providers/alibaba/example_oss_bucket.py |   1 +
 .../system/providers/alibaba/example_oss_object.py |   1 +
 .../apache/kafka/example_dag_event_listener.py     |   1 +
 .../databricks/example_databricks_workflow.py      |   2 +-
 tests/system/providers/github/example_github.py    |   1 +
 .../cloud/cloud_sql/example_cloud_sql_query.py     |   1 +
 .../cloud/cloud_sql/example_cloud_sql_query_ssl.py |   1 +
 .../cloud/compute/example_compute_ssh_os_login.py  |   2 +-
 .../cloud/compute/example_compute_ssh_parallel.py  |   2 +-
 .../google/cloud/dataflow/example_dataflow_sql.py  |   1 +
 .../google/cloud/datafusion/example_datafusion.py  |   1 +
 .../example_cloud_storage_transfer_service_aws.py  |   1 +
 tests/system/providers/http/example_http.py        |   1 +
 .../providers/influxdb/example_influxdb_query.py   |   1 +
 .../azure/example_azure_batch_operator.py          |   1 +
 .../microsoft/azure/example_azure_cosmosdb.py      |   1 +
 .../microsoft/azure/example_wasb_sensors.py        |   1 +
 tests/system/providers/mysql/example_mysql.py      |   1 +
 tests/system/providers/neo4j/example_neo4j.py      |   1 +
 .../opsgenie/example_opsgenie_notifier.py          |   1 +
 .../providers/redis/example_redis_publish.py       |   1 +
 .../system/providers/telegram/example_telegram.py  |   2 +-
 tests/template/test_templater.py                   |   2 +-
 tests/ti_deps/deps/test_dagrun_exists_dep.py       |   2 +-
 tests/ti_deps/deps/test_prev_dagrun_dep.py         |   9 +-
 tests/ti_deps/deps/test_task_concurrency.py        |   2 +-
 tests/triggers/test_external_task.py               |   4 +-
 tests/utils/test_dag_cycle.py                      |  18 +-
 tests/utils/test_dot_renderer.py                   |   6 +-
 tests/utils/test_edgemodifier.py                   |   8 +-
 tests/utils/test_log_handlers.py                   |   8 +-
 tests/utils/test_sqlalchemy.py                     |   7 +-
 tests/utils/test_state.py                          |   4 +-
 tests/utils/test_task_group.py                     | 103 +++--
 tests/utils/test_types.py                          |   4 +-
 tests/utils/test_usage_data_collection.py          |  43 +-
 tests/www/views/test_views.py                      |  10 +-
 tests/www/views/test_views_acl.py                  |   2 +-
 tests/www/views/test_views_decorators.py           |   2 +-
 tests/www/views/test_views_extra_links.py          |   2 +-
 tests/www/views/test_views_home.py                 |  12 +-
 tests/www/views/test_views_rendered.py             |   1 +
 tests/www/views/test_views_tasks.py                |   8 +-
 277 files changed, 2174 insertions(+), 1487 deletions(-)
 create mode 100644 airflow/www/static/js/components/utils.test.ts
 copy airflow/www/static/js/{utils/URLSearchParamWrapper.ts => 
components/utils.ts} (60%)
 delete mode 100755 
docs/docker-stack/docker-examples/customizing/debian-bullseye.sh

Reply via email to