This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/npm_and_yarn/dev/react-plugin-tools/react_plugin_template/ui-plugin-template-package-updates-6b1982b9af
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard d455674927e Bump the ui-plugin-template-package-updates group across 1
directory with 18 updates
add e9021dba9b2 `task-sql-decorator`: Introducing the `@task.sql`
decorator (#60851)
add 3b9fe5eeb15 remove mp_start_method remnants (#61150)
add ec136bdb017 Bump the core-ui-package-updates group across 1 directory
with 10 updates (#62041)
add 73c57cc405d Bump the fab-ui-package-updates group across 1 directory
with 2 updates (#62039)
add 4377a8d1609 Make backport responsibility clearer (#62047)
add 70866cf4dbd Change FAB asset compilation from yarn to pnpm (#61958)
add 32e414d9c10 Support Python 3.13 in apache beam provider (#61978)
add d07aec28c90 Switch Cloud Run operators to use regional endpoints
(#61857)
add 63ea296047d Use the regular OTel environment variables for configuring
traces and metrics (#56150)
add 7829000cad8 Override `tar` dependency in Simple auth manager (#62053)
add ae8cdf76eb5 Add support for multi-team in Simple auth manager (#61861)
add 9880716dc07 Fix scheduler heartbeat misses caused by slow reschedule
dependency check (#61983)
add 8064eb91d02 Add temporal for partition_mappers (#61522)
add b3ffaaf67c2 Extend PartitionedAssetTimetable to allow per asset
partition (#60966)
add 1835b69f7fd feat: Add Hook Level Lineage to SQL hooks (#61535)
add b4ff259c650 Migrate connection UI metadata to YAML for some providers
(#62011)
add 0ae12a1560c Correct compat shim routing for XCom models and introduce
deprecation warning (#62067)
add fb2ea69165c Make provider dependency comment matching more flexible
(#62074)
add aa8f9c40f14 Databricks OIDC token federation for Kubernetes deployment
(#61458)
add d5ca4b0f4ba Feature/enable dynamic build of fab UI assets (#61959)
add dc1baec36d9 feat: Make Hook Level Lineage limits configurable (#62010)
add d39aca4a32d Add segmented state bar for collapsed task groups and
mapped tasks (#61854)
add e9b05f9f649 Handle CrawlerRunningException gracefully in
GlueCrawlerOperator (#62016)
add 2ee58a46066 Bump the ui-plugin-template-package-updates group across 1
directory with 18 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 (d455674927e)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/dev/react-plugin-tools/react_plugin_template/ui-plugin-template-package-updates-6b1982b9af
(2ee58a46066)
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/workflows/prod-image-build.yml | 7 +
.pre-commit-config.yaml | 2 +
.../logging-monitoring/metrics.rst | 16 +-
.../logging-monitoring/traces.rst | 14 +-
airflow-core/docs/img/airflow_erd.sha256 | 2 +-
airflow-core/docs/img/airflow_erd.svg | 1692 ++--
airflow-core/docs/migrations-ref.rst | 8 +-
.../auth/managers/simple/services/login.py | 5 +-
.../auth/managers/simple/simple_auth_manager.py | 60 +-
.../auth/managers/simple/ui/package-lock.json | 1966 +++--
.../auth/managers/simple/ui/package.json | 25 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 718 +-
.../api_fastapi/auth/managers/simple/user.py | 13 +-
airflow-core/src/airflow/assets/manager.py | 12 +-
.../src/airflow/config_templates/config.yml | 143 +-
airflow-core/src/airflow/configuration.py | 2 -
...86_3_1_8_add_index_to_task_reschedule_ti_id.py} | 38 +-
..._2_0_replace_asset_trigger_table_with_asset.py} | 4 +-
..._change_serialized_dag_data_column_to_jsonb.py} | 0
..._2_0_add_length_dag_bundle_team_bundle_name.py} | 0
..._3_2_0_add_human_in_the_loop_detail_history.py} | 0
...py => 0091_3_2_0_add_fail_fast_to_dag_table.py} | 0
...py => 0092_3_2_0_restructure_callback_table.py} | 0
..._replace_deadline_inline_callback_with_fkey.py} | 0
...=> 0094_3_2_0_update_orm_asset_partitioning.py} | 0
...ove_team_id.py => 0095_3_2_0_remove_team_id.py} | 0
...enforce_log_event_and_dag_is_stale_not_null.py} | 0
...y => 0097_3_2_0_add_queue_column_to_trigger.py} | 0
..._2_0_add_exceeds_max_runs_flag_to_dag_model.py} | 0
..._3_2_0_add_timetable_type_to_dag_table_for_.py} | 0
...=> 0100_3_2_0_ui_improvements_for_deadlines.py} | 0
.../0101_3_2_0_make_external_executor_id_text.py | 4 +-
airflow-core/src/airflow/models/taskreschedule.py | 2 +-
airflow-core/src/airflow/models/xcom.py | 17 +-
.../airflow/observability/metrics/otel_logger.py | 27 +-
.../airflow/observability/traces/otel_tracer.py | 17 +-
.../__init__.py | 0
.../base.py | 0
.../identity.py | 3 +-
.../src/airflow/partition_mappers/temporal.py | 144 +
airflow-core/src/airflow/plugins_manager.py | 2 +-
airflow-core/src/airflow/serialization/decoders.py | 2 +-
.../airflow/serialization/definitions/assets.py | 4 +
airflow-core/src/airflow/serialization/encoders.py | 64 +-
airflow-core/src/airflow/serialization/helpers.py | 8 +-
airflow-core/src/airflow/timetables/simple.py | 85 +-
.../components/Graph/SegmentedStateBar.test.tsx | 81 +
.../SegmentedStateBar.tsx} | 48 +-
.../airflow/ui/src/components/Graph/TaskNode.tsx | 13 +-
.../ui/src/components/Graph/useGraphLayout.ts | 3 +-
.../ui/src/components/TaskInstanceTooltip.tsx | 28 +-
airflow-core/src/airflow/ui/src/utils/index.ts | 1 +
.../src/airflow/ui/src/utils/stateUtils.test.ts | 97 +
.../src/airflow/ui/src/utils/stateUtils.ts | 64 +
airflow-core/src/airflow/utils/db.py | 1 +
airflow-core/tests/integration/otel/test_otel.py | 13 +-
.../auth/managers/simple/services/test_login.py | 32 +-
.../managers/simple/test_simple_auth_manager.py | 85 +-
.../api_fastapi/auth/managers/simple/test_user.py | 3 -
airflow-core/tests/unit/api_fastapi/conftest.py | 4 +-
.../api_fastapi/core_api/routes/ui/test_teams.py | 8 +-
airflow-core/tests/unit/jobs/test_scheduler_job.py | 28 +-
.../tests/unit/models/test_taskinstance.py | 4 +-
.../unit/observability/traces/test_otel_tracer.py | 307 +-
.../unit/partition_mappers}/__init__.py | 0
.../unit/partition_mappers/test_identity.py} | 18 +-
.../tests/unit/partition_mappers/test_temporal.py | 83 +
.../unit/serialization/test_serialized_objects.py | 92 +-
.../unit/timetables/test_partitioned_timetable.py | 181 +
dev/backport/update_backport_status.py | 14 +-
dev/breeze/doc/09_release_management_tasks.rst | 3 +-
.../airflow_breeze/commands/developer_commands.py | 11 +-
dev/breeze/src/airflow_breeze/utils/packages.py | 8 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 6 +
dev/breeze/src/airflow_breeze/utils/run_utils.py | 6 +
.../src/airflow_breeze/utils/selective_checks.py | 2 +-
.../tests/test_pytest_args_for_test_types.py | 1 +
dev/breeze/tests/test_selective_checks.py | 2 +-
devel-common/src/tests_common/pytest_plugin.py | 6 -
docs/spelling_wordlist.txt | 3 +
providers/amazon/provider.yaml | 91 +
providers/amazon/pyproject.toml | 2 +-
.../airflow/providers/amazon/aws/hooks/athena.py | 6 +
.../providers/amazon/aws/hooks/redshift_data.py | 14 +
.../providers/amazon/aws/operators/glue_crawler.py | 38 +-
.../airflow/providers/amazon/get_provider_info.py | 40 +-
.../tests/unit/amazon/aws/hooks/test_athena.py | 15 +
.../unit/amazon/aws/hooks/test_redshift_data.py | 24 +
.../unit/amazon/aws/hooks/test_redshift_sql.py | 78 +
.../unit/amazon/aws/operators/test_glue_crawler.py | 111 +
providers/apache/beam/docs/index.rst | 6 +-
providers/apache/beam/provider.yaml | 3 -
providers/apache/beam/pyproject.toml | 11 +-
providers/apache/drill/pyproject.toml | 2 +-
.../tests/unit/apache/drill/hooks/test_drill.py | 37 +
providers/apache/druid/pyproject.toml | 2 +-
.../tests/unit/apache/druid/hooks/test_druid.py | 37 +
providers/apache/hive/pyproject.toml | 2 +-
.../airflow/providers/apache/hive/hooks/hive.py | 4 +
.../hive/tests/unit/apache/hive/hooks/test_hive.py | 41 +
providers/apache/impala/pyproject.toml | 2 +-
.../tests/unit/apache/impala/hooks/test_impala.py | 54 +
providers/apache/pinot/pyproject.toml | 2 +-
.../airflow/providers/apache/pinot/hooks/pinot.py | 3 +
.../tests/unit/apache/pinot/hooks/test_pinot.py | 69 +
providers/common/sql/docs/operators.rst | 11 +
providers/common/sql/provider.yaml | 5 +
providers/common/sql/pyproject.toml | 1 +
.../providers/common/sql/decorators}/__init__.py | 0
.../providers/common/sql/decorators/sql.py} | 88 +-
.../providers/common/sql/get_provider_info.py | 4 +
.../airflow/providers/common/sql/hooks/handlers.py | 9 +
.../providers/common/sql/hooks/handlers.pyi | 1 +
.../airflow/providers/common/sql/hooks/lineage.py | 136 +
.../common/sql/hooks/{handlers.pyi => lineage.pyi} | 36 +-
.../src/airflow/providers/common/sql/hooks/sql.py | 51 +-
.../airflow/providers/common/sql/operators/sql.py | 18 +
.../system/common/sql/example_sql_execute_query.py | 10 +
.../tests/unit/common/sql/decorators}/__init__.py | 0
.../tests/unit/common/sql/decorators/test_sql.py | 273 +
.../sql/tests/unit/common/sql/hooks/test_dbapi.py | 55 +
.../tests/unit/common/sql/hooks/test_lineage.py | 201 +
.../databricks/docs/connections/databricks.rst | 306 +-
providers/databricks/pyproject.toml | 2 +-
.../providers/databricks/hooks/databricks.py | 13 +-
.../providers/databricks/hooks/databricks_base.py | 395 +-
.../tests/unit/databricks/hooks/test_databricks.py | 27 +-
.../unit/databricks/hooks/test_databricks_base.py | 913 +-
.../unit/databricks/hooks/test_databricks_sql.py | 73 +
providers/elasticsearch/pyproject.toml | 2 +-
.../unit/elasticsearch/hooks/test_elasticsearch.py | 37 +
providers/exasol/pyproject.toml | 2 +-
.../src/airflow/providers/exasol/hooks/exasol.py | 20 +
.../exasol/tests/unit/exasol/hooks/test_exasol.py | 59 +
providers/{edge3 => fab}/.gitignore | 0
providers/fab/.pre-commit-config.yaml | 3 +-
providers/{edge3 => fab}/hatch_build.py | 14 +-
providers/fab/provider.yaml | 1 +
providers/fab/pyproject.toml | 51 +-
.../airflow/providers/fab/www/package-lock.json | 9315 --------------------
.../fab/src/airflow/providers/fab/www/package.json | 12 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 6149 +++++++++++++
.../airflow/providers/fab/www/static/.gitignore | 1 +
.../fab/www/static/dist/48f0ea180c40270a5b05.png | 1 -
.../fab/www/static/dist/649c0b07771e68fafdeb.png | 1 -
.../www/static/dist/743.8fb7d21632ed892227fe.js | 2 -
.../dist/743.8fb7d21632ed892227fe.js.LICENSE.txt | 11 -
.../airflowDefaultTheme.51e5d14856ee1ebc83ca.css | 33 -
.../airflowDefaultTheme.51e5d14856ee1ebc83ca.js | 1 -
.../fab/www/static/dist/f7490d556a6c42e49ba4.png | 1 -
.../www/static/dist/flash.865b6940c00b2a9041b3.css | 18 -
.../www/static/dist/flash.865b6940c00b2a9041b3.js | 1 -
.../fab/www/static/dist/jquery-ui.min.css | 5 -
.../providers/fab/www/static/dist/jquery-ui.min.js | 2 -
.../www/static/dist/jquery-ui.min.js.LICENSE.txt | 4 -
.../dist/loadingDots.07f5b9805847242736e1.css | 18 -
.../dist/loadingDots.07f5b9805847242736e1.js | 1 -
.../www/static/dist/main.8cffe40bcf7cca998f4e.css | 18 -
.../www/static/dist/main.8cffe40bcf7cca998f4e.js | 2 -
.../dist/main.8cffe40bcf7cca998f4e.js.LICENSE.txt | 18 -
.../providers/fab/www/static/dist/manifest.json | 22 -
.../dist/materialIcons.4fe84ae36604d84dec78.css | 18 -
.../dist/materialIcons.4fe84ae36604d84dec78.js | 1 -
.../www/static/dist/moment.0ec3ee3fb60dc999b1fd.js | 1 -
.../fab/www/static/dist/oss-licenses.json | 20 -
.../static/dist/runtime.45b36fb8335446865b53.js | 1 -
providers/fab/www-hash.txt | 1 -
.../google/docs/operators/cloud/cloud_run.rst | 21 +
providers/google/provider.yaml | 13 +
providers/google/pyproject.toml | 4 +-
.../providers/google/cloud/hooks/bigquery.py | 50 +-
.../providers/google/cloud/hooks/cloud_run.py | 229 +-
.../providers/google/cloud/hooks/spanner.py | 6 +
.../providers/google/cloud/operators/cloud_run.py | 82 +-
.../providers/google/cloud/triggers/cloud_run.py | 18 +-
.../airflow/providers/google/get_provider_info.py | 15 +
.../google/cloud/cloud_run/example_cloud_run.py | 15 +-
.../cloud/cloud_run/example_cloud_run_service.py | 12 +-
.../tests/unit/google/cloud/hooks/test_bigquery.py | 149 +
.../unit/google/cloud/hooks/test_cloud_run.py | 153 +-
.../tests/unit/google/cloud/hooks/test_spanner.py | 26 +
.../unit/google/cloud/operators/test_cloud_run.py | 55 +-
.../unit/google/cloud/triggers/test_cloud_run.py | 9 +-
providers/hashicorp/provider.yaml | 2 +
.../providers/hashicorp/get_provider_info.py | 1 +
providers/jdbc/pyproject.toml | 4 +-
providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py | 55 +
providers/microsoft/azure/provider.yaml | 145 +
.../providers/microsoft/azure/get_provider_info.py | 156 +
providers/microsoft/mssql/pyproject.toml | 2 +-
.../tests/unit/microsoft/mssql/hooks/test_mssql.py | 83 +
providers/mysql/pyproject.toml | 2 +-
.../src/airflow/providers/mysql/hooks/mysql.py | 27 +-
.../mysql/tests/unit/mysql/hooks/test_mysql.py | 89 +
providers/odbc/pyproject.toml | 2 +-
providers/odbc/tests/unit/odbc/hooks/test_odbc.py | 39 +
providers/oracle/pyproject.toml | 2 +-
.../src/airflow/providers/oracle/hooks/oracle.py | 9 +
.../oracle/tests/unit/oracle/hooks/test_oracle.py | 64 +
providers/pgvector/pyproject.toml | 2 +-
.../tests/unit/pgvector/hooks/test_pgvector.py | 84 +-
providers/postgres/pyproject.toml | 2 +-
.../airflow/providers/postgres/hooks/postgres.py | 22 +-
.../tests/unit/postgres/hooks/test_postgres.py | 88 +
providers/presto/pyproject.toml | 2 +-
.../presto/tests/unit/presto/hooks/test_presto.py | 54 +
providers/snowflake/provider.yaml | 35 +
providers/snowflake/pyproject.toml | 2 +-
.../providers/snowflake/get_provider_info.py | 22 +
.../airflow/providers/snowflake/hooks/snowflake.py | 6 +-
.../providers/snowflake/hooks/snowflake_sql_api.py | 24 +
.../unit/snowflake/hooks/test_snowflake_sql_api.py | 34 +
providers/sqlite/pyproject.toml | 2 +-
.../sqlite/tests/unit/sqlite/hooks/test_sqlite.py | 50 +
providers/teradata/pyproject.toml | 2 +-
.../tests/unit/teradata/hooks/test_teradata.py | 49 +
providers/trino/pyproject.toml | 2 +-
.../trino/tests/unit/trino/hooks/test_trino.py | 54 +
providers/vertica/pyproject.toml | 2 +-
.../tests/unit/vertica/hooks/test_vertica.py | 77 +
providers/ydb/pyproject.toml | 2 +-
providers/ydb/tests/unit/ydb/hooks/test_ydb.py | 107 +
pyproject.toml | 4 +-
scripts/ci/docker-compose/integration-otel.yml | 13 +-
.../check_providers_subpackages_all_have_init.py | 1 +
scripts/ci/prek/check_tests_in_right_folders.py | 1 +
scripts/ci/prek/compile_provider_assets.py | 14 +-
scripts/ci/prek/compile_ui_assets.py | 2 +-
.../src/airflow_shared/observability/common.py | 109 +
.../observability/metrics/otel_logger.py | 39 +-
.../observability/otel_env_config.py | 114 +
.../observability/traces/otel_tracer.py | 45 +-
.../observability/metrics/test_otel_logger.py | 103 +
task-sdk/docs/api.rst | 21 +-
task-sdk/src/airflow/sdk/__init__.py | 28 +-
task-sdk/src/airflow/sdk/__init__.pyi | 18 +-
.../sdk/definitions/partition_mapper/__init__.py | 16 -
.../sdk/definitions/partition_mappers}/__init__.py | 0
.../base.py | 0
.../identity.py | 6 +-
.../sdk/definitions/partition_mappers/temporal.py | 67 +
.../airflow/sdk/definitions/timetables/assets.py | 6 +-
task-sdk/src/airflow/sdk/lineage.py | 5 +-
.../sdk/observability/metrics/otel_logger.py | 27 +-
.../sdk/observability/traces/otel_tracer.py | 17 +-
task-sdk/tests/task_sdk/test_lineage.py | 78 +-
246 files changed, 16242 insertions(+), 12306 deletions(-)
rename
airflow-core/src/airflow/migrations/versions/{0100_3_2_0_add_index_to_task_reschedule_ti_id.py
=> 0086_3_1_8_add_index_to_task_reschedule_ti_id.py} (51%)
rename
airflow-core/src/airflow/migrations/versions/{0086_3_2_0_replace_asset_trigger_table_with_asset.py
=> 0087_3_2_0_replace_asset_trigger_table_with_asset.py} (98%)
rename
airflow-core/src/airflow/migrations/versions/{0087_3_2_0_change_serialized_dag_data_column_to_jsonb.py
=> 0088_3_2_0_change_serialized_dag_data_column_to_jsonb.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0088_3_2_0_add_length_dag_bundle_team_bundle_name.py
=> 0089_3_2_0_add_length_dag_bundle_team_bundle_name.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0089_3_2_0_add_human_in_the_loop_detail_history.py
=> 0090_3_2_0_add_human_in_the_loop_detail_history.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0090_3_2_0_add_fail_fast_to_dag_table.py
=> 0091_3_2_0_add_fail_fast_to_dag_table.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0091_3_2_0_restructure_callback_table.py
=> 0092_3_2_0_restructure_callback_table.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0092_3_2_0_replace_deadline_inline_callback_with_fkey.py
=> 0093_3_2_0_replace_deadline_inline_callback_with_fkey.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0093_3_2_0_update_orm_asset_partitioning.py
=> 0094_3_2_0_update_orm_asset_partitioning.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0094_3_2_0_remove_team_id.py =>
0095_3_2_0_remove_team_id.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0095_3_2_0_enforce_log_event_and_dag_is_stale_not_null.py
=> 0096_3_2_0_enforce_log_event_and_dag_is_stale_not_null.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0096_3_2_0_add_queue_column_to_trigger.py
=> 0097_3_2_0_add_queue_column_to_trigger.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0097_3_2_0_add_exceeds_max_runs_flag_to_dag_model.py
=> 0098_3_2_0_add_exceeds_max_runs_flag_to_dag_model.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0098_3_2_0_add_timetable_type_to_dag_table_for_.py
=> 0099_3_2_0_add_timetable_type_to_dag_table_for_.py} (100%)
rename
airflow-core/src/airflow/migrations/versions/{0099_3_2_0_ui_improvements_for_deadlines.py
=> 0100_3_2_0_ui_improvements_for_deadlines.py} (100%)
rename airflow-core/src/airflow/{partition_mapper =>
partition_mappers}/__init__.py (100%)
rename airflow-core/src/airflow/{partition_mapper =>
partition_mappers}/base.py (100%)
rename airflow-core/src/airflow/{partition_mapper =>
partition_mappers}/identity.py (94%)
create mode 100644 airflow-core/src/airflow/partition_mappers/temporal.py
create mode 100644
airflow-core/src/airflow/ui/src/components/Graph/SegmentedStateBar.test.tsx
copy airflow-core/src/airflow/ui/src/components/{StateBadge.tsx =>
Graph/SegmentedStateBar.tsx} (51%)
create mode 100644 airflow-core/src/airflow/ui/src/utils/stateUtils.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/stateUtils.ts
copy airflow-core/{src/airflow/_shared =>
tests/unit/partition_mappers}/__init__.py (100%)
copy airflow-core/{src/airflow/api_fastapi/core_api/datamodels/extra_links.py
=> tests/unit/partition_mappers/test_identity.py} (67%)
create mode 100644 airflow-core/tests/unit/partition_mappers/test_temporal.py
create mode 100644
airflow-core/tests/unit/timetables/test_partitioned_timetable.py
copy {airflow-core/src/airflow/_shared =>
providers/common/sql/src/airflow/providers/common/sql/decorators}/__init__.py
(100%)
copy providers/{standard/src/airflow/providers/standard/decorators/bash.py =>
common/sql/src/airflow/providers/common/sql/decorators/sql.py} (54%)
create mode 100644
providers/common/sql/src/airflow/providers/common/sql/hooks/lineage.py
copy providers/common/sql/src/airflow/providers/common/sql/hooks/{handlers.pyi
=> lineage.pyi} (63%)
copy {airflow-core/src/airflow/_shared =>
providers/common/sql/tests/unit/common/sql/decorators}/__init__.py (100%)
create mode 100644
providers/common/sql/tests/unit/common/sql/decorators/test_sql.py
create mode 100644
providers/common/sql/tests/unit/common/sql/hooks/test_lineage.py
copy providers/{edge3 => fab}/.gitignore (100%)
copy providers/{edge3 => fab}/hatch_build.py (86%)
delete mode 100644
providers/fab/src/airflow/providers/fab/www/package-lock.json
create mode 100644 providers/fab/src/airflow/providers/fab/www/pnpm-lock.yaml
create mode 100644
providers/fab/src/airflow/providers/fab/www/static/.gitignore
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/743.8fb7d21632ed892227fe.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/743.8fb7d21632ed892227fe.js.LICENSE.txt
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.51e5d14856ee1ebc83ca.css
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.51e5d14856ee1ebc83ca.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/flash.865b6940c00b2a9041b3.css
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/flash.865b6940c00b2a9041b3.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/loadingDots.07f5b9805847242736e1.css
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/loadingDots.07f5b9805847242736e1.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/main.8cffe40bcf7cca998f4e.css
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/main.8cffe40bcf7cca998f4e.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/main.8cffe40bcf7cca998f4e.js.LICENSE.txt
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/manifest.json
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/materialIcons.4fe84ae36604d84dec78.css
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/materialIcons.4fe84ae36604d84dec78.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/moment.0ec3ee3fb60dc999b1fd.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/oss-licenses.json
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/runtime.45b36fb8335446865b53.js
delete mode 100644 providers/fab/www-hash.txt
create mode 100644
shared/observability/src/airflow_shared/observability/common.py
create mode 100644
shared/observability/src/airflow_shared/observability/otel_env_config.py
delete mode 100644
task-sdk/src/airflow/sdk/definitions/partition_mapper/__init__.py
copy {airflow-core/src/airflow/_shared =>
task-sdk/src/airflow/sdk/definitions/partition_mappers}/__init__.py (100%)
rename task-sdk/src/airflow/sdk/definitions/{partition_mapper =>
partition_mappers}/base.py (100%)
rename task-sdk/src/airflow/sdk/definitions/{partition_mapper =>
partition_mappers}/identity.py (86%)
create mode 100644
task-sdk/src/airflow/sdk/definitions/partition_mappers/temporal.py