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

github-bot pushed a change to branch 
dependabot/uv/dev/breeze/uv-dependency-updates-246a45b7d3
in repository https://gitbox.apache.org/repos/asf/airflow.git


 discard b6d3803333d Bump the uv-dependency-updates group across 1 directory 
with 2 updates
     add 2abd3093baa Add task-sdk label to execution_api PRs (#60819)
     add fbb200e4151 Fix unnecessary DAG version churn when DAG file paths 
change (#60799)
     add c441e4bf12f Reduce API server memory usage by eliminating 
`SerializedDAG` loads on task start (#60803)
     add a7120d28383 Move fernet utils in serde to remove core dependency 
(#60771)
     add d889b97660a Correct some cross references in shared library and sdk 
plugins_manager (#60698)
     add be1562b1ac7 Update cherry-picker failure notice to include install 
steps (#60823)
     add 57146f09588 more explicit secrets path error messages (#55015) (#59224)
     add e7efeedccb6 add static checker for preventing to increase dag version 
(#59430)
     add 9f0099fd464 Logout the user when the refresh token is no longer valid 
(#60781)
     add 6480471aff6 Remove non-logic redundant selection and query in FAB 
(#60807)
     add 0e31fcbefa2 Fix: In the log.exception() , the format specifier for the 
first parameter is missing (#58295)
     add 4bf1bfff16a CI: Upgrade important CI environment (#60827)
     add efb27dc9e2f Fix connection test API to restore masked password/extra 
from existing connections (#59643)
     add b1498d0ac3b Fix policy store deletion in `test_aws_auth_manager` 
(#60837)
     add abec9dd71d4 Bump mini-css-extract-plugin from 2.9.4 to 2.10.0 in 
/providers/fab/src/airflow/providers/fab/www in the fab-ui-package-updates 
group across 1 directory (#60831)
     add 7c3379edf53 Clean up button UI inconsistencies (#60555)
     add 69e624ddf88 Fix missing templating in API server extraInitContainers 
(#60812)
     add 96b7724d680 Updated links in PyPI packages for Python client (#60840)
     add 8fbd990e156 Fix release check for Python Client (#60839)
     add 7267294e622 docs: Fix reference to DagFileProcessorProcess in 
dag-serialization documentation (#60045)
     add 9d31db37ef5 apply gc.freeze in dag-processor (#60505)
     add 928d5b4ba29 Docs: clarify BaseSensorOperator parameters in Sensors 
guide (#60275)
     add dc0c1b26526 build: upgrade hatch to 1.16.3 (#60850)
     add 1e2e29dcfbf Integrate alembic check in ci (#60737)
     add 0923f64f56d Expose macros module in `airflow.sdk` public API (#60808)
     add db9368bb75b Add checksum verification to Apache RAT downloading in 
release instructions (#60841)
     add 79674385da2 Create tests for Google Cloud Storage Transfer (#58476)
     add f4c3591d9f4 (feat): add HTTP request customization parameters to 
`SnowflakeSqlApiHook` (#60689)
     add 8bbe0fc495f Convert Tasks Table from card to table mode (#60830)
     add 4766f9c8685 Fix slow log scrolling for large task logs (#60806)
     add 8238d8063aa CI: Upgrade important CI environment (#60865)
     add a47b69e6c06 reformat add proxy support commit (#60432)
     add dce5cbcfcae Use common compat get_async_connection in 
KiotaRequestAdapter (#60871)
     add ac45d92b7d3 Fix permissions check in import error APIs (#60801)
     add cca75c576c4 Bump the core-ui-package-updates group across 1 directory 
with 3 updates (#60832)
     add 065e02ce973 fix(fab): Align ORM column sizes with migration 
definitions (#60869)
     add a11ec7296ce Assert executors support multi team (#60843)
     add 462c900ab29 Delete refresh token API in Keycloak auth manager (#60838)
     add bb0ff0426ec Optimize pool name normalization for stats and add tests 
(#60553)
     add 573cb473f5f Exclude mysql-connector-python 9.6.0 version (#60889)
     add 7214ff86079 Fix mypy checks in CI to also run for scripts (#60898)
     add 756011a55f5 AIP-82: implement Google Pub/Sub message queue provider 
(#56445)
     add e2220d738e3 Added validation for consumed_asset_event for 
DagRunContext. Unit tests included. (#59857)
     add b8e431ff071 PartitionMapper, IdentityMapper, PartitionedAssetTimetable 
- core / task-sdk separation (#60204)
     add d98a20a09b5 Reschedule tasks on worker startup Dag load failures 
instead of exiting (#59604)
     add 90195c9a12c Remove redundant try/except blocks in 
`BigtableDeleteInstanceOperator` (#60712)
     add 245e9a33855 fix conf.getint logic to handling float type value from 
airflow.cfg (#60925)
     add 2d13e5eb01b Bump lodash-es (#60909)
     add 196fe0e3adf Bump lodash (#60910)
     add 82e9d8cee48 Update version compatibility for 
`AuthManagerRefreshTokenExpiredException` in tests (#60882)
     add 3df356fb0f7 Add SQLAlchemy to the dev‑dependency group in providers 
(#60472)
     add 88f164541fe EC2CreateInstanceOperator could leave EC2 instances 
running when failures (#60904)
     add b4eb960d9d0 Bump lodash from 4.17.21 to 4.17.23 in 
/providers/fab/src/airflow/providers/fab/www (#60911)
     add 0238244413e Prevent Triggerer from crashing when a trigger event isn't 
serializable (#60152)
     add dcf4267b460 Bump @tanstack/react-query (#60947)
     add 62b550a12eb Fix execution API URL config key to use nested format 
(#60916)
     add ac84ec7b3ff Use lazy imports for callback and deadline SDK definitions 
(#58506)
     add 31317bb8ed4 Update providers metadata 2026-01-21 (#60902)
     add b651403e7a6 Use bulk DELETE for XComModel.clear() instead of loading 
records (#60955)
     add a42b88b59a1 fix(task-sdk): make Asset objects hashable (#60562)
     add 8da26cce48f Fix N+1 query: add joinedload for asset in 
dags_needing_dagruns() (#60957)
     add dd0eab9dd44 Fix memory issue: remove eager loading of all TIs in 
scheduler (#60956)
     add 9b47c567ce2 Use mprocs by default with start-airflow (#60844)
     add c064739d3a7 Fix permissions on get_event_logs endpoint (#60936)
     add 1163e92068e Fix dag access control for dag_id in query param (#60935)
     add 235595b6c29 Fix DAG processor OOM || Avoid loading all TaskInstances 
when checking DagVersion in write_dag (#60937)
     add 4090fe1c94a CI: Upgrade important CI environment (#60961)
     add 26c8c9cb69d Decouple task sdk from airflow core for remote logging 
(#60826)
     add 9ce2200d04c add operator-level render_template_as_native_obj override 
(#60619)
     add f08d414b7b5 Use log_level for root logger instead of hardcoded INFO 
level (#60784)
     add 2b88c12f46b Fix time-machine lib >=3.0.0 supporting changes (#60939)
     add ee458138da8 Support PR: Add TTL-enabled LRU cache for StatsD metrics 
aggregation (#60933)
     add 3d9e1976e81 Fix GoogleBaseAsyncHook initialization to properly call 
parent init (#60601)
     add 14e811c9e1a Add index on task_reschedule ti_id (#60931)
     add ad0d56a99eb i18n(Ko): add missing translations (Jan 23) (#60965)
     add 56be41455f8 feat: Support customizing partition_mapper through airflow 
plugin (#60934)
     add 61cd8c10618 Add `team_name` to Pool APIs (#60952)
     add cb8debb36ec Fix ui get dags permission endpoint for user without dag 
run permissions (#60979)
     add 008329ec061 Chart: Fix Compatibility of Celery Worker Sets with 
Workers Separation (#60420)
     add 66c87729271 Move core newsfragment out of chart directory (#60994)
     add 91159ed2b4c (bugfix): Add dark theme support for FAB Security pages 
(#60908)
     add b5143b4d954 Add deadline-related files to boring-cyborg labeler 
(#61002)
     add d32d58cc6bd Define `TaskInstanceKey` in task-sdk to support client 
server separation (#60776)
     add 9e57e6ed3e6 Bump the edge-ui-package-updates group across 1 directory 
with 15 updates (#60986)
     add 2684ca2c200 CI: Upgrade important CI environment (#61007)
     add 8dc960c6b2e Improve typing in Fab (#61001)
     add 5c53a1e59da Fix GKEStartPodOperator docstring default for 
on_finish_action (#60960)
     add 89f109bcc85 Add missing links to airflow.sdk classes and functions in 
public interface docs (#61005)
     add b5124173674 Chart: Add missing tests for PodDisruptionBudgets (#60615)
     add f3d28e685de Fix typo in CODEOWNERS (#61015)
     add e916980ba53 Add Dheeraj Turaga as codeowner to airflow-core/executors 
(#61016)
     add ee4bf894dad CI: Upgrade important CI environment (#61022)
     add 0cf89fa362e Adding details of way to retrive provider version for 
release testing (#61028)
     add 0330eec93fb improved the event which is thrown in the event log tab 
when a pod failes for k8s exec (#60800)
     add 8e372e17eed Add SSH/SFTP support for ObjectStoragePath (#60757)
     add 2a0497bd805 Fix airflow-ctl-tests files not triggering pre-commit 
integration tests (#61023)
     add 4e8274c3616 Add E2E tests for backfill pause and stop controls (#59738)
     add 2ed39694038 Respect maximum page limit in API (#60989)
     add 9d64edfe178 Migrate Flask based user APIs to Fastapi (#60973)
     add 7061d2288ab Deprecate api.page_size config in favor of 
api.fallback_page_limit (#61067)
     add ec59d62ba7c Edge3 inherit core UI Theme (#60417)
     add 35422f087ae Change leftover import error path record to relative path 
(#60967)
     add 7c1b0197389 Add team to list variables and list connections pages 
(#60995)
     add 4341f482a7b Bump the uv-dependency-updates group across 1 directory 
with 2 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   (b6d3803333d)
            \
             N -- N -- N   
refs/heads/dependabot/uv/dev/breeze/uv-dependency-updates-246a45b7d3 
(4341f482a7b)

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/CODEOWNERS                                 |    4 +-
 .github/actions/install-prek/action.yml            |    2 +-
 .github/boring-cyborg.yml                          |   21 +-
 .github/workflows/airflow-distributions-tests.yml  |    2 +-
 .pre-commit-config.yaml                            |    6 +-
 Dockerfile.ci                                      |    6 +-
 .../dag-serialization.rst                          |    2 +-
 airflow-core/docs/best-practices.rst               |    2 +-
 airflow-core/docs/core-concepts/sensors.rst        |   64 +
 airflow-core/docs/howto/deadline-alerts.rst        |   16 +-
 airflow-core/docs/img/airflow_erd.sha256           |    2 +-
 airflow-core/docs/img/airflow_erd.svg              |  352 +--
 airflow-core/docs/migrations-ref.rst               |    4 +-
 airflow-core/docs/public-airflow-interface.rst     |   56 +-
 .../newsfragments/58524.significant.rst            |    0
 airflow-core/newsfragments/60619.significant.rst   |   22 +
 airflow-core/newsfragments/60803.significant.rst   |    1 +
 .../auth/managers/exceptions.py}                   |    4 +-
 .../auth/managers/simple/ui/package-lock.json      |   44 +-
 .../auth/managers/simple/ui/package.json           |    6 +-
 .../auth/managers/simple/ui/pnpm-lock.yaml         |   75 +-
 .../api_fastapi/auth/middlewares/refresh_token.py  |   31 +-
 .../src/airflow/api_fastapi/common/parameters.py   |    5 +-
 .../api_fastapi/core_api/datamodels/pools.py       |    3 +
 .../api_fastapi/core_api/datamodels/ui/config.py   |    2 +-
 .../api_fastapi/core_api/openapi/_private_ui.yaml  |    6 +-
 .../core_api/openapi/v2-rest-api-generated.yaml    |   27 +-
 .../core_api/routes/public/connections.py          |   21 +-
 .../core_api/routes/public/event_logs.py           |    9 +-
 .../core_api/routes/public/import_error.py         |   24 -
 .../core_api/routes/public/variables.py            |    2 +-
 .../api_fastapi/core_api/routes/ui/config.py       |    2 +-
 .../airflow/api_fastapi/core_api/routes/ui/dags.py |    1 -
 .../src/airflow/api_fastapi/core_api/security.py   |   16 +-
 .../execution_api/datamodels/taskinstance.py       |    2 -
 .../execution_api/routes/task_instances.py         |   58 +-
 .../api_fastapi/execution_api/versions/__init__.py |    7 +-
 .../execution_api/versions/v2026_03_31.py          |   21 +-
 .../src/airflow/callbacks/callback_requests.py     |   69 +-
 .../src/airflow/cli/commands/config_command.py     |    5 +
 .../src/airflow/config_templates/config.yml        |   50 +-
 .../src/airflow/dag_processing/bundles/base.py     |    2 +-
 .../src/airflow/dag_processing/collection.py       |   10 +-
 airflow-core/src/airflow/dag_processing/dagbag.py  |   13 +-
 airflow-core/src/airflow/dag_processing/manager.py |    9 +-
 .../src/airflow/dag_processing/processor.py        |   22 +-
 .../src/airflow/executors/base_executor.py         |    1 +
 .../src/airflow/executors/executor_loader.py       |    7 +
 .../src/airflow/executors/local_executor.py        |    1 +
 .../src/airflow/jobs/scheduler_job_runner.py       |   18 +-
 .../src/airflow/jobs/triggerer_job_runner.py       |   90 +-
 airflow-core/src/airflow/logging/remote.py         |   40 +-
 airflow-core/src/airflow/logging_config.py         |   24 +-
 ...100_3_2_0_add_index_to_task_reschedule_ti_id.py |   58 +
 airflow-core/src/airflow/models/asset.py           |    3 +-
 airflow-core/src/airflow/models/dag.py             |   11 +-
 airflow-core/src/airflow/models/dagrun.py          |    1 -
 airflow-core/src/airflow/models/dagwarning.py      |    1 +
 airflow-core/src/airflow/models/pool.py            |   10 +-
 .../src/airflow/models/renderedtifields.py         |    3 +-
 airflow-core/src/airflow/models/serialized_dag.py  |   14 +-
 airflow-core/src/airflow/models/taskinstance.py    |   16 +-
 .../src/airflow/models/taskinstancehistory.py      |    5 +-
 airflow-core/src/airflow/models/taskreschedule.py  |    3 +
 airflow-core/src/airflow/models/variable.py        |    2 +-
 airflow-core/src/airflow/models/xcom.py            |   15 +-
 .../{_shared => partition_mapper}/__init__.py      |    0
 .../src/airflow/partition_mapper/base.py           |   32 +-
 .../src/airflow/partition_mapper/identity.py       |   18 +-
 airflow-core/src/airflow/plugins_manager.py        |   13 +
 airflow-core/src/airflow/serialization/decoders.py |   25 +-
 .../serialization/definitions/baseoperator.py      |    2 +
 airflow-core/src/airflow/serialization/encoders.py |   93 +-
 airflow-core/src/airflow/serialization/helpers.py  |   32 +-
 airflow-core/src/airflow/serialization/schema.json |    1 +
 .../airflow/serialization/serialized_objects.py    |   67 +-
 .../src/airflow/ti_deps/deps/base_ti_dep.py        |    3 +-
 .../airflow/ti_deps/deps/ready_to_reschedule.py    |   31 +-
 airflow-core/src/airflow/timetables/simple.py      |   44 +-
 .../ui/openapi-gen/queries/ensureQueryData.ts      |    4 +-
 .../src/airflow/ui/openapi-gen/queries/prefetch.ts |    4 +-
 .../src/airflow/ui/openapi-gen/queries/queries.ts  |    4 +-
 .../src/airflow/ui/openapi-gen/queries/suspense.ts |    4 +-
 .../airflow/ui/openapi-gen/requests/schemas.gen.ts |   45 +-
 .../ui/openapi-gen/requests/services.gen.ts        |    4 +-
 .../airflow/ui/openapi-gen/requests/types.gen.ts   |   11 +-
 .../airflow/ui/public/i18n/locales/en/admin.json   |    1 +
 .../airflow/ui/public/i18n/locales/ko/common.json  |   10 +-
 .../ui/public/i18n/locales/ko/components.json      |    2 +
 .../src/airflow/ui/public/i18n/locales/ko/dag.json |    7 +
 .../ui/src/components/Clear/Run/ClearRunButton.tsx |   43 +-
 .../Clear/TaskInstance/ClearTaskInstanceButton.tsx |   54 +-
 .../src/components/DagActions/DeleteDagButton.tsx  |   35 +-
 .../components/DagActions/FavoriteDagButton.tsx    |   43 +-
 .../{ParseDag.tsx => ParseDagButton.tsx}           |   31 +-
 .../components/DataTable/ToggleTableDisplay.tsx    |   31 +-
 .../ui/src/components/DataTable/useRowSelection.ts |    1 +
 .../src/components/DataTable/useTableUrlState.ts   |    2 +-
 .../ui/src/components/DisplayMarkdownButton.tsx    |   21 +-
 .../ui/src/components/EditableMarkdownButton.tsx   |   57 +-
 .../ui/src/components/ExpandCollapseButtons.tsx    |    4 +-
 .../src/components/MarkAs/Run/MarkRunAsButton.tsx  |   36 +-
 .../TaskInstance/MarkTaskInstanceAsButton.tsx      |   40 +-
 .../src/airflow/ui/src/components/StateBadge.tsx   |    1 +
 .../src/airflow/ui/src/components/TeamSelector.tsx |    3 +-
 .../src/components/TriggerDag/TriggerDAGButton.tsx |   76 +-
 .../airflow/ui/src/components/ui/ActionButton.tsx  |   68 -
 .../ui/src/components/ui/ButtonGroupToggle.tsx     |   53 +-
 .../ui/src/layouts/Details/DetailsLayout.tsx       |   32 +-
 .../ui/src/layouts/Details/PanelButtons.tsx        |   88 +-
 .../ui/src/layouts/Details/TaskStreamFilter.tsx    |   35 +-
 .../ui/src/pages/Asset/CreateAssetEvent.tsx        |   34 +-
 .../airflow/ui/src/pages/AssetsList/AssetsList.tsx |    2 +-
 .../src/pages/Connections/AddConnectionButton.tsx  |   29 +-
 .../ui/src/pages/Connections/Connections.tsx       |  133 +-
 .../pages/Connections/DeleteConnectionButton.tsx   |   28 +-
 .../src/pages/Connections/EditConnectionButton.tsx |   27 +-
 .../src/pages/Connections/TestConnectionButton.tsx |   35 +-
 .../airflow/ui/src/pages/Dag/Calendar/Calendar.tsx |   51 +-
 .../src/airflow/ui/src/pages/Dag/Header.tsx        |   33 +-
 .../ui/src/pages/Dag/Overview/TaskLogPreview.tsx   |    2 +-
 .../airflow/ui/src/pages/Dag/Tasks/TaskCard.tsx    |   99 -
 .../ui/src/pages/Dag/Tasks/TaskRecentRuns.tsx      |   71 -
 .../src/airflow/ui/src/pages/Dag/Tasks/Tasks.tsx   |   61 +-
 airflow-core/src/airflow/ui/src/pages/DagRuns.tsx  |    6 +-
 .../src/airflow/ui/src/pages/DagsList/DagCard.tsx  |   18 +-
 .../src/airflow/ui/src/pages/DagsList/DagsList.tsx |    9 +-
 .../ui/src/pages/Dashboard/Health/HealthBadge.tsx  |    2 +-
 .../src/airflow/ui/src/pages/DeleteRunButton.tsx   |   31 +-
 .../ui/src/pages/GroupTaskInstance/Header.tsx      |    2 +-
 .../pages/HITLTaskInstances/HITLTaskInstances.tsx  |   16 +-
 .../ui/src/pages/Pools/DeletePoolButton.tsx        |   27 +-
 .../airflow/ui/src/pages/Pools/EditPoolButton.tsx  |   25 +-
 .../src/airflow/ui/src/pages/Pools/PoolBarCard.tsx |    4 +-
 .../src/airflow/ui/src/pages/Run/Header.tsx        |   39 +-
 .../airflow/ui/src/pages/TaskInstance/Header.tsx   |   19 +-
 .../ui/src/pages/TaskInstance/Logs/Logs.tsx        |   72 +-
 .../src/pages/TaskInstance/Logs/TaskLogContent.tsx |   97 +-
 .../src/pages/TaskInstance/Logs/TaskLogHeader.tsx  |   62 +-
 .../ui/src/pages/TaskInstance/Logs/utils.ts        |   51 +
 .../TaskInstances/DeleteTaskInstanceButton.tsx     |   33 +-
 .../ui/src/pages/TaskInstances/TaskInstances.tsx   |    6 +-
 .../ManageVariable/DeleteVariableButton.tsx        |   28 +-
 .../ManageVariable/EditVariableButton.tsx          |   27 +-
 .../airflow/ui/src/pages/Variables/Variables.tsx   |  129 +-
 .../src/airflow/ui/src/queries/useAddVariable.ts   |    3 +-
 .../src/airflow/ui/src/queries/useEditVariable.ts  |   16 +-
 airflow-core/src/airflow/ui/src/utils/slots.tsx    |    2 +-
 .../src/airflow/ui/tests/e2e/pages/BackfillPage.ts |  127 +-
 .../src/airflow/ui/tests/e2e/pages/DagsPage.ts     |   10 +-
 .../airflow/ui/tests/e2e/specs/backfill.spec.ts    |   86 +-
 .../airflow/ui/tests/e2e/specs/dag-tasks.spec.ts   |   29 +-
 .../airflow/utils/dag_version_inflation_checker.py |  529 ++++
 airflow-core/src/airflow/utils/db.py               |    2 +-
 .../src/airflow/utils/log/file_task_handler.py     |   18 +-
 .../tests/unit/always/test_project_structure.py    |    1 -
 .../auth/middlewares/test_refresh_token.py         |    6 +-
 .../tests/unit/api_fastapi/auth/test_tokens.py     |   53 +-
 .../core_api/routes/public/test_connections.py     |  137 +-
 .../core_api/routes/public/test_dag_warning.py     |    7 +-
 .../core_api/routes/public/test_event_logs.py      |    4 +-
 .../core_api/routes/public/test_import_error.py    |   76 +-
 .../core_api/routes/public/test_pools.py           |   52 +-
 .../core_api/routes/public/test_task_instances.py  |   10 +-
 .../core_api/routes/ui/test_backfills.py           |    2 +-
 .../api_fastapi/core_api/routes/ui/test_config.py  |    4 +-
 .../core_api/routes/ui/test_structure.py           |   10 +-
 .../unit/api_fastapi/core_api/test_security.py     |    3 +
 .../versions/head/test_task_instances.py           |   72 +-
 .../versions/v2025_04_28/test_task_instances.py    |   67 +-
 airflow-core/tests/unit/assets/test_manager.py     |    2 +-
 .../tests/unit/callbacks/test_callback_requests.py |   62 +
 .../tests/unit/dag_processing/bundles/test_base.py |   28 +-
 .../tests/unit/dag_processing/test_dagbag.py       |   64 +
 .../tests/unit/dag_processing/test_processor.py    |   35 +
 .../unit/dags/test_dag_version_inflation_check.py  |   97 +
 .../tests/unit/executors/test_base_executor.py     |    4 +
 .../tests/unit/executors/test_executor_loader.py   |   71 +
 .../tests/unit/executors/test_local_executor.py    |    3 +
 airflow-core/tests/unit/jobs/test_scheduler_job.py |  141 +-
 airflow-core/tests/unit/jobs/test_triggerer_job.py |   28 +-
 airflow-core/tests/unit/models/test_dag.py         |   28 +
 airflow-core/tests/unit/models/test_pool.py        |   20 +-
 .../tests/unit/models/test_taskinstance.py         |   18 +-
 .../unit/serialization/test_dag_serialization.py   |   41 +-
 .../unit/serialization/test_serialized_objects.py  |   40 +
 .../ti_deps/deps/test_ready_to_reschedule_dep.py   |   16 +-
 .../tests/unit/timetables/test_assets_timetable.py |    2 +-
 .../utils/test_dag_version_inflation_checker.py    |  735 ++++++
 airflow-core/tests/unit/utils/test_db.py           |    5 +
 .../.pre-commit-config.yaml                        |   12 +-
 airflow-ctl/.pre-commit-config.yaml                |    4 +-
 .../src/airflowctl/api/datamodels/generated.py     |    4 +
 chart/newsfragments/51792.significant.rst          |   11 +
 chart/newsfragments/58547.significant.rst          |   16 +-
 chart/templates/NOTES.txt                          |    2 +-
 chart/templates/_helpers.yaml                      |   78 +-
 .../api-server/api-server-deployment.yaml          |    2 +-
 chart/templates/configmaps/statsd-configmap.yaml   |    4 +
 chart/templates/statsd/statsd-deployment.yaml      |   16 +-
 chart/templates/workers/worker-deployment.yaml     |   90 +-
 chart/templates/workers/worker-hpa.yaml            |   15 +-
 chart/templates/workers/worker-kedaautoscaler.yaml |   15 +-
 chart/templates/workers/worker-networkpolicy.yaml  |   13 +-
 .../workers/worker-poddisruptionbudget.yaml        |   20 +-
 chart/templates/workers/worker-service.yaml        |   13 +-
 chart/templates/workers/worker-serviceaccount.yaml |   15 +
 chart/values.schema.json                           |   44 +-
 chart/values.yaml                                  |   48 +-
 clients/python/pyproject.toml                      |    4 +-
 contributing-docs/03_contributors_quick_start.rst  |   31 +-
 contributing-docs/mprocs/MPROCS_QUICK_REFERENCE.md |   37 +-
 dev/README_RELEASE_AIRFLOW.md                      |    7 +-
 dev/README_RELEASE_AIRFLOWCTL.md                   |    7 +-
 dev/README_RELEASE_HELM_CHART.md                   |   11 +-
 dev/README_RELEASE_PROVIDERS.md                    |    9 +-
 dev/README_RELEASE_PYTHON_CLIENT.md                |   15 +-
 dev/backport/update_backport_status.py             |    2 +
 dev/breeze/doc/ci/02_images.md                     |    2 +-
 dev/breeze/doc/images/output-commands.svg          |    2 +-
 dev/breeze/doc/images/output_setup_config.svg      |   28 +-
 dev/breeze/doc/images/output_setup_config.txt      |    2 +-
 dev/breeze/doc/images/output_start-airflow.svg     |    6 +-
 dev/breeze/doc/images/output_start-airflow.txt     |    2 +-
 dev/breeze/pyproject.toml                          |    4 +-
 .../src/airflow_breeze/commands/common_options.py  |   14 +-
 .../airflow_breeze/commands/developer_commands.py  |   10 +-
 .../commands/developer_commands_config.py          |    2 +-
 .../commands/release_management_commands.py        |   14 +-
 .../src/airflow_breeze/commands/setup_commands.py  |    4 +
 .../commands/setup_commands_config.py              |    1 +
 dev/breeze/src/airflow_breeze/global_constants.py  |    1 +
 .../src/airflow_breeze/params/shell_params.py      |    5 +-
 .../airflow_breeze/utils/check_release_files.py    |   11 +-
 dev/breeze/tests/test_selective_checks.py          |    8 +-
 dev/breeze/uv.lock                                 |  100 +-
 devel-common/pyproject.toml                        |    5 +-
 devel-common/src/tests_common/pytest_plugin.py     |    5 -
 .../src/tests_common/test_utils/version_compat.py  |    1 +
 docs/spelling_wordlist.txt                         |    1 +
 generated/provider_metadata.json                   |    8 +
 go-sdk/README.md                                   |   40 +-
 .../bundle/bundlev1/bundlev1server/impl/plugin.go  |    4 +-
 ...est_pdb_triggerer.py => test_pdb_api_server.py} |   16 +-
 ...est_pdb_worker.py => test_pdb_dag_processor.py} |   16 +-
 .../tests/helm_tests/airflow_core/test_worker.py   |  176 +-
 .../helm_tests/airflow_core/test_worker_sets.py    | 2580 ++++++++++++++++++++
 helm-tests/tests/helm_tests/other/test_keda.py     |    2 +-
 .../tests/helm_tests/other/test_pdb_pgbouncer.py   |   16 +
 helm-tests/tests/helm_tests/other/test_statsd.py   |   51 +-
 .../helm_tests/security/test_security_context.py   |  213 +-
 providers/alibaba/pyproject.toml                   |    2 +-
 .../providers/alibaba/cloud/links/maxcompute.py    |    3 +-
 providers/amazon/pyproject.toml                    |    3 +-
 .../amazon/aws/executors/ecs/ecs_executor.py       |    2 +
 .../airflow/providers/amazon/aws/links/base_aws.py |    2 +-
 .../airflow/providers/amazon/aws/operators/ec2.py  |   63 +-
 .../amazon/aws/tests/test_aws_auth_manager.py      |   10 +-
 .../amazon/aws/executors/ecs/test_ecs_executor.py  |    3 +
 .../amazon/aws/log/test_cloudwatch_task_handler.py |    4 +-
 .../tests/unit/amazon/aws/operators/test_ec2.py    |   77 +
 .../tests/unit/amazon/aws/sensors/test_s3.py       |    6 +-
 providers/apache/hive/pyproject.toml               |    1 +
 providers/celery/pyproject.toml                    |    2 +-
 .../integration/celery/test_celery_executor.py     |    3 +-
 providers/cncf/kubernetes/pyproject.toml           |    2 +-
 .../kubernetes/executors/kubernetes_executor.py    |    6 +-
 .../cncf/kubernetes/kubernetes_helper_functions.py |    3 +-
 .../src/airflow/providers/common/compat/sdk.py     |    2 +
 providers/common/sql/pyproject.toml                |    1 +
 providers/databricks/pyproject.toml                |    2 +-
 .../providers/databricks/operators/databricks.py   |    2 +-
 .../databricks/plugins/databricks_workflow.py      |    6 +-
 .../tests/unit/dbt/cloud/operators/test_dbt.py     |   13 +
 .../src/airflow/providers/edge3/cli/api_client.py  |    2 +-
 .../src/airflow/providers/edge3/models/edge_job.py |    3 +-
 .../providers/edge3/plugins/www/dist/main.umd.cjs  |   16 +-
 .../providers/edge3/plugins/www/package.json       |   30 +-
 .../providers/edge3/plugins/www/pnpm-lock.yaml     |  697 +++---
 .../providers/edge3/plugins/www}/src/global.d.ts   |    0
 .../providers/edge3/plugins/www/src/main.tsx       |    7 +-
 .../providers/edge3/plugins/www/src/theme.ts       |    2 +-
 .../providers/edge3/worker_api/datamodels.py       |    2 +-
 .../providers/edge3/worker_api/routes/logs.py      |    2 +-
 providers/edge3/www-hash.txt                       |    2 +-
 providers/exasol/pyproject.toml                    |    1 +
 .../auth_manager/api_endpoints/user_endpoint.py    |    4 +-
 .../auth_manager/api_fastapi/datamodels/users.py   |   18 +
 .../openapi/v2-fab-auth-manager-generated.yaml     |  307 ++-
 .../fab/auth_manager/api_fastapi/routes/users.py   |   90 +-
 .../fab/auth_manager/api_fastapi/services/users.py |  138 +-
 .../providers/fab/auth_manager/fab_auth_manager.py |    4 +-
 .../providers/fab/auth_manager/models/__init__.py  |   12 +-
 .../fab/auth_manager/security_manager/override.py  |  165 +-
 .../airflow/providers/fab/www/package-lock.json    |   17 +-
 .../fab/src/airflow/providers/fab/www/package.json |    2 +-
 ...e474726c9.css => main.8cffe40bcf7cca998f4e.css} |    0
 ...1ee474726c9.js => main.8cffe40bcf7cca998f4e.js} |    4 +-
 ...xt => main.8cffe40bcf7cca998f4e.js.LICENSE.txt} |    0
 .../providers/fab/www/static/dist/manifest.json    |    4 +-
 .../airflow/providers/fab/www/static/js/main.js    |   11 +
 .../providers/fab/www/templates/airflow/main.html  |    1 +
 .../api_fastapi/datamodels/test_users.py           |   89 +
 .../auth_manager/api_fastapi/routes/test_users.py  |  413 +++-
 .../api_fastapi/services/test_users.py             |  258 +-
 .../tests/unit/fab/auth_manager/test_security.py   |   34 +-
 providers/fab/www-hash.txt                         |    2 +-
 providers/google/docs/index.rst                    |    2 +
 providers/google/docs/message-queues/index.rst     |   70 +
 providers/google/provider.yaml                     |    3 +
 providers/google/pyproject.toml                    |    6 +-
 .../airflow/providers/google/cloud/links/base.py   |    3 +-
 .../providers/google/cloud/links/dataproc.py       |    3 +-
 .../providers/google/cloud/operators/bigtable.py   |   12 +-
 .../google/cloud/operators/dataproc_metastore.py   |    3 +-
 .../google/cloud/operators/kubernetes_engine.py    |    2 +-
 .../providers/google/cloud/triggers/pubsub.py      |   10 +-
 .../providers/google/common/hooks/base_google.py   |    1 +
 .../providers/google/event_scheduling}/__init__.py |    0
 .../google/event_scheduling/events}/__init__.py    |    0
 .../google/event_scheduling/events/pubsub.py}      |   38 +-
 .../airflow/providers/google/get_provider_info.py  |    3 +
 .../marketing_platform/links/analytics_admin.py    |    3 +-
 .../system/google/event_scheduling}/__init__.py    |    0
 .../example_event_schedule_pubsub.py               |   96 +
 .../cloud/links/test_cloud_storage_transfer.py     |  464 ++++
 .../unit/google/cloud/operators/test_bigtable.py   |   54 +-
 .../unit/google/event_scheduling}/__init__.py      |    0
 .../google/event_scheduling/events}/__init__.py    |    0
 .../google/event_scheduling/events/test_pubsub.py  |   51 +
 .../hashicorp/_internal_client/vault_client.py     |    4 +-
 .../airflow/providers/hashicorp/secrets/vault.py   |   16 +-
 .../tests/unit/hashicorp/secrets/test_vault.py     |   58 +
 .../keycloak/auth_manager/keycloak_auth_manager.py |   21 +-
 .../v2-keycloak-auth-manager-generated.yaml        |   34 -
 .../keycloak/auth_manager/routes/login.py          |   36 +-
 .../keycloak/auth_manager/routes/test_login.py     |   22 -
 .../auth_manager/test_keycloak_auth_manager.py     |   10 +-
 providers/microsoft/azure/pyproject.toml           |    2 +-
 .../providers/microsoft/azure/hooks/msgraph.py     |   12 +-
 .../microsoft/azure/operators/data_factory.py      |    2 +-
 .../providers/microsoft/azure/operators/powerbi.py |    2 +-
 .../providers/microsoft/azure/operators/synapse.py |    2 +-
 providers/mysql/docs/index.rst                     |    2 +-
 providers/mysql/pyproject.toml                     |    6 +-
 providers/openlineage/pyproject.toml               |    1 +
 providers/postgres/pyproject.toml                  |    1 +
 .../azure => sftp}/docs/filesystems/index.rst      |    0
 providers/sftp/docs/filesystems/sftp.rst           |   63 +
 providers/sftp/docs/index.rst                      |    7 +
 providers/sftp/provider.yaml                       |    3 +
 providers/sftp/pyproject.toml                      |    3 +
 .../src/airflow/providers/sftp/fs}/__init__.py     |    0
 .../sftp/src/airflow/providers/sftp/fs/sftp.py     |   65 +
 .../airflow/providers/sftp/get_provider_info.py    |    1 +
 .../sftp/tests/unit/sftp/fs}/__init__.py           |    0
 providers/sftp/tests/unit/sftp/fs/test_sftp.py     |  222 ++
 .../airflow/providers/snowflake/hooks/snowflake.py |   33 +-
 .../providers/snowflake/hooks/snowflake_sql_api.py |   92 +-
 .../tests/unit/snowflake/hooks/test_snowflake.py   |  131 +
 .../unit/snowflake/hooks/test_snowflake_sql_api.py |  140 ++
 .../providers/standard/operators/trigger_dagrun.py |   14 +-
 .../providers/standard/sensors/external_task.py    |   14 +-
 providers/teradata/pyproject.toml                  |    1 +
 providers/yandex/pyproject.toml                    |    2 +-
 .../src/airflow/providers/yandex/links/yq.py       |    3 +-
 scripts/ci/prek/check_imports_in_providers.py      |    2 +-
 scripts/ci/prek/check_secrets_search_path_sync.py  |    5 +-
 .../ci/prek/check_shared_distributions_usage.py    |    4 +-
 scripts/ci/prek/mypy_folder.py                     |    1 +
 scripts/ci/prek/ruff_format.py                     |    2 +-
 scripts/ci/prek/upgrade_important_versions.py      |    9 +-
 scripts/docker/entrypoint_ci.sh                    |    2 +-
 scripts/in_container/bin/generate_mprocs_config.py |   30 +-
 .../src/airflow_shared/configuration/parser.py     |   14 +-
 .../tests/configuration/test_parser.py             |   18 +
 .../logging/src/airflow_shared/logging/remote.py   |  104 +
 .../src/airflow_shared/logging/structlog.py        |    2 +-
 shared/logging/tests/logging/test_remote.py        |  168 ++
 shared/logging/tests/logging/test_structlog.py     |   13 +
 .../src/airflow_shared/module_loading/__init__.py  |   22 +-
 .../tests/module_loading/test_module_loading.py    |   70 +-
 shared/observability/pyproject.toml                |    1 +
 shared/plugins_manager/pyproject.toml              |    1 +
 .../plugins_manager/plugins_manager.py             |   10 +-
 .../secrets_masker/secrets_masker.py               |    1 +
 task-sdk/docs/api.rst                              |   36 +
 task-sdk/src/airflow/sdk/__init__.py               |   26 +-
 task-sdk/src/airflow/sdk/__init__.pyi              |   12 +-
 .../src/airflow/sdk/api/datamodels/_generated.py   |    3 -
 task-sdk/src/airflow/sdk/bases/operator.py         |    8 +
 task-sdk/src/airflow/sdk/bases/operatorlink.py     |    2 +-
 task-sdk/src/airflow/sdk/configuration.py          |   43 +-
 .../models => task-sdk/src/airflow/sdk}/crypto.py  |   27 +-
 .../sdk/definitions/_internal/abstractoperator.py  |   21 +
 .../sdk/definitions/_internal/expandinput.py       |    4 +-
 .../airflow/sdk/definitions/_internal/templater.py |   43 +-
 .../src/airflow/sdk/definitions/asset/__init__.py  |    3 +-
 task-sdk/src/airflow/sdk/definitions/dag.py        |   34 +-
 task-sdk/src/airflow/sdk/definitions/deadline.py   |   21 +-
 .../src/airflow/sdk/definitions/mappedoperator.py  |    8 +
 .../sdk/definitions/partition_mapper}/__init__.py  |    0
 .../sdk/definitions/partition_mapper/base.py       |   10 +-
 .../sdk/definitions/partition_mapper/identity.py   |    7 +-
 .../airflow/sdk/definitions/timetables/assets.py   |   13 +-
 task-sdk/src/airflow/sdk/definitions/xcom_arg.py   |   23 +-
 .../src/airflow/sdk/execution_time/__init__.py     |    3 +
 .../src/airflow/sdk/execution_time/task_mapping.py |  133 +
 .../src/airflow/sdk/execution_time/task_runner.py  |   87 +-
 task-sdk/src/airflow/sdk/log.py                    |   57 +-
 task-sdk/src/airflow/sdk/plugins_manager.py        |    2 +-
 .../src/airflow/sdk/serde/serializers/deltalake.py |    4 +-
 .../src/airflow/sdk/serde/serializers/iceberg.py   |    4 +-
 task-sdk/src/airflow/sdk/types.py                  |   35 +-
 task-sdk/tests/task_sdk/bases/test_operator.py     |   35 +
 task-sdk/tests/task_sdk/bases/test_sensor.py       |   12 +-
 task-sdk/tests/task_sdk/definitions/test_asset.py  |   13 +
 .../task_sdk/definitions/test_mappedoperator.py    |  148 +-
 .../tests/task_sdk/docs/test_docs_inventory.py     |    2 +-
 task-sdk/tests/task_sdk/docs/test_public_api.py    |    1 +
 .../task_sdk/execution_time/test_supervisor.py     |  119 +-
 .../task_sdk/execution_time/test_task_mapping.py   |  189 ++
 .../task_sdk/execution_time/test_task_runner.py    |   89 +-
 task-sdk/tests/task_sdk/serde/test_serializers.py  |    4 +
 task-sdk/tests/task_sdk/test_crypto.py             |  137 ++
 425 files changed, 13225 insertions(+), 3687 deletions(-)
 rename {chart => airflow-core}/newsfragments/58524.significant.rst (100%)
 create mode 100644 airflow-core/newsfragments/60619.significant.rst
 create mode 100644 airflow-core/newsfragments/60803.significant.rst
 copy airflow-core/src/airflow/{models/skipmixin.py => 
api_fastapi/auth/managers/exceptions.py} (86%)
 create mode 100644 
airflow-core/src/airflow/migrations/versions/0100_3_2_0_add_index_to_task_reschedule_ti_id.py
 copy airflow-core/src/airflow/{_shared => partition_mapper}/__init__.py (100%)
 copy providers/fab/src/airflow/providers/fab/www/airflow_flask_app.py => 
airflow-core/src/airflow/partition_mapper/base.py (56%)
 copy 
providers/common/compat/src/airflow/providers/common/compat/notifier/__init__.py
 => airflow-core/src/airflow/partition_mapper/identity.py (72%)
 rename airflow-core/src/airflow/ui/src/components/DagActions/{ParseDag.tsx => 
ParseDagButton.tsx} (70%)
 delete mode 100644 
airflow-core/src/airflow/ui/src/components/ui/ActionButton.tsx
 delete mode 100644 airflow-core/src/airflow/ui/src/pages/Dag/Tasks/TaskCard.tsx
 delete mode 100644 
airflow-core/src/airflow/ui/src/pages/Dag/Tasks/TaskRecentRuns.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/utils.ts
 create mode 100644 
airflow-core/src/airflow/utils/dag_version_inflation_checker.py
 create mode 100644 
airflow-core/tests/unit/dags/test_dag_version_inflation_check.py
 create mode 100644 
airflow-core/tests/unit/utils/test_dag_version_inflation_checker.py
 copy {providers/keycloak => airflow-ctl-tests}/.pre-commit-config.yaml (77%)
 create mode 100644 chart/newsfragments/51792.significant.rst
 copy helm-tests/tests/helm_tests/airflow_core/{test_pdb_triggerer.py => 
test_pdb_api_server.py} (81%)
 copy helm-tests/tests/helm_tests/airflow_core/{test_pdb_worker.py => 
test_pdb_dag_processor.py} (79%)
 create mode 100644 helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py
 copy {dev/react-plugin-tools/react_plugin_template => 
providers/edge3/src/airflow/providers/edge3/plugins/www}/src/global.d.ts (100%)
 rename 
providers/fab/src/airflow/providers/fab/www/static/dist/{main.99b8deb941ee474726c9.css
 => main.8cffe40bcf7cca998f4e.css} (100%)
 rename 
providers/fab/src/airflow/providers/fab/www/static/dist/{main.99b8deb941ee474726c9.js
 => main.8cffe40bcf7cca998f4e.js} (73%)
 rename 
providers/fab/src/airflow/providers/fab/www/static/dist/{main.99b8deb941ee474726c9.js.LICENSE.txt
 => main.8cffe40bcf7cca998f4e.js.LICENSE.txt} (100%)
 create mode 100644 providers/google/docs/message-queues/index.rst
 copy {airflow-core/src/airflow/_shared => 
providers/google/src/airflow/providers/google/event_scheduling}/__init__.py 
(100%)
 copy {airflow-core/src/airflow/_shared => 
providers/google/src/airflow/providers/google/event_scheduling/events}/__init__.py
 (100%)
 copy providers/{redis/src/airflow/providers/redis/queues/redis.py => 
google/src/airflow/providers/google/event_scheduling/events/pubsub.py} (56%)
 copy {airflow-core/src/airflow/_shared => 
providers/google/tests/system/google/event_scheduling}/__init__.py (100%)
 create mode 100644 
providers/google/tests/system/google/event_scheduling/example_event_schedule_pubsub.py
 create mode 100644 
providers/google/tests/unit/google/cloud/links/test_cloud_storage_transfer.py
 copy {airflow-core/src/airflow/_shared => 
providers/google/tests/unit/google/event_scheduling}/__init__.py (100%)
 copy {airflow-core/src/airflow/_shared => 
providers/google/tests/unit/google/event_scheduling/events}/__init__.py (100%)
 create mode 100644 
providers/google/tests/unit/google/event_scheduling/events/test_pubsub.py
 copy providers/{microsoft/azure => sftp}/docs/filesystems/index.rst (100%)
 create mode 100644 providers/sftp/docs/filesystems/sftp.rst
 copy {airflow-core/src/airflow/_shared => 
providers/sftp/src/airflow/providers/sftp/fs}/__init__.py (100%)
 create mode 100644 providers/sftp/src/airflow/providers/sftp/fs/sftp.py
 copy {airflow-core/src/airflow/_shared => 
providers/sftp/tests/unit/sftp/fs}/__init__.py (100%)
 create mode 100644 providers/sftp/tests/unit/sftp/fs/test_sftp.py
 create mode 100644 shared/logging/src/airflow_shared/logging/remote.py
 create mode 100644 shared/logging/tests/logging/test_remote.py
 copy {airflow-core/src/airflow/models => task-sdk/src/airflow/sdk}/crypto.py 
(81%)
 copy {airflow-core/src/airflow/_shared => 
task-sdk/src/airflow/sdk/definitions/partition_mapper}/__init__.py (100%)
 copy airflow-core/src/airflow/version.py => 
task-sdk/src/airflow/sdk/definitions/partition_mapper/base.py (85%)
 copy airflow-core/src/airflow/models/skipmixin.py => 
task-sdk/src/airflow/sdk/definitions/partition_mapper/identity.py (82%)
 create mode 100644 task-sdk/src/airflow/sdk/execution_time/task_mapping.py
 create mode 100644 task-sdk/tests/task_sdk/execution_time/test_task_mapping.py
 create mode 100644 task-sdk/tests/task_sdk/test_crypto.py


Reply via email to