This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/npm_and_yarn/dev/react-plugin-tools/react_plugin_template/ui-plugin-template-package-updates-41650ca966
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 49e5d1e7535 Bump the ui-plugin-template-package-updates group across 1
directory with 22 updates
add bce20ff30bb Catch lang-SDK Go example module drift before it reaches
main (#70568)
add f840a821380 Make deadline reads and serialization robust to
dynamic/malformed intervals (#68919)
add 87ac18b0b94 UI: Add a slowest tasks chart to the Dag Overview (#70305)
add 4d5bb4bd82f Bump the fab-ui-package-updates group across 1 directory
with 3 updates (#70604)
add 3a163392825 Bump the auth-ui-package-updates group across 1 directory
with 6 updates (#70607)
add fc7da80c665 Bump @testing-library/jest-dom (#70609)
add 6575b3fdc4e Fix asset state store writes forbidden under FAB auth
manager (#70478)
add d7a921ede7f Bump the uv-dependency-updates group in /dev/breeze with 3
updates (#70606)
add 3c54ec32c97 Bump the github-actions-updates group with 5 updates
(#70617)
add 0eca3240914 Clarify provider release testing status issue creation
instructions (#70356)
add 30506688167 Support schema-qualified table names in db clean (#70147)
add b12df0525d7 Add IMPORT_ERRORS_ALL permission for import errors of
files with no registered Dag (#69790)
add c6449eb429f Build the docs CI image once and let the registry share it
(#70618)
add f31f5e4319c Remove unneeded forward-reference quotes from a type alias
(#70580)
add 6be11331c2e Bump swagger-ui-dist (#70598)
add 68c06c9ff7a Bump the react group across 1 directory with 2 updates
(#70603)
add 9595a58c01e Honour the selected Python version when building docs
(#70642)
add 88f95c706eb Document how to rotate the Fernet key with the Helm chart
(#70242)
add 1e7f553598e UI: Wire advanced-search toggle for Grid Triggering User
filter (#70567)
add dc75103d64c Allow configuring key names in database credential secrets
(#69954)
add c94f178ccdb Add Microsoft to INTHEWILD.md (#70575)
add 78b88db5aba Regenerate UI client and fix deadline alerts with no fixed
interval (#70637)
add 443b9199cb8 Review and update constraint dependencies (#70652)
add e272ae7f977 Fix #60763: Deactivate legacy DAGs with NULL bundle_name
during upgrade from 2.x to 3.x (#61019)
add ea7f1cfbee7 Copy 2.11.2 release notes to main (#70648)
add 9e5b7701f8d Fix asset event scheduling race condition and consistency
(#62501)
add 2c1035a9732 Speed up Trigger.clean_unused query to prevent Triggerer
crashes (#68244)
add ebe6c58d42e Fix triggerer CrashLoopBackOff when json_logs is enabled
(#68584)
add d9d8fdb3a19 Speed up docs publishes by reusing the previously built CI
image (#70650)
add d6cb0084de9 [AIP-94] Mark backfill create as migrated to airflowctl
(#68536)
add 703a0570c84 Add opt-in concurrent pod creation to KubernetesExecutor
(#68480)
add b43a87e58fc Run UI compile checks in CI when only an OpenAPI spec
changes (#70643)
add 602e74a22a6 Clarify AssetAlias usage (#67392)
add f346e6449c6 Skip the docs CI image build when that ref was already
built (#70675)
add f388d4292b6 Fix mypy arg-type error in Redshift Data get_primary_keys
(#70677)
add 44e5982e29d Wait for vector index to stabilize in
`example_bedrock_retrieve_and_generate` (#70649)
add eed1a39135b Rename StepFunctionStartExecutionOperator's input field to
match its constructor argument (#70544)
add 2d959316012 Tidy taskgroup topo-sort tests; note why grid group_dict
is uncached (#70590)
add 4601fb0b8c9 Add the Taiwanese Mandarin string for variable-interval
deadlines (#70655)
add 00897381170 Fix registry publish silently skipping for some docs
publishers (#70645)
add f54c8eef484 UI: Add timetable type filter to Dag list (#69728)
add e3d060b7f64 Guard the backfill dag-runs list query count and tidy test
params (#70126)
add fd0ec61c503 Consolidate UI Dependency Graphs (#69833)
add d8074062e6e Show backfill Dag runs in the UI (#70159)
add 0cdb8cc4a1a Move keycloak JWT tokens to separate cookies (#70550)
add c9f06bc42b6 Fix OpenLineage team_name access and other failing paths
(#70626)
add 2c6e210a29e Upgrade UI dependencies (patch/minor and dev-tooling
bumps) (#70546)
add 690d43da8c4 Hide run-on-latest-version option for non-versioned
bundles (#70427)
add fa812e1da07 Bump eslint (#70697)
add 658bd8a2885 Add tests for Keycloak token models (#70689)
add 221da637bd2 Breeze: Make postgres driver explicit and version-aware
(#70496)
add 8596a0fb643 Decouple SparkSubmitOperator resumable deployment backends
(#68679)
add 682cf06525c Revert AWS services toolset for common AI provider
(#70695)
add a15ef5081d9 Make Redshift system-test clusters non-public in
sql_to_s3/s3_to_sql (#70705)
add ffe077e8cd3 Add `DmsReloadTablesOperator` (#70569)
add 13d7df70ecd Fix DbtCloudRunJobOperator having false failures during
deferred polling (#70581)
add 07f5458df87 Add airflowctl dags clear command (#68706)
add abd837a382c Java SDK: Change coordinator comm to use multiplexing
(#69254)
add dbb5c7ffff9 Fail Neo4jOperator argument mistakes at Dag parse time
(#70508)
add b3014293344 Raise the datamodel-code-generator floor for the codegen
toolchain (#70670)
add d1bd535107d Restore Dag-parse-time validation for Databricks Repos
operator arguments (#70551)
add f781f8b8785 Keep S3DeleteObjectsOperator validation in __init__,
narrow to ValueError (#70359)
add 4cb967fd5c2 Add /ui/assets endpoint with last-event sort and use it in
the Assets list (#69940)
add 4f6186db09f Fix trigger kwargs decoding for asset watcher triggers
(#65992)
add 193b2e36b06 Document jwt_secret _secret and LocalFilesystemBackend
config support (#67940)
add ee8bb6d2649 Docs: clarify Databricks retry_delay uses exponential
backoff (#68622)
add 3fb080bf487 Add run_type tag to dagrun.duration.failed timeout metric
(#67765)
add d11422ee0c6 Fix getsection() dropping env-var overrides on
lazy-registered provider sections (#68895)
add 84ac434aaa1 Improve SQLite test DB health checks (#68021)
add f5f431378f1 Document effect of state-store cleanup for operators with
durable execution (#70721)
add 3de732ab9b2 Fix BashOperator script detection after templating (#70369)
add 724aaade2f6 Bump structlog>=26.1.0 and croniter>=6.2.2 to fix memory
leaks (#70694)
add ba105ea98b6 Add metrics for how often a dag gets serialised. (#68906)
add a69ef4c4928 Add airflowctl tasks failed-deps command (#69397)
add 521ad026ee4 cli: Fix TypeError in 'airflow db shell' when database
name is missing (#68913)
add ee5f3798e8d Emit GCSListObjectsOperator delimiter deprecation warning
after rendering (#70533)
add 13a3cd73173 i18n(ko): add missing translations(Jul 22) (#70211)
add 9fecfd5d995 Fix config update --option/--ignore-option never matching
options (#70240)
add 9481c8e2239 Fix KubernetesPodOperator dry_run requiring live
Kubernetes API client (#70234)
add f0d50bdb178 [AIP-94] Mark tasks CLI commands as migrated to airflowctl
(#69274)
add bc033da913d Handle ValueError for `trigger_dag_run` API request
(#67601)
add 20b9a85c557 Add custom metrics section in metrics docs (#69371)
add 61a0779687d Keep HTTPRoute schema definitions consistent (#70673)
add eca48163048 Add `--min-completed-minutes` to `cleanup-pods` to prevent
KPO race condition (#70595)
add 77838ed374f Validate common AI tool-call arguments to enable
pydantic-ai retries (#70096)
add 9f887794ef7 Fix incorrect code samples in the Deadline Alerts docs
(#70709)
add b74616b500e Helm: Scope KEDA_DB_CONN to worker and triggerer pods
(#70213)
add c86ba34f508 Documenting effect if task state store cleanup for KPO
(#70722)
add 92489784eeb Fix airflowctl failed-deps test fixture missing required
fields (#70776)
add cea9e6efdb5 Document effect of state-store cleanup in
ResumableJobMixin (#70718)
add e9dadbced43 Remove duplicate code (#70785)
add ecd4d951da1 Avoid duplicate trigger-rule upstream-count queries per
scheduling pass (#67672)
add 9d07d7c47ba Bump the edge-ui-package-updates group across 1 directory
with 31 updates (#70616)
add 4338fb82c38 i18n(Ko): add missing translations (Jul 30) (#70767)
add ce469bd89b2 i18n(ko): add missing translations(Jul 30) (#70765)
add 694e5b50352 Redact secrets from LLMRetryPolicy classification prompts
(#70229)
add fbac2f5ce19 Add a Retry Policies category to the provider registry
(#70499)
add bcefdf945c6 Fix duplicate 'the' typo in Task SDK integration test docs
(#70806)
add 745b1de1027 Reset task try when switching Graph tasks (#70780)
add a2b0ad54e75 Fix insecure HTTP links in documentation (#70680)
add d69a0646551 Bump openlineage libraries to 1.52 in openlineage provider
(#70773)
add dae79110b88 Upgrade UI dependencies (major bumps) (#70777)
add 445549aad5e Fix wtforms-mocking condition (#70811)
add 8ef95e77a62 Fix flaky secrets masking test in LLMRetryPolicy (#70823)
add 222db00c174 i18n(Ko):Add missing translations in components.json
(#70764)
add 2f9eb829973 Fix openlineage team name handling, add dag_version_data
and TI note (#70772)
add 36e7d02a40c Deprecating `poll_interval` in `ExternalTaskSensor` for
`poke_interval` (#68997)
add f2ccc0fe7db Implement bulk authorization methods in
KeycloakAuthManager (#70647)
add deb320ca56f Don't fail on dynamic glue rule set reccomendations
(#70801)
add b765336c538 Add Language SDK conformance spec to contributor guide
(#70717)
add a1b8f16d89a Add `type` field sort prek hook for Helm
`values.schema.json` file (#70796)
add 3e44906019f Bump the ui-plugin-template-package-updates group across 1
directory with 22 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 (49e5d1e7535)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/dev/react-plugin-tools/react_plugin_template/ui-plugin-template-package-updates-41650ca966
(3e44906019f)
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:
.../actions/prepare_breeze_and_image/action.yml | 13 +-
.github/workflows/ci-image-build.yml | 195 +-
.github/workflows/ci-image-checks.yml | 2 +-
.github/workflows/codeql-analysis.yml | 6 +-
.github/workflows/publish-docs-to-s3.yml | 94 +-
.github/workflows/registry-backfill.yml | 4 +-
.github/workflows/registry-build.yml | 77 +-
.github/workflows/registry-tests.yml | 2 +-
.pre-commit-config.yaml | 17 +
COMMITTERS.rst | 2 +-
INTHEWILD.md | 1 +
README.md | 2 +-
RELEASE_NOTES.rst | 27 +
airflow-core/.pre-commit-config.yaml | 3 +-
.../logging-monitoring/metrics.rst | 71 +-
.../docs/authoring-and-scheduling/assets.rst | 10 +-
.../docs/core-concepts/auth-manager/index.rst | 37 +-
airflow-core/docs/howto/deadline-alerts.rst | 17 +-
airflow-core/docs/howto/set-config.rst | 1 +
.../local-filesystem-secrets-backend.rst | 47 +-
airflow-core/newsfragments/62501.bugfix.rst | 1 +
airflow-core/newsfragments/67672.improvement.rst | 1 +
airflow-core/newsfragments/67765.bugfix.rst | 1 +
airflow-core/newsfragments/69790.feature.rst | 1 +
airflow-core/newsfragments/70240.bugfix.rst | 1 +
airflow-core/pyproject.toml | 6 +-
.../api_fastapi/auth/managers/base_auth_manager.py | 33 +-
.../auth/managers/models/resource_details.py | 3 +
.../auth/managers/simple/simple_auth_manager.py | 16 +-
.../auth/managers/simple/ui/package.json | 14 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 347 +--
.../src/airflow/api_fastapi/common/db/assets.py | 54 +
.../src/airflow/api_fastapi/common/parameters.py | 10 +
.../api_fastapi/core_api/datamodels/assets.py | 29 +
.../api_fastapi/core_api/datamodels/ui/common.py | 1 +
.../api_fastapi/core_api/datamodels/ui/dags.py | 7 +
.../api_fastapi/core_api/datamodels/ui/deadline.py | 31 +-
.../core_api/datamodels/ui/structure.py | 2 -
.../api_fastapi/core_api/openapi/_private_ui.yaml | 547 +++-
.../core_api/routes/public/import_error.py | 65 +-
.../api_fastapi/core_api/routes/ui/assets.py | 97 +-
.../airflow/api_fastapi/core_api/routes/ui/dags.py | 44 +-
.../api_fastapi/core_api/routes/ui/deadlines.py | 2 +-
.../api_fastapi/core_api/routes/ui/dependencies.py | 2 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 5 +
.../api_fastapi/core_api/routes/ui/structure.py | 91 +-
.../core_api/services/ui/connections.py | 4 +-
.../core_api/services/ui/dependencies.py | 486 +++-
.../api_fastapi/core_api/services/ui/structure.py | 185 --
.../airflow/api_fastapi/execution_api/AGENTS.md | 4 +-
.../api_fastapi/execution_api/routes/dag_runs.py | 8 +
airflow-core/src/airflow/assets/manager.py | 107 +-
.../src/airflow/cli/commands/backfill_command.py | 2 +
.../src/airflow/cli/commands/config_command.py | 5 +-
.../src/airflow/cli/commands/db_command.py | 6 +
.../src/airflow/cli/commands/task_command.py | 3 +
airflow-core/src/airflow/dag_processing/manager.py | 12 +-
.../src/airflow/jobs/scheduler_job_runner.py | 82 +-
.../src/airflow/jobs/triggerer_job_runner.py | 2 +-
airflow-core/src/airflow/models/dag.py | 4 +-
airflow-core/src/airflow/models/dagrun.py | 16 +-
airflow-core/src/airflow/models/serialized_dag.py | 3 +
airflow-core/src/airflow/models/trigger.py | 11 +-
airflow-core/src/airflow/provider.yaml.schema.json | 24 +
.../src/airflow/secrets/local_filesystem.py | 1 +
airflow-core/src/airflow/serialization/decoders.py | 23 +-
airflow-core/src/airflow/ti_deps/dep_context.py | 31 +
.../src/airflow/ti_deps/deps/trigger_rule_dep.py | 42 +-
airflow-core/src/airflow/ui/eslint.config.js | 1 -
.../src/airflow/ui/openapi-gen/queries/common.ts | 39 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 70 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 70 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 70 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 70 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 80 +-
.../ui/openapi-gen/requests/services.gen.ts | 85 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 110 +-
airflow-core/src/airflow/ui/package.json | 58 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 1414 ++++-----
.../airflow/ui/public/i18n/locales/en/assets.json | 5 +-
.../airflow/ui/public/i18n/locales/en/common.json | 4 +
.../ui/public/i18n/locales/en/components.json | 13 +-
.../src/airflow/ui/public/i18n/locales/en/dag.json | 9 +-
.../airflow/ui/public/i18n/locales/en/dags.json | 4 +-
.../airflow/ui/public/i18n/locales/ko/assets.json | 5 +-
.../airflow/ui/public/i18n/locales/ko/common.json | 9 +-
.../ui/public/i18n/locales/ko/components.json | 14 +-
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 9 +-
.../airflow/ui/public/i18n/locales/ko/dags.json | 10 +-
.../airflow/ui/public/i18n/locales/zh-TW/dag.json | 1 +
airflow-core/src/airflow/ui/rules/core.js | 1 -
airflow-core/src/airflow/ui/rules/i18n.js | 4 +-
airflow-core/src/airflow/ui/rules/i18next.js | 1 -
airflow-core/src/airflow/ui/rules/perfectionist.js | 1 -
airflow-core/src/airflow/ui/rules/prettier.js | 1 -
airflow-core/src/airflow/ui/rules/react.js | 1 -
airflow-core/src/airflow/ui/rules/stylistic.js | 1 -
airflow-core/src/airflow/ui/rules/typescript.js | 1 -
airflow-core/src/airflow/ui/rules/unicorn.js | 1 -
.../src/components/Banner/BackfillBanner.test.tsx | 92 +
.../ui/src/components/Banner/BackfillBanner.tsx | 8 +-
.../ui/src/components/Clear/Run/ClearRunDialog.tsx | 21 +-
.../Clear/TaskInstance/runOnLatestVersion.test.ts | 17 +-
.../Clear/TaskInstance/runOnLatestVersion.ts | 3 +-
.../src/airflow/ui/src/components/Graph/Edge.tsx | 7 +-
.../Graph/TaskLink.test.tsx} | 36 +-
.../airflow/ui/src/components/Graph/TaskLink.tsx | 7 +-
.../ui/src/components/Graph/reactflowUtils.test.ts | 118 +
.../ui/src/components/Graph/reactflowUtils.ts | 105 +
.../src/components/SlowestTaskInstancesChart.tsx | 161 ++
.../airflow/ui/src/components/StoreValueCell.tsx | 1 -
.../airflow/ui/src/components/ui/Select/Item.tsx | 1 -
.../src/airflow/ui/src/constants/filterConfigs.tsx | 17 +-
.../airflow/ui/src/constants/localStorage.test.ts | 51 +
.../src/airflow/ui/src/constants/localStorage.ts | 19 +-
.../src/airflow/ui/src/constants/searchParams.ts | 6 +-
.../ui/src/context/groups/GroupsProvider.tsx | 4 +-
.../src/airflow/ui/src/i18n/config.test.ts | 2 +-
.../airflow/ui/src/layouts/Details/Graph/Graph.tsx | 34 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 65 +-
airflow-core/src/airflow/ui/src/main.tsx | 3 +
.../src/airflow/ui/src/mocks/handlers/dags.ts | 26 +-
.../src/airflow/ui/src/pages/Asset/AssetGraph.tsx | 15 +-
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 84 +-
.../pages/Dag/Backfills/BackfillDagRunsModal.tsx | 219 ++
.../ui/src/pages/Dag/Backfills/Backfills.test.tsx | 395 +++
.../ui/src/pages/Dag/Backfills/Backfills.tsx | 56 +-
.../src/pages/Dag/Calendar/DailyCalendarView.tsx | 1 -
.../src/pages/Dag/Calendar/HourlyCalendarView.tsx | 1 -
.../ui/src/pages/Dag/DeadlineAlertsBadge.test.tsx | 89 +
.../ui/src/pages/Dag/DeadlineAlertsBadge.tsx | 13 +-
.../ui/src/pages/Dag/Overview/DeadlineRow.tsx | 20 +-
.../airflow/ui/src/pages/Dag/Overview/Overview.tsx | 31 +
.../DagsList/DagsFilters/DagsFilterSelect.tsx | 83 +
.../DagsList/DagsFilters/DagsFilters.test.tsx | 80 +-
.../src/pages/DagsList/DagsFilters/DagsFilters.tsx | 70 +-
.../src/pages/DagsList/DagsFilters/TagFilter.tsx | 60 +-
.../src/pages/DagsList/DagsFilters/TeamFilter.tsx | 5 +-
.../DagsList/DagsFilters/TimetableTypeFilter.tsx | 58 +
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 3 +
.../airflow/ui/src/pages/Run/DeadlineStatus.tsx | 23 +-
.../ui/src/pages/Run/DeadlineStatusModal.tsx | 16 +-
...Infinite.ts => useDagTimetableTypesInfinite.ts} | 42 +-
.../src/airflow/ui/src/queries/useDags.tsx | 3 +
.../src/airflow/ui/src/queries/useGridRuns.ts | 11 +-
.../src/airflow/ui/src/queries/useGridStructure.ts | 11 +-
airflow-core/src/airflow/ui/src/router.tsx | 1 +
airflow-core/src/airflow/ui/src/theme.ts | 1 -
.../src/airflow/ui/src/utils/datetimeUtils.test.ts | 17 +
.../src/airflow/ui/src/utils/datetimeUtils.ts | 7 +
.../src/airflow/ui/src/utils/deadlines.test.ts | 52 +
airflow-core/src/airflow/ui/src/utils/deadlines.ts | 44 +
.../airflow/ui/src/utils/detectLanguage.test.ts | 1 -
airflow-core/src/airflow/ui/src/utils/logs.ts | 2 -
airflow-core/src/airflow/ui/src/utils/slots.tsx | 1 -
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 2 +
.../airflow/ui/tests/e2e/fixtures/asset-data.ts | 1 -
.../ui/tests/e2e/fixtures/audit-log-data.ts | 1 -
.../airflow/ui/tests/e2e/fixtures/calendar-data.ts | 1 -
.../airflow/ui/tests/e2e/fixtures/dag-runs-data.ts | 1 -
.../ui/tests/e2e/fixtures/dashboard-data.ts | 1 -
.../src/airflow/ui/tests/e2e/fixtures/data.ts | 2 -
.../src/airflow/ui/tests/e2e/fixtures/pom.ts | 1 -
.../ui/tests/e2e/fixtures/task-instances-data.ts | 1 -
.../src/airflow/ui/tests/e2e/fixtures/xcom-data.ts | 1 -
.../src/airflow/ui/tests/e2e/pages/BackfillPage.ts | 13 +-
.../airflow/ui/tests/e2e/utils/api/backfills.ts | 1 -
.../src/airflow/ui/tests/e2e/utils/api/dag-runs.ts | 1 -
.../src/airflow/ui/tests/e2e/utils/api/hitl.ts | 1 -
.../airflow/ui/tests/e2e/utils/api/variables.ts | 1 -
.../src/airflow/ui/tests/e2e/utils/shared.ts | 1 -
.../src/airflow/ui/tests/e2e/utils/ui/waits.ts | 1 -
airflow-core/src/airflow/utils/db.py | 19 +-
airflow-core/src/airflow/utils/db_cleanup.py | 90 +-
airflow-core/src/airflow/utils/db_manager.py | 8 +
.../tests/unit/always/test_project_structure.py | 1 -
.../auth/managers/test_base_auth_manager.py | 50 +-
.../core_api/routes/public/test_backfills.py | 9 +-
.../core_api/routes/public/test_import_error.py | 327 ++-
.../api_fastapi/core_api/routes/ui/test_assets.py | 286 +-
.../api_fastapi/core_api/routes/ui/test_dags.py | 93 +
.../core_api/routes/ui/test_deadlines.py | 83 +-
.../core_api/routes/ui/test_dependencies.py | 364 ++-
.../core_api/routes/ui/test_structure.py | 490 +---
.../execution_api/versions/head/test_dag_runs.py | 26 +
airflow-core/tests/unit/assets/test_manager.py | 20 +-
.../unit/cli/commands/test_command_deprecations.py | 6 +
.../tests/unit/cli/commands/test_config_command.py | 33 +
.../tests/unit/cli/commands/test_db_command.py | 17 +
.../cli/commands/test_rotate_fernet_key_command.py | 2 +-
airflow-core/tests/unit/core/test_configuration.py | 30 +
.../tests/unit/dag_processing/test_manager.py | 42 +-
.../tests/unit/dag_processing/test_processor.py | 8 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 258 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 123 +-
.../tests/unit/models/test_serialized_dag.py | 85 +-
.../tests/unit/models/test_taskinstance.py | 33 +
.../unit/ti_deps/deps/test_trigger_rule_dep.py | 242 ++
airflow-core/tests/unit/utils/test_db_cleanup.py | 110 +
airflow-core/tests/unit/utils/test_db_manager.py | 8 +
airflow-core/tests/unit/utils/test_task_group.py | 11 +-
.../airflowctl_tests/test_airflowctl_commands.py | 4 +
airflow-ctl/docs/images/command_hashes.txt | 6 +-
airflow-ctl/docs/images/output_dags.svg | 138 +-
airflow-ctl/docs/images/output_taskinstances.svg | 74 +-
airflow-ctl/docs/images/output_tasks.svg | 74 +-
airflow-ctl/pyproject.toml | 4 +-
.../airflowctl/api/datamodels/auth_generated.py | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 391 ++-
airflow-ctl/src/airflowctl/api/operations.py | 65 +-
airflow-ctl/src/airflowctl/ctl/cli_config.py | 92 +-
.../src/airflowctl/ctl/commands/dag_command.py | 166 +-
.../src/airflowctl/ctl/commands/task_command.py | 52 +
airflow-ctl/src/airflowctl/ctl/help_texts.yaml | 3 +
.../tests/airflow_ctl/api/test_operations.py | 212 +-
.../ctl/commands/test_connections_command.py | 4 +-
.../airflow_ctl/ctl/commands/test_dag_command.py | 314 +-
.../airflow_ctl/ctl/commands/test_task_command.py | 349 +++
.../ctl/commands/test_variable_command.py | 5 +-
.../tests/airflow_ctl/ctl/test_cli_config.py | 2 +
chart/.pre-commit-config.yaml | 7 +
chart/README.md | 2 +-
chart/docs/production-guide.rst | 86 +
chart/templates/_helpers.yaml | 53 +-
.../templates/triggerer/triggerer-deployment.yaml | 3 +
chart/templates/workers/worker-deployment.yaml | 3 +
.../helm_tests/airflow_aux/test_airflow_common.py | 95 +
chart/tests/helm_tests/other/test_keda.py | 44 +
chart/values.schema.json | 834 +++---
chart/values.yaml | 11 +
contributing-docs/30_new_language_sdk.rst | 161 +-
.../testing/task_sdk_integration_tests.rst | 2 +-
dev/README_RELEASE_PROVIDERS.md | 88 +-
dev/breeze/doc/ci/04_selective_checks.md | 14 +-
dev/breeze/doc/images/output_build-docs.svg | 44 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
dev/breeze/doc/images/output_ci-image_build.svg | 104 +-
dev/breeze/doc/images/output_ci-image_build.txt | 2 +-
dev/breeze/doc/images/output_ci-image_load.svg | 22 +-
dev/breeze/doc/images/output_ci-image_load.txt | 2 +-
...elease-management_classify-provider-changes.svg | 16 +-
...elease-management_classify-provider-changes.txt | 2 +-
...management_generate-issue-content-providers.svg | 16 +-
...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 | 16 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 16 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../airflow_breeze/commands/ci_image_commands.py | 16 +
.../commands/ci_image_commands_config.py | 2 +
.../commands/common_image_options.py | 11 +
.../airflow_breeze/commands/developer_commands.py | 8 +-
.../commands/developer_commands_config.py | 1 +
.../airflow_breeze/params/common_build_params.py | 10 +
.../src/airflow_breeze/params/shell_params.py | 19 +
.../src/airflow_breeze/utils/selective_checks.py | 16 +-
dev/breeze/tests/test_build_ci_params.py | 57 +
dev/breeze/tests/test_developer_commands.py | 68 +
dev/breeze/tests/test_selective_checks.py | 76 +-
dev/breeze/tests/test_shell_params.py | 36 +
dev/breeze/uv.lock | 24 +-
.../react_plugin_template/package.json | 2 +-
.../react_plugin_template/pnpm-lock.yaml | 217 +-
dev/registry/registry_tools/types.py | 8 +
devel-common/src/tests_common/pytest_plugin.py | 181 +-
.../tests/unit/tests_common/test_pytest_plugin.py | 463 +++
generated/PYPI_README.md | 2 +-
generated/known_airflow_exceptions.txt | 2 +-
.../main/kotlin/org/apache/airflow/sdk/Server.kt | 29 +-
.../org/apache/airflow/sdk/execution/Comm.kt | 170 +-
.../org/apache/airflow/sdk/execution/Frame.kt | 18 +-
.../org/apache/airflow/sdk/execution/Logger.kt | 8 +-
.../kotlin/org/apache/airflow/sdk/ServerTest.kt | 142 +
.../org/apache/airflow/sdk/execution/CommTest.kt | 210 +-
providers/amazon/docs/operators/dms.rst | 32 +
.../docs/operators/redshift/redshift_data.rst | 7 +
providers/amazon/pyproject.toml | 2 +-
.../amazon/aws/auth_manager/aws_auth_manager.py | 3 +
.../providers/amazon/aws/hooks/redshift_data.py | 2 +-
.../airflow/providers/amazon/aws/operators/dms.py | 130 +
.../airflow/providers/amazon/aws/operators/s3.py | 8 +-
.../amazon/aws/operators/step_function.py | 6 +-
.../airflow/providers/amazon/aws/triggers/dms.py | 129 +-
.../airflow/providers/amazon/aws/waiters/dms.json | 122 +
.../aws/example_bedrock_retrieve_and_generate.py | 19 +
.../amazon/tests/system/amazon/aws/example_dms.py | 193 +-
...xample_glue_data_quality_with_recommendation.py | 5 +
.../tests/system/amazon/aws/example_s3_to_sql.py | 1 +
.../tests/system/amazon/aws/example_sql_to_s3.py | 1 +
.../tests/unit/amazon/aws/hooks/test_base_aws.py | 6 +
.../amazon/tests/unit/amazon/aws/hooks/test_dms.py | 1 -
.../tests/unit/amazon/aws/operators/test_dms.py | 219 ++
.../tests/unit/amazon/aws/operators/test_s3.py | 2 +-
.../amazon/aws/operators/test_step_function.py | 2 +-
.../tests/unit/amazon/aws/triggers/test_dms.py | 153 +
.../tests/unit/amazon/aws/waiters/test_dms.py | 101 +
.../apache/spark/operators/spark_submit.py | 329 ++-
providers/cncf/kubernetes/docs/operators.rst | 9 +
providers/cncf/kubernetes/provider.yaml | 25 +
.../providers/cncf/kubernetes/cli/definition.py | 12 +-
.../cncf/kubernetes/cli/kubernetes_command.py | 45 +-
.../kubernetes/executors/kubernetes_executor.py | 272 +-
.../executors/kubernetes_executor_utils.py | 111 +-
.../providers/cncf/kubernetes/get_provider_info.py | 14 +
.../providers/cncf/kubernetes/hooks/kubernetes.py | 60 +-
.../providers/cncf/kubernetes/kube_client.py | 102 +
.../providers/cncf/kubernetes/kube_config.py | 7 +
.../cncf/kubernetes/kubernetes_helper_functions.py | 11 +-
.../providers/cncf/kubernetes/operators/pod.py | 19 +-
.../cncf/kubernetes/cli/test_kubernetes_command.py | 180 ++
.../executors/test_kubernetes_executor.py | 513 +++-
.../unit/cncf/kubernetes/operators/test_pod.py | 28 +
.../tests/unit/cncf/kubernetes/test_kube_client.py | 33 +-
providers/common/ai/docs/examples.rst | 4 +-
providers/common/ai/docs/index.rst | 5 +-
providers/common/ai/docs/retry_policies.rst | 22 +-
providers/common/ai/docs/toolsets.rst | 74 +-
providers/common/ai/provider.yaml | 8 +-
providers/common/ai/pyproject.toml | 9 -
.../common/ai/example_dags/example_aws_toolset.py | 54 -
.../airflow/providers/common/ai/policies/retry.py | 30 +-
.../providers/common/ai/toolsets/__init__.py | 10 +-
.../airflow/providers/common/ai/toolsets/aws.py | 509 ----
.../providers/common/ai/toolsets/datafusion.py | 7 +-
.../airflow/providers/common/ai/toolsets/hook.py | 30 +-
.../common/ai/toolsets/langchain_bridge.py | 42 +-
.../airflow/providers/common/ai/toolsets/sql.py | 7 +-
.../providers/common/ai/utils/tool_definition.py | 74 +-
.../ai/tests/unit/common/ai/policies/test_retry.py | 46 +
.../ai/tests/unit/common/ai/toolsets/test_aws.py | 359 ---
.../unit/common/ai/toolsets/test_datafusion.py | 19 +
.../ai/tests/unit/common/ai/toolsets/test_hook.py | 59 +-
.../common/ai/toolsets/test_langchain_bridge.py | 46 +
.../ai/tests/unit/common/ai/toolsets/test_sql.py | 18 +
.../unit/common/ai/utils/test_tool_definition.py | 134 +-
.../{sqlalchemy/orm.py => security/access_view.py} | 14 +-
.../common/compat/security/test_access_view.py | 60 +
providers/databricks/README.rst | 2 +-
providers/databricks/docs/index.rst | 2 +-
.../databricks/docs/operators/repos_create.rst | 2 +-
.../databricks/docs/operators/repos_delete.rst | 2 +-
.../databricks/docs/operators/repos_update.rst | 2 +-
providers/databricks/docs/operators/run_now.rst | 6 +
providers/databricks/docs/operators/submit_run.rst | 6 +
providers/databricks/pyproject.toml | 2 +-
.../providers/databricks/hooks/databricks.py | 5 +-
.../providers/databricks/hooks/databricks_base.py | 5 +-
.../providers/databricks/operators/databricks.py | 33 +-
.../databricks/operators/databricks_repos.py | 46 +-
.../providers/databricks/triggers/databricks.py | 8 +-
.../databricks/operators/test_databricks_repos.py | 29 +-
.../src/airflow/providers/dbt/cloud/hooks/dbt.py | 45 +-
.../cloud/tests/unit/dbt/cloud/hooks/test_dbt.py | 101 +
.../providers/edge3/plugins/www/package.json | 60 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 3044 ++++++++++----------
providers/fab/pyproject.toml | 2 +-
.../providers/fab/auth_manager/fab_auth_manager.py | 12 +-
.../fab/auth_manager/security_manager/override.py | 2 +
.../fab/src/airflow/providers/fab/www/package.json | 8 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 386 ++-
.../providers/fab/www/security/permissions.py | 1 +
providers/google/docs/operators/cloud/bigquery.rst | 6 +
.../providers/google/cloud/operators/gcs.py | 13 +-
.../tests/unit/google/cloud/operators/test_gcs.py | 4 +-
providers/keycloak/pyproject.toml | 2 +-
.../providers/keycloak/auth_manager/constants.py | 8 +
.../keycloak/auth_manager/keycloak_auth_manager.py | 238 +-
.../keycloak/auth_manager/routes/login.py | 44 +-
.../providers/keycloak/auth_manager/user.py | 13 +-
.../keycloak/auth_manager/datamodels}/__init__.py | 0
.../keycloak/auth_manager/datamodels/test_token.py | 120 +
.../auth_manager/test_keycloak_auth_manager.py | 152 +-
.../src/airflow/providers/neo4j/operators/neo4j.py | 8 +-
.../neo4j/tests/unit/neo4j/operators/test_neo4j.py | 16 +-
providers/openlineage/README.rst | 4 +-
providers/openlineage/docs/index.rst | 4 +-
providers/openlineage/pyproject.toml | 4 +-
.../providers/openlineage/plugins/listener.py | 70 +-
.../airflow/providers/openlineage/utils/utils.py | 96 +-
.../unit/openlineage/plugins/test_listener.py | 161 +-
.../tests/unit/openlineage/utils/test_utils.py | 181 +-
providers/snowflake/docs/operators/snowflake.rst | 7 +
.../airflow/providers/standard/decorators/bash.py | 1 -
.../airflow/providers/standard/operators/bash.py | 5 +-
.../providers/standard/sensors/external_task.py | 41 +-
.../tests/unit/standard/operators/test_bash.py | 17 +
.../standard/sensors/test_external_task_sensor.py | 145 +
registry/package.json | 2 +-
registry/pnpm-lock.yaml | 10 +-
registry/src/_data/types.json | 5 +
registry/src/css/main.css | 1 +
registry/src/css/tokens.css | 1 +
reproducible_build.yaml | 4 +-
scripts/ci/docker-compose/backend-postgres.yml | 4 +-
scripts/ci/prek/check_go_example_mod_tidy.py | 126 +
... => sort_helm_values_schema_file_type_field.py} | 67 +-
.../ci/prek/validate_operators_init_exemptions.txt | 4 -
scripts/in_container/run_generate_constraints.py | 18 +-
.../in_container/run_provider_yaml_files_check.py | 48 +-
.../ci/prek/test_check_go_example_mod_tidy.py | 99 +
.../src/airflow_shared/configuration/parser.py | 2 +-
shared/dagnode/pyproject.toml | 2 +-
shared/listeners/pyproject.toml | 2 +-
shared/logging/pyproject.toml | 2 +-
.../src/airflow_shared/logging/structlog.py | 28 +-
shared/observability/pyproject.toml | 2 +-
.../observability/metrics/metrics_template.yaml | 20 +
shared/providers_discovery/pyproject.toml | 2 +-
task-sdk/docs/resumable-job-mixin.rst | 8 +
task-sdk/pyproject.toml | 4 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 106 +-
.../airflow/sdk/execution_time/schema/schema.json | 494 ++--
task-sdk/tests/conftest.py | 2 +
task-sdk/tests/task_sdk/api/test_client.py | 14 +
task-sdk/tests/task_sdk/bases/test_hook.py | 2 +
.../tests/task_sdk/definitions/test_connection.py | 11 +-
.../execution_time/test_callback_supervisor.py | 22 +-
.../tests/task_sdk/execution_time/test_comms.py | 1 +
.../tests/task_sdk/execution_time/test_context.py | 50 +-
.../task_sdk/execution_time/test_context_cache.py | 17 +-
.../tests/task_sdk/execution_time/test_secrets.py | 3 +
.../task_sdk/execution_time/test_supervisor.py | 80 +-
.../task_sdk/execution_time/test_task_runner.py | 9 +
ts-sdk/src/generated/supervisor.ts | 194 +-
uv.lock | 437 +--
427 files changed, 19625 insertions(+), 7913 deletions(-)
create mode 100644 airflow-core/newsfragments/62501.bugfix.rst
create mode 100644 airflow-core/newsfragments/67672.improvement.rst
create mode 100644 airflow-core/newsfragments/67765.bugfix.rst
create mode 100644 airflow-core/newsfragments/69790.feature.rst
create mode 100644 airflow-core/newsfragments/70240.bugfix.rst
create mode 100644 airflow-core/src/airflow/api_fastapi/common/db/assets.py
delete mode 100644
airflow-core/src/airflow/api_fastapi/core_api/services/ui/structure.py
create mode 100644
airflow-core/src/airflow/ui/src/components/Banner/BackfillBanner.test.tsx
copy airflow-core/src/airflow/ui/src/{pages/Dag/Code/FileLocation.test.tsx =>
components/Graph/TaskLink.test.tsx} (55%)
create mode 100644
airflow-core/src/airflow/ui/src/components/Graph/reactflowUtils.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/components/SlowestTaskInstancesChart.tsx
create mode 100644
airflow-core/src/airflow/ui/src/constants/localStorage.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Backfills/BackfillDagRunsModal.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Backfills/Backfills.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/DeadlineAlertsBadge.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilterSelect.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/TimetableTypeFilter.tsx
copy airflow-core/src/airflow/ui/src/queries/{useDagTagsInfinite.ts =>
useDagTimetableTypesInfinite.ts} (55%)
create mode 100644 airflow-core/src/airflow/ui/src/utils/deadlines.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/deadlines.ts
create mode 100644 dev/breeze/tests/test_build_ci_params.py
create mode 100644 dev/breeze/tests/test_developer_commands.py
create mode 100644 devel-common/tests/unit/tests_common/test_pytest_plugin.py
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/ServerTest.kt
copy
airflow-core/src/airflow/api_fastapi/execution_api/versions/v2025_04_28.py =>
providers/cncf/kubernetes/tests/unit/cncf/kubernetes/test_kube_client.py (54%)
delete mode 100644
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_aws_toolset.py
delete mode 100644
providers/common/ai/src/airflow/providers/common/ai/toolsets/aws.py
delete mode 100644
providers/common/ai/tests/unit/common/ai/toolsets/test_aws.py
copy
providers/common/compat/src/airflow/providers/common/compat/{sqlalchemy/orm.py
=> security/access_view.py} (63%)
create mode 100644
providers/common/compat/tests/unit/common/compat/security/test_access_view.py
copy {airflow-core/src/airflow/_shared =>
providers/keycloak/tests/unit/keycloak/auth_manager/datamodels}/__init__.py
(100%)
create mode 100644
providers/keycloak/tests/unit/keycloak/auth_manager/datamodels/test_token.py
create mode 100755 scripts/ci/prek/check_go_example_mod_tidy.py
copy scripts/ci/prek/{check_init_in_tests.py =>
sort_helm_values_schema_file_type_field.py} (50%)
create mode 100644 scripts/tests/ci/prek/test_check_go_example_mod_tidy.py