This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/npm_and_yarn/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/vite-8.0.0
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard ef527e4264b chore(deps-dev): bump vite
add a48d8a5b21a Fix per-option button rendering for 4 options (#64453)
add fbdff1e45eb Add detailed 2.11.x PR instructions and FAB provider
exception (#64463)
add 7e296282b8d Fix newsfragment check being cancelled on rapid PR events
(#64447)
add a1b9485731f Add daily E2E flaky test report workflow with Slack
notifications (#64446)
add 4896e8acdfa Fix e2e tests failing on release branches due to docker
compose pull (#64500)
add 1a8ef7c1448 Remove helm-related code from airflow-core (#64427)
add ee6d8dd7aae AIP 67 - Multi-Team: Update Edge Executor to support multi
team (#61646)
add 981e80bdf1c Chart: fix default args/command for databaseCleanup
(#63821)
add 476dabe4d71 Add no-op _process_workloads to EdgeExecutor to improve
readability (#64236)
add 958e9267e1e Add workers.celery.priorityClassName &
workers.kubernetes.priorityClassName (#61961)
add 7438cbfd4b2 Fix SecretCache import failure on Python 3.14
multiprocessing (#64501)
add 30c91a97e4b CI: Upgrade important CI environment (#64512)
add ab758459133 Update README.md badge to v3-2-test and automate badge
updates (#64443)
add 3dc0d9e7a77 Add provider class registration checks to provider.yaml
validation (#64127)
add 67cdaa43870 Add newsfragment for AIP-76 (#63419)
add a94aae29f8e Update the kueue version to fix the system test for
kubernetes engine (#64293)
add 7aaaf855c54 Update the SDF version to fix the system test for
DisplayVideo (#64302)
add 23fc2ced35b Replace AWS keys with placeholder text in documentation
and code examples (#63577)
add bcf74de0e2d Fix SecretCache import error in Python 3.14 with
pytest-xdist (#64525)
add 073c4cd1fa3 Add Rahul Vats to CODEOWNERS for /dev/ (#64529)
add c7fc3b82ad8 Improve Playwright test patterns in pools.spec.ts #63430
(#64328)
add f4713de23ce Docs: Add RC shortcut for first release candidates from
test branch (#64528)
add 7d0d5d6966e update pinecone's type dependency to resolve mypy checker
error (#64524)
add 152295362e5 [main] Force building CI image on upgrade important CI
environment (#64536)
add d03aaf822cb Add data-testid to task filter dropdowns for stable E2E
selectors (#64531)
add f6b9c0234aa Fix Gantt view still visible when time range is outside
dagrun window #64147 (#64179)
add 21bbde3909b Add workers.celery.runtimeClassName &
workers.kubernetes.runtimeClassName (#61962)
add 9fd607d3e52 Fix Common AI HITL review write endpoints forbidden errors
(#64550)
add d15a756873c Fix teardown scope evaluation: lazy iteration, early
return, better tests (#64558)
add 9a500aa2862 Update cncf's import conf path to use common compat SDK
(#64143)
add 9f17caf6319 Remove no-longer-used HIDE_ATTRS_FROM_UI (#64560)
add 2bd58511eaf Add two more fixme's for tests: (#64544)
add c6a750cd74b Add a way to mark a return value XCom as dag result
(#64522)
add 81fa2625038 Update new Rat version checksum (#64548)
add c3838a40414 Add prek hook to enforce conf import from compat SDK in
providers (#64564)
add 5d44373487c Reduce unneeded unit tests (#64551)
add bee9f48422b Add contributor scoring and author info overlay to
auto-triage TUI (#64569)
add b017ae38235 fix dagrun list limit (#64071)
add 5be06ca96e7 Attempt best-effort cancellation of pending futures on
`GoogleCloudError` and cap worker count to number of files in
`GCSTimeSpanFileTransformOperator`. This avoids scheduling unnecessary work
during failures and prevents over-provisioning threads for small batches.
Existing failure semantics are preserved (`*_continue_on_fail` unchanged).
Updated tests to validate cancellation behaviour and worker cap. (#64511)
add be1dc88a00d Add retries for `_write_logs` method in
`KubernetesPodOperator` (#64471)
add 679d15c1892 Retry uv sync lowest-direct resolution in CI to handle
transient failures (#64565)
add 15cf396a3b9 Fix TypeError in GET /dags/{dag_id}/tasks when order_by
field has None values (#64384)
add 85ccf1accf2 Add overridable metadata engine creation hooks in
`settings.py` (#62184)
add febd35dd422 Add Spacest.com to the list of companies to INTHEWILD.md
(#64482)
add 6bd6fdfb037 Use set for llm_completed and remove dead pending branch
in TUI (#64585)
add 39fb57501da fix(fab): add authlib as optional oauth extra in fab
provider (#64457)
add 53af77a5fe6 Removed duplicate staticmethod (#64477) (#64479)
add 395c8798c39 handle rate limiting of k8s api server in k8s executor
(#64504)
add 0eb3067fc05 fix infinite loop for limit<0 (#64582)
add a8dabc7cfb0 use a short-live session instead of passing sessionDeps
into DagRunWaiter (#64520)
add 450c45befc0 Remove render_k8s_object in helm template generator &
adjust doc (#64425)
add f1495c283fc Fix: Restore live stdout logging for Elasticsearch log
forwarding (#64067)
add 20553e6b5a1 Remove non-main branch triggers from newsfragment PR
number check (#64593)
add 860277d7bab Fix TaskInstance crash with non-serialized operators
missing get_weight (#64557)
add aca2d59ffa7 Exclude text non-doc files from triggering full CI test
runs (#64584)
add 979547f91d9 Add cross-references, overlapping PR detection, and search
to TUI (#64579)
add ce88001bb21 fix: ExternalTaskSensor check_existence ignored in
deferrable mode (Airflow < 3.0) (#64394)
add ea552cb850b Document expected Elasticsearch document schema for
external log shippers (#64363)
add 93a957dc751 Increase Playwright E2E test retries from 2 to 4 in CI
(#64604)
add 08eb97bf534 Fix inconsistent staging documentation URLs (#64347)
add b653b4d165a Remove false-positive RFC3986 underscore warning from
Connection.get_uri() (#64345)
add f8321609df8 Move Cherry Picker CLI to main dev/README (#64546)
add 71aebdef0ee fix: remove obsolete boto3 extra from aiobotocore
dependency (#64330)
add 5497cd16be2 Update script options and generation indentation in docs
(#64581)
add 9cad4acf06e Make common-ai provider to ready state (#64188)
add 891c7fbb6a8 Fix deferred task resume failure when worker is older than
server (#64598)
add 37c43ddd997 Fix backfill marked complete before DagRuns are created
(#62561)
add 91a994f4716 E2E: prevent Dag parsing races and improve Dag run cleanup
(#64540)
add 7531ca19788 Fix serde deserialization of old-format builtin types in
trigger kwargs (#64615)
add 855c7ec6304 Deadlines endpoints (#62583)
add 5245419267b Add dag runs filters (Consuming Asset) (#63624)
add 01d0df1eaa9 Add OpenLineage parent info injection to GlueJobOperator
(#64513)
add 31c39334bbf Complete Portuguese (pt) UI translation to 90%+ coverage
(#62885)
add ba352daf416 [TESTENV] Pytest plugin allowing to load custom Airflow
config (#59389)
add 6339d0947dc Fix group/extra bug in initialize_virtualenv (#62230)
add 498acc8cf26 Fix timeout_with_traceback crashes on Windows and non-main
threads (#63664)
add 48c166a7c1f fix: update params in backfill documentation (#61821)
add a7bfdf4c3cd Fix grammar in dag model docstring (#63653)
add aa7ed8c0240 Run DB check only for core components in prod entrypoint
(#63413)
add 128e11d0617 improve grid/ti_summaries and grid/runs (#64034)
add 90deddd00c5 Fix Starlette 1.0.0 compatibility in TemplateResponse
calls (#64116) (#64300)
add 32ac5645c9e Fix #62414: Remove spurious blank lines in filtered task
log download (#64235)
add e89163be5a5 Add debug logging and fix exception handling in DynamoDB
hook (#64629)
add 73fcb4f55d9 Log on_kill job deletion in kubernetes spark operator at
INFO level (#64633)
add d292e0e9ec6 Fix double-serialization issue by unwrapping serialized
kwargs in `encode_trigger` (#64626)
add ed51aff0562 Add DagRunType for operator (#63733)
add f391942b90f Fix ObjectStoragePath NoCredentialsError when using
conn_id with remote stores (#64634)
add 1ec9d8aee06 Guard against null trigger in asset watcher cleanup
(#64659)
add c707a8a7d14 Improve consistency of values.yaml & misc (#64559)
add f6844d84579 Update default api version of campaign manager sensor
(#64265)
add 30994d9b258 Optimize `ElasticsearchTaskHandler` by removing redundant
`count()` call before `search()` (#64372)
add 7047e0326f8 add concurrency in update-constrants-on-push (#64645)
add 3b6ee39e9e9 consolidating the bug reports to one issue template
(#64240)
add 9504886608f Fix: PATCH /dags pagination bug and document wildcard
dag_id_pattern (#63665)
add b15a5c9595d Skip UI E2E tests on derived full tests needed, canary,
and scheduled builds (#64673)
add 87b3611123a docs: fix RST heading levels and branch creation placement
in contributor quick-start (#64662)
add b6472b26a44 Fix amqps:// SSL config and celery_config_options bypass
(#64392)
add ce1270b96fd Return 410 Gone for heartbeat when cleared TI exists in
TIH (#61631)
add 7d9819c0bba remove duplicte import (#63845)
add 4b7b998e221 Clean up CeleryExecutor to use workload terminology and
typing (#63888)
add 9c57461be8f docs: warn about plugins folder sys.modules registration
in modules_management.rst (#63682)
add f5ccebc8362 Fix N+1 query pattern in task instance states and count
endpoints (#60352)
add 0a17181065d Add unpause dag for trigger_dag method (#64694)
add 8c4c9908b8c Add `breeze pr stats` command for open PR statistics by
area (#64667)
add d4007e58bc2 Improve auto-triage: always include drafts, close stale
ones, prefetch next page, show reviews (#64669)
add 3cf4f51c2f0 Simplify ci_image_build and add test coverage for remote
logging e2e (#64697)
add 5147383eae9 More precise wording in newsfragments (#64700)
add f1ac27af8b5 Fix pytest in Yandexcloud if 0.384.0 (#64696)
add 9fac83138ad Bump litellm from 1.82.6 to 1.83.0 (#64701)
add a1c45b950c9 Fix bulk task instance rbac bypass (#64288)
add 4ef04989839 chore(deps): bump aiohttp from 3.13.3 to 3.13.4 (#64608)
add 97dd71e12ae Bump google-cloud-aiplatform from 1.99.0 to 1.133.0
(#64712)
add 12fd5fbdc94 Replace `sshtunnel` with native paramiko/asyncssh
tunneling (#64299)
add 668ce5d5154 Remove the lxml workaround (#64554)
add 9733ac8c91a Bump the min aibotocore version to 3.0.0 (#64631)
add 04b3dd02a53 Temporarily upgrade allowlist-check to latest version
(#64713)
add 2bef3a44e9f Bump the github-actions-updates group with 3 updates
(#64684)
add a4d1eacdc7c Add SlackAPIConversationsHistoryOperator for
conversations.history API (#64674)
add ff77bd2f095 Fix OTel metrics lost in forked task processes (#64703)
add f2a3e5feac7 Add --frozen to uv run commands in run_tests and document
uv lock behavior (#64699)
add 973640e03fe Fix bulk task instance authorization error message
rendering (#64719)
add c4a209ba0ec Load hook metadata from YAML without importing Hook class
(#63826)
add 1b2893300d8 Install rustup and cargo in CI and prod build images
(#64725)
add e38f8099c7e fix(providers/fab): prevent AppBuilder re-initialization
race in FastAPI login (#64151) (#64418)
add 51b7d3b1eb7 Mention not to add newsfragments (#64732)
add 6e3a4904eb1 Update ASF allowlist-check action to latest version
(#64728)
add 97f9daab8d8 Fix structlog positional formatting for single-dict
arguments (#62849)
add 9fa72acbaaf Fix missing deprecation for execution_api_server_url
mapping (#63949)
add b91394aa4cc fix(scheduler): skip asset-triggered dags without
SerializedDagModel (#64322)
add d0e41dd35f0 i18n(ko): add missing translations(Apr 4) (#64706)
add ab918c9260a Auto-triage: flag area:UI PRs missing screenshots/demo
from new contributors (#64516)
add db5e555cc62 Fix start_date in example DAGs to avoid TZ conversion
overflow (#63882)
add a2456efbdde Add workers.celery.schedulerName &
workers.kubernetes.schedulerName (#62030)
add 9dfc5d13e5a Bump litellm from 1.82.6 to 1.83.0 (#64761)
add b5dae4e72df feat(providers/spark): add post_submit_commands to
SparkSubmitHook for sidecar lifecycle management (#64391)
add 8ad491d0de3 Harden GitHook SSH command building and URL construction
(#64756)
add 84010007d2e CI: Upgrade important CI environment (#64744)
add 8e1f6c457c3 UI: Filter DagVersionSelect options based on selected
DagRun (#64736)
add 8509dc99210 fix(ui): correct external link target and add rel
attributes (#64542)
add 3d83580c22b Add workers.celery.volumeClaimTemplates (#62048)
add b875c406e62 CI: Build CI image after Dockerfiles are updated in breeze
ci upgrade (#64777)
add bcd559c933e Allow revent packages when testing RC versions (#64774)
add 6b7771d7438 feat(sagemaker): Add SageMakerConditionOperator and
SageMakerFailOperator (#64545)
add 529b49c57e8 Remove dependabot alarms in airflow core npm dependencies
(#64791)
add 2ce59d6b97a chore(deps-dev): bump vite
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 (ef527e4264b)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/vite-8.0.0
(2ce59d6b97a)
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 | 2 +-
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 194 +-
.../3-airflow_providers_bug_report.yml | 247 --
.../{6-free_form.yml => 3-free_form.yml} | 0
.../4-airflow_helmchart_bug_report.yml | 159 --
.../ISSUE_TEMPLATE/5-airflow_doc_issue_report.yml | 73 -
.github/actions/breeze/action.yml | 2 +-
.github/actions/install-prek/action.yml | 2 +-
.github/workflows/additional-ci-image-checks.yml | 8 +-
.github/workflows/asf-allowlist-check.yml | 2 +-
.github/workflows/basic-tests.yml | 2 +-
.github/workflows/check-newsfragment-pr-number.yml | 5 +-
.github/workflows/ci-amd-arm.yml | 4 +-
.github/workflows/codeql-analysis.yml | 6 +-
.github/workflows/e2e-flaky-tests-report.yml | 67 +
.github/workflows/registry-backfill.yml | 2 +-
.github/workflows/registry-tests.yml | 2 +-
.github/workflows/release_dockerhub_image.yml | 2 +-
.github/workflows/ui-e2e-tests.yml | 17 +
.github/workflows/update-constraints-on-push.yml | 4 +
.pre-commit-config.yaml | 8 +-
AGENTS.md | 1 +
Dockerfile | 47 +-
Dockerfile.ci | 59 +-
INTHEWILD.md | 1 +
README.md | 2 +-
airflow-core/.pre-commit-config.yaml | 1 +
.../cluster-policies.rst | 44 +
.../modules_management.rst | 40 +-
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/core-concepts/backfill.rst | 6 +-
airflow-core/docs/core-concepts/dag-run.rst | 6 +-
airflow-core/docs/core-concepts/executor/index.rst | 1 +
airflow-core/docs/howto/connection.rst | 4 +-
airflow-core/docs/migrations-ref.rst | 4 +-
airflow-core/newsfragments/62561.bugfix.rst | 1 +
airflow-core/newsfragments/63664.bugfix.rst | 1 +
airflow-core/newsfragments/64067.bugfix.rst | 1 +
airflow-core/newsfragments/aip-76.significant.rst | 36 +
airflow-core/pyproject.toml | 4 +-
.../auth/managers/simple/simple_auth_manager.py | 3 +-
.../auth/managers/simple/ui/package.json | 7 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 103 +-
.../src/airflow/api_fastapi/common/parameters.py | 42 +
.../src/airflow/api_fastapi/core_api/app.py | 3 +-
.../api_fastapi/core_api/datamodels/ui/deadline.py | 20 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 230 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 20 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 4 +-
.../api_fastapi/core_api/routes/public/dags.py | 29 +-
.../api_fastapi/core_api/routes/public/tasks.py | 40 +-
.../api_fastapi/core_api/routes/ui/deadlines.py | 141 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 111 +-
.../core_api/services/public/dag_run.py | 21 +-
.../core_api/services/public/task_instances.py | 28 +-
.../core_api/services/ui/connections.py | 32 +-
.../api_fastapi/core_api/services/ui/grid.py | 170 +-
.../api_fastapi/execution_api/routes/dag_runs.py | 7 +-
.../execution_api/routes/task_instances.py | 48 +-
.../api_fastapi/execution_api/routes/xcoms.py | 2 +
.../execution_api/versions/v2026_04_06.py | 28 +
airflow-core/src/airflow/assets/manager.py | 2 +
.../config_templates/airflow_local_settings.py | 66 +-
.../src/airflow/dag_processing/collection.py | 3 +-
.../example_dags/example_inlet_event_extra.py | 4 +-
.../example_dags/example_outlet_event_extra.py | 6 +-
.../src/airflow/executors/local_executor.py | 1 +
.../src/airflow/jobs/scheduler_job_runner.py | 11 +-
.../src/airflow/jobs/triggerer_job_runner.py | 9 +-
...fault_view.py => 0110_3_3_0_xcom_dag_result.py} | 24 +-
airflow-core/src/airflow/models/dag.py | 16 +-
airflow-core/src/airflow/models/taskinstance.py | 11 +-
airflow-core/src/airflow/models/trigger.py | 13 +-
airflow-core/src/airflow/models/xcom.py | 4 +
airflow-core/src/airflow/provider.yaml.schema.json | 4 +
airflow-core/src/airflow/provider_info.schema.json | 4 +
airflow-core/src/airflow/providers_manager.py | 55 +-
airflow-core/src/airflow/serialization/encoders.py | 8 +
airflow-core/src/airflow/settings.py | 46 +-
.../src/airflow/ti_deps/deps/trigger_rule_dep.py | 11 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 33 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 54 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 54 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 58 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 54 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 82 +-
.../ui/openapi-gen/requests/services.gen.ts | 70 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 83 +-
airflow-core/src/airflow/ui/package.json | 5 +-
airflow-core/src/airflow/ui/playwright.config.ts | 4 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 29 +-
.../airflow/ui/public/i18n/locales/en/common.json | 2 +
.../airflow/ui/public/i18n/locales/ko/admin.json | 5 +-
.../airflow/ui/public/i18n/locales/ko/common.json | 72 +-
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 7 +-
.../airflow/ui/public/i18n/locales/pt/admin.json | 24 +
.../airflow/ui/public/i18n/locales/pt/assets.json | 11 +-
.../airflow/ui/public/i18n/locales/pt/browse.json | 26 +-
.../airflow/ui/public/i18n/locales/pt/common.json | 41 +-
.../ui/public/i18n/locales/pt/components.json | 27 +
.../src/airflow/ui/public/i18n/locales/pt/dag.json | 35 +
.../airflow/ui/public/i18n/locales/pt/dags.json | 5 +
.../ui/public/i18n/locales/pt/dashboard.json | 3 +-
.../airflow/ui/public/i18n/locales/pt/hitl.json | 3 +-
.../ui/src/components/DagVersionSelect.test.tsx | 120 +
.../airflow/ui/src/components/DagVersionSelect.tsx | 23 +-
.../src/airflow/ui/src/components/RunTypeIcon.tsx | 3 +
.../src/airflow/ui/src/constants/filterConfigs.tsx | 9 +-
.../src/airflow/ui/src/constants/searchParams.ts | 1 +
.../ui/src/layouts/Details/DetailsLayout.tsx | 2 +
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 8 +-
.../Connections/NothingFoundInfo.test.tsx} | 24 +-
.../ui/src/pages/Connections/NothingFoundInfo.tsx | 2 +-
.../Tasks/TaskFilters/AttrSelectFilterMulti.tsx | 4 +-
.../pages/Dag/Tasks/TaskFilters/TaskFilters.tsx | 3 +
airflow-core/src/airflow/ui/src/pages/DagRuns.tsx | 3 +
.../src/airflow/ui/src/pages/DagRunsFilters.tsx | 1 +
.../HITLTaskInstances/HITLResponseForm.test.tsx | 144 +
.../pages/HITLTaskInstances/HITLResponseForm.tsx | 2 +-
.../ui/src/pages/TaskInstance/Logs/Logs.tsx | 5 +-
.../TaskInstance/Logs/logDownloadContent.test.ts | 131 +
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 1 +
.../src/airflow/ui/tests/e2e/global-setup.ts | 22 +-
.../src/airflow/ui/tests/e2e/global-teardown.ts | 4 +-
.../src/airflow/ui/tests/e2e/pages/DagsPage.ts | 6 +-
.../src/airflow/ui/tests/e2e/pages/PoolsPage.ts | 34 +-
.../airflow/ui/tests/e2e/specs/backfill.spec.ts | 2 +-
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 2 +-
.../src/airflow/ui/tests/e2e/utils/test-helpers.ts | 73 +-
airflow-core/src/airflow/utils/db.py | 20 +-
.../src/airflow/utils/log/file_task_handler.py | 1 -
airflow-core/src/airflow/utils/types.py | 1 +
.../tests/unit/always/test_providers_manager.py | 8 +
.../tests/unit/api/common/test_trigger_dag.py | 19 +
.../core_api/routes/public/test_dag_run.py | 45 +
.../core_api/routes/public/test_dags.py | 60 +
.../core_api/routes/public/test_task_instances.py | 185 +-
.../core_api/routes/public/test_tasks.py | 16 +-
.../core_api/routes/ui/test_deadlines.py | 225 +-
.../api_fastapi/core_api/routes/ui/test_grid.py | 23 +
.../services/public/test_task_instances.py | 32 +-
.../execution_api/versions/head/test_dag_runs.py | 32 +-
.../execution_api/versions/head/test_health.py | 10 +
.../versions/head/test_task_instances.py | 44 +
.../execution_api/versions/head/test_xcoms.py | 20 +
.../versions/v2026_04_06/test_task_instances.py | 127 +
airflow-core/tests/unit/charts/__init__.py | 16 -
airflow-core/tests/unit/charts/conftest.py | 25 -
.../tests/unit/charts/helm_template_generator.py | 170 --
airflow-core/tests/unit/charts/log_groomer.py | 345 ---
airflow-core/tests/unit/core/test_settings.py | 142 +
.../tests/unit/dag_processing/test_collection.py | 88 +
.../tests/unit/executors/test_local_executor.py | 7 +-
airflow-core/tests/unit/jobs/test_scheduler_job.py | 259 +-
airflow-core/tests/unit/models/test_dag.py | 130 +-
.../tests/unit/models/test_taskinstance.py | 20 +
.../tests/unit/serialization/test_encoders.py | 181 ++
.../unit/ti_deps/deps/test_trigger_rule_dep.py | 78 +-
airflow-core/tests/unit/utils/test_db_timeout.py | 58 +
.../tests/unit/utils/test_timeout_traceback.py | 88 +
.../src/airflowctl/api/datamodels/generated.py | 1 +
airflow-ctl/src/airflowctl/api/operations.py | 24 +-
.../tests/airflow_ctl/api/test_operations.py | 91 +-
.../basic_tests/test_basic_dag_operations.py | 17 +-
.../tests/airflow_e2e_tests/conftest.py | 4 +-
.../airflow_e2e_tests/e2e_test_utils/clients.py | 3 +
.../remote_log_tests/test_remote_logging.py | 5 -
chart/files/pod-template-file.kubernetes-helm-yaml | 10 +-
chart/newsfragments/61915.significant.rst | 2 +-
chart/newsfragments/61961.significant.rst | 1 +
chart/newsfragments/61962.significant.rst | 1 +
chart/newsfragments/62030.significant.rst | 1 +
chart/newsfragments/62048.significant.rst | 1 +
chart/templates/NOTES.txt | 32 +
chart/templates/configmaps/configmap.yaml | 2 +-
chart/values.schema.json | 97 +-
chart/values.yaml | 1593 ++++++-----
.../03a_contributors_quick_start_beginners.rst | 23 +-
contributing-docs/07_local_virtualenv.rst | 75 +-
contributing-docs/08_static_code_checks.rst | 16 -
contributing-docs/09_testing.rst | 4 +-
.../13_airflow_dependencies_and_extras.rst | 11 +-
.../contributors_quick_start_pycharm_intellij.rst | 178 +-
contributing-docs/testing/helm_unit_tests.rst | 47 +-
dev/README.md | 68 +-
dev/README_AIRFLOW3_DEV.md | 167 +-
dev/README_HELM_CHART2_DEV.md | 2 +
dev/README_RELEASE_AIRFLOW.md | 19 +-
dev/README_RELEASE_AIRFLOWCTL.md | 2 +-
dev/README_RELEASE_HELM_CHART.md | 2 +-
dev/README_RELEASE_PROVIDERS.md | 2 +-
dev/README_RELEASE_PYTHON_CLIENT.md | 2 +-
dev/breeze/doc/13_pr_tasks.rst | 60 +-
dev/breeze/doc/ci/02_images.md | 2 +-
dev/breeze/doc/images/output_ci_upgrade.svg | 46 +-
dev/breeze/doc/images/output_ci_upgrade.txt | 2 +-
dev/breeze/doc/images/output_pr.svg | 12 +-
dev/breeze/doc/images/output_pr.txt | 2 +-
dev/breeze/doc/images/output_pr_auto-triage.svg | 76 +-
dev/breeze/doc/images/output_pr_auto-triage.txt | 2 +-
dev/breeze/doc/images/output_pr_stats.svg | 116 +
dev/breeze/doc/images/output_pr_stats.txt | 1 +
...management_generate-issue-content-providers.svg | 14 +-
...management_generate-issue-content-providers.txt | 2 +-
...ease-management_generate-providers-metadata.svg | 18 +-
...ease-management_generate-providers-metadata.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 14 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 14 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_setup_check-all-params-in-groups.svg | 74 +-
.../output_setup_check-all-params-in-groups.txt | 2 +-
.../output_setup_regenerate-command-images.svg | 6 +-
.../output_setup_regenerate-command-images.txt | 2 +-
.../src/airflow_breeze/commands/ci_commands.py | 40 +-
.../airflow_breeze/commands/ci_commands_config.py | 1 -
.../src/airflow_breeze/commands/pr_commands.py | 2027 ++++++++++++--
.../airflow_breeze/commands/pr_commands_config.py | 14 +-
.../commands/release_management_commands.py | 2 +-
dev/breeze/src/airflow_breeze/global_constants.py | 2 +-
dev/breeze/src/airflow_breeze/utils/confirm.py | 20 +-
dev/breeze/src/airflow_breeze/utils/github.py | 67 +
dev/breeze/src/airflow_breeze/utils/llm_utils.py | 4 +-
dev/breeze/src/airflow_breeze/utils/pr_cache.py | 19 +-
dev/breeze/src/airflow_breeze/utils/pr_context.py | 85 +
dev/breeze/src/airflow_breeze/utils/pr_display.py | 14 +
dev/breeze/src/airflow_breeze/utils/pr_models.py | 12 +-
dev/breeze/src/airflow_breeze/utils/run_tests.py | 13 +-
.../src/airflow_breeze/utils/selective_checks.py | 46 +-
dev/breeze/src/airflow_breeze/utils/tui_display.py | 288 +-
dev/breeze/tests/test_github_ui_demo.py | 224 ++
dev/breeze/tests/test_pr_context.py | 103 +
.../tests/test_pytest_args_for_test_types.py | 1 -
dev/breeze/tests/test_selective_checks.py | 108 +-
dev/breeze/uv.lock | 106 +-
.../react_plugin_template/package.json | 6 +-
.../react_plugin_template/pnpm-lock.yaml | 20 +-
dev/update_github_branch_config.py | 35 +-
devel-common/pyproject.toml | 4 +-
devel-common/src/docs/utils/conf_constants.py | 1 -
devel-common/src/tests_common/pytest_plugin.py | 19 +
docker-tests/tests/docker_tests/test_prod_image.py | 2 +-
docs/README.md | 2 +-
docs/spelling_wordlist.txt | 4 +-
generated/PYPI_README.md | 2 +-
.../tests/chart_utils/helm_template_generator.py | 10 -
.../helm_tests/airflow_aux/test_airflow_common.py | 12 +-
.../airflow_aux/test_database_cleanup.py | 11 +-
.../airflow_aux/test_pod_template_file.py | 50 +-
.../tests/helm_tests/airflow_core/test_worker.py | 173 +-
.../helm_tests/airflow_core/test_worker_sets.py | 77 +
providers/.pre-commit-config.yaml | 8 +
providers/airbyte/provider.yaml | 1 +
.../airflow/providers/airbyte/get_provider_info.py | 1 +
providers/alibaba/provider.yaml | 4 +
.../airflow/providers/alibaba/get_provider_info.py | 4 +
providers/amazon/docs/connections/aws.rst | 12 +-
providers/amazon/docs/index.rst | 1 +
providers/amazon/docs/operators/sagemaker.rst | 32 +
providers/amazon/provider.yaml | 17 +-
providers/amazon/pyproject.toml | 9 +-
.../providers/amazon/aws/hooks/athena_sql.py | 6 +-
.../airflow/providers/amazon/aws/hooks/base_aws.py | 6 +-
.../airflow/providers/amazon/aws/hooks/dynamodb.py | 33 +-
.../airflow/providers/amazon/aws/operators/glue.py | 36 +-
.../providers/amazon/aws/operators/sagemaker.py | 266 +-
.../airflow/providers/amazon/get_provider_info.py | 17 +-
.../amazon/aws/example_sagemaker_condition.py | 179 ++
.../tests/unit/amazon/aws/operators/test_glue.py | 189 ++
.../aws/operators/test_sagemaker_condition.py | 222 ++
providers/apache/cassandra/provider.yaml | 1 +
.../apache/cassandra/get_provider_info.py | 1 +
providers/apache/drill/provider.yaml | 1 +
.../providers/apache/drill/get_provider_info.py | 1 +
providers/apache/druid/provider.yaml | 1 +
.../providers/apache/druid/get_provider_info.py | 1 +
providers/apache/hdfs/provider.yaml | 4 +
.../providers/apache/hdfs/get_provider_info.py | 2 +
providers/apache/hive/provider.yaml | 3 +
.../providers/apache/hive/get_provider_info.py | 3 +
providers/apache/iceberg/provider.yaml | 1 +
.../providers/apache/iceberg/get_provider_info.py | 1 +
providers/apache/impala/provider.yaml | 1 +
.../providers/apache/impala/get_provider_info.py | 1 +
providers/apache/kafka/provider.yaml | 1 +
.../providers/apache/kafka/get_provider_info.py | 1 +
providers/apache/kylin/provider.yaml | 1 +
.../providers/apache/kylin/get_provider_info.py | 1 +
providers/apache/livy/provider.yaml | 1 +
.../providers/apache/livy/get_provider_info.py | 1 +
providers/apache/pig/provider.yaml | 1 +
.../providers/apache/pig/get_provider_info.py | 1 +
providers/apache/pinot/provider.yaml | 2 +
.../providers/apache/pinot/get_provider_info.py | 2 +
providers/apache/spark/provider.yaml | 4 +
.../providers/apache/spark/get_provider_info.py | 4 +
.../providers/apache/spark/hooks/spark_submit.py | 90 +-
.../apache/spark/operators/spark_submit.py | 8 +
.../unit/apache/spark/hooks/test_spark_submit.py | 69 +
.../spark/hooks/test_spark_submit_post_commands.py | 230 ++
providers/apache/tinkerpop/provider.yaml | 1 +
.../apache/tinkerpop/get_provider_info.py | 1 +
providers/apprise/provider.yaml | 1 +
.../airflow/providers/apprise/get_provider_info.py | 1 +
providers/arangodb/provider.yaml | 1 +
.../providers/arangodb/get_provider_info.py | 1 +
providers/asana/provider.yaml | 1 +
.../airflow/providers/asana/get_provider_info.py | 1 +
providers/atlassian/jira/provider.yaml | 1 +
.../providers/atlassian/jira/get_provider_info.py | 1 +
.../providers/atlassian/jira/sensors/jira.py | 2 +-
providers/celery/provider.yaml | 2 +-
.../providers/celery/executors/celery_executor.py | 131 +-
.../celery/executors/celery_executor_utils.py | 73 +-
.../celery/executors/celery_kubernetes_executor.py | 2 +-
.../providers/celery/executors/default_celery.py | 2 +-
.../airflow/providers/celery/get_provider_info.py | 2 +-
.../integration/celery/test_celery_executor.py | 83 +-
.../unit/celery/executors/test_celery_executor.py | 277 +-
providers/cloudant/provider.yaml | 1 +
.../providers/cloudant/get_provider_info.py | 1 +
providers/cncf/kubernetes/provider.yaml | 2 +
.../providers/cncf/kubernetes/cli/definition.py | 2 +-
.../kubernetes/executors/kubernetes_executor.py | 32 +-
.../executors/local_kubernetes_executor.py | 2 +-
.../providers/cncf/kubernetes/get_provider_info.py | 6 +-
.../providers/cncf/kubernetes/kube_client.py | 2 +-
.../providers/cncf/kubernetes/kube_config.py | 5 +-
.../cncf/kubernetes/kubernetes_helper_functions.py | 3 +-
.../providers/cncf/kubernetes/operators/job.py | 3 +-
.../providers/cncf/kubernetes/operators/pod.py | 64 +-
.../cncf/kubernetes/operators/spark_kubernetes.py | 2 +-
.../cncf/kubernetes/template_rendering.py | 2 +-
.../executors/test_kubernetes_executor.py | 139 +-
.../executors/test_local_kubernetes_executor.py | 2 +-
.../unit/cncf/kubernetes/operators/test_pod.py | 64 +-
providers/cohere/provider.yaml | 1 +
.../airflow/providers/cohere/get_provider_info.py | 1 +
providers/common/ai/README.rst | 6 +-
providers/common/ai/docs/changelog.rst | 2 +-
providers/common/ai/docs/index.rst | 6 +-
providers/common/ai/provider.yaml | 9 +-
providers/common/ai/pyproject.toml | 6 +-
.../ai/src/airflow/providers/common/ai/__init__.py | 2 +-
.../providers/common/ai/get_provider_info.py | 5 +
.../providers/common/ai/plugins/hitl_review.py | 6 +-
.../common/compat/openlineage/utils/spark.py | 20 +
providers/databricks/provider.yaml | 1 +
.../providers/databricks/get_provider_info.py | 1 +
providers/datadog/provider.yaml | 1 +
.../airflow/providers/datadog/get_provider_info.py | 1 +
providers/dbt/cloud/provider.yaml | 1 +
.../providers/dbt/cloud/get_provider_info.py | 1 +
providers/dingding/provider.yaml | 1 +
.../providers/dingding/get_provider_info.py | 1 +
providers/discord/provider.yaml | 1 +
.../airflow/providers/discord/get_provider_info.py | 1 +
providers/docker/provider.yaml | 1 +
.../airflow/providers/docker/get_provider_info.py | 1 +
providers/edge3/docs/architecture.rst | 3 +-
providers/edge3/docs/deployment.rst | 15 +-
providers/edge3/docs/edge_executor.rst | 60 +
providers/edge3/docs/migrations-ref.rst | 20 +-
.../src/airflow/providers/edge3/cli/api_client.py | 27 +-
.../src/airflow/providers/edge3/cli/definition.py | 8 +
.../airflow/providers/edge3/cli/edge_command.py | 3 +-
.../src/airflow/providers/edge3/cli/worker.py | 75 +-
.../providers/edge3/executors/edge_executor.py | 52 +-
.../versions/0004_3_4_0_add_team_name_column.py | 60 +
.../edge3/src/airflow/providers/edge3/models/db.py | 1 +
.../src/airflow/providers/edge3/models/edge_job.py | 3 +
.../airflow/providers/edge3/models/edge_worker.py | 27 +-
.../src/airflow/providers/edge3/version_compat.py | 2 +
.../providers/edge3/worker_api/datamodels.py | 7 +
.../providers/edge3/worker_api/routes/jobs.py | 1 +
.../providers/edge3/worker_api/routes/ui.py | 23 +-
.../providers/edge3/worker_api/routes/worker.py | 5 +-
.../edge3/worker_api/v2-edge-generated.yaml | 21 +
.../edge3/tests/unit/edge3/cli/test_definition.py | 19 +-
.../edge3/tests/unit/edge3/cli/test_worker.py | 43 +-
.../unit/edge3/executors/test_edge_executor.py | 207 ++
providers/edge3/tests/unit/edge3/models/test_db.py | 8 +-
.../unit/edge3/worker_api/routes/test_jobs.py | 103 +-
.../unit/edge3/worker_api/routes/test_worker.py | 76 +-
providers/elasticsearch/docs/logging/index.rst | 94 +
providers/elasticsearch/provider.yaml | 1 +
.../providers/elasticsearch/get_provider_info.py | 1 +
.../providers/elasticsearch/log/es_task_handler.py | 34 +-
.../unit/elasticsearch/log/test_es_task_handler.py | 11 +-
providers/exasol/provider.yaml | 1 +
.../airflow/providers/exasol/get_provider_info.py | 1 +
providers/fab/pyproject.toml | 9 +
.../openapi/v2-fab-auth-manager-generated.yaml | 2 +-
.../fab/auth_manager/api_fastapi/routes/login.py | 31 +-
.../providers/fab/auth_manager/fab_auth_manager.py | 4 +
.../auth_manager/api_fastapi/routes/test_login.py | 16 +-
providers/facebook/provider.yaml | 1 +
.../providers/facebook/get_provider_info.py | 1 +
providers/ftp/provider.yaml | 1 +
.../src/airflow/providers/ftp/get_provider_info.py | 6 +-
providers/git/provider.yaml | 1 +
.../src/airflow/providers/git/get_provider_info.py | 1 +
.../git/src/airflow/providers/git/hooks/git.py | 28 +-
providers/git/tests/unit/git/hooks/test_git.py | 2 +-
providers/github/provider.yaml | 1 +
.../airflow/providers/github/get_provider_info.py | 1 +
.../src/airflow/providers/github/sensors/github.py | 2 +-
providers/google/provider.yaml | 11 +
.../providers/google/cloud/operators/gcs.py | 26 +-
.../google/cloud/triggers/cloud_composer.py | 9 +-
.../airflow/providers/google/get_provider_info.py | 13 +
.../marketing_platform/sensors/campaign_manager.py | 4 +-
.../example_kubernetes_engine_kueue.py | 2 +-
.../marketing_platform/example_display_video.py | 2 +-
.../tests/unit/google/cloud/operators/test_gcs.py | 75 +-
providers/grpc/provider.yaml | 1 +
.../airflow/providers/grpc/get_provider_info.py | 1 +
providers/hashicorp/provider.yaml | 1 +
.../providers/hashicorp/get_provider_info.py | 1 +
providers/http/provider.yaml | 1 +
.../airflow/providers/http/get_provider_info.py | 1 +
providers/imap/provider.yaml | 1 +
.../airflow/providers/imap/get_provider_info.py | 6 +-
providers/influxdb/provider.yaml | 1 +
.../providers/influxdb/get_provider_info.py | 1 +
providers/informatica/provider.yaml | 1 +
.../providers/informatica/get_provider_info.py | 1 +
providers/jdbc/provider.yaml | 1 +
.../airflow/providers/jdbc/get_provider_info.py | 1 +
providers/jenkins/provider.yaml | 1 +
.../airflow/providers/jenkins/get_provider_info.py | 1 +
providers/microsoft/azure/provider.yaml | 17 +
.../providers/microsoft/azure/get_provider_info.py | 17 +
.../providers/microsoft/azure/hooks/data_lake.py | 2 +-
providers/microsoft/mssql/provider.yaml | 1 +
.../providers/microsoft/mssql/get_provider_info.py | 1 +
providers/microsoft/psrp/provider.yaml | 1 +
.../providers/microsoft/psrp/get_provider_info.py | 1 +
providers/microsoft/winrm/provider.yaml | 1 +
.../providers/microsoft/winrm/get_provider_info.py | 1 +
providers/mongo/provider.yaml | 1 +
.../airflow/providers/mongo/get_provider_info.py | 1 +
providers/mysql/provider.yaml | 1 +
.../airflow/providers/mysql/get_provider_info.py | 6 +-
providers/neo4j/provider.yaml | 1 +
.../airflow/providers/neo4j/get_provider_info.py | 6 +-
providers/odbc/provider.yaml | 1 +
.../airflow/providers/odbc/get_provider_info.py | 6 +-
providers/openai/provider.yaml | 1 +
.../airflow/providers/openai/get_provider_info.py | 1 +
providers/openfaas/provider.yaml | 1 +
.../providers/openfaas/get_provider_info.py | 1 +
providers/openlineage/pyproject.toml | 2 +-
.../airflow/providers/openlineage/utils/spark.py | 70 +
.../tests/unit/openlineage/utils/test_spark.py | 98 +
providers/opensearch/provider.yaml | 1 +
.../providers/opensearch/get_provider_info.py | 1 +
providers/opsgenie/provider.yaml | 1 +
.../providers/opsgenie/get_provider_info.py | 1 +
providers/oracle/provider.yaml | 1 +
.../airflow/providers/oracle/get_provider_info.py | 1 +
providers/pagerduty/provider.yaml | 2 +
.../providers/pagerduty/get_provider_info.py | 2 +
providers/papermill/provider.yaml | 1 +
.../providers/papermill/get_provider_info.py | 1 +
providers/pinecone/provider.yaml | 1 +
.../providers/pinecone/get_provider_info.py | 1 +
.../airflow/providers/pinecone/hooks/pinecone.py | 26 +-
.../providers/pinecone/operators/pinecone.py | 10 +-
.../tests/system/pinecone/example_dag_pinecone.py | 14 +-
.../system/pinecone/example_pinecone_cohere.py | 7 +-
providers/postgres/provider.yaml | 1 +
.../providers/postgres/get_provider_info.py | 1 +
providers/presto/provider.yaml | 1 +
.../airflow/providers/presto/get_provider_info.py | 1 +
providers/qdrant/provider.yaml | 1 +
.../airflow/providers/qdrant/get_provider_info.py | 1 +
providers/redis/provider.yaml | 3 +-
.../airflow/providers/redis/get_provider_info.py | 3 +-
providers/salesforce/provider.yaml | 1 +
.../providers/salesforce/get_provider_info.py | 1 +
providers/samba/provider.yaml | 1 +
.../airflow/providers/samba/get_provider_info.py | 1 +
providers/segment/provider.yaml | 1 +
.../airflow/providers/segment/get_provider_info.py | 1 +
providers/sftp/provider.yaml | 1 +
.../airflow/providers/sftp/get_provider_info.py | 1 +
providers/slack/docs/operators/slack_api.rst | 20 +-
providers/slack/provider.yaml | 2 +
.../airflow/providers/slack/get_provider_info.py | 2 +
.../src/airflow/providers/slack/operators/slack.py | 82 +
.../slack/tests/system/slack/example_slack.py | 15 +-
.../slack/tests/unit/slack/operators/test_slack.py | 98 +
providers/smtp/provider.yaml | 1 +
.../airflow/providers/smtp/get_provider_info.py | 1 +
providers/snowflake/provider.yaml | 1 +
.../providers/snowflake/get_provider_info.py | 1 +
providers/sqlite/provider.yaml | 1 +
.../airflow/providers/sqlite/get_provider_info.py | 1 +
providers/ssh/docs/index.rst | 1 -
providers/ssh/provider.yaml | 1 +
providers/ssh/pyproject.toml | 2 +-
.../src/airflow/providers/ssh/get_provider_info.py | 1 +
.../ssh/src/airflow/providers/ssh/hooks/ssh.py | 89 +-
providers/ssh/src/airflow/providers/ssh/tunnel.py | 427 +++
providers/ssh/tests/unit/ssh/hooks/test_ssh.py | 233 +-
.../ssh/tests/unit/ssh/hooks/test_ssh_async.py | 62 +
providers/ssh/tests/unit/ssh/test_tunnel.py | 171 ++
providers/standard/provider.yaml | 2 +
.../providers/standard/get_provider_info.py | 2 +
.../providers/standard/sensors/external_task.py | 11 +-
.../standard/sensors/test_external_task_sensor.py | 22 +
providers/tableau/provider.yaml | 1 +
.../airflow/providers/tableau/get_provider_info.py | 1 +
providers/telegram/provider.yaml | 1 +
.../providers/telegram/get_provider_info.py | 1 +
providers/teradata/provider.yaml | 1 +
.../providers/teradata/get_provider_info.py | 1 +
providers/trino/provider.yaml | 1 +
.../airflow/providers/trino/get_provider_info.py | 1 +
providers/vertica/provider.yaml | 1 +
.../airflow/providers/vertica/get_provider_info.py | 1 +
providers/weaviate/provider.yaml | 1 +
.../providers/weaviate/get_provider_info.py | 1 +
providers/yandex/docs/index.rst | 4 +-
providers/yandex/provider.yaml | 1 +
providers/yandex/pyproject.toml | 5 +-
.../airflow/providers/yandex/get_provider_info.py | 1 +
.../src/airflow/providers/yandex/hooks/yandex.py | 4 +-
.../yandex/tests/unit/yandex/hooks/test_yandex.py | 2 +-
providers/ydb/provider.yaml | 1 +
.../src/airflow/providers/ydb/get_provider_info.py | 1 +
providers/zendesk/provider.yaml | 1 +
.../airflow/providers/zendesk/get_provider_info.py | 1 +
pyproject.toml | 7 +-
scripts/ci/analyze_e2e_flaky_tests.py | 574 ++++
scripts/ci/extract_e2e_test_results.py | 203 ++
.../ci/prek/check_airflow_bug_report_template.py | 2 +-
.../prek/check_base_operator_partial_arguments.py | 2 -
scripts/ci/prek/check_conf_import_in_providers.py | 128 +
scripts/ci/prek/check_imports_in_providers.py | 2 +-
.../check_template_context_variable_in_sync.py | 45 +-
scripts/ci/prek/ruff_format.py | 2 +-
scripts/docker/entrypoint_ci.sh | 22 +-
scripts/docker/entrypoint_prod.sh | 14 +-
scripts/docker/install_os_dependencies.sh | 30 +
.../in_container/install_airflow_and_providers.py | 8 +-
.../in_container/run_provider_yaml_files_check.py | 279 +-
.../ci/prek/test_check_conf_import_in_providers.py | 137 +
scripts/tests/ci/test_analyze_e2e_flaky_tests.py | 176 ++
scripts/tests/ci/test_extract_e2e_test_results.py | 203 ++
scripts/tools/initialize_virtualenv.py | 24 +-
scripts/tools/setup_breeze | 2 +-
.../src/airflow_shared/configuration/parser.py | 1 +
.../src/airflow_shared/logging/structlog.py | 39 +-
shared/logging/tests/logging/test_structlog.py | 75 +
.../observability/metrics/otel_logger.py | 16 +
.../observability/metrics/test_otel_logger.py | 43 +
.../src/airflow_shared/serialization/__init__.py | 7 +
task-sdk/src/airflow/sdk/api/client.py | 11 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 1 +
task-sdk/src/airflow/sdk/bases/xcom.py | 2 +
.../sdk/definitions/_internal/abstractoperator.py | 26 +-
task-sdk/src/airflow/sdk/definitions/connection.py | 5 -
task-sdk/src/airflow/sdk/definitions/dag.py | 16 +-
.../airflow/sdk/definitions/decorators/__init__.py | 5 +-
.../src/airflow/sdk/definitions/mappedoperator.py | 6 +-
task-sdk/src/airflow/sdk/execution_time/cache.py | 9 +-
task-sdk/src/airflow/sdk/execution_time/comms.py | 1 +
.../src/airflow/sdk/execution_time/supervisor.py | 11 +-
.../src/airflow/sdk/execution_time/task_runner.py | 56 +-
task-sdk/src/airflow/sdk/io/path.py | 38 +
task-sdk/src/airflow/sdk/serde/__init__.py | 7 +-
.../tests/task_sdk/docs/test_docs_inventory.py | 1 -
.../task_sdk/execution_time/test_supervisor.py | 30 +-
.../task_sdk/execution_time/test_task_runner.py | 25 +-
task-sdk/tests/task_sdk/io/test_path.py | 109 +
task-sdk/tests/task_sdk/serde/test_serde.py | 32 +
uv.lock | 2835 +++++++++-----------
579 files changed, 18106 insertions(+), 5474 deletions(-)
delete mode 100644 .github/ISSUE_TEMPLATE/3-airflow_providers_bug_report.yml
rename .github/ISSUE_TEMPLATE/{6-free_form.yml => 3-free_form.yml} (100%)
delete mode 100644 .github/ISSUE_TEMPLATE/4-airflow_helmchart_bug_report.yml
delete mode 100644 .github/ISSUE_TEMPLATE/5-airflow_doc_issue_report.yml
create mode 100644 .github/workflows/e2e-flaky-tests-report.yml
create mode 100644 airflow-core/newsfragments/62561.bugfix.rst
create mode 100644 airflow-core/newsfragments/63664.bugfix.rst
create mode 100644 airflow-core/newsfragments/64067.bugfix.rst
create mode 100644 airflow-core/newsfragments/aip-76.significant.rst
copy
airflow-core/src/airflow/migrations/versions/{0062_3_0_0_remove_dag_default_view.py
=> 0110_3_3_0_xcom_dag_result.py} (65%)
create mode 100644
airflow-core/src/airflow/ui/src/components/DagVersionSelect.test.tsx
copy airflow-core/src/airflow/ui/src/{utils/ChakraWrapper.test.tsx =>
pages/Connections/NothingFoundInfo.test.tsx} (63%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/HITLTaskInstances/HITLResponseForm.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/logDownloadContent.test.ts
delete mode 100644 airflow-core/tests/unit/charts/__init__.py
delete mode 100644 airflow-core/tests/unit/charts/conftest.py
delete mode 100644 airflow-core/tests/unit/charts/helm_template_generator.py
delete mode 100644 airflow-core/tests/unit/charts/log_groomer.py
create mode 100644 airflow-core/tests/unit/serialization/test_encoders.py
create mode 100644 airflow-core/tests/unit/utils/test_db_timeout.py
create mode 100644 airflow-core/tests/unit/utils/test_timeout_traceback.py
create mode 100644 chart/newsfragments/61961.significant.rst
create mode 100644 chart/newsfragments/61962.significant.rst
create mode 100644 chart/newsfragments/62030.significant.rst
create mode 100644 chart/newsfragments/62048.significant.rst
create mode 100644 dev/breeze/doc/images/output_pr_stats.svg
create mode 100644 dev/breeze/doc/images/output_pr_stats.txt
create mode 100644 dev/breeze/src/airflow_breeze/utils/pr_context.py
create mode 100644 dev/breeze/tests/test_github_ui_demo.py
create mode 100644 dev/breeze/tests/test_pr_context.py
create mode 100644
providers/amazon/tests/system/amazon/aws/example_sagemaker_condition.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/operators/test_sagemaker_condition.py
create mode 100644
providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit_post_commands.py
create mode 100644
providers/edge3/src/airflow/providers/edge3/migrations/versions/0004_3_4_0_add_team_name_column.py
create mode 100644 providers/ssh/src/airflow/providers/ssh/tunnel.py
create mode 100644 providers/ssh/tests/unit/ssh/test_tunnel.py
create mode 100755 scripts/ci/analyze_e2e_flaky_tests.py
create mode 100755 scripts/ci/extract_e2e_test_results.py
create mode 100755 scripts/ci/prek/check_conf_import_in_providers.py
create mode 100644 scripts/tests/ci/prek/test_check_conf_import_in_providers.py
create mode 100644 scripts/tests/ci/test_analyze_e2e_flaky_tests.py
create mode 100644 scripts/tests/ci/test_extract_e2e_test_results.py