This is an automated email from the ASF dual-hosted git repository.
jason810496 pushed a change to branch backport-a3c8ee4-v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard 26de5c83df0 [v3-4-test] Cover YAML-generated Go Dags in the go_sdk e2e
test (#74636)
add a37130076c1 [v3-4-test] Skip the scheduler's Dag lookup for Dag runs
with no callback to send (#74835) (#74857)
add cba22777dec [v3-4-test] Update Magpie floor to 0.9.0.dev202610140816
(#74815) (#74859)
add 7529edd0552 [v3-4-test] Complete Hebrew UI translations 2026-10-16
(#74467) (#74855)
add 843d55b41ec Revert "[v3-4-test] Re lock uv.lock after new provider
versions got stampped.…" (#74866)
add d7e00b5084f [v3-4-test] Report a Dag whose timetable fails to load as
an import error (#74709) (#74807)
add 52574171468 [v3-4-test] Stop prek hooks changing uv.lock and fail CI
when it is stale (#74803) (#74812)
add 37ba0158e61 Fix JWT token not refreshed when token expires mid-request
(#68499) (#74865)
add 72ba05c8275 [v3-4-test] Migrate Task SDK to `httpx2` (#73116) (#74891)
add 4c9f8f025af [v3-4-test] Keep queued connection tests from overwriting
newer connections (#74837) (#74895)
add d8c8c329d20 [v3-4-test] Fix Dag version diff max-changes border, limit
wording and duplicate count (#74818) (#74886)
add 4cd33408d9a [v3-4-test] Match camelCase keys against sensitive field
names in masker (#74840) (#74897)
add b1856ee6ae9 [v3-4-test] Go SDK: pack a bundle that registers no Dags
at pack time (#74637) (#74821)
add b3ecf729807 [v3-4-test] Java SDK: Rename annotation namespace from
Builder to Airflow (#74604) (#74826)
add 9dc1bbcc27e [v3-4-test] Bump the ui-plugin-template-package-updates
group across 1 directory with 7 updates (#74877) (#74887)
add 5e9d7d5013d [v3-4-test] TS SDK: Reject triggerDagRun tasks in dag.if
and dag.switch (#74492) (#74828)
add 9fb62eb2dcd [v3-4-test] Do not warn about bare postgresql:// metadata
DB URLs (#74863) (#74884)
add a219bf5ac8a Add Map Index search to dag breadcrumb (#74763) (#74893)
add 83b7552da0a Resolve a trigger's XCom requests as its deferred task
instance (#74772) (#74868)
add e2ca46ad114 [v-3-4-test] Upgrade Task Loop UX (#74671) (#74931)
add ccc8bc02910 [v3-4-test] Cover YAML-generated Go Dags in the go_sdk e2e
test (#74636)
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 (26de5c83df0)
\
N -- N -- N refs/heads/backport-a3c8ee4-v3-4-test (ccc8bc02910)
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-java-sdk/SKILL.md | 4 +-
.agents/skills/airflow-translations/locales/he.md | 32 +-
.apache-magpie.lock | 6 +-
.pre-commit-config.yaml | 20 +-
.../language-sdks/java.rst | 70 +-
airflow-core/docs/migrations-ref.rst | 4 +-
.../docs/security/jwt_token_authentication.rst | 2 +-
airflow-core/newsfragments/73116.significant.rst | 11 +
airflow-core/newsfragments/74709.bugfix.rst | 1 +
airflow-core/newsfragments/74837.bugfix.rst | 1 +
airflow-core/newsfragments/74840.bugfix.rst | 1 +
airflow-core/pyproject.toml | 3 +
.../api_fastapi/core_api/datamodels/ui/grid.py | 3 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 15 +
.../core_api/openapi/v2-rest-api-generated.yaml | 32 +-
.../core_api/routes/public/connections.py | 4 +-
.../core_api/routes/public/task_instances.py | 19 +-
.../api_fastapi/core_api/routes/ui/gantt.py | 10 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 46 +-
.../core_api/services/public/task_coordinates.py | 23 +-
.../api_fastapi/core_api/services/ui/grid.py | 21 +-
.../src/airflow/api_fastapi/execution_api/app.py | 34 +-
.../api_fastapi/execution_api/in_process.py | 32 +-
.../execution_api/routes/connection_tests.py | 7 +-
.../api_fastapi/execution_api/routes/xcoms.py | 135 +++-
.../airflow/api_fastapi/execution_api/security.py | 1 +
.../src/airflow/config_templates/config.yml | 2 +-
airflow-core/src/airflow/configuration.py | 29 +-
.../src/airflow/dag_processing/collection.py | 27 +
.../src/airflow/jobs/scheduler_job_runner.py | 9 +-
.../src/airflow/jobs/triggerer_job_runner.py | 58 +-
...add_commit_allows_update_to_connection_test.py} | 25 +-
airflow-core/src/airflow/models/connection_test.py | 26 +-
airflow-core/src/airflow/models/trigger.py | 18 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 4 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 4 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 4 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 4 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 28 +
.../ui/openapi-gen/requests/services.gen.ts | 6 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 9 +
.../src/airflow/ui/public/i18n/locales/ca/dag.json | 4 -
.../src/airflow/ui/public/i18n/locales/de/dag.json | 4 -
.../src/airflow/ui/public/i18n/locales/el/dag.json | 4 -
.../airflow/ui/public/i18n/locales/en/common.json | 8 +
.../src/airflow/ui/public/i18n/locales/en/dag.json | 30 +-
.../airflow/ui/public/i18n/locales/en/dags.json | 1 +
.../src/airflow/ui/public/i18n/locales/fr/dag.json | 4 -
.../airflow/ui/public/i18n/locales/he/admin.json | 35 +-
.../airflow/ui/public/i18n/locales/he/assets.json | 19 +-
.../airflow/ui/public/i18n/locales/he/browse.json | 35 +
.../airflow/ui/public/i18n/locales/he/common.json | 150 +++-
.../ui/public/i18n/locales/he/components.json | 63 +-
.../src/airflow/ui/public/i18n/locales/he/dag.json | 122 ++-
.../airflow/ui/public/i18n/locales/he/dags.json | 51 +-
.../ui/public/i18n/locales/he/dashboard.json | 26 +-
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 4 -
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 4 -
.../airflow/ui/public/i18n/locales/zh-TW/dag.json | 4 -
.../ui/src/components/ActionAccordion/columns.tsx | 2 +
.../airflow/ui/src/components/Breadcrumb/Crumb.tsx | 22 +-
.../ui/src/components/Breadcrumb/CrumbSwitcher.tsx | 36 +-
.../ui/src/components/Clear/Run/ClearRunDialog.tsx | 68 +-
.../TaskInstance/ClearGroupTaskInstanceDialog.tsx | 50 +-
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 17 +-
.../components/FilterBar/filters/LoopFilter.tsx | 167 +++++
.../FilterBar/filters/loopParams.test.ts | 73 ++
.../src/components/FilterBar/filters/loopParams.ts | 60 ++
.../airflow/ui/src/components/Graph/TaskLink.tsx | 17 +-
.../airflow/ui/src/components/Graph/TaskNode.tsx | 3 +
.../airflow/ui/src/components/LoopOptionLabel.tsx | 76 ++
.../TaskInstance/MarkTaskInstanceAsDialog.tsx | 14 +-
.../src/airflow/ui/src/components/SearchSelect.tsx | 113 +--
.../ui/src/components/TaskInstanceTooltip.test.tsx | 25 +
.../ui/src/components/TaskInstanceTooltip.tsx | 18 +-
.../src/airflow/ui/src/components/TaskName.tsx | 22 +-
.../src/airflow/ui/src/constants/filterConfigs.tsx | 12 +
.../src/airflow/ui/src/constants/searchParams.ts | 3 +-
.../ui/src/hooks/useResolvePassCoordinate.test.ts | 110 +++
.../ui/src/hooks/useResolvePassCoordinate.ts | 87 +++
.../ui/src/hooks/useTaskInstanceCoordinates.ts | 1 +
.../ui/src/layouts/Details/DagBreadcrumb.test.tsx | 79 +-
.../ui/src/layouts/Details/DagBreadcrumb.tsx | 92 ++-
.../layouts/Details/Gantt/GanttTimeline.test.tsx | 139 +++-
.../ui/src/layouts/Details/Gantt/GanttTimeline.tsx | 43 +-
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 10 +
.../airflow/ui/src/layouts/Details/Grid/Grid.tsx | 9 +-
.../ui/src/layouts/Details/Grid/GridTI.test.tsx | 4 +-
.../airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 8 +-
.../ui/src/layouts/Details/Grid/TaskNames.tsx | 25 +-
.../layouts/Details/IterationSwitcherButton.tsx | 121 +++
.../src/layouts/Details/MapIndexSwitcherButton.tsx | 98 +++
.../src/airflow/ui/src/layouts/Details/NavTabs.tsx | 87 +--
.../ui/src/layouts/Details/SearchDagRuns.test.tsx | 38 +-
.../ui/src/layouts/Details/SearchDagRuns.tsx | 49 +-
.../ui/src/layouts/Details/SearchDags.test.tsx | 135 ++--
.../airflow/ui/src/layouts/Details/SearchDags.tsx | 74 +-
.../src/layouts/Details/SearchMapIndexes.test.tsx | 192 +++++
.../ui/src/layouts/Details/SearchMapIndexes.tsx | 168 +++++
.../ui/src/layouts/Details/searchOptions.test.ts | 41 +-
.../ui/src/layouts/Details/searchOptions.ts | 59 +-
.../ui/src/pages/Dag/Versions/VersionDiff.test.tsx | 30 +-
.../ui/src/pages/Dag/Versions/VersionDiff.tsx | 41 +-
.../ui/src/pages/Dag/Versions/Versions.test.tsx | 6 +
.../airflow/ui/src/pages/Dag/Versions/Versions.tsx | 9 +
.../pages/GroupTaskInstance/GroupTaskInstance.tsx | 1 -
.../GroupTaskInstance/GroupTaskInstances.test.tsx | 93 ---
.../pages/GroupTaskInstance/GroupTaskInstances.tsx | 29 +-
.../LoopIterations/IterationSelect.test.tsx | 107 ---
.../LoopIterations/IterationSelect.tsx | 155 ----
.../GroupTaskInstance/LoopIterations/index.ts | 19 -
.../LoopIterations/loopUtils.test.ts | 24 +-
.../GroupTaskInstance/LoopIterations/loopUtils.ts | 17 +-
.../GroupTaskInstance/useLoopOutcomeStats.tsx | 4 +-
.../airflow/ui/src/pages/Run/Execution.test.tsx | 490 ------------
.../src/airflow/ui/src/pages/Run/Execution.tsx | 325 --------
airflow-core/src/airflow/ui/src/pages/Run/Run.tsx | 1 -
.../pages/Task/Overview/LoopHistoryChart.test.tsx | 2 +-
.../src/pages/Task/Overview/LoopHistoryChart.tsx | 2 +-
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 15 +
.../src/pages/TaskInstance/TaskInstance.test.tsx | 2 +-
.../ui/src/pages/TaskInstance/TaskInstance.tsx | 10 +-
.../src/pages/TaskInstances/TaskInstances.test.tsx | 42 +-
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 58 +-
.../pages/TaskInstances/TaskInstancesFilter.tsx | 33 +-
.../src/airflow/ui/src/queries/useGridStructure.ts | 32 +-
.../src/airflow/ui/src/queries/useIsLoopGroup.ts | 72 ++
.../ui/src/queries/useLoopFilterOptions.test.ts | 109 +++
.../airflow/ui/src/queries/useLoopFilterOptions.ts | 180 +++++
.../src/airflow/ui/src/queries/useLoopSummary.ts | 9 +-
airflow-core/src/airflow/ui/src/router.tsx | 2 -
.../ui/src/system-components/Modal/Modal.test.tsx | 29 +-
.../ui/src/system-components/Modal/Modal.tsx | 33 +-
.../airflow/ui/src/utils/executionParams.test.ts | 35 +-
.../src/airflow/ui/src/utils/executionParams.ts | 32 +-
airflow-core/src/airflow/ui/src/utils/option.ts | 10 +-
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 1 +
airflow-core/src/airflow/utils/db.py | 2 +-
.../core_api/routes/public/test_connections.py | 21 +
.../core_api/routes/public/test_task_instances.py | 17 +
.../api_fastapi/core_api/routes/ui/test_gantt.py | 29 +
.../api_fastapi/core_api/routes/ui/test_grid.py | 32 +
.../unit/api_fastapi/execution_api/test_app.py | 10 +-
.../versions/head/test_connection_tests.py | 33 +
.../execution_api/versions/head/test_router.py | 92 ++-
.../execution_api/versions/head/test_xcoms.py | 156 ++++
airflow-core/tests/unit/core/test_configuration.py | 24 +
.../tests/unit/dag_processing/test_collection.py | 44 ++
airflow-core/tests/unit/jobs/test_scheduler_job.py | 36 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 207 +++++-
.../tests/unit/models/test_connection_test.py | 32 +-
airflow-core/tests/unit/models/test_trigger.py | 27 +-
.../airflow/e2e/nativedag/AnnotationDag.java | 28 +-
contributing-docs/07_local_virtualenv.rst | 8 +-
.../src/airflow_breeze/utils/selective_checks.py | 1 -
dev/breeze/tests/test_selective_checks.py | 50 +-
dev/breeze/tests/test_shim_version_check.py | 4 +-
.../react_plugin_template/package.json | 14 +-
.../react_plugin_template/pnpm-lock.yaml | 404 +++++-----
.../tests_common/test_utils/in_process_taskrun.py | 40 +-
go-sdk/cmd/airflow-go-pack/pack.go | 4 +-
go-sdk/cmd/airflow-go-pack/pack_test.go | 36 +
java-sdk/README.md | 16 +-
java-sdk/capabilities.yaml | 2 +-
.../apache/airflow/example/AnnotationExample.java | 10 +-
.../apache/airflow/example/XComCastingExample.java | 16 +-
.../example/nativedag/AnnotationExample.java | 30 +-
java-sdk/processor/build.gradle.kts | 2 +-
.../{BuilderProcessor.kt => AirflowProcessor.kt} | 120 +--
.../services/javax.annotation.processing.Processor | 2 +-
.../{BuilderTest.kt => AirflowProcessorTest.kt} | 682 ++++++++---------
java-sdk/sdk/build.gradle.kts | 38 +-
java-sdk/sdk/module.md | 2 +-
.../src/main/kotlin/org/apache/airflow/sdk/Arg.kt | 2 +-
.../main/kotlin/org/apache/airflow/sdk/Bundle.kt | 16 +-
.../main/kotlin/org/apache/airflow/sdk/DagDef.kt | 12 +-
.../src/main/kotlin/org/apache/airflow/sdk/Deps.kt | 4 +-
.../kotlin/org/apache/airflow/sdk/TaskInput.kt | 4 +-
.../kotlin/org/apache/airflow/sdk/TriggerDagRun.kt | 2 +-
.../org/apache/airflow/sdk/internal/ArgValues.kt | 2 +-
.../org/apache/airflow/sdk/internal/Fields.kt | 4 +-
.../org/apache/airflow/sdk/internal/InputTypes.kt | 2 +-
.../kotlin/org/apache/airflow/sdk/internal/Refs.kt | 8 +-
.../org/apache/airflow/sdk/internal/Registrar.kt | 4 +-
.../kotlin/org/apache/airflow/sdk/BundleTest.kt | 12 +-
.../apache/airflow/sdk/internal/ArgValuesTest.kt | 2 +-
.../org/apache/airflow/sdk/internal/RefsTest.kt | 4 +-
.../airflow/k8sexample/MixedLanguageExample.java | 4 +-
scripts/ci/prek/generate_execution_api_schema.py | 4 +-
.../in_container/run_provider_yaml_files_check.py | 10 +-
scripts/tools/setup_breeze | 5 +-
.../src/airflow_shared/logging/structlog.py | 19 +-
shared/logging/tests/logging/test_structlog.py | 44 ++
.../secrets_masker/secrets_masker.py | 17 +-
.../tests/secrets_masker/test_secrets_masker.py | 49 +-
task-sdk/dev/generate_task_sdk_models.py | 4 +-
task-sdk/docs/airflow-metadata.schema.json | 3 +-
task-sdk/docs/executable-bundle-spec.rst | 7 +-
task-sdk/docs/lang-sdk-spec.rst | 6 +-
task-sdk/pyproject.toml | 6 +-
task-sdk/src/airflow/sdk/api/client.py | 62 +-
task-sdk/src/airflow/sdk/execution_time/comms.py | 5 +
.../src/airflow/sdk/execution_time/supervisor.py | 20 +-
task-sdk/tests/task_sdk/__init__.py | 10 +-
task-sdk/tests/task_sdk/api/test_client.py | 819 +++++++++++----------
.../execution_time/test_request_handlers.py | 6 +-
.../task_sdk/execution_time/test_supervisor.py | 142 ++--
ts-sdk/src/sdk/dag.ts | 18 +-
ts-sdk/tests/hitl/operator.test.ts | 11 +
ts-sdk/tests/sdk/trigger-dag-run.test.ts | 13 +
uv.lock | 12 +-
211 files changed, 6134 insertions(+), 3395 deletions(-)
create mode 100644 airflow-core/newsfragments/73116.significant.rst
create mode 100644 airflow-core/newsfragments/74709.bugfix.rst
create mode 100644 airflow-core/newsfragments/74837.bugfix.rst
create mode 100644 airflow-core/newsfragments/74840.bugfix.rst
copy
airflow-core/src/airflow/migrations/versions/{0140_3_4_0_add_language_to_dag_code.py
=> 0147_3_4_0_add_commit_allows_update_to_connection_test.py} (60%)
create mode 100644
airflow-core/src/airflow/ui/src/components/FilterBar/filters/LoopFilter.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/FilterBar/filters/loopParams.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/components/FilterBar/filters/loopParams.ts
create mode 100644
airflow-core/src/airflow/ui/src/components/LoopOptionLabel.tsx
create mode 100644
airflow-core/src/airflow/ui/src/hooks/useResolvePassCoordinate.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/hooks/useResolvePassCoordinate.ts
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/IterationSwitcherButton.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/MapIndexSwitcherButton.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/SearchMapIndexes.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/SearchMapIndexes.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/GroupTaskInstance/GroupTaskInstances.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/GroupTaskInstance/LoopIterations/IterationSelect.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/GroupTaskInstance/LoopIterations/IterationSelect.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/GroupTaskInstance/LoopIterations/index.ts
delete mode 100644 airflow-core/src/airflow/ui/src/pages/Run/Execution.test.tsx
delete mode 100644 airflow-core/src/airflow/ui/src/pages/Run/Execution.tsx
create mode 100644
airflow-core/src/airflow/ui/src/queries/useLoopFilterOptions.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/queries/useLoopFilterOptions.ts
rename
java-sdk/processor/src/main/kotlin/org/apache/airflow/sdk/{BuilderProcessor.kt
=> AirflowProcessor.kt} (92%)
rename
java-sdk/processor/src/test/kotlin/org/apache/airflow/sdk/{BuilderTest.kt =>
AirflowProcessorTest.kt} (85%)