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/ui/eslint-3515529389
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard a375eac65b9 chore(deps-dev): bump the eslint group across 1 directory
with 6 updates
add 4a5ef8e516f Add 4-day cooldown for pnpm dependency resolution (#64337)
add 48f0a72a0f7 TUI: add full-screen interactive TUI for PR triage and
review (#63773)
add a9084509d6d airflow-ctl: fix variable import to correctly handle falsy
values (#64362)
add 6e5a6db5c8a connections import now returns non-zero exit code on
failure (#64416)
add 9c569ed05fd chore(deps): bump the uv-dependency-updates group (#64437)
add 6d8ccc687b6 Feat ja translation skill (#62086)
add c496a204c27 Add ASF allowlist check workflow for GitHub Actions
(#64450)
add 24377867836 fix: mark flaky UI E2E tests as fixme (#64445)
add acdd9da1ce4 Fix XCom PATCH/POST to store native values (instead of
json.dumps) (#64220)
add 048e2813e14 CI: Upgrade important CI environment (#64451)
add 6b5c64c8145 Update logic and fix false-positive of dag version
inflation checker (#61345)
add 15a1ef8cc48 [DOCS]add guide for dag version inflation and it's checker
(#64100)
add 38ad2ae96f9 Update dev docs to 3.2.x and document pre-release backport
process (#64462)
add 774ad02f755 Make temporal mapper timezone aware (#62709)
add 4c63306945f Fix conf.has_option not respects default provider metadata
(#64209)
add 63ba16388dd Add log buffering to increase performance when streaming
big logs (#63180)
add b31231445c4 fix: use Dag form when materializing asset (#64211)
add 530f6d0d97d Consolidate unreleased Execution API versions under
2026-04-06 (#64480)
add 35ca494ace6 add check for xcom permission when result is specified in
query parameter (#64415)
add f47038e9efb fix(ui): invalidate task instances list query after
clearing task instance (#63923)
add de50c49fd06 UI: Fix eslint warnings in TokenGenerationModal (#64301)
add 92255b513f7 fix(ui): guard against null/undefined dates in Gantt chart
to prevent RangeError (#64031)
add 3e3b44cd4fe UI: Block polling requests to endpoints that returned 403
Forbidden (#64333)
add 0022f42bcf9 Fix ts-compile-lint-simple-auth-manager-ui prek hook
(#64310)
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 f73e9aa283e chore(deps-dev): bump the eslint group across 1 directory
with 6 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 (a375eac65b9)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/ui/eslint-3515529389
(f73e9aa283e)
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/skills/airflow-translations/locales/ja.md | 104 +
.../workflows/asf-allowlist-check.yml | 23 +-
.github/workflows/basic-tests.yml | 2 +-
.github/workflows/check-newsfragment-pr-number.yml | 5 +-
.github/workflows/ci-amd-arm.yml | 2 +-
.github/workflows/e2e-flaky-tests-report.yml | 67 +
.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 +-
Dockerfile | 13 +-
Dockerfile.ci | 24 +-
INTHEWILD.md | 1 +
README.md | 2 +-
airflow-core/.pre-commit-config.yaml | 1 +
.../cluster-policies.rst | 44 +
airflow-core/docs/best-practices.rst | 4 +-
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/faq.rst | 163 +
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 | 6 +-
.../auth/managers/simple/simple_auth_manager.py | 3 +-
.../auth/managers/simple/ui/package.json | 5 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 67 +-
.../managers/simple/ui/src/alert/ErrorAlert.tsx | 1 +
.../src/airflow/api_fastapi/common/parameters.py | 42 +
.../src/airflow/api_fastapi/core_api/app.py | 3 +-
.../api_fastapi/core_api/datamodels/assets.py | 27 +-
.../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 | 79 +-
.../api_fastapi/core_api/routes/public/assets.py | 16 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 19 +-
.../api_fastapi/core_api/routes/public/dags.py | 29 +-
.../api_fastapi/core_api/routes/public/log.py | 20 +-
.../api_fastapi/core_api/routes/public/tasks.py | 40 +-
.../api_fastapi/core_api/routes/public/xcom.py | 53 +-
.../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 +-
.../api_fastapi/core_api/services/ui/grid.py | 170 +-
.../api_fastapi/execution_api/routes/dag_runs.py | 7 +-
.../api_fastapi/execution_api/routes/xcoms.py | 2 +
.../api_fastapi/execution_api/versions/__init__.py | 19 +-
.../execution_api/versions/v2025_11_07.py | 54 -
.../execution_api/versions/v2025_12_08.py | 41 -
.../versions/{v2026_03_31.py => v2026_04_06.py} | 133 +-
.../execution_api/versions/v2026_04_13.py | 28 -
.../config_templates/airflow_local_settings.py | 21 +
.../src/airflow/config_templates/config.yml | 8 +
.../provider_config_fallback_defaults.cfg | 2 +-
airflow-core/src/airflow/configuration.py | 40 +-
.../src/airflow/dag_processing/collection.py | 3 +-
.../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 | 2 +-
airflow-core/src/airflow/models/taskinstance.py | 11 +-
airflow-core/src/airflow/models/trigger.py | 13 +-
airflow-core/src/airflow/models/xcom.py | 4 +
.../src/airflow/partition_mappers/temporal.py | 19 +-
airflow-core/src/airflow/providers_manager.py | 16 +-
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 | 65 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 54 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 184 +-
.../ui/openapi-gen/requests/services.gen.ts | 73 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 100 +-
airflow-core/src/airflow/ui/package.json | 3 +-
airflow-core/src/airflow/ui/playwright.config.ts | 5 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 170 +-
.../airflow/ui/public/i18n/locales/en/common.json | 2 +
.../airflow/ui/public/i18n/locales/ja/common.json | 6 +-
.../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 +-
.../src/airflow/ui/src/components/RunTypeIcon.tsx | 3 +
.../src/components/TriggerDag/TriggerDAGForm.tsx | 37 +-
.../src/components/TriggerDag/TriggerDAGModal.tsx | 6 +-
.../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 +-
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 5 +-
.../ui/src/layouts/Nav/TokenGenerationModal.tsx | 12 +-
airflow-core/src/airflow/ui/src/main.tsx | 27 +
.../ui/src/pages/Asset/CreateAssetEventModal.tsx | 119 +-
.../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 +-
.../src/pages/TaskInstance/Logs/TaskLogContent.tsx | 51 +-
.../TaskInstance/Logs/logDownloadContent.test.ts | 131 +
.../ui/src/queries/useClearTaskInstances.ts | 2 +
.../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 | 8 +-
.../ui/tests/e2e/specs/dag-audit-log.spec.ts | 2 +-
.../ui/tests/e2e/specs/dag-calendar-tab.spec.ts | 9 +-
.../ui/tests/e2e/specs/dag-code-tab.spec.ts | 4 +-
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 6 +-
.../airflow/ui/tests/e2e/specs/events-page.spec.ts | 2 +-
.../ui/tests/e2e/specs/task-instances.spec.ts | 6 +-
.../src/airflow/ui/tests/e2e/utils/test-helpers.ts | 73 +-
.../airflow/utils/dag_version_inflation_checker.py | 97 +-
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 | 6 +
.../tests/unit/api/common/test_trigger_dag.py | 19 +
.../core_api/routes/public/test_assets.py | 53 +
.../core_api/routes/public/test_dag_run.py | 77 +
.../core_api/routes/public/test_dags.py | 60 +
.../core_api/routes/public/test_tasks.py | 16 +-
.../core_api/routes/public/test_xcom.py | 26 +-
.../core_api/routes/ui/test_deadlines.py | 225 +-
.../api_fastapi/core_api/routes/ui/test_grid.py | 23 +
.../execution_api/versions/head/test_dag_runs.py | 34 +-
.../execution_api/versions/head/test_health.py | 10 +
.../execution_api/versions/head/test_xcoms.py | 20 +
.../execution_api/versions/v2026_03_31/__init__.py | 16 -
.../versions/v2026_03_31/test_task_instances.py | 127 -
.../{v2025_11_07 => v2026_04_06}/__init__.py | 0
.../{v2025_11_07 => v2026_04_06}/test_dag_runs.py | 3 +-
.../{v2026_03_31 => v2026_04_06}/test_dags.py | 3 +-
.../versions/v2026_04_06/test_task_instances.py | 254 +
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_configuration.py | 204 +-
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 | 348 +-
.../tests/unit/models/test_taskinstance.py | 20 +
.../tests/unit/partition_mappers/test_temporal.py | 41 +-
.../tests/unit/serialization/test_encoders.py | 181 +
.../unit/ti_deps/deps/test_trigger_rule_dep.py | 78 +-
.../utils/test_dag_version_inflation_checker.py | 99 +-
airflow-core/tests/unit/utils/test_db_timeout.py | 58 +
.../tests/unit/utils/test_timeout_traceback.py | 88 +
airflow-ctl-tests/pyproject.toml | 2 +-
airflow-ctl/pyproject.toml | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 19 +
airflow-ctl/src/airflowctl/api/operations.py | 24 +-
.../airflowctl/ctl/commands/connection_command.py | 4 +-
.../airflowctl/ctl/commands/variable_command.py | 2 +-
.../tests/airflow_ctl/api/test_operations.py | 91 +-
.../ctl/commands/test_connections_command.py | 3 +-
.../ctl/commands/test_variable_command.py | 31 +
airflow-e2e-tests/pyproject.toml | 2 +-
.../basic_tests/test_basic_dag_operations.py | 17 +-
.../tests/airflow_e2e_tests/conftest.py | 4 +-
.../remote_log_tests/test_remote_logging.py | 5 -
chart/files/pod-template-file.kubernetes-helm-yaml | 8 +-
chart/newsfragments/61961.significant.rst | 1 +
chart/newsfragments/61962.significant.rst | 1 +
chart/pyproject.toml | 2 +-
chart/templates/NOTES.txt | 16 +
chart/templates/configmaps/configmap.yaml | 2 +-
chart/values.schema.json | 41 +-
chart/values.yaml | 1561 +--
clients/python/pyproject.toml | 2 +-
.../03a_contributors_quick_start_beginners.rst | 23 +-
contributing-docs/08_static_code_checks.rst | 16 -
contributing-docs/09_testing.rst | 4 +-
contributing-docs/25_maintainer_pr_triage.md | 4 +-
.../contributors_quick_start_pycharm_intellij.rst | 178 +-
contributing-docs/testing/helm_unit_tests.rst | 47 +-
dev/README.md | 68 +-
dev/README_AIRFLOW3_DEV.md | 234 +-
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 | 411 +-
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_auto-triage.svg | 186 +-
dev/breeze/doc/images/output_pr_auto-triage.txt | 2 +-
...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 +-
.../src/airflow_breeze/commands/ci_commands.py | 18 +-
.../airflow_breeze/commands/ci_commands_config.py | 1 -
.../src/airflow_breeze/commands/pr_commands.py | 11781 ++++++++++++-------
.../airflow_breeze/commands/pr_commands_config.py | 26 +-
.../commands/release_management_commands.py | 2 +-
dev/breeze/src/airflow_breeze/global_constants.py | 44 +-
dev/breeze/src/airflow_breeze/utils/confirm.py | 39 +-
dev/breeze/src/airflow_breeze/utils/github.py | 2 +
dev/breeze/src/airflow_breeze/utils/llm_utils.py | 114 +-
dev/breeze/src/airflow_breeze/utils/pr_cache.py | 190 +
dev/breeze/src/airflow_breeze/utils/pr_comments.py | 222 +
dev/breeze/src/airflow_breeze/utils/pr_context.py | 85 +
dev/breeze/src/airflow_breeze/utils/pr_display.py | 100 +
dev/breeze/src/airflow_breeze/utils/pr_models.py | 82 +
.../src/airflow_breeze/utils/selective_checks.py | 42 +-
dev/breeze/src/airflow_breeze/utils/tui_display.py | 1982 ++++
dev/breeze/tests/test_llm_utils.py | 341 +
dev/breeze/tests/test_pr_cache.py | 88 +
dev/breeze/tests/test_pr_commands_utils.py | 287 +
dev/breeze/tests/test_pr_comments.py | 143 +
dev/breeze/tests/test_pr_context.py | 103 +
dev/breeze/tests/test_pr_display.py | 78 +
dev/breeze/tests/test_pr_models.py | 86 +
.../tests/test_pytest_args_for_test_types.py | 1 -
dev/breeze/tests/test_selective_checks.py | 103 +-
dev/breeze/tests/test_tui_display.py | 635 +
dev/breeze/uv.lock | 344 +-
dev/pyproject.toml | 2 +-
.../react_plugin_template/package.json | 1 +
dev/registry/pyproject.toml | 2 +-
dev/update_github_branch_config.py | 35 +-
devel-common/pyproject.toml | 2 +-
devel-common/src/tests_common/pytest_plugin.py | 19 +
devel-common/src/tests_common/test_utils/config.py | 73 +
docker-stack-docs/pyproject.toml | 2 +-
docker-tests/pyproject.toml | 2 +-
docs/README.md | 2 +-
generated/PYPI_README.md | 2 +-
helm-tests/pyproject.toml | 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 | 30 +-
.../tests/helm_tests/airflow_core/test_worker.py | 14 +-
.../helm_tests/airflow_core/test_worker_sets.py | 14 +
kubernetes-tests/pyproject.toml | 2 +-
providers-summary-docs/pyproject.toml | 2 +-
providers/.pre-commit-config.yaml | 8 +
providers/amazon/docs/connections/aws.rst | 12 +-
providers/amazon/provider.yaml | 12 +-
providers/amazon/pyproject.toml | 4 +-
.../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 +-
.../airflow/providers/amazon/get_provider_info.py | 12 +-
.../tests/unit/amazon/aws/operators/test_glue.py | 189 +
providers/apache/hdfs/provider.yaml | 3 +
.../providers/apache/hdfs/get_provider_info.py | 1 +
.../celery/executors/celery_executor_utils.py | 15 +-
.../providers/celery/executors/default_celery.py | 2 +-
.../unit/celery/executors/test_celery_executor.py | 147 +
providers/cncf/kubernetes/provider.yaml | 1 +
.../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 | 5 +-
.../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/common/ai/README.rst | 6 +-
providers/common/ai/docs/changelog.rst | 2 +-
providers/common/ai/docs/index.rst | 6 +-
providers/common/ai/provider.yaml | 4 +-
providers/common/ai/pyproject.toml | 8 +-
.../ai/src/airflow/providers/common/ai/__init__.py | 2 +-
.../providers/common/ai/plugins/hitl_review.py | 6 +-
.../providers/common/ai/plugins/www/package.json | 1 +
.../providers/common/ai/utils/sql_validation.py | 4 +-
.../common/compat/openlineage/utils/spark.py | 20 +
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 +-
providers/edge3/pyproject.toml | 2 +-
.../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 | 50 +-
.../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 +-
.../providers/edge3/plugins/www/package.json | 1 +
.../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/log/es_task_handler.py | 34 +-
.../unit/elasticsearch/log/test_es_task_handler.py | 11 +-
providers/fab/pyproject.toml | 11 +-
.../fab/src/airflow/providers/fab/www/package.json | 1 +
providers/google/provider.yaml | 2 +
.../providers/google/cloud/operators/gcs.py | 26 +-
.../airflow/providers/google/get_provider_info.py | 4 +
.../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/openlineage/pyproject.toml | 2 +-
.../airflow/providers/openlineage/utils/spark.py | 70 +
.../tests/unit/openlineage/utils/test_spark.py | 98 +
.../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/redis/provider.yaml | 2 +-
.../airflow/providers/redis/get_provider_info.py | 2 +-
.../providers/standard/sensors/external_task.py | 7 +
.../standard/sensors/test_external_task_sensor.py | 22 +
pyproject.toml | 8 +-
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 +-
scripts/ci/prek/ruff_format.py | 2 +-
.../prek/ts_compile_lint_simple_auth_manager_ui.py | 4 +-
scripts/docker/entrypoint_ci.sh | 22 +-
scripts/docker/entrypoint_prod.sh | 14 +-
.../run_check_default_configuration.py | 33 +-
.../in_container/run_provider_yaml_files_check.py | 279 +-
scripts/pyproject.toml | 2 +-
.../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 +-
shared/configuration/pyproject.toml | 2 +-
.../src/airflow_shared/configuration/parser.py | 281 +-
.../tests/configuration/test_parser.py | 163 +-
shared/dagnode/pyproject.toml | 2 +-
shared/listeners/pyproject.toml | 2 +-
shared/logging/pyproject.toml | 2 +-
shared/module_loading/pyproject.toml | 2 +-
shared/observability/pyproject.toml | 2 +-
shared/plugins_manager/pyproject.toml | 2 +-
shared/providers_discovery/pyproject.toml | 2 +-
.../providers_discovery/providers_discovery.py | 4 +-
shared/secrets_backend/pyproject.toml | 2 +-
shared/secrets_masker/pyproject.toml | 2 +-
shared/serialization/pyproject.toml | 2 +-
.../src/airflow_shared/serialization/__init__.py | 7 +
shared/template_rendering/pyproject.toml | 2 +-
shared/timezones/pyproject.toml | 2 +-
task-sdk-integration-tests/pyproject.toml | 2 +-
task-sdk/pyproject.toml | 2 +-
task-sdk/src/airflow/sdk/api/client.py | 11 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 3 +-
task-sdk/src/airflow/sdk/bases/xcom.py | 2 +
task-sdk/src/airflow/sdk/configuration.py | 8 +-
.../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 | 9 +-
.../src/airflow/sdk/execution_time/task_runner.py | 15 +-
task-sdk/src/airflow/sdk/io/path.py | 38 +
.../src/airflow/sdk/providers_manager_runtime.py | 16 +-
task-sdk/src/airflow/sdk/serde/__init__.py | 7 +-
.../task_sdk/execution_time/test_supervisor.py | 30 +-
.../task_sdk/execution_time/test_task_runner.py | 29 +-
task-sdk/tests/task_sdk/io/test_path.py | 109 +
task-sdk/tests/task_sdk/serde/test_serde.py | 32 +
task-sdk/tests/task_sdk/test_configuration.py | 158 +
.../task_sdk/test_providers_manager_runtime.py | 10 +-
uv.lock | 1041 +-
423 files changed, 24929 insertions(+), 9158 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/skills/airflow-translations/locales/ja.md
copy .hadolint.yaml => .github/workflows/asf-allowlist-check.yml (62%)
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
delete mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/versions/v2025_11_07.py
delete mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/versions/v2025_12_08.py
rename
airflow-core/src/airflow/api_fastapi/execution_api/versions/{v2026_03_31.py =>
v2026_04_06.py} (52%)
delete mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/versions/v2026_04_13.py
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/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/api_fastapi/execution_api/versions/v2026_03_31/__init__.py
delete mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2026_03_31/test_task_instances.py
rename airflow-core/tests/unit/api_fastapi/execution_api/versions/{v2025_11_07
=> v2026_04_06}/__init__.py (100%)
rename airflow-core/tests/unit/api_fastapi/execution_api/versions/{v2025_11_07
=> v2026_04_06}/test_dag_runs.py (93%)
rename airflow-core/tests/unit/api_fastapi/execution_api/versions/{v2026_03_31
=> v2026_04_06}/test_dags.py (89%)
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2026_04_06/test_task_instances.py
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 dev/breeze/src/airflow_breeze/utils/pr_cache.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/pr_comments.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/pr_context.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/pr_display.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/pr_models.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/tui_display.py
create mode 100644 dev/breeze/tests/test_llm_utils.py
create mode 100644 dev/breeze/tests/test_pr_cache.py
create mode 100644 dev/breeze/tests/test_pr_commands_utils.py
create mode 100644 dev/breeze/tests/test_pr_comments.py
create mode 100644 dev/breeze/tests/test_pr_context.py
create mode 100644 dev/breeze/tests/test_pr_display.py
create mode 100644 dev/breeze/tests/test_pr_models.py
create mode 100644 dev/breeze/tests/test_tui_display.py
create mode 100644
providers/edge3/src/airflow/providers/edge3/migrations/versions/0004_3_4_0_add_team_name_column.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
create mode 100644 task-sdk/tests/task_sdk/test_configuration.py