This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/npm_and_yarn/airflow-core/src/airflow/ui/i18next-26.3.6
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard ff5d2b8fe30 Bump i18next from 25.8.16 to 26.3.6 in
/airflow-core/src/airflow/ui
add ef236c5f39c Bump eslint-plugin-unicorn (#70406)
add 39381ccb2d7 Move template-field checks out of __init__ in Hive sensors
(#70334)
add 4acd42fbe6b Build KubernetesInstallKueueOperator manifest URL after
rendering (#70335)
add d369e6f6996 Validate DatabricksSQLStatementsSensor statement fields
after rendering (#70340)
add 82a2c91d08a Validate Databricks Repos operators' template fields after
rendering (#70341)
add dfabf3b7193 Add team_name tagging to multi team dag metrics (#69943)
add dc42801bde4 real example of CronDataIntervalTimetable and
DeltaDataIntervalTimetable (#70303)
add 7ae64e7ed62 Mark Lang-SDK ADRs 0003-0006 as Accepted (#70157)
add 7dfa42a00b6 Bump the github-actions-updates group with 8 updates
(#70411)
add d31eff5a37e Bump the uv-dependency-updates group in /dev/breeze with 2
updates (#70404)
add e9a36629bf6 Validate ProduceToTopicOperator topic after rendering
(#70333)
add 0378a727e5f Fix template-field validation timing in ssh provider
operators (#70315)
add cd7235aff32 Support multiple paths fallback in VaultBackend (#70006)
add 025b0a14a41 Mark dags list-jobs as migrated to airflowctl (#70153)
add 1c0d8c88213 add ownership (#70443)
add 4d3cd1ec61f Handle DockerOperator mounts after rendering instead of in
__init__ (#70342)
add 963d286d32e Support Paramiko 5 (#69712)
add fba10d463e4 Remove no-op ServerResponseError re-raise blocks in
airflowctl operations (#70376)
add 9b72aed307d Move template-field validation out of
AnthropicAgentSessionOperator __init__ (#70432)
add 3c99701a267 Fix DateTimeSensor crash when target_time renders to a
datetime (#70320)
add 15df3aaac07 Fix incorrect asset queued-event endpoint paths in
airflowctl (#70461)
add 220024580bc Move amazon dms operator template-field validation to
execute() (#70450)
add dbe4627b307 Fix template-field validation in PapermillOperator (#70435)
add 33c2363add0 Move Compute Engine validation out of constructors (#70454)
add 03f45e1d8b7 Fix EcsRunTaskOperator deferred-logs region and template
field init (#70464)
add 55816176d40 Clarify contributing-docs regarding external_db_managers
(#70466)
add 895646bfaa9 Add missing UI translations for Greek(el) (#70467)
add d4a0861867d Add queue parameter to edge list-workers subcommand
(#70436)
add 283d5c38d5c edge3: Exit non-zero when worker admin CLI commands fail
(#70112)
add 018977ec86d Remove stale type-ignore TODO in HTTP hook
run_with_advanced_retry (#67685)
add c4a5f19e67c Add SQLBulkLoadOperator to Common SQL Provider (#69362)
add 91a6a0fe8a8 Allow templated fields in AppFlow operators (#70440)
add 9953e4c49cb Update French (fr) UI translations to 100% coverage
(#70386)
add 38648c3075d Complete Polish translation of the Airflow UI (#70476)
add 6f09cd33ead Simplify api docs on pattern search (#70202)
add d778786fb0c Complete missing Arabic (ar) translations (#70383)
add 66ea88f0bea Fix DAG details active runs count to exclude queued runs
(#69769)
add 861aa9887b1 Bump eslint-plugin-unicorn (#70402)
add 94ffd92afd9 Bump @chakra-ui/react (#70401)
add eeeb6f02a88 reject backslash-after-scheme urls in is_safe_url (#70215)
add 9f8629c5929 Detect linked issues at the end of PR bodies in provider
testing issue (#70396)
add 6bef2b417f0 Validate TriggerDagRunOperator logical_date after template
rendering (#70490)
add a4d56b4dce8 Ignore hidden directories when listing UI translation
locales (#70516)
add 8216231fbd3 Enable provider-based GCS remote logging resolution
(#70504)
add 0f2827e36e5 Fix EcsRunTaskOperator deferred logs read from the wrong
region (#70474)
add 6df6cb32ea5 Add SnowflakeCortexAgentOperator to Snowflake Provider
(#69939)
add 0e046e86090 Warn on suspicious Dag and task IDs at Go SDK build time
(#69965)
add 6a386524d40 Bump the auth-ui-package-updates group across 1 directory
with 10 updates (#70414)
add eefce6d452e Fix flaky Glue OpenLineage test that calls the real AWS
endpoint (#70500)
add 908115a9712 Move AwsToAwsBaseOperator fallback out of init (#70445)
add da4db8e6681 Extract task concurrency evaluation into a dedicated
scheduler helper (#67589)
add 941c083b58f Drop redundant BigQueryInsertJobOperator job ID snapshot
in __init__ (#70494)
add 2c9e09979d2 Anchor spark-submit log trail on actual exception instead
of lines (#70513)
add e1f17e71db4 Resolve S3ToRedshiftOperator connection and kwargs after
template rendering (#70486)
add 4836f7b9f1d Mark common.ai provider as not ready for release (#70481)
add 51972109907 UI: Add Run ID filter to the Grid view (#70150)
add df27d46cbbe Fix Grid view scrollbar hiding latest Dags run (#69693)
add f5e3c1ef26d UI: Move JSON validation and prettifying into JsonEditor
(#70380)
add 772a8656890 Stop registry blips from failing integration test jobs
(#70524)
add 1c167ad0558 Bump google.golang.org/grpc from 1.79.3 to 1.82.1 in
/go-sdk (#70226)
add 69dac2f77dd Bump swagger-ui-dist (#70403)
add 48dc0128265 Display owner_display_name in Audit Log (#68833)
add 2361e174202 Clarify how to stop Breeze environments (#70560)
add 8db8d9713a9 Restore the lang-SDK Go bundle build (#70561)
add e807d5e9ba3 Make SSH remote-job kill test diagnosable and stop it
reddening main (#70562)
add f88b635902f Complete missing Hebrew (he) translations (#70382)
add e1e93e682d0 Document the sql extra required for LLMSQLQueryOperator
(#70564)
add 9e001828094 Support `.txt` files in `LLMFileAnalysisOperator` (#70431)
add 32168fdf5ef Add deferrable mode to DynamoDBValueSensor (#69799)
add f5d7c8a0548 Cleanup multi-team docs for team_name tagging (#70146)
add 83968fb101c Allow argument-provision checks of templated fields in
operator __init__ (#70505)
add 4a73814adb0 Use common.compat.sdk for timezone imports in providers
(#70492)
add c04b93baaae Keep SSH remote job running when its PTY session hangs up
(#70573)
add 08384f52e0e Update providers metadata 2026-07-28 (#70577)
add d7aa92913bf Fix grid/graph view topological sort for group-level and
cross-group dependencies (#69933)
add d8b8620662d Clarify ``logging_config_class`` contract and document
``REMOTE_TASK_LOG`` (#67104)
add 4b848993911 Speed up constraints-version-check by resolving the
baseline once (#70559)
add 00679b8127a Group Dependabot security updates and keep v3-3-test
covered (#70556)
add 2f5fb76d467 Add `get_display_name` to `BaseUser` interface (#70583)
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 b1ce92f2da1 Bump i18next from 25.8.16 to 26.3.6 in
/airflow-core/src/airflow/ui
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 (ff5d2b8fe30)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/ui/i18next-26.3.6
(b1ce92f2da1)
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:
.agents/skills/airflow-translations/locales/el.md | 67 +-
.github/CODEOWNERS | 2 +-
.github/dependabot.yml | 173 ++-
.github/workflows/additional-ci-image-checks.yml | 2 +-
.github/workflows/additional-prod-image-tests.yml | 8 +-
.github/workflows/airflow-distributions-tests.yml | 2 +-
.github/workflows/airflow-e2e-tests.yml | 6 +-
.github/workflows/asf-allowlist-check.yml | 2 +-
.github/workflows/backport-cli.yml | 2 +-
.github/workflows/basic-tests.yml | 24 +-
.github/workflows/ci-amd.yml | 30 +-
.github/workflows/ci-arm.yml | 30 +-
.github/workflows/ci-duration-monitor.yml | 4 +-
.github/workflows/ci-image-build.yml | 21 +-
.github/workflows/ci-image-checks.yml | 18 +-
.github/workflows/ci-notification.yml | 8 +-
.github/workflows/codeql-analysis.yml | 10 +-
.github/workflows/e2e-flaky-tests-report.yml | 4 +-
.github/workflows/finalize-tests.yml | 6 +-
.github/workflows/generate-constraints.yml | 4 +-
.github/workflows/helm-tests.yml | 4 +-
.github/workflows/integration-system-tests.yml | 6 +-
.github/workflows/java-sdk-release-verify.yml | 8 +-
.github/workflows/k8s-tests.yml | 8 +-
.github/workflows/kustomize-overlays-tests.yml | 2 +-
.github/workflows/milestone-tag-assistant.yml | 2 +-
.github/workflows/notify-uv-lock-conflicts.yml | 2 +-
.github/workflows/openlineage-e2e-compat-tests.yml | 2 +-
.github/workflows/prod-image-build.yml | 4 +-
.github/workflows/publish-docs-to-s3.yml | 89 +-
.github/workflows/push-image-cache.yml | 4 +-
.github/workflows/registry-backfill.yml | 8 +-
.github/workflows/registry-build.yml | 58 +-
.github/workflows/registry-tests.yml | 4 +-
.github/workflows/release_dockerhub_image.yml | 2 +-
.../workflows/release_single_dockerhub_image.yml | 4 +-
.github/workflows/run-unit-tests.yml | 2 +-
.../scheduled-verify-release-calendar.yml | 4 +-
.github/workflows/test-providers.yml | 4 +-
.github/workflows/ui-e2e-tests.yml | 2 +-
.../update-constraints-on-push-stable.yml | 10 +-
.github/workflows/update-constraints-on-push.yml | 8 +-
.github/workflows/upgrade-check.yml | 6 +-
.pre-commit-config.yaml | 17 +
airflow-core/adr/lang-sdk/0003-pure-java-dags.md | 2 +-
airflow-core/adr/lang-sdk/0004-dag-parsing.md | 10 +-
.../adr/lang-sdk/0005-coordinator-packaging.md | 12 +-
.../lang-sdk/0006-no-lang-sdk-source-display.md | 2 +-
.../advanced-logging-configuration.rst | 53 +-
.../docs/authoring-and-scheduling/timetable.rst | 20 +-
.../docs/core-concepts/auth-manager/index.rst | 37 +-
airflow-core/docs/core-concepts/multi-team.rst | 18 +-
airflow-core/docs/howto/custom-operator.rst | 16 +
airflow-core/newsfragments/69790.feature.rst | 1 +
airflow-core/src/airflow/api_fastapi/app.py | 14 +-
.../api_fastapi/auth/managers/base_auth_manager.py | 33 +-
.../api_fastapi/auth/managers/models/base_user.py | 9 +
.../auth/managers/models/resource_details.py | 3 +
.../auth/managers/simple/simple_auth_manager.py | 16 +-
.../auth/managers/simple/ui/package.json | 32 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 758 +++++-----
.../src/airflow/api_fastapi/common/parameters.py | 56 +-
.../api_fastapi/core_api/datamodels/event_logs.py | 1 +
.../api_fastapi/core_api/datamodels/ui/deadline.py | 31 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 240 ++-
.../core_api/openapi/v2-rest-api-generated.yaml | 1589 ++++++--------------
.../api_fastapi/core_api/routes/public/dags.py | 2 +-
.../core_api/routes/public/event_logs.py | 21 +-
.../core_api/routes/public/import_error.py | 65 +-
.../api_fastapi/core_api/routes/ui/deadlines.py | 2 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 53 +-
.../api_fastapi/core_api/routes/ui/structure.py | 6 +-
.../src/airflow/api_fastapi/core_api/security.py | 9 +-
.../core_api/services/public/event_logs.py | 40 +
.../api_fastapi/core_api/services/ui/grid.py | 7 +-
.../api_fastapi/core_api/services/ui/task_group.py | 56 +-
.../src/airflow/api_fastapi/logging/decorators.py | 2 +-
.../src/airflow/cli/commands/dag_command.py | 1 +
.../config_templates/airflow_local_settings.py | 8 +
.../src/airflow/config_templates/config.yml | 9 +-
.../src/airflow/executors/base_executor.py | 1 +
.../airflow/executors/workloads/connection_test.py | 3 +
.../src/airflow/jobs/scheduler_job_runner.py | 167 +-
.../src/airflow/jobs/triggerer_job_runner.py | 5 +-
airflow-core/src/airflow/logging_config.py | 50 +-
airflow-core/src/airflow/models/dag.py | 4 +-
.../airflow/serialization/definitions/taskgroup.py | 25 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 18 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 282 ++--
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 282 ++--
.../src/airflow/ui/openapi-gen/queries/queries.ts | 288 ++--
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 282 ++--
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 13 +-
.../ui/openapi-gen/requests/services.gen.ts | 280 ++--
.../airflow/ui/openapi-gen/requests/types.gen.ts | 289 ++--
airflow-core/src/airflow/ui/package.json | 8 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 422 +++---
.../airflow/ui/public/i18n/locales/ar/admin.json | 1 +
.../airflow/ui/public/i18n/locales/ar/assets.json | 20 +-
.../airflow/ui/public/i18n/locales/ar/common.json | 76 +-
.../ui/public/i18n/locales/ar/components.json | 2 +
.../src/airflow/ui/public/i18n/locales/ar/dag.json | 20 +-
.../airflow/ui/public/i18n/locales/ar/dags.json | 11 +
.../ui/public/i18n/locales/ar/dashboard.json | 22 +
.../airflow/ui/public/i18n/locales/ar/hitl.json | 14 +
.../airflow/ui/public/i18n/locales/el/admin.json | 32 +-
.../airflow/ui/public/i18n/locales/el/assets.json | 26 +-
.../airflow/ui/public/i18n/locales/el/browse.json | 44 +-
.../airflow/ui/public/i18n/locales/el/common.json | 207 ++-
.../ui/public/i18n/locales/el/components.json | 46 +-
.../src/airflow/ui/public/i18n/locales/el/dag.json | 118 +-
.../airflow/ui/public/i18n/locales/el/dags.json | 23 +-
.../ui/public/i18n/locales/el/dashboard.json | 23 +-
.../airflow/ui/public/i18n/locales/el/hitl.json | 18 +
.../ui/public/i18n/locales/en/components.json | 4 +
.../airflow/ui/public/i18n/locales/fr/admin.json | 1 +
.../airflow/ui/public/i18n/locales/fr/assets.json | 17 +
.../airflow/ui/public/i18n/locales/fr/browse.json | 19 +
.../airflow/ui/public/i18n/locales/fr/common.json | 95 +-
.../ui/public/i18n/locales/fr/components.json | 5 +
.../src/airflow/ui/public/i18n/locales/fr/dag.json | 26 +-
.../airflow/ui/public/i18n/locales/fr/dags.json | 13 +-
.../ui/public/i18n/locales/fr/dashboard.json | 21 +
.../airflow/ui/public/i18n/locales/fr/hitl.json | 14 +
.../airflow/ui/public/i18n/locales/he/admin.json | 1 +
.../airflow/ui/public/i18n/locales/he/assets.json | 17 +
.../airflow/ui/public/i18n/locales/he/common.json | 87 +-
.../ui/public/i18n/locales/he/components.json | 2 +
.../src/airflow/ui/public/i18n/locales/he/dag.json | 22 +
.../airflow/ui/public/i18n/locales/he/dags.json | 11 +
.../ui/public/i18n/locales/he/dashboard.json | 19 +
.../airflow/ui/public/i18n/locales/he/hitl.json | 14 +
.../airflow/ui/public/i18n/locales/pl/admin.json | 1 +
.../airflow/ui/public/i18n/locales/pl/assets.json | 23 +-
.../airflow/ui/public/i18n/locales/pl/common.json | 76 +-
.../ui/public/i18n/locales/pl/components.json | 2 +
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 26 +-
.../airflow/ui/public/i18n/locales/pl/dags.json | 13 +-
.../ui/public/i18n/locales/pl/dashboard.json | 22 +-
.../airflow/ui/public/i18n/locales/pl/hitl.json | 14 +
.../airflow/ui/src/components/JsonEditor.test.tsx | 86 ++
.../src/airflow/ui/src/components/JsonEditor.tsx | 23 +-
.../src/components/SlowestTaskInstancesChart.tsx | 161 ++
.../ui/src/layouts/Details/DetailsLayout.tsx | 5 +
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 4 +
.../airflow/ui/src/layouts/Details/Grid/Grid.tsx | 32 +-
.../airflow/ui/src/layouts/Details/GridFilters.tsx | 1 +
.../ui/src/pages/Asset/CreateAssetEventModal.tsx | 21 +-
.../airflow/ui/src/pages/Dag/Overview/Overview.tsx | 31 +
.../src/airflow/ui/src/pages/Events/Events.tsx | 5 +-
.../src/airflow/ui/src/queries/useGridRuns.ts | 14 +
.../src/airflow/ui/src/queries/useGridStructure.ts | 14 +
airflow-core/src/airflow/utils/db.py | 19 +-
airflow-core/src/airflow/utils/db_cleanup.py | 90 +-
.../api_fastapi/auth/managers/models}/__init__.py | 0
.../auth/managers/models/test_base_user.py | 18 +-
.../auth/managers/test_base_auth_manager.py | 50 +-
.../core_api/routes/public/test_dags.py | 2 +-
.../core_api/routes/public/test_event_logs.py | 36 +-
.../core_api/routes/public/test_import_error.py | 327 +++-
.../core_api/routes/ui/test_deadlines.py | 83 +-
.../api_fastapi/core_api/routes/ui/test_grid.py | 33 +
.../core_api/services/public/test_event_logs.py | 75 +
.../unit/api_fastapi/core_api/test_security.py | 8 +
.../unit/api_fastapi/logging/test_decorators.py | 31 +
.../unit/cli/commands/test_command_deprecations.py | 1 +
.../tests/unit/executors/test_base_executor.py | 30 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 94 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 12 +-
.../tests/unit/logging/test_logging_config.py | 63 +
airflow-core/tests/unit/utils/test_db_cleanup.py | 110 ++
airflow-core/tests/unit/utils/test_task_group.py | 128 +-
.../src/airflowctl/api/datamodels/generated.py | 1 +
airflow-ctl/src/airflowctl/api/operations.py | 512 +++----
.../tests/airflow_ctl/api/test_operations.py | 31 +
contributing-docs/03_contributors_quick_start.rst | 16 +-
contributing-docs/05_pull_requests.rst | 30 +
contributing-docs/14_metadata_database_updates.rst | 2 +-
contributing-docs/mprocs/MPROCS_QUICK_REFERENCE.md | 8 +
dev/README_RELEASE_PROVIDERS.md | 88 +-
dev/assign_cherry_picked_prs_with_milestone.py | 1 -
dev/breeze/doc/03_developer_tasks.rst | 17 +-
...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 +-
.../commands/release_management_commands.py | 2 +-
.../airflow_breeze/commands/testing_commands.py | 7 +
.../src/airflow_breeze/commands/ui_commands.py | 2 +-
.../utils/constraints_version_check.py | 211 +--
.../airflow_breeze/utils/docker_command_utils.py | 79 +
dev/breeze/tests/test_constraints_version_check.py | 169 +++
dev/breeze/tests/test_docker_command_utils.py | 82 +
.../tests/test_release_management_commands.py | 17 +
dev/breeze/tests/test_ui_commands.py | 17 +
dev/breeze/uv.lock | 28 +-
dev/update_github_branch_config.py | 117 ++
generated/provider_metadata.json | 120 ++
go-sdk/cmd/airflow-go-pack/pack.go | 1 +
go-sdk/cmd/airflow-go-pack/validate.go | 75 +
go-sdk/cmd/airflow-go-pack/validate_test.go | 142 ++
go-sdk/go.mod | 10 +-
go-sdk/go.sum | 36 +-
kubernetes-tests/lang_sdk/go_example/go.mod | 6 +-
kubernetes-tests/lang_sdk/go_example/go.sum | 36 +-
providers/.pre-commit-config.yaml | 4 +-
.../alibaba/cloud/sensors/test_analyticdb_spark.py | 2 +-
providers/amazon/docs/operators/dynamodb.rst | 1 +
providers/amazon/provider.yaml | 3 +
providers/amazon/pyproject.toml | 2 +-
.../amazon/aws/auth_manager/aws_auth_manager.py | 3 +
.../providers/amazon/aws/operators/appflow.py | 63 +-
.../airflow/providers/amazon/aws/operators/dms.py | 7 +-
.../airflow/providers/amazon/aws/operators/ecs.py | 23 +-
.../providers/amazon/aws/sensors/dynamodb.py | 39 +
.../airflow/providers/amazon/aws/transfers/base.py | 15 +-
.../amazon/aws/transfers/s3_to_redshift.py | 37 +-
.../providers/amazon/aws/triggers/dynamodb.py | 168 +++
.../airflow/providers/amazon/aws/triggers/ecs.py | 11 +-
.../airflow/providers/amazon/get_provider_info.py | 4 +
.../unit/amazon/aws/operators/test_appflow.py | 39 +
.../tests/unit/amazon/aws/operators/test_dms.py | 36 +-
.../tests/unit/amazon/aws/operators/test_ecs.py | 74 +
.../tests/unit/amazon/aws/operators/test_glue.py | 3 +
.../tests/unit/amazon/aws/sensors/test_dynamodb.py | 54 +
.../tests/unit/amazon/aws/transfers/test_base.py | 17 +
.../amazon/aws/transfers/test_s3_to_redshift.py | 23 +-
.../unit/amazon/aws/triggers/test_dynamodb.py | 175 +++
.../tests/unit/amazon/aws/triggers/test_ecs.py | 68 +-
.../airflow/providers/anthropic/operators/agent.py | 8 +-
.../tests/unit/anthropic/operators/test_agent.py | 44 +-
.../flink/operators/test_flink_kubernetes.py | 2 +-
.../apache/flink/sensors/test_flink_kubernetes.py | 3 +-
.../apache/hive/sensors/hive_partition.py | 4 +-
.../apache/hive/sensors/named_hive_partition.py | 5 +-
.../hive/tests/unit/apache/hive/hooks/test_hive.py | 3 +-
.../tests/unit/apache/hive/operators/test_hive.py | 3 +-
.../hive/sensors/test_named_hive_partition.py | 32 +
.../apache/hive/transfers/test_hive_to_mysql.py | 3 +-
.../apache/hive/transfers/test_mysql_to_hive.py | 2 +-
.../providers/apache/kafka/operators/produce.py | 4 +-
.../unit/apache/kafka/operators/test_produce.py | 18 +
.../tests/unit/apache/livy/operators/test_livy.py | 3 +-
.../tests/unit/apache/livy/sensors/test_livy.py | 2 +-
.../providers/apache/spark/hooks/spark_submit.py | 11 +-
.../unit/apache/spark/decorators/test_pyspark.py | 2 +-
.../unit/apache/spark/hooks/test_spark_submit.py | 48 +-
.../unit/apache/spark/operators/test_spark_jdbc.py | 2 +-
.../apache/spark/operators/test_spark_pyspark.py | 2 +-
.../unit/apache/spark/operators/test_spark_sql.py | 2 +-
.../apache/spark/operators/test_spark_submit.py | 2 +-
.../apache/tinkerpop/operators/test_gremlin.py | 2 +-
.../tests/unit/arangodb/sensors/test_arangodb.py | 2 +-
.../unit/atlassian/jira/operators/test_jira.py | 2 +-
.../tests/unit/atlassian/jira/sensors/test_jira.py | 2 +-
.../providers/cncf/kubernetes/operators/kueue.py | 5 +-
.../unit/cncf/kubernetes/operators/test_job.py | 3 +-
.../unit/cncf/kubernetes/operators/test_kueue.py | 15 +
.../unit/cncf/kubernetes/operators/test_pod.py | 2 +-
.../cncf/kubernetes/operators/test_resource.py | 3 +-
.../kubernetes/operators/test_spark_kubernetes.py | 3 +-
.../kubernetes/sensors/test_spark_kubernetes.py | 3 +-
providers/common/ai/docs/operators/llm_sql.rst | 5 +
providers/common/ai/provider.yaml | 2 +-
.../providers/common/ai/utils/file_analysis.py | 5 +-
.../unit/common/ai/plugins/test_hitl_review.py | 2 +-
.../unit/common/ai/utils/test_file_analysis.py | 24 +
.../{sqlalchemy/orm.py => security/access_view.py} | 14 +-
.../common/compat/security/test_access_view.py | 60 +
providers/common/sql/docs/operators.rst | 29 +
.../airflow/providers/common/sql/operators/sql.py | 76 +
.../system/common/sql/example_generic_transfer.py | 2 +-
...sql_insert_rows.py => example_sql_bulk_load.py} | 71 +-
.../common/sql/example_sql_column_table_check.py | 2 +-
.../common/sql/operators/test_generic_transfer.py | 2 +-
.../tests/unit/common/sql/operators/test_sql.py | 84 ++
.../databricks/operators/databricks_repos.py | 28 +-
.../providers/databricks/sensors/databricks.py | 9 +-
.../databricks/operators/test_databricks_repos.py | 29 +-
.../unit/databricks/sensors/test_databricks.py | 12 +
.../tests/unit/dbt/cloud/utils/test_openlineage.py | 3 +-
.../tests/unit/dingding/operators/test_dingding.py | 2 +-
.../unit/discord/operators/test_discord_webhook.py | 2 +-
.../airflow/providers/docker/operators/docker.py | 12 +-
.../providers/docker/operators/docker_swarm.py | 1 +
.../tests/unit/docker/operators/test_docker.py | 38 +-
.../unit/docker/operators/test_docker_swarm.py | 19 +
providers/edge3/docs/deployment.rst | 3 +-
.../src/airflow/providers/edge3/cli/definition.py | 1 +
.../airflow/providers/edge3/cli/edge_command.py | 21 +-
.../airflow/providers/edge3/models/edge_worker.py | 20 +-
.../edge3/worker_api/v2-edge-generated.yaml | 5 +
.../edge3/tests/unit/edge3/cli/test_definition.py | 6 +
.../tests/unit/edge3/cli/test_edge_command.py | 77 +-
.../edge3/tests/unit/edge3/cli/test_worker.py | 20 +-
.../tests/unit/edge3/models/test_edge_worker.py | 25 +-
.../unit/elasticsearch/log/test_es_task_handler.py | 8 +-
providers/fab/pyproject.toml | 2 +-
.../providers/fab/auth_manager/fab_auth_manager.py | 12 +-
.../providers/fab/auth_manager/models/__init__.py | 3 +
.../fab/auth_manager/security_manager/override.py | 2 +
.../fab/src/airflow/providers/fab/www/package.json | 6 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 329 ++--
.../providers/fab/www/security/permissions.py | 1 +
.../fab/auth_manager/models/test_user_model.py | 7 +
providers/ftp/tests/unit/ftp/operators/test_ftp.py | 5 +-
providers/google/provider.yaml | 4 +
.../providers/google/cloud/log/gcs_task_handler.py | 27 +
.../providers/google/cloud/operators/bigquery.py | 2 +-
.../providers/google/cloud/operators/compute.py | 209 +--
.../providers/google/cloud/operators/gcs.py | 3 +-
.../airflow/providers/google/cloud/triggers/gcs.py | 2 +-
.../airflow/providers/google/get_provider_info.py | 6 +
.../unit/google/cloud/log/test_gcs_task_handler.py | 83 +
.../cloud/log/test_stackdriver_task_handler.py | 2 +-
.../unit/google/cloud/operators/test_bigquery.py | 10 +
.../test_cloud_storage_transfer_service.py | 3 +-
.../unit/google/cloud/operators/test_compute.py | 902 +++++++----
.../operators/test_bid_manager.py | 2 +-
.../operators/test_campaign_manager.py | 2 +-
.../operators/test_display_video.py | 2 +-
.../docs/secrets-backends/hashicorp-vault.rst | 18 +
.../airflow/providers/hashicorp/secrets/vault.py | 116 +-
.../tests/unit/hashicorp/secrets/test_vault.py | 182 ++-
.../http/src/airflow/providers/http/hooks/http.py | 1 -
providers/keycloak/pyproject.toml | 2 +-
.../keycloak/auth_manager/keycloak_auth_manager.py | 5 +-
.../providers/microsoft/azure/hooks/batch.py | 3 +-
.../microsoft/azure/operators/test_data_factory.py | 3 +-
.../unit/microsoft/azure/operators/test_synapse.py | 3 +-
.../unit/microsoft/azure/sensors/test_wasb.py | 3 +-
.../tests/integration/mongo/sensors/test_mongo.py | 2 +-
.../mongo/tests/unit/mongo/sensors/test_mongo.py | 2 +-
.../unit/openlineage/plugins/test_execution.py | 2 +-
.../unit/opensearch/log/test_os_task_handler.py | 8 +-
.../tests/unit/opsgenie/operators/test_opsgenie.py | 2 +-
.../providers/papermill/operators/papermill.py | 8 +-
.../unit/papermill/operators/test_papermill.py | 15 +-
.../qdrant/operators/test_qdrant_ingest.py | 2 +-
.../redis/operators/test_redis_publish.py | 2 +-
.../integration/redis/sensors/test_redis_key.py | 2 +-
.../redis/sensors/test_redis_pub_sub.py | 2 +-
.../unit/redis/operators/test_redis_publish.py | 2 +-
.../tests/unit/redis/sensors/test_redis_key.py | 2 +-
.../tests/unit/redis/sensors/test_redis_pub_sub.py | 2 +-
providers/sftp/README.rst | 2 +-
providers/sftp/docs/index.rst | 2 +-
providers/sftp/pyproject.toml | 2 +-
.../unit/sftp/decorators/sensors/test_sftp.py | 2 +-
.../sftp/tests/unit/sftp/operators/test_sftp.py | 6 +-
.../docs/operators/snowflake_cortex_agent.rst | 66 +
providers/snowflake/provider.yaml | 2 +
.../providers/snowflake/get_provider_info.py | 2 +
.../airflow/providers/snowflake/hooks/snowflake.py | 2 +-
.../snowflake/operators/snowflake_cortex_agent.py | 140 ++
.../providers/snowflake/utils/openlineage.py | 2 +-
...er_job.py => example_snowflake_cortex_agent.py} | 34 +-
.../unit/snowflake/decorators/test_snowpark.py | 3 +-
.../tests/unit/snowflake/hooks/test_snowflake.py | 3 +-
.../operators/test_snowflake_cortex_agent.py | 105 ++
.../unit/snowflake/operators/test_snowpark.py | 2 +-
.../tests/unit/snowflake/utils/test_openlineage.py | 3 +-
providers/ssh/README.rst | 2 +-
providers/ssh/docs/index.rst | 2 +-
providers/ssh/pyproject.toml | 2 +-
.../ssh/src/airflow/providers/ssh/hooks/ssh.py | 5 +-
.../ssh/src/airflow/providers/ssh/operators/ssh.py | 7 +-
.../providers/ssh/operators/ssh_remote_job.py | 6 +-
.../src/airflow/providers/ssh/utils/remote_job.py | 8 +-
providers/ssh/tests/unit/ssh/operators/test_ssh.py | 32 +
.../unit/ssh/operators/test_ssh_remote_job.py | 60 +
.../ssh/tests/unit/ssh/utils/test_remote_job.py | 48 +-
.../providers/standard/operators/trigger_dagrun.py | 2 +-
.../providers/standard/sensors/date_time.py | 28 +-
.../standard/decorators/test_python_virtualenv.py | 2 +-
.../tests/unit/standard/operators/test_bash.py | 8 +-
.../standard/operators/test_branch_operator.py | 2 +-
.../operators/test_latest_only_operator.py | 2 +-
.../unit/standard/operators/test_trigger_dagrun.py | 9 +
.../tests/unit/standard/operators/test_weekday.py | 3 +-
.../tests/unit/standard/sensors/test_date_time.py | 85 +-
.../unit/standard/triggers/test_external_task.py | 2 +-
.../tests/unit/standard/triggers/test_temporal.py | 6 +-
.../tests/integration/ydb/operators/test_ydb.py | 2 +-
pyproject.toml | 8 +-
registry/package.json | 2 +-
registry/pnpm-lock.yaml | 10 +-
scripts/ci/prek/check_go_example_mod_tidy.py | 126 ++
scripts/ci/prek/update_airflow_pyproject_toml.py | 4 +-
scripts/ci/prek/validate_operators_init.py | 81 +-
.../ci/prek/validate_operators_init_exemptions.txt | 40 +-
.../ci/testing/run_integration_tests_with_retry.sh | 5 +
.../ci/prek/test_check_go_example_mod_tidy.py | 99 ++
.../tests/ci/prek/test_validate_operators_init.py | 116 +-
shared/dagnode/src/airflow_shared/dagnode/node.py | 38 +
.../logging/src/airflow_shared/logging/remote.py | 20 +-
task-sdk/src/airflow/sdk/definitions/taskgroup.py | 23 +-
.../execution_time/connection_test_supervisor.py | 13 +-
task-sdk/src/airflow/sdk/log.py | 7 +-
.../tests/task_sdk/definitions/test_taskgroup.py | 3 +-
.../test_connection_test_supervisor.py | 112 ++
uv.lock | 328 ++--
408 files changed, 11309 insertions(+), 5445 deletions(-)
create mode 100644 airflow-core/newsfragments/69790.feature.rst
create mode 100644
airflow-core/src/airflow/api_fastapi/core_api/services/public/event_logs.py
create mode 100644
airflow-core/src/airflow/ui/src/components/JsonEditor.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/SlowestTaskInstancesChart.tsx
copy airflow-core/{src/airflow/_shared =>
tests/unit/api_fastapi/auth/managers/models}/__init__.py (100%)
copy providers/keycloak/src/airflow/providers/keycloak/auth_manager/user.py =>
airflow-core/tests/unit/api_fastapi/auth/managers/models/test_base_user.py (70%)
create mode 100644
airflow-core/tests/unit/api_fastapi/core_api/services/public/test_event_logs.py
create mode 100644 dev/breeze/tests/test_constraints_version_check.py
create mode 100644 go-sdk/cmd/airflow-go-pack/validate.go
create mode 100644 go-sdk/cmd/airflow-go-pack/validate_test.go
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/triggers/dynamodb.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/triggers/test_dynamodb.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 providers/common/sql/tests/system/common/sql/{example_sql_insert_rows.py
=> example_sql_bulk_load.py} (62%)
create mode 100644
providers/snowflake/docs/operators/snowflake_cortex_agent.rst
create mode 100644
providers/snowflake/src/airflow/providers/snowflake/operators/snowflake_cortex_agent.py
copy
providers/snowflake/tests/system/snowflake/{example_snowpark_container_job.py
=> example_snowflake_cortex_agent.py} (63%)
create mode 100644
providers/snowflake/tests/unit/snowflake/operators/test_snowflake_cortex_agent.py
create mode 100755 scripts/ci/prek/check_go_example_mod_tidy.py
create mode 100644 scripts/tests/ci/prek/test_check_go_example_mod_tidy.py