This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a change to branch ci-upgrade-main
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 1604642fb6c fixup! [main] CI: Upgrade important CI environment
omit 4d77454f538 [main] CI: Upgrade important CI environment
add 07197c29a2f Fix Elasticsearch and OpenSearch response wrapper bugs
(#73725)
add f0ec1837416 Bump eslint-plugin-unicorn (#73733)
add a3449527205 Bump the core-ui-package-updates group across 1 directory
with 16 updates (#73497)
add 9746f41be1d Bump the ui-plugin-template-package-updates group across 1
directory with 15 updates (#73493)
add 28cab90ccbb Bump json-schema-to-typescript from 15.0.4 to 16.0.0 in
/ts-sdk (#73484)
add 298756f22c3 Cap open pull requests from non-committers at 5 (#73469)
add dd2c7fd26e7 Keep the table sort in the URL when it matches the saved
sort (#73622)
add c4a0a88a8b3 Fix boolean value of start date used in url start_date_gte
filter. (#73676)
add 1a51ed1b1f5 Account for the open pull request limit in the PR triage
process (#73742)
add a11da87a119 Speed up zip Dag discovery and keep member file names
(#73727)
add 7e5c580cd68 Temporarily remove the open pull request creation cap
(#73754)
add 77a1953cd41 Java SDK: Draw a Java-authored Dag's edges with before and
after (#73594)
add f863982c07c Restore the open pull request creation cap (#73758)
add 1219b1a8541 Eager-load DagCode in the Dag source API (#73752)
add 005fd649bdf Add dedicated tests for cncf.kubernetes secret and
k8s_model modules (#73751)
add 909ca179bcc Update Magpie floor to 0.9.0 and adopt contributor-growth
skills (#73755)
add 05519cd774c Keep task attempt UUIDs and try numbers aligned (#73554)
add 18fe1c60986 UI: Add bulk pause, drain and unpause actions to the Dags
list (#73055)
add 38ea385ce71 i18n(ko): Add missing translations (Sep25) (#73757)
add 3e47fc39968 Catch stale entries in the Java SDK dependency trust list
(#71869)
add 7c597e2830b Speed up the event logs API by loading only display names
(#73021)
add 1d916545b2b Update Magpie floor to 0.9.0.dev202609262258 (#73765)
add e1cd364286c Update README quickstart and stable version table to
Airflow 3.3.2 (#73770)
add a72b73576fb Drop stale entries from the Java SDK dependency trust list
(#73792)
add a3abc237355 Check admin-only views against a dedicated Keycloak
resource in multi-team mode (#73696)
add 22f6bb06664 Stop Keycloak middleware from reissuing a JWT revoked
during the request (#73695)
add 0006ca82546 [main] CI: Upgrade important CI environment
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 (1604642fb6c)
\
N -- N -- N refs/heads/ci-upgrade-main (0006ca82546)
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:
.../committer-onboarding-config.md | 272 ++++
.apache-magpie-overrides/committer-readiness.md | 169 +++
.../contributor-nomination-config.md | 186 +++
.../contributor-sentiment-config.md | 66 +
.../good-first-issue-config.md | 93 ++
.apache-magpie-overrides/issue-tracker-config.md | 166 +++
.../onboarding-concierge-config.md | 70 +
.apache-magpie-overrides/pmc-roster.md | 129 ++
.../pr-management-code-review-criteria.md | 82 ++
.apache-magpie-overrides/pr-management-config.md | 25 +
.../pr-management-quick-merge-config.md | 166 +++
.apache-magpie-overrides/reassess-pool-defaults.md | 201 +++
.apache-magpie-overrides/release-trains.md | 273 ++++
.apache-magpie-overrides/reproducer-conventions.md | 166 +++
.apache-magpie-overrides/runtime-invocation.md | 183 +++
.apache-magpie.lock | 45 +-
.asf.yaml | 5 +
.pre-commit-config.yaml | 21 +-
Dockerfile | 2 +-
Dockerfile.ci | 2 +-
README.md | 10 +-
.../language-sdks/java.rst | 34 +
airflow-core/docs/migrations-ref.rst | 5 +-
airflow-core/docs/security/api_permissions_ref.rst | 4 +
airflow-core/newsfragments/72407.significant.rst | 5 +-
airflow-core/newsfragments/73554.significant.rst | 24 +
airflow-core/pyproject.toml | 2 +-
.../auth/managers/simple/ui/package.json | 2 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 42 +-
.../api_fastapi/core_api/datamodels/dags.py | 6 +
.../core_api/openapi/v2-rest-api-generated.yaml | 154 +++
.../core_api/routes/public/dag_sources.py | 2 +-
.../api_fastapi/core_api/routes/public/dags.py | 26 +-
.../core_api/routes/public/event_logs.py | 31 +-
.../core_api/routes/public/task_instances.py | 7 +-
.../src/airflow/api_fastapi/core_api/security.py | 34 +
.../api_fastapi/core_api/services/public/dags.py | 96 ++
.../execution_api/datamodels/taskinstance.py | 7 +-
.../execution_api/routes/task_instances.py | 63 +-
.../api_fastapi/execution_api/versions/__init__.py | 4 +
.../execution_api/versions/v2026_10_30.py | 25 +-
.../src/airflow/jobs/scheduler_job_runner.py | 172 ++-
..._3_4_0_allocate_pending_task_attempt_numbers.py | 200 +++
airflow-core/src/airflow/models/dag_version.py | 5 +
airflow-core/src/airflow/models/dagrun.py | 65 +-
airflow-core/src/airflow/models/taskinstance.py | 68 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 1 +
.../src/airflow/ui/openapi-gen/queries/queries.ts | 15 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 164 +++
.../ui/openapi-gen/requests/services.gen.ts | 24 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 82 ++
airflow-core/src/airflow/ui/package.json | 32 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 504 ++++---
.../src/airflow/ui/public/i18n/locales/en/dag.json | 4 +
.../airflow/ui/public/i18n/locales/en/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/ko/browse.json | 18 +-
.../airflow/ui/public/i18n/locales/ko/common.json | 12 +
.../ui/public/i18n/locales/ko/components.json | 1 +
.../ui/public/i18n/locales/ko/dashboard.json | 17 +-
.../src/components/DataTable/searchParams.test.ts | 21 +-
.../ui/src/components/DataTable/searchParams.ts | 16 +-
...mationModal.tsx => PauseOrDrainChoiceModal.tsx} | 47 +-
.../ui/src/components/TaskTrySelect.test.tsx | 6 +-
.../airflow/ui/src/components/TaskTrySelect.tsx | 5 +-
.../src/airflow/ui/src/components/TogglePause.tsx | 44 +-
.../src/airflow/ui/src/layouts/Details/NavTabs.tsx | 4 +-
.../src/airflow/ui/src/mocks/handlers/dags.ts | 6 +-
.../ui/src/pages/Dag/Calendar/CalendarCell.tsx | 5 +-
.../pages/DagsList/BulkPauseDrainDagsButton.tsx | 105 ++
.../src/pages/DagsList/BulkUnpauseDagsButton.tsx | 85 ++
.../ui/src/pages/DagsList/DagsList.test.tsx | 143 ++
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 123 +-
.../ui/src/pages/TaskInstance/Logs/Logs.tsx | 80 +-
.../pages/TaskInstance/Logs/LogsTryNumber.test.tsx | 174 +++
.../src/pages/TaskInstance/TaskInstance.test.tsx | 102 +-
.../ui/src/pages/TaskInstance/TaskInstance.tsx | 26 +-
...nstances.ts => useBulkSetDagSchedulingState.ts} | 47 +-
.../ui/tests/e2e/fixtures/task-tries-data.ts | 46 +
.../src/airflow/ui/tests/e2e/global-teardown.ts | 2 +
.../airflow/ui/tests/e2e/specs/task-tries.spec.ts | 111 ++
airflow-core/src/airflow/utils/db.py | 2 +-
.../tests/unit/always/test_project_structure.py | 2 -
.../core_api/routes/public/test_dags.py | 210 +++
.../core_api/routes/public/test_event_logs.py | 29 +-
.../core_api/routes/public/test_extra_links.py | 33 +-
.../api_fastapi/core_api/routes/public/test_log.py | 14 +-
.../core_api/routes/public/test_task_instances.py | 116 +-
.../unit/api_fastapi/execution_api/conftest.py | 18 +-
.../versions/head/test_task_instances.py | 286 +++-
.../versions/v2026_10_30/test_task_instances.py | 166 +++
airflow-core/tests/unit/jobs/test_scheduler_job.py | 350 +++--
...t_0138_allocate_pending_task_attempt_numbers.py | 448 ++++++
airflow-core/tests/unit/models/test_cleartasks.py | 190 ++-
airflow-core/tests/unit/models/test_dag.py | 33 +-
airflow-core/tests/unit/models/test_dag_version.py | 24 +
airflow-core/tests/unit/models/test_dagrun.py | 97 +-
.../tests/unit/models/test_taskinstance.py | 162 ++-
airflow-core/tests/unit/models/test_trigger.py | 3 +
airflow-ctl-tests/pyproject.toml | 2 +-
airflow-ctl/pyproject.toml | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 70 +
airflow-e2e-tests/pyproject.toml | 4 +-
chart/pyproject.toml | 2 +-
clients/python/pyproject.toml | 2 +-
contributing-docs/05_pull_requests.rst | 11 +
contributing-docs/25_maintainer_pr_triage.md | 4 +
contributing-docs/32_open_pull_request_limit.rst | 169 +++
contributing-docs/README.rst | 3 +
dev/breeze/doc/ci/02_images.md | 2 +-
dev/breeze/doc/ci/04_selective_checks.md | 8 +-
.../commands/release_management_commands.py | 2 +-
dev/breeze/src/airflow_breeze/global_constants.py | 2 +-
.../src/airflow_breeze/utils/selective_checks.py | 4 +
dev/breeze/tests/test_selective_checks.py | 64 +-
dev/breeze/uv.lock | 92 +-
dev/close_prs_over_open_pr_limit.py | 353 +++++
dev/mypy/pyproject.toml | 2 +-
dev/pyproject.toml | 2 +-
.../react_plugin_template/package.json | 30 +-
.../react_plugin_template/pnpm-lock.yaml | 586 ++++----
dev/registry/pyproject.toml | 2 +-
devel-common/src/tests_common/pytest_plugin.py | 21 +
.../amazon => devel-common}/tests/conftest.py | 1 +
.../tests/unit/tests_common/test_dag_maker.py | 103 ++
docker-stack-docs/pyproject.toml | 2 +-
docker-tests/pyproject.toml | 2 +-
docs/spelling_wordlist.txt | 1 +
generated/PYPI_README.md | 10 +-
java-sdk/README.md | 16 +-
.../airflow/example/ExampleBundleBuilder.java | 3 +-
.../example/nativedag/InterfaceExample.java | 68 +
java-sdk/gradle/verification-metadata.xml | 68 -
.../org/apache/airflow/sdk/{ArgName.kt => Arg.kt} | 45 +-
.../main/kotlin/org/apache/airflow/sdk/Bundle.kt | 47 +-
.../main/kotlin/org/apache/airflow/sdk/DagDef.kt | 52 +-
.../src/main/kotlin/org/apache/airflow/sdk/Deps.kt | 93 ++
.../kotlin/org/apache/airflow/sdk/BundleTest.kt | 79 ++
.../kotlin/org/apache/airflow/sdk/DagDefTest.kt | 75 +
kubernetes-tests/pyproject.toml | 2 +-
providers-summary-docs/pyproject.toml | 2 +-
providers/amazon/README.rst | 4 +-
providers/amazon/docs/index.rst | 4 +-
providers/amazon/pyproject.toml | 4 +-
.../tests/unit/cncf/kubernetes/models/__init__.py | 17 -
.../tests/unit/cncf/kubernetes/test_k8s_model.py | 47 +
.../cncf/kubernetes/{models => }/test_secret.py | 45 +
providers/common/ai/pyproject.toml | 2 +-
providers/databricks/docs/index.rst | 2 +-
providers/edge3/pyproject.toml | 2 +-
.../providers/elasticsearch/log/es_response.py | 6 +-
.../unit/elasticsearch/log/test_es_response.py | 13 +
providers/fab/docs/auth-manager/access-control.rst | 4 +
providers/fab/pyproject.toml | 2 +-
providers/google/README.rst | 80 +-
providers/google/docs/index.rst | 80 +-
providers/google/pyproject.toml | 32 +-
providers/hashicorp/docs/index.rst | 2 +-
providers/hashicorp/pyproject.toml | 2 +-
.../docs/auth-manager/manage/permissions.rst | 4 +
providers/keycloak/docs/changelog.rst | 10 +
.../keycloak/auth_manager/cli/commands.py | 21 +
.../keycloak/auth_manager/keycloak_auth_manager.py | 18 +-
.../providers/keycloak/auth_manager/middleware.py | 35 +-
.../providers/keycloak/auth_manager/resources.py | 5 +
.../keycloak/auth_manager/cli/test_commands.py | 35 +-
.../auth_manager/test_keycloak_auth_manager.py | 48 +
.../unit/keycloak/auth_manager/test_middleware.py | 97 +-
providers/microsoft/azure/README.rst | 30 +-
providers/microsoft/azure/docs/index.rst | 30 +-
.../providers/opensearch/log/os_response.py | 6 +-
.../tests/unit/opensearch/log/test_os_response.py | 15 +
pyproject.toml | 4 +-
scripts/ci/prek/extract_permissions.py | 1 +
scripts/ci/prek/fab_permissions_doc.py | 8 +
.../regenerate_java_sdk_verification_metadata.py | 165 +++
scripts/pyproject.toml | 2 +-
scripts/tests/ci/prek/test_extract_permissions.py | 3 +
...st_regenerate_java_sdk_verification_metadata.py | 175 +++
scripts/tools/setup_breeze | 2 +-
shared/configuration/pyproject.toml | 2 +-
shared/dagnode/pyproject.toml | 2 +-
shared/listeners/pyproject.toml | 2 +-
shared/logging/pyproject.toml | 2 +-
shared/module_loading/pyproject.toml | 2 +-
shared/observability/pyproject.toml | 2 +-
shared/plugins_manager/pyproject.toml | 2 +-
shared/providers_discovery/pyproject.toml | 2 +-
shared/secrets_backend/pyproject.toml | 2 +-
shared/secrets_masker/pyproject.toml | 2 +-
shared/serialization/pyproject.toml | 2 +-
shared/state/pyproject.toml | 2 +-
shared/template_rendering/pyproject.toml | 2 +-
shared/timezones/pyproject.toml | 2 +-
task-sdk-integration-tests/pyproject.toml | 2 +-
task-sdk/pyproject.toml | 2 +-
task-sdk/src/airflow/sdk/api/client.py | 17 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 5 +-
task-sdk/src/airflow/sdk/definitions/dag.py | 4 +-
.../src/airflow/sdk/execution_time/supervisor.py | 115 +-
task-sdk/src/airflow/sdk/importers/zip_importer.py | 49 +-
task-sdk/tests/task_sdk/api/test_client.py | 10 +-
.../task_sdk/execution_time/test_supervisor.py | 266 +++-
.../tests/task_sdk/importers/test_zip_importer.py | 27 +
ts-sdk/package.json | 2 +-
ts-sdk/pnpm-lock.yaml | 87 +-
uv.lock | 1438 ++++++++++----------
206 files changed, 10373 insertions(+), 2522 deletions(-)
create mode 100644 .apache-magpie-overrides/committer-onboarding-config.md
create mode 100644 .apache-magpie-overrides/committer-readiness.md
create mode 100644 .apache-magpie-overrides/contributor-nomination-config.md
create mode 100644 .apache-magpie-overrides/contributor-sentiment-config.md
create mode 100644 .apache-magpie-overrides/good-first-issue-config.md
create mode 100644 .apache-magpie-overrides/issue-tracker-config.md
create mode 100644 .apache-magpie-overrides/onboarding-concierge-config.md
create mode 100644 .apache-magpie-overrides/pmc-roster.md
create mode 100644
.apache-magpie-overrides/pr-management-code-review-criteria.md
create mode 100644 .apache-magpie-overrides/pr-management-quick-merge-config.md
create mode 100644 .apache-magpie-overrides/reassess-pool-defaults.md
create mode 100644 .apache-magpie-overrides/release-trains.md
create mode 100644 .apache-magpie-overrides/reproducer-conventions.md
create mode 100644 .apache-magpie-overrides/runtime-invocation.md
create mode 100644 airflow-core/newsfragments/73554.significant.rst
create mode 100644
airflow-core/src/airflow/api_fastapi/core_api/services/public/dags.py
create mode 100644
airflow-core/src/airflow/migrations/versions/0138_3_4_0_allocate_pending_task_attempt_numbers.py
copy airflow-core/src/airflow/ui/src/components/{ConfirmationModal.tsx =>
PauseOrDrainChoiceModal.tsx} (51%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/BulkPauseDrainDagsButton.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/BulkUnpauseDagsButton.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/LogsTryNumber.test.tsx
copy airflow-core/src/airflow/ui/src/queries/{useBulkTaskInstances.ts =>
useBulkSetDagSchedulingState.ts} (56%)
create mode 100644
airflow-core/src/airflow/ui/tests/e2e/fixtures/task-tries-data.ts
create mode 100644
airflow-core/src/airflow/ui/tests/e2e/specs/task-tries.spec.ts
create mode 100644
airflow-core/tests/unit/migrations/test_0138_allocate_pending_task_attempt_numbers.py
create mode 100644 contributing-docs/32_open_pull_request_limit.rst
create mode 100644 dev/close_prs_over_open_pr_limit.py
copy {providers/amazon => devel-common}/tests/conftest.py (99%)
create mode 100644 devel-common/tests/unit/tests_common/test_dag_maker.py
create mode 100644
java-sdk/example/src/java/org/apache/airflow/example/nativedag/InterfaceExample.java
copy java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/{ArgName.kt =>
Arg.kt} (51%)
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Deps.kt
delete mode 100644
providers/cncf/kubernetes/tests/unit/cncf/kubernetes/models/__init__.py
create mode 100644
providers/cncf/kubernetes/tests/unit/cncf/kubernetes/test_k8s_model.py
rename providers/cncf/kubernetes/tests/unit/cncf/kubernetes/{models =>
}/test_secret.py (74%)
create mode 100755 scripts/ci/prek/regenerate_java_sdk_verification_metadata.py
create mode 100644
scripts/tests/ci/prek/test_regenerate_java_sdk_verification_metadata.py