This is an automated email from the ASF dual-hosted git repository.
kaxilnaik pushed a change to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
from b9937fbbb32 Revert "Support templated extra in outlets assets
(#54885)" (#55199)
add 6d2926d6f9b Support system theme (#52649)
add 05960ac2ebb Prepare release for Sep 2025 1st wave of providers (#55203)
add fc29492e7ed refactor(hitl): remove unnecessary helper functions and
reduce one call through joinedload (#55260)
add 32c949c671c add stable note to BatchExecutor (#55286)
add fe1edd4db5b HITL: Resolve Conflict 409 in API server when user actions
at nearly timeout (#55243)
add 723b1d3e556 Close German translation gaps for full UI translation
2025-09-04 (#55270)
add 0ae578da85b Make TaskInstanceState and DagRunState public in task-sdk
(#54945)
add 4d1d3183c9d Fix: Clean up FAB permissions when deleting DAGs (#54528)
add d1eeb8334e2 add has_import_errors filter to Core API GET /dags
endpoint (#54563)
add 6855b41605a Clear ti_summaries cache for a dagrun when a task instance
is deleted to fetch updated summary. (#55269)
add 3d5d8f37400 Fix bulk operation permissions for connection, pool and
variable (#55278)
add 84c55eed980 Remove python_callable as string from mapped operator in
serialized Dag (#55288)
add d97f78bef82 fix: rows_processor in SQLInsertRowsOperator (#55290)
add 6f3927b271b AIP-68 Add more documentation to the React App (#55295)
add c702b7e4856 Fix Gantt chart no status color (#55296)
add e10966b33b7 Fix EdgeWorker multiprocessing pickle error on Windows
(#55284)
add e9908314764 Bump the fab-ui-package-updates group across 1 directory
with 3 updates (#55302)
add 162de8e678e Fix PL translation gaps - 2025-09-05 (#55293)
add 807bfd670a0 Decouple secrets_masker project from airflow configuration
(#55259)
add e72cfd7d9e8 Add CloudComposerTriggerDAGRunOperator for Cloud Composer
service (#55256)
add 40417d24762 Complete Hebrew gaps 2025-09-06 (#55123)
add a1c91801114 Gantt fix state mismatch with Grid (#55300)
add 230da3e399c EcsRunTaskOperator fails when no containers are provided
in the response (#51692)
add 175da03afe9 🩹 fix: Use GoogleBaseAsyncHook (#55316)
add dcc26238346 Remove duplicate TI.next_method from the select statement
(#55311)
add f5f3a140a95 Complete Arabic translation 2025-09-06 (#55312)
add 866a1f0f6d2 Fix CloudComposerAsyncHook to work correctly with Airflow
3. (#54976)
add 7513760f55d Add GOVERNANCE.md to our repo (#55245)
add 8d7cc721dad Implement simpler and faster freeze check for translations
(#55154)
add 9b65b5b630f modify asset ui doc (#55152)
add abf06b61df4 Do not fail when translation-changing commit runs as
canary run (#55325)
add 75443e4a5af Fix Cloud Run Async hooks + tests (#55321)
add a26ab4c9b43 Make absolutely sure that uv uses system-installed Python
in the image (#55125)
add 4b8fbb3a6ca Fix typo introduced in #55125 (#55329)
add eda82cadd68 Check if plural forms are correct for languages. (#55327)
add 334ae60f5d6 Fix https access token repo url (#54643)
add 09771cbf90c fix: Add api-server support for k8s pod template (#53533)
add 3a2a13ff78d Fix: use merged headers in LivyAsyncHook API call (#55072)
add ecf2efae7e2 Translate Task Instance totals label for Mapped Task
Header (#55318)
add a50002859ff Update minimum size for Gantt (#55330)
add b2ab752f0ef Close German translation gaps for full UI translation
2025-09-06 (#55335)
add 9a3d7d35736 feat(breeze): use get_console for printing in
release_management_commands (#55336)
add 91ac6badc2b Improve cache usage for prek hooks (#55328)
add 38acb694d19 Fix test_should_return_200_with_hitl assertion order
(#55338)
add f8f604a43d4 Fix kpo log_events_on_failure logs warnings at warning
level (#54967)
add 0399655dddb Octopin should save its own cache (#55340)
add 401e8e47697 Bring back check translation completeness (#55341)
add 89ce10103eb Improve check translation completeness script: (#55342)
add 576300d5bc4 Revise SVN repository instructions in README (#55347)
add b5078527993 Only use runner cleanup where it is really needed (#55345)
add 69bdd6bc04d Block access to multi-team config (#55309)
add ef368564e9b revert catalan plural suffixes (#55354)
add 8e71a531d30 Fix missing 'ti_successes' and related metrics in Airflow
3.0 Task SDK (#55322)
add 974c3c6cbaf Add _two form for the Hebrew translation (#55331)
add 9057c802897 Close Dutch translation gaps (2025-09-06) (#55337)
add acc17657858 Add worker maintenance mode functionality to Edge3
provider UI (#55301)
add c63bb392571 Add missing translation PL - 2025-09-06 (#55333)
add 5593995a073 Exposing DAG Parsing duration in the UI (#54752)
add 08d41e10f96 Upgrade to latest versions of important deps and improve
the script (#55350)
add 59d531c29d6 feat(i18n): Turkish translation fill gaps and remove
extras (#55359)
add d8da1f96e8b README optional dependencies template (#55280)
add 8961e9c6b72 close gap (#55353)
add b80e0d5d34e Add missing PL translations 2025-09-07 (second this day)
(#55360)
add e2c73fd35ca AIP-67 - Multi-team: Per team executor config (env var
only) (#55003)
add 538e8d37a81 feature: Add OpenLineage support for
BigQueryToMySqlOperator (#55219)
add 7d6e148fe6a Fix plugin resgistration for invalid objects (#55264)
No new revisions were added by this update.
Summary of changes:
.github/actions/install-prek/action.yml | 23 +-
.../actions/prepare_breeze_and_image/action.yml | 8 +-
.github/workflows/additional-ci-image-checks.yml | 2 -
.github/workflows/additional-prod-image-tests.yml | 3 +
.github/workflows/airflow-distributions-tests.yml | 5 +-
.github/workflows/basic-tests.yml | 62 +-
.github/workflows/ci-amd.yml | 19 +-
.github/workflows/ci-arm.yml | 15 +-
.github/workflows/ci-image-build.yml | 6 +-
.github/workflows/ci-image-checks.yml | 52 +-
.github/workflows/finalize-tests.yml | 3 +-
.github/workflows/generate-constraints.yml | 1 +
.github/workflows/helm-tests.yml | 3 +-
.github/workflows/integration-system-tests.yml | 3 +
.github/workflows/k8s-tests.yml | 1 +
.github/workflows/prod-image-build.yml | 11 +-
.github/workflows/publish-docs-to-s3.yml | 11 +-
.github/workflows/push-image-cache.yml | 4 -
.github/workflows/release_dockerhub_image.yml | 4 +-
.../workflows/release_single_dockerhub_image.yml | 4 -
.github/workflows/run-unit-tests.yml | 6 +
.github/workflows/test-providers.yml | 2 +
.pre-commit-config.yaml | 22 +-
Dockerfile | 14 +-
Dockerfile.ci | 27 +-
.../src/airflow/hooks/README.md => GOVERNANCE.md | 9 +-
airflow-core/docs/best-practices.rst | 5 +-
.../docs/core-concepts/auth-manager/index.rst | 3 +
airflow-core/docs/howto/custom-view-plugin.rst | 5 +
airflow-core/docs/img/airflow_erd.sha256 | 2 +-
airflow-core/docs/img/airflow_erd.svg | 1404 ++++++++++----------
airflow-core/docs/migrations-ref.rst | 4 +-
airflow-core/docs/public-airflow-interface.rst | 3 +-
.../api_fastapi/auth/managers/base_auth_manager.py | 78 ++
.../api_fastapi/auth/managers/models/batch_apis.py | 24 +
.../src/airflow/api_fastapi/common/parameters.py | 11 +
.../api_fastapi/core_api/datamodels/dags.py | 1 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 18 +
.../core_api/openapi/v2-rest-api-generated.yaml | 24 +
.../core_api/routes/public/connections.py | 4 +-
.../api_fastapi/core_api/routes/public/dags.py | 3 +
.../api_fastapi/core_api/routes/public/hitl.py | 120 +-
.../api_fastapi/core_api/routes/public/pools.py | 4 +-
.../core_api/routes/public/variables.py | 4 +-
.../airflow/api_fastapi/core_api/routes/ui/dags.py | 3 +
.../src/airflow/api_fastapi/core_api/security.py | 110 +-
.../execution_api/routes/task_instances.py | 1 -
.../src/airflow/cli/commands/dag_command.py | 1 +
airflow-core/src/airflow/configuration.py | 21 +-
.../src/airflow/dag_processing/collection.py | 7 +-
airflow-core/src/airflow/dag_processing/manager.py | 3 +-
.../src/airflow/executors/base_executor.py | 23 +
.../src/airflow/executors/executor_loader.py | 3 +-
..._3_1_0_add_last_parse_duration_to_dag_model.py} | 20 +-
airflow-core/src/airflow/models/dag.py | 3 +
airflow-core/src/airflow/models/dagbag.py | 1 +
airflow-core/src/airflow/plugins_manager.py | 37 +-
.../airflow/serialization/serialized_objects.py | 10 +-
airflow-core/src/airflow/settings.py | 31 +
.../src/airflow/ui/openapi-gen/queries/common.ts | 10 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 12 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 12 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 12 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 12 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 39 +-
.../ui/openapi-gen/requests/services.gen.ts | 4 +
.../airflow/ui/openapi-gen/requests/types.gen.ts | 11 +
airflow-core/src/airflow/ui/public/i18n/README.md | 226 +++-
.../airflow/ui/public/i18n/locales/ar/common.json | 8 +-
.../ui/public/i18n/locales/ar/components.json | 2 +-
.../src/airflow/ui/public/i18n/locales/ar/dag.json | 4 +-
.../airflow/ui/public/i18n/locales/ar/hitl.json | 7 +
.../airflow/ui/public/i18n/locales/de/common.json | 8 +-
.../src/airflow/ui/public/i18n/locales/de/dag.json | 2 +
.../airflow/ui/public/i18n/locales/de/hitl.json | 3 +
.../public/i18n/locales/en/_freeze_exemptions.json | 18 -
.../airflow/ui/public/i18n/locales/en/common.json | 9 +-
.../src/airflow/ui/public/i18n/locales/en/dag.json | 1 +
.../airflow/ui/public/i18n/locales/en/hitl.json | 1 +
.../airflow/ui/public/i18n/locales/es/admin.json | 11 +-
.../airflow/ui/public/i18n/locales/es/assets.json | 1 +
.../airflow/ui/public/i18n/locales/es/browse.json | 3 +
.../airflow/ui/public/i18n/locales/es/common.json | 57 +-
.../ui/public/i18n/locales/es/components.json | 16 +-
.../src/airflow/ui/public/i18n/locales/es/dag.json | 68 +-
.../airflow/ui/public/i18n/locales/es/dags.json | 14 +-
.../ui/public/i18n/locales/es/dashboard.json | 9 +
.../airflow/ui/public/i18n/locales/es/hitl.json | 36 +
.../airflow/ui/public/i18n/locales/fr/common.json | 2 -
.../airflow/ui/public/i18n/locales/he/admin.json | 12 +-
.../airflow/ui/public/i18n/locales/he/browse.json | 3 +
.../airflow/ui/public/i18n/locales/he/common.json | 47 +-
.../ui/public/i18n/locales/he/components.json | 25 +-
.../src/airflow/ui/public/i18n/locales/he/dag.json | 50 +-
.../ui/public/i18n/locales/he/dashboard.json | 10 +-
.../airflow/ui/public/i18n/locales/he/hitl.json | 12 +
.../airflow/ui/public/i18n/locales/he/tasks.json | 10 +
.../airflow/ui/public/i18n/locales/ko/common.json | 2 -
.../airflow/ui/public/i18n/locales/nl/browse.json | 3 +
.../airflow/ui/public/i18n/locales/nl/common.json | 10 +-
.../src/airflow/ui/public/i18n/locales/nl/dag.json | 35 +-
.../airflow/ui/public/i18n/locales/nl/hitl.json | 10 +
.../airflow/ui/public/i18n/locales/nl/tasks.json | 10 +
.../airflow/ui/public/i18n/locales/pl/common.json | 11 +-
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 3 +
.../airflow/ui/public/i18n/locales/pl/hitl.json | 1 +
.../airflow/ui/public/i18n/locales/tr/common.json | 10 +-
.../src/airflow/ui/public/i18n/locales/tr/dag.json | 38 +-
.../airflow/ui/public/i18n/locales/tr/hitl.json | 10 +
.../airflow/ui/public/i18n/locales/tr/tasks.json | 10 +
.../i18n/locales/zh-TW/_freeze_exemptions.json | 21 -
.../ui/public/i18n/locales/zh-TW/common.json | 8 +-
.../airflow/ui/public/i18n/locales/zh-TW/hitl.json | 1 +
airflow-core/src/airflow/ui/rules/i18n.js | 4 +-
.../ui/src/context/colorMode/useColorMode.tsx | 7 +-
.../ui/src/layouts/Details/DetailsLayout.tsx | 2 +-
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 13 +-
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 6 +-
.../ui/src/layouts/Nav/UserSettingsButton.tsx | 66 +-
.../src/airflow/ui/src/pages/Dag/Code/Code.tsx | 6 +
.../src/airflow/ui/src/pages/Dag/Details.tsx | 5 +
.../airflow/ui/src/pages/DagsList/DagCard.test.tsx | 1 +
.../pages/DagsList/DagsFilters/StateFilters.tsx | 2 +-
.../ui/src/pages/GroupTaskInstance/Header.tsx | 7 +-
.../pages/HITLTaskInstances/HITLResponseForm.tsx | 6 +-
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 2 +-
.../ui/src/pages/MappedTaskInstance/Header.tsx | 7 +-
.../ui/src/queries/useDeleteTaskInstance.ts | 2 +
.../airflow/ui/src/queries/useUpdateHITLDetail.ts | 6 +-
airflow-core/src/airflow/ui/src/utils/hitl.ts | 11 +-
airflow-core/src/airflow/utils/cli.py | 7 +-
airflow-core/src/airflow/utils/db.py | 2 +-
.../auth/managers/test_base_auth_manager.py | 64 +
.../core_api/routes/public/test_connections.py | 14 +-
.../core_api/routes/public/test_dags.py | 31 +-
.../core_api/routes/public/test_pools.py | 14 +-
.../core_api/routes/public/test_variables.py | 14 +-
.../api_fastapi/core_api/routes/ui/test_dags.py | 4 +-
.../unit/api_fastapi/core_api/test_security.py | 136 ++
airflow-core/tests/unit/core/test_configuration.py | 11 +
.../tests/unit/dag_processing/test_collection.py | 61 +-
.../tests/unit/executors/test_executor_loader.py | 19 +-
.../tests/unit/plugins/test_plugins_manager.py | 32 +-
.../unit/serialization/test_dag_serialization.py | 21 +
.../src/airflowctl/api/datamodels/generated.py | 2 +
chart/files/pod-template-file.kubernetes-helm-yaml | 30 +-
chart/templates/_helpers.yaml | 2 +-
dev/README_RELEASE_PROVIDERS.md | 40 +-
dev/breeze/README.md | 2 +-
dev/breeze/doc/03_developer_tasks.rst | 30 +-
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/pyproject.toml | 2 +-
.../commands/release_management_commands.py | 77 +-
dev/breeze/src/airflow_breeze/global_constants.py | 2 +-
.../templates/PROVIDER_README_TEMPLATE.rst.jinja2 | 8 +
dev/breeze/src/airflow_breeze/utils/packages.py | 33 +
.../src/airflow_breeze/utils/selective_checks.py | 37 +-
dev/breeze/tests/test_selective_checks.py | 47 +
dev/breeze/uv.lock | 46 +-
dev/i18n/check_translations_completeness.py | 97 +-
.../react_plugin_template/README.md | 5 +
.../src/context/colorMode/useColorMode.tsx | 7 +-
.../react_plugin_template/src/pages/HomePage.tsx | 4 +-
devel-common/pyproject.toml | 2 +-
.../src/tests_common/test_utils/executor_loader.py | 2 +-
.../airflow_aux/test_pod_template_file.py | 26 +-
providers/airbyte/README.rst | 1 -
providers/airbyte/docs/.latest-doc-only-change.txt | 2 +-
providers/alibaba/README.rst | 1 -
providers/alibaba/docs/.latest-doc-only-change.txt | 2 +-
providers/amazon/README.rst | 32 +-
providers/amazon/docs/changelog.rst | 57 +
providers/amazon/docs/index.rst | 8 +-
providers/amazon/provider.yaml | 3 +-
providers/amazon/pyproject.toml | 8 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../amazon/aws/executors/ecs/ecs_executor.py | 45 +-
.../aws/executors/ecs/ecs_executor_config.py | 17 +-
.../airflow/providers/amazon/aws/operators/ecs.py | 25 +-
.../amazon/aws/executors/ecs/test_ecs_executor.py | 117 +-
.../tests/unit/amazon/aws/operators/test_ecs.py | 62 +
providers/apache/beam/README.rst | 7 +-
providers/apache/beam/docs/changelog.rst | 25 +
providers/apache/beam/docs/index.rst | 8 +-
providers/apache/beam/provider.yaml | 3 +-
providers/apache/beam/pyproject.toml | 6 +-
.../src/airflow/providers/apache/beam/__init__.py | 2 +-
providers/apache/cassandra/README.rst | 1 -
.../cassandra/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/drill/README.rst | 1 -
.../apache/drill/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/druid/README.rst | 1 -
.../apache/druid/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/flink/README.rst | 1 -
.../apache/flink/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/hdfs/README.rst | 1 -
.../apache/hdfs/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/hive/README.rst | 1 -
.../apache/hive/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/iceberg/README.rst | 1 -
.../iceberg/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/impala/README.rst | 1 -
.../apache/impala/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/kafka/README.rst | 7 +-
providers/apache/kafka/docs/changelog.rst | 23 +
providers/apache/kafka/docs/index.rst | 8 +-
providers/apache/kafka/provider.yaml | 3 +-
providers/apache/kafka/pyproject.toml | 10 +-
.../src/airflow/providers/apache/kafka/__init__.py | 2 +-
providers/apache/kylin/README.rst | 1 -
.../apache/kylin/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/livy/README.rst | 1 -
.../apache/livy/docs/.latest-doc-only-change.txt | 2 +-
.../airflow/providers/apache/livy/hooks/livy.py | 11 +-
.../livy/tests/unit/apache/livy/hooks/test_livy.py | 34 +
providers/apache/pig/README.rst | 1 -
.../apache/pig/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/pinot/README.rst | 1 -
.../apache/pinot/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/spark/README.rst | 1 -
.../apache/spark/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/tinkerpop/README.rst | 1 -
.../tinkerpop/docs/.latest-doc-only-change.txt | 2 +-
providers/apprise/README.rst | 1 -
providers/apprise/docs/.latest-doc-only-change.txt | 2 +-
providers/arangodb/README.rst | 1 -
.../arangodb/docs/.latest-doc-only-change.txt | 2 +-
providers/asana/README.rst | 1 -
providers/asana/docs/.latest-doc-only-change.txt | 2 +-
providers/atlassian/jira/README.rst | 1 -
.../jira/docs/.latest-doc-only-change.txt | 2 +-
providers/celery/README.rst | 7 +-
providers/celery/docs/changelog.rst | 33 +
providers/celery/docs/index.rst | 8 +-
providers/celery/provider.yaml | 3 +-
providers/celery/pyproject.toml | 6 +-
.../src/airflow/providers/celery/__init__.py | 2 +-
providers/cloudant/README.rst | 1 -
.../cloudant/docs/.latest-doc-only-change.txt | 2 +-
providers/cncf/kubernetes/README.rst | 7 +-
providers/cncf/kubernetes/docs/changelog.rst | 45 +
providers/cncf/kubernetes/docs/index.rst | 4 +-
providers/cncf/kubernetes/provider.yaml | 3 +-
providers/cncf/kubernetes/pyproject.toml | 6 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 2 +-
.../providers/cncf/kubernetes/operators/pod.py | 7 +-
.../unit/cncf/kubernetes/operators/test_pod.py | 4 +-
providers/cohere/README.rst | 1 -
providers/cohere/docs/.latest-doc-only-change.txt | 2 +-
providers/common/compat/README.rst | 1 -
.../common/compat/docs/.latest-doc-only-change.txt | 2 +-
providers/common/io/README.rst | 1 -
providers/common/messaging/README.rst | 7 +-
providers/common/messaging/docs/changelog.rst | 29 +
providers/common/messaging/docs/index.rst | 4 +-
providers/common/messaging/provider.yaml | 3 +-
providers/common/messaging/pyproject.toml | 6 +-
.../airflow/providers/common/messaging/__init__.py | 2 +-
providers/common/sql/README.rst | 7 +-
providers/common/sql/docs/changelog.rst | 38 +
providers/common/sql/docs/index.rst | 8 +-
providers/common/sql/provider.yaml | 3 +-
providers/common/sql/pyproject.toml | 6 +-
.../src/airflow/providers/common/sql/__init__.py | 2 +-
.../airflow/providers/common/sql/operators/sql.py | 2 +-
.../tests/unit/common/sql/operators/test_sql.py | 30 +
providers/databricks/README.rst | 8 +-
providers/databricks/docs/changelog.rst | 32 +
providers/databricks/docs/index.rst | 9 +-
providers/databricks/provider.yaml | 3 +-
providers/databricks/pyproject.toml | 6 +-
.../src/airflow/providers/databricks/__init__.py | 2 +-
providers/datadog/README.rst | 1 -
providers/datadog/docs/.latest-doc-only-change.txt | 2 +-
providers/dbt/cloud/README.rst | 7 +-
providers/dbt/cloud/docs/changelog.rst | 23 +
providers/dbt/cloud/docs/index.rst | 8 +-
providers/dbt/cloud/provider.yaml | 3 +-
providers/dbt/cloud/pyproject.toml | 6 +-
.../src/airflow/providers/dbt/cloud/__init__.py | 2 +-
providers/dingding/README.rst | 1 -
.../dingding/docs/.latest-doc-only-change.txt | 2 +-
providers/discord/README.rst | 1 -
providers/discord/docs/.latest-doc-only-change.txt | 2 +-
providers/docker/README.rst | 1 -
providers/docker/docs/.latest-doc-only-change.txt | 2 +-
providers/edge3/README.rst | 7 +-
providers/edge3/docs/changelog.rst | 30 +
providers/edge3/docs/index.rst | 4 +-
providers/edge3/provider.yaml | 3 +-
providers/edge3/pyproject.toml | 6 +-
.../edge3/src/airflow/providers/edge3/__init__.py | 2 +-
.../src/airflow/providers/edge3/cli/worker.py | 80 +-
.../providers/edge3/openapi/v2-edge-generated.yaml | 78 ++
.../providers/edge3/plugins/www/dist/main.umd.cjs | 34 +-
.../plugins/www/openapi-gen/queries/common.ts | 2 +
.../plugins/www/openapi-gen/queries/queries.ts | 14 +-
.../www/openapi-gen/requests/schemas.gen.ts | 14 +
.../www/openapi-gen/requests/services.gen.ts | 47 +-
.../plugins/www/openapi-gen/requests/types.gen.ts | 51 +
.../plugins/www/src/components/OperationsCell.tsx | 147 ++
.../edge3/plugins/www/src/pages/WorkerPage.tsx | 58 +-
.../providers/edge3/worker_api/datamodels_ui.py | 6 +
.../providers/edge3/worker_api/routes/ui.py | 60 +-
providers/edge3/www-hash.txt | 2 +-
providers/elasticsearch/README.rst | 1 -
.../elasticsearch/docs/.latest-doc-only-change.txt | 2 +-
providers/exasol/README.rst | 1 -
providers/exasol/docs/.latest-doc-only-change.txt | 2 +-
providers/fab/README.rst | 7 +-
providers/fab/docs/changelog.rst | 35 +
providers/fab/docs/index.rst | 8 +-
providers/fab/provider.yaml | 3 +-
providers/fab/pyproject.toml | 6 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
.../fab/auth_manager/cli_commands/definition.py | 32 +
.../cli_commands/permissions_command.py | 196 +++
.../providers/fab/auth_manager/fab_auth_manager.py | 2 +
.../airflow/providers/fab/www/package-lock.json | 109 +-
.../fab/src/airflow/providers/fab/www/package.json | 6 +-
.../cli_commands/test_permissions_command.py | 353 +++++
providers/fab/www-hash.txt | 2 +-
providers/facebook/README.rst | 1 -
.../facebook/docs/.latest-doc-only-change.txt | 2 +-
providers/ftp/README.rst | 1 -
providers/ftp/docs/.latest-doc-only-change.txt | 2 +-
providers/git/README.rst | 7 +-
providers/git/docs/changelog.rst | 26 +
providers/git/docs/index.rst | 4 +-
providers/git/provider.yaml | 3 +-
providers/git/pyproject.toml | 6 +-
.../git/src/airflow/providers/git/__init__.py | 2 +-
.../git/src/airflow/providers/git/bundles/git.py | 4 +-
providers/git/tests/unit/git/bundles/test_git.py | 2 +-
providers/github/README.rst | 1 -
providers/github/docs/.latest-doc-only-change.txt | 2 +-
providers/google/README.rst | 7 +-
providers/google/docs/changelog.rst | 61 +
providers/google/docs/index.rst | 8 +-
.../google/docs/operators/cloud/cloud_composer.rst | 12 +
providers/google/provider.yaml | 3 +-
providers/google/pyproject.toml | 6 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../providers/google/cloud/hooks/cloud_composer.py | 92 +-
.../providers/google/cloud/hooks/cloud_run.py | 24 +-
.../google/cloud/operators/cloud_composer.py | 85 +-
.../google/cloud/transfers/bigquery_to_mysql.py | 72 +-
.../google/cloud/triggers/cloud_composer.py | 36 +-
.../cloud/composer/example_cloud_composer.py | 12 +
.../unit/google/cloud/hooks/test_cloud_composer.py | 28 +-
.../unit/google/cloud/hooks/test_cloud_run.py | 121 +-
.../google/cloud/operators/test_cloud_composer.py | 36 +
.../cloud/transfers/test_bigquery_to_mysql.py | 106 ++
providers/grpc/README.rst | 1 -
providers/grpc/docs/.latest-doc-only-change.txt | 2 +-
providers/hashicorp/README.rst | 1 -
.../hashicorp/docs/.latest-doc-only-change.txt | 2 +-
providers/http/README.rst | 15 +-
providers/http/docs/changelog.rst | 25 +
providers/http/docs/index.rst | 12 +-
providers/http/provider.yaml | 3 +-
providers/http/pyproject.toml | 6 +-
.../http/src/airflow/providers/http/__init__.py | 2 +-
providers/imap/README.rst | 1 -
providers/imap/docs/.latest-doc-only-change.txt | 2 +-
providers/influxdb/README.rst | 1 -
.../influxdb/docs/.latest-doc-only-change.txt | 2 +-
providers/jdbc/README.rst | 7 +-
providers/jdbc/docs/changelog.rst | 25 +
providers/jdbc/docs/index.rst | 8 +-
providers/jdbc/provider.yaml | 3 +-
providers/jdbc/pyproject.toml | 6 +-
.../jdbc/src/airflow/providers/jdbc/__init__.py | 2 +-
providers/jenkins/README.rst | 1 -
providers/jenkins/docs/.latest-doc-only-change.txt | 2 +-
providers/keycloak/README.rst | 7 +-
providers/keycloak/docs/changelog.rst | 23 +
providers/keycloak/docs/index.rst | 4 +-
providers/keycloak/provider.yaml | 3 +-
providers/keycloak/pyproject.toml | 6 +-
.../src/airflow/providers/keycloak/__init__.py | 2 +-
providers/microsoft/azure/README.rst | 11 +-
providers/microsoft/azure/docs/changelog.rst | 37 +
providers/microsoft/azure/docs/index.rst | 12 +-
providers/microsoft/azure/provider.yaml | 3 +-
providers/microsoft/azure/pyproject.toml | 6 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
providers/microsoft/mssql/README.rst | 1 -
.../mssql/docs/.latest-doc-only-change.txt | 2 +-
providers/microsoft/psrp/README.rst | 1 -
.../psrp/docs/.latest-doc-only-change.txt | 2 +-
providers/microsoft/winrm/README.rst | 1 -
.../winrm/docs/.latest-doc-only-change.txt | 2 +-
providers/mongo/README.rst | 1 -
providers/mongo/docs/.latest-doc-only-change.txt | 2 +-
providers/mysql/README.rst | 9 +-
providers/mysql/docs/changelog.rst | 24 +
providers/mysql/docs/index.rst | 10 +-
providers/mysql/provider.yaml | 3 +-
providers/mysql/pyproject.toml | 6 +-
.../mysql/src/airflow/providers/mysql/__init__.py | 2 +-
providers/neo4j/README.rst | 7 +-
providers/neo4j/docs/changelog.rst | 23 +
providers/neo4j/docs/index.rst | 4 +-
providers/neo4j/provider.yaml | 3 +-
providers/neo4j/pyproject.toml | 6 +-
.../neo4j/src/airflow/providers/neo4j/__init__.py | 2 +-
providers/odbc/README.rst | 1 -
providers/odbc/docs/.latest-doc-only-change.txt | 2 +-
providers/openai/README.rst | 1 -
providers/openai/docs/.latest-doc-only-change.txt | 2 +-
providers/openfaas/README.rst | 1 -
.../openfaas/docs/.latest-doc-only-change.txt | 2 +-
providers/openlineage/README.rst | 7 +-
providers/openlineage/docs/changelog.rst | 44 +
providers/openlineage/docs/index.rst | 8 +-
providers/openlineage/provider.yaml | 3 +-
providers/openlineage/pyproject.toml | 6 +-
.../src/airflow/providers/openlineage/__init__.py | 2 +-
.../airflow/providers/openlineage/utils/utils.py | 14 +-
.../tests/unit/openlineage/plugins/test_utils.py | 17 +-
providers/opensearch/README.rst | 1 -
.../opensearch/docs/.latest-doc-only-change.txt | 2 +-
providers/opsgenie/README.rst | 1 -
.../opsgenie/docs/.latest-doc-only-change.txt | 2 +-
providers/oracle/README.rst | 18 +-
providers/oracle/docs/changelog.rst | 27 +
providers/oracle/docs/index.rst | 19 +-
providers/oracle/provider.yaml | 3 +-
providers/oracle/pyproject.toml | 6 +-
.../src/airflow/providers/oracle/__init__.py | 2 +-
providers/pagerduty/README.rst | 1 -
.../pagerduty/docs/.latest-doc-only-change.txt | 2 +-
providers/papermill/README.rst | 1 -
.../papermill/docs/.latest-doc-only-change.txt | 2 +-
providers/pgvector/README.rst | 1 -
.../pgvector/docs/.latest-doc-only-change.txt | 2 +-
providers/pinecone/README.rst | 7 +-
providers/pinecone/docs/changelog.rst | 18 +
providers/pinecone/docs/index.rst | 4 +-
providers/pinecone/provider.yaml | 3 +-
providers/pinecone/pyproject.toml | 6 +-
.../src/airflow/providers/pinecone/__init__.py | 2 +-
providers/postgres/README.rst | 7 +-
providers/postgres/docs/changelog.rst | 35 +
providers/postgres/docs/index.rst | 8 +-
providers/postgres/provider.yaml | 3 +-
providers/postgres/pyproject.toml | 6 +-
.../src/airflow/providers/postgres/__init__.py | 2 +-
providers/presto/README.rst | 1 -
providers/presto/docs/.latest-doc-only-change.txt | 2 +-
providers/qdrant/README.rst | 1 -
providers/qdrant/docs/.latest-doc-only-change.txt | 2 +-
providers/redis/README.rst | 1 -
providers/redis/docs/changelog.rst | 18 +-
providers/redis/docs/index.rst | 2 -
providers/redis/pyproject.toml | 2 +-
providers/salesforce/README.rst | 7 +-
providers/salesforce/docs/changelog.rst | 25 +
providers/salesforce/docs/index.rst | 4 +-
providers/salesforce/provider.yaml | 3 +-
providers/salesforce/pyproject.toml | 6 +-
.../src/airflow/providers/salesforce/__init__.py | 2 +-
providers/samba/README.rst | 7 +-
providers/samba/docs/changelog.rst | 25 +
providers/samba/docs/index.rst | 8 +-
providers/samba/provider.yaml | 3 +-
providers/samba/pyproject.toml | 6 +-
.../samba/src/airflow/providers/samba/__init__.py | 2 +-
providers/segment/README.rst | 1 -
providers/segment/docs/.latest-doc-only-change.txt | 2 +-
providers/sendgrid/README.rst | 1 -
.../sendgrid/docs/.latest-doc-only-change.txt | 2 +-
providers/sftp/README.rst | 7 +-
providers/sftp/docs/changelog.rst | 24 +
providers/sftp/docs/index.rst | 8 +-
providers/sftp/provider.yaml | 3 +-
providers/sftp/pyproject.toml | 6 +-
.../sftp/src/airflow/providers/sftp/__init__.py | 2 +-
providers/singularity/README.rst | 1 -
.../singularity/docs/.latest-doc-only-change.txt | 2 +-
providers/slack/README.rst | 7 +-
providers/slack/docs/changelog.rst | 24 +
providers/slack/docs/index.rst | 8 +-
providers/slack/provider.yaml | 3 +-
providers/slack/pyproject.toml | 6 +-
.../slack/src/airflow/providers/slack/__init__.py | 2 +-
providers/smtp/README.rst | 7 +-
providers/smtp/docs/changelog.rst | 25 +
providers/smtp/docs/index.rst | 8 +-
providers/smtp/provider.yaml | 3 +-
providers/smtp/pyproject.toml | 6 +-
.../smtp/src/airflow/providers/smtp/__init__.py | 2 +-
providers/snowflake/README.rst | 9 +-
providers/snowflake/docs/changelog.rst | 25 +
providers/snowflake/docs/index.rst | 10 +-
providers/snowflake/provider.yaml | 3 +-
providers/snowflake/pyproject.toml | 6 +-
.../src/airflow/providers/snowflake/__init__.py | 2 +-
providers/sqlite/README.rst | 1 -
providers/sqlite/docs/.latest-doc-only-change.txt | 2 +-
providers/ssh/README.rst | 1 -
providers/standard/README.rst | 7 +-
providers/standard/docs/changelog.rst | 52 +
providers/standard/docs/index.rst | 4 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 6 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
.../airflow/providers/standard/triggers/hitl.py | 20 +
.../tests/unit/standard/triggers/test_hitl.py | 49 +-
providers/tableau/README.rst | 1 -
providers/tableau/docs/.latest-doc-only-change.txt | 2 +-
providers/telegram/README.rst | 1 -
providers/teradata/README.rst | 1 -
.../teradata/docs/.latest-doc-only-change.txt | 2 +-
providers/trino/README.rst | 1 -
providers/trino/docs/.latest-doc-only-change.txt | 2 +-
providers/vertica/README.rst | 1 -
providers/vertica/docs/.latest-doc-only-change.txt | 2 +-
providers/weaviate/README.rst | 9 +-
providers/weaviate/docs/changelog.rst | 18 +
providers/weaviate/docs/index.rst | 6 +-
providers/weaviate/provider.yaml | 3 +-
providers/weaviate/pyproject.toml | 6 +-
.../src/airflow/providers/weaviate/__init__.py | 2 +-
providers/yandex/README.rst | 1 -
providers/ydb/README.rst | 1 -
providers/ydb/docs/.latest-doc-only-change.txt | 2 +-
providers/zendesk/README.rst | 1 -
providers/zendesk/docs/.latest-doc-only-change.txt | 2 +-
pyproject.toml | 6 +-
scripts/ci/install_breeze.sh | 2 +-
.../initialize.sh => make_mnt_writeable.sh} | 20 +-
...and_cleanup_runner.sh => move_docker_to_mnt.sh} | 21 +-
scripts/ci/prek/check_default_language_freeze.py | 68 -
scripts/ci/prek/check_imports_in_providers.py | 2 +-
scripts/ci/prek/common_prek_utils.py | 26 +
scripts/ci/prek/ruff_format.py | 2 +-
scripts/ci/prek/update_airflow_pyproject_toml.py | 2 +-
scripts/ci/prek/upgrade_important_versions.py | 36 +-
scripts/docker/entrypoint_ci.sh | 9 +-
.../docker/install_airflow_when_building_images.sh | 12 +-
scripts/tools/setup_breeze | 2 +-
.../src/airflow_shared/secrets_masker/__init__.py | 4 -
.../secrets_masker/secrets_masker.py | 71 +-
.../tests/secrets_masker/test_secrets_masker.py | 144 +-
task-sdk/docs/api.rst | 8 +
task-sdk/docs/index.rst | 3 +
task-sdk/src/airflow/sdk/__init__.py | 6 +-
task-sdk/src/airflow/sdk/__init__.pyi | 9 +-
task-sdk/src/airflow/sdk/definitions/dag.py | 4 +-
.../src/airflow/sdk/execution_time/task_runner.py | 19 +
task-sdk/tests/conftest.py | 3 +-
.../definitions/decorators/test_condition.py | 2 +-
.../task_sdk/definitions/test_mappedoperator.py | 2 +-
.../tests/task_sdk/definitions/test_xcom_arg.py | 2 +-
.../tests/task_sdk/docs/test_docs_inventory.py | 2 +-
557 files changed, 6719 insertions(+), 2533 deletions(-)
copy airflow-core/src/airflow/hooks/README.md => GOVERNANCE.md (67%)
copy
airflow-core/src/airflow/migrations/versions/{0062_3_0_0_remove_dag_default_view.py
=> 0084_3_1_0_add_last_parse_duration_to_dag_model.py} (70%)
delete mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/en/_freeze_exemptions.json
create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/es/hitl.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/he/tasks.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/nl/tasks.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/tr/tasks.json
delete mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/_freeze_exemptions.json
create mode 100644
providers/edge3/src/airflow/providers/edge3/plugins/www/src/components/OperationsCell.tsx
create mode 100644
providers/fab/src/airflow/providers/fab/auth_manager/cli_commands/permissions_command.py
create mode 100644
providers/fab/tests/unit/fab/auth_manager/cli_commands/test_permissions_command.py
copy scripts/ci/{images/initialize.sh => make_mnt_writeable.sh} (72%)
rename scripts/ci/{prepare_and_cleanup_runner.sh => move_docker_to_mnt.sh}
(86%)
delete mode 100755 scripts/ci/prek/check_default_language_freeze.py