This is an automated email from the ASF dual-hosted git repository.
vatsrahul1001 pushed a change to branch backport-4db39e4-v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard 71baaf09984 [v3-4-test] Fix breeze ci_group crash when the title is
skipped in GitHub Actions (#75401)
add af57a7a6a73 [v3-4-test] Wait for variable form validation before
asserting Save is enabled (#75239) (#75353)
add 65a67bb411f [v3-4-test] TS SDK: Reject blank edge labels and label
task edges into groups (#75190) (#75385)
add 78b65180b16 [v3-4-test] Fix empty audit log dag_id for DAG.cli()
subcommands (#73379) (#75388)
add 63f9ab0e144 [v3-4-test] Read a team's running task logs through the
team's executor (#75255) (#75408)
add c07dc92d5dc [v3-4-test] Fix tasks clear --task-regex matching as a
plain substring (#72941) (#75325)
add 2024aace3bc [v3-4-test] Show secondary states of mapped tasks in Grid
view (#74883) (#75426)
add a9afa0d323f Let plugins add their own actions to Dag, run and task
instance rows (#75229) (#75427)
add fa6b47b160d [v3-4-test] Clean up Dag Version Tab UX (#75244) (#75318)
add 38cbd426fe4 [v3-4-test] Run full CI on release branches on a schedule
instead of every push (#75420) (#75435)
add fa07926f3bd [v3-4-test] Java SDK: Let a native Java Dag set one queue
for all its tasks (#74538) (#75402)
add 217ec2d9432 Java SDK: Rewrite the user docs around Dag definition
(#74701) (#75439)
add fa7d9c01ff9 [v3-4-test] Migrate airflow-core to `httpx2` (#74244)
(#75424)
add f4bf6e1c01a [v3-4-test] Hide assets the caller may not read from the
UI dependencies graph (#73008) (#75390)
add 8c885416574 [v3-4-test] Reveal selected Dag folders when names contain
pipes (#75196) (#75319)
add 30497ebea4e [v3-4-test] Speed up API server requests by keeping JWT
checks off the event loop (#74856) (#75409)
add 78a9bdc17c2 [v3-4-test] Run team tasks on the team executor when named
by class or path (#75362) (#75436)
add 557d6072bb2 [v3-4-test] Java SDK: register the Scala Spark example as
task handlers (#75444) (#75456)
add c6a547ea138 [v3-4-test] TypeScript SDK: take the task state store
retention in seconds (#75445) (#75460)
add 0b5c545ed30 [v3-4-test] Allow TypeScript SDK releases from core
release branches (#75447) (#75451)
add bdd847f5b5d [v3-4-test] Fix upgrade guide sections showing as separate
pages in the docs sidebar (#75468) (#75470)
add 562230169a4 Revert "Make Java SDK context signal-aware (#74690)"
(#75421) (#75462)
add de6d3193c35 [v3-4-test] Bump sphinx-airflow-theme to 0.3.15 for a more
readable docs sidebar (#75471) (#75475)
add 9d0f56657f4 [v3-4-test] Go SDK: fail a task whose return-value XCom
push fails (#75443) (#75476)
add 7ec2757290c Revert "[v3-4-test] Enforce execution_timeout for tasks
run by a language SDK (#74869)" (#75376) (#75469)
add bdf2384d0ff [v3-4-test] Show Dag version diff occurrence count on the
path (#75433) (#75441)
add c2563f04074 [v3-4-test] Fix docs pages listing their sections as
separate pages in the sidebar (#75478) (#75481)
add dc00fa69a9a [v3-4-test] Add consolidated Language SDK compatibility
matrix (#71757) (#75482)
add e2426205e2f [v3-4-test] Remove the gap above docs pages left from the
old site banner (#75485) (#75487)
add d4706f122b9 [v3-4-test] Bump sphinx-airflow-theme to 0.3.16 to align
the docs' On this page list (#75491) (#75495)
add 81cc1caf39e [v3-4-test] Add missing zh-TW translations for Dag version
path tooltips (#75450) (#75484)
add 9e16507b5a3 [v3-4-test] Keep the token cookie set by a route in
JWTRefreshMiddleware (#75217) (#75454)
add 57e21d22ecf [v3-4-test] Limit the CLI reference's page contents to
top-level commands (#75483) (#75501)
add e5ba7beb7e1 [v3-4-test] Link task instances of task loops to their own
page (#75458) (#75494)
add 248e6f9e8b3 [v3-4-test] Fix deferral paths in task lifecycle diagram
(#75428) (#75515)
add 4e25f4a9610 Bump swagger-ui-dist from 5.33.3 to 5.34.0 in /registry in
the registry-package-updates group across 1 directory (#75506)
add de969396280 Bump @tanstack/react-query (#75508)
add 4ac335d817f Bump the ts-sdk-package-updates group across 1 directory
with 3 updates (#74874) (#75488)
add 9a2c293e9d5 Bump eslint in /ts-sdk in the ts-sdk-package-updates group
(#75285) (#75489)
add 47c17f54d0d [v3-4-test] fix stat timing (#72553) (#75459)
add b06c51bfe82 [v3-4-test] Redact secrets written through
RedactedIO.writelines() (#72063) (#75463)
add 063bdb907cf [v3-4-test] Guard register_at_fork in shared stats for
Windows compatibility (#73680) (#75464)
add 0027394328d [v3-4-test] Clarify backfill reprocessing options (#72590)
(#75465)
add ff84def609e [v3-4-test] Enable auto-merge, gated on a dedicated CI
passed check (#75142) (#75550)
add 88b06744bde [v3-4-test] Allow building docs with a local
sphinx_airflow_theme checkout (#75001) (#75537)
add 47d9a80b4d2 [v3-4-test] Fix breeze ci_group crash when the title is
skipped in GitHub Actions (#75401)
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 (71baaf09984)
\
N -- N -- N refs/heads/backport-4db39e4-v3-4-test (47d9a80b4d2)
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 | 9 +-
.asf.yaml | 65 +-
.github/workflows/basic-tests.yml | 35 +-
.github/workflows/check-newsfragment-pr-number.yml | 2 +-
.github/workflows/ci-amd.yml | 182 +-
.github/workflows/ci-arm.yml | 186 +-
.github/workflows/ci-image-checks.yml | 23 +-
.github/workflows/java-sdk-release-verify.yml | 2 +-
.github/workflows/refresh-image-registry-cache.yml | 11 +-
.github/workflows/release-branch-ci.yml | 161 ++
.github/workflows/ts-sdk-release.yml | 14 +-
.pre-commit-config.yaml | 38 +
.../dagfile-processing.rst | 12 +-
.../logging-monitoring/metrics.rst | 2 +-
.../docs/administration-and-deployment/plugins.rst | 49 +
.../authoring-and-scheduling/language-sdks/go.rst | 9 +-
.../language-sdks/index.rst | 251 +++
.../language-sdks/java.rst | 1770 ++++++++------------
.../language-sdks/typescript.rst | 49 +-
airflow-core/docs/cli-and-env-variables-ref.rst | 3 +
airflow-core/docs/core-concepts/backfill.rst | 10 +-
airflow-core/docs/core-concepts/debug.rst | 2 +-
airflow-core/docs/core-concepts/tasks.rst | 8 +-
.../docs/howto/create-custom-decorator.rst | 2 +-
airflow-core/docs/howto/custom-action-plugin.rst | 348 ++++
airflow-core/docs/howto/custom-view-plugin.rst | 22 +-
airflow-core/docs/howto/customize-ui.rst | 12 +-
airflow-core/docs/howto/index.rst | 1 +
airflow-core/docs/howto/notifications.rst | 2 +-
airflow-core/docs/howto/set-config.rst | 2 +-
.../docs/img/diagram_task_lifecycle.md5sum | 2 +-
airflow-core/docs/img/diagram_task_lifecycle.png | Bin 671852 -> 643516
bytes
airflow-core/docs/img/diagram_task_lifecycle.py | 18 +-
.../docs/installation/upgrading_to_airflow3.rst | 6 +-
airflow-core/pyproject.toml | 9 +-
.../src/airflow/api/client/local_client.py | 6 +-
.../api_fastapi/auth/managers/base_auth_manager.py | 4 +-
.../auth/managers/simple/ui/package.json | 2 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 30 +-
.../api_fastapi/auth/middlewares/refresh_token.py | 169 +-
.../src/airflow/api_fastapi/auth/tokens.py | 4 +-
.../src/airflow/api_fastapi/core_api/app.py | 6 +-
.../api_fastapi/core_api/datamodels/plugins.py | 58 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 99 ++
.../api_fastapi/core_api/routes/ui/dependencies.py | 20 +-
.../core_api/services/ui/dependencies.py | 74 +-
.../execution_api/datamodels/taskinstance.py | 7 -
.../api_fastapi/execution_api/in_process.py | 1 -
.../execution_api/routes/task_instances.py | 11 +-
.../execution_api/services/task_instances.py | 32 +-
.../api_fastapi/execution_api/versions/__init__.py | 2 -
.../execution_api/versions/v2026_10_30.py | 14 -
airflow-core/src/airflow/cli/cli_config.py | 6 +-
.../src/airflow/cli/commands/task_command.py | 12 +-
airflow-core/src/airflow/dag_processing/manager.py | 2 +-
.../airflow/example_dags/example_dag_decorator.py | 4 +-
.../src/airflow/executors/executor_loader.py | 36 +
.../src/airflow/jobs/scheduler_job_runner.py | 48 +-
airflow-core/src/airflow/models/taskinstance.py | 21 +-
airflow-core/src/airflow/plugins_manager.py | 109 +-
.../airflow/serialization/serialized_objects.py | 9 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 142 ++
.../airflow/ui/openapi-gen/requests/types.gen.ts | 36 +-
.../src/airflow/ui/public/i18n/locales/ca/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/de/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/el/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/en/dag.json | 5 +-
.../src/airflow/ui/public/i18n/locales/fr/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/he/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/hi/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 1 -
.../airflow/ui/public/i18n/locales/zh-TW/dag.json | 5 +-
.../ui/src/components/JsonPreviewBadges.tsx | 42 +-
.../PluginActions/PluginActionBoundary.tsx | 63 +
.../components/PluginActions/PluginActionIcon.tsx | 36 +-
.../PluginActions/PluginActions.test.tsx | 431 +++++
.../src/components/PluginActions/PluginActions.tsx | 90 +
.../PluginActions/PluginActionsContext.tsx | 45 +
.../components/PluginActions/PluginLinkAction.tsx | 96 ++
.../components/PluginActions/PluginReactAction.tsx | 98 ++
.../{Breadcrumb => PluginActions}/index.ts | 7 +-
.../PluginActions/pluginActionContext.test.ts | 138 ++
.../PluginActions/pluginActionContext.ts | 97 ++
.../ui/src/components/PluginActions/types.ts | 82 +
.../ui/src/components/RenderedJsonField.test.tsx | 19 +
.../ui/src/components/RenderedJsonField.tsx | 36 +-
.../airflow/ui/src/hooks/usePluginActions.test.ts | 142 ++
.../src/airflow/ui/src/hooks/usePluginActions.ts | 50 +
.../src/airflow/ui/src/hooks/usePluginTabs.tsx | 13 +-
.../airflow/ui/src/hooks/useScopedPluginViews.ts | 14 +-
.../ui/src/layouts/Details/Grid/GridTI.test.tsx | 92 +-
.../airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 46 +-
.../ui/src/layouts/Details/Grid/constants.ts | 2 +-
.../src/airflow/ui/src/pages/Dag/Header.tsx | 8 +
.../Versions/DiffUnavailableAlert.tsx} | 43 +-
.../ui/src/pages/Dag/Versions/DiffValue.tsx | 60 +
.../pages/Dag/Versions/MaxChangesField.test.tsx | 71 +
.../ui/src/pages/Dag/Versions/MaxChangesField.tsx | 119 ++
.../Dag/Versions/MonoText.tsx} | 24 +-
.../airflow/ui/src/pages/Dag/Versions/PathText.tsx | 78 +
.../pages/Dag/Versions/SelectedVersionsDiff.tsx | 81 +
.../ui/src/pages/Dag/Versions/VersionDiff.test.tsx | 96 +-
.../ui/src/pages/Dag/Versions/VersionDiff.tsx | 131 +-
.../airflow/ui/src/pages/Dag/Versions/Versions.tsx | 98 +-
.../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx | 58 +-
.../ui/src/pages/DagsList/DagCardActions.tsx | 2 +
.../DagsList/DagFolderTree/DagFolderTree.test.tsx | 29 +
.../pages/DagsList/DagFolderTree/DagFolderTree.tsx | 2 +-
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 185 +-
.../ui/src/pages/DagsList/DagsListColumns.tsx | 9 +-
airflow-core/src/airflow/ui/src/pages/Iframe.tsx | 28 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 8 +
.../ui/src/pages/TaskInstance/ExtraLinks.tsx | 14 +-
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 8 +
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 36 +-
.../Variables/ManageVariable/VariableForm.test.tsx | 7 +-
.../src/airflow/ui/src/utils/links.test.ts | 218 ++-
airflow-core/src/airflow/ui/src/utils/links.ts | 168 +-
.../airflow/ui/src/utils/pluginAppliesTo.test.ts | 41 +
.../src/airflow/ui/src/utils/pluginAppliesTo.ts | 54 +-
.../src/airflow/ui/src/utils/pluginIcon.test.ts | 59 +
.../DurationCell.tsx => utils/pluginIcon.ts} | 25 +-
.../airflow/ui/src/utils/pluginTemplate.test.ts | 72 +
.../src/airflow/ui/src/utils/pluginTemplate.ts | 54 +
.../src/airflow/utils/log/file_task_handler.py | 17 +-
.../auth/managers/test_base_auth_manager.py | 28 +
.../auth/middlewares/test_refresh_token.py | 438 +++--
.../tests/unit/api_fastapi/auth/test_tokens.py | 10 +-
.../core_api/routes/public/test_dag_sources.py | 2 +-
.../core_api/routes/public/test_plugins.py | 64 +
.../core_api/routes/ui/test_dependencies.py | 189 ++-
.../execution_api/versions/head/test_hitl.py | 11 +-
.../versions/head/test_task_instances.py | 47 -
.../versions/v2026_10_30/test_task_instances.py | 34 -
airflow-core/tests/unit/api_fastapi/test_app.py | 10 +
.../unit/cli/commands/test_plugins_command.py | 33 +
.../tests/unit/cli/commands/test_task_command.py | 23 +
airflow-core/tests/unit/cli/test_cli_parser.py | 13 +
.../tests/unit/dag_processing/test_manager.py | 6 +-
.../tests/unit/dag_processing/test_processor.py | 2 +-
.../tests/unit/executors/test_executor_loader.py | 48 +-
airflow-core/tests/unit/jobs/test_scheduler_job.py | 85 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 2 +-
.../tests/unit/models/test_taskinstance.py | 24 +
.../tests/unit/plugins/test_plugins_manager.py | 317 ++++
.../unit/serialization/test_dag_serialization.py | 18 -
airflow-core/tests/unit/utils/test_cli_util.py | 16 +
airflow-core/tests/unit/utils/test_log_handlers.py | 30 +
airflow-ctl/docs/cli-and-env-variables-ref.rst | 3 +
.../src/airflowctl/api/datamodels/generated.py | 55 +-
.../apache/airflow/e2e/NativeBundleBuilder.java | 36 +-
.../airflow/e2e/nativedag/AnnotationDag.java | 25 +-
.../apache/airflow/e2e/nativedag/DynamicDags.java | 5 +-
.../apache/airflow/e2e/nativedag/TargetDag.java | 5 +-
.../org/apache/airflow/e2e/TestBundleBuilder.java | 33 +-
.../src/resources/dags/java_test_dags.py | 12 -
.../airflow_e2e_tests/e2e_test_utils/clients.py | 8 -
.../java_sdk_tests/test_java_sdk_dag.py | 56 -
.../java_sdk_tests/test_java_sdk_native_dag.py | 17 +-
contributing-docs/11_documentation_building.rst | 11 +
contributing-docs/30_new_language_sdk.rst | 171 +-
dev/README_AIRFLOW3_DEV.md | 49 +-
dev/README_RELEASE_AIRFLOW.md | 59 +-
dev/README_RELEASE_AIRFLOWCTL.md | 12 +-
dev/breeze/doc/ci/04_selective_checks.md | 49 +-
dev/breeze/doc/ci/05_workflows.md | 66 +-
dev/breeze/doc/images/output_build-docs.svg | 52 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
.../doc/images/output_ci_selective-check.svg | 54 +-
.../doc/images/output_ci_selective-check.txt | 2 +-
.../src/airflow_breeze/commands/ci_commands.py | 60 +-
.../airflow_breeze/commands/ci_commands_config.py | 2 +
.../airflow_breeze/commands/developer_commands.py | 27 +
.../commands/developer_commands_config.py | 1 +
.../src/airflow_breeze/params/shell_params.py | 5 +
dev/breeze/src/airflow_breeze/utils/path_utils.py | 3 +
.../src/airflow_breeze/utils/selective_checks.py | 19 +-
dev/breeze/tests/test_ci_commands.py | 114 ++
dev/breeze/tests/test_developer_commands.py | 96 +-
dev/breeze/tests/test_pr_info.py | 2 +-
dev/breeze/tests/test_selective_checks.py | 33 +
dev/breeze/tests/test_shell_params.py | 14 +
devel-common/pyproject.toml | 2 +-
devel-common/sphinx_design/static/custom.css | 12 +-
docs/README.md | 4 +-
docs/spelling_wordlist.txt | 3 +
go-sdk/README.md | 96 +-
go-sdk/capabilities.yaml | 153 +-
go-sdk/internal/bundle/task.go | 58 +-
go-sdk/internal/bundle/task_test.go | 116 +-
.../pkg/execution/genmodels/discriminators.gen.go | 8 +-
go-sdk/pkg/execution/genmodels/models.gen.go | 159 +-
go-sdk/schema/supervisor-schema.json | 46 +-
java-sdk/{README.md => DEVELOPMENT.md} | 139 +-
java-sdk/README.md | 870 ++--------
java-sdk/capabilities.yaml | 153 +-
java-sdk/example/README.md | 107 ++
.../example/nativedag/AnnotationExample.java | 1 +
.../example/nativedag/InterfaceExample.java | 1 +
.../airflow/example/nativedag/TargetExample.java | 1 +
.../org/apache/airflow/sdk/AirflowProcessor.kt | 6 +-
.../org/apache/airflow/sdk/AirflowProcessorTest.kt | 53 +-
.../apache/airflow/example/ScalaSparkExample.scala | 33 +-
java-sdk/scripts/ci/verify-source-release.sh | 2 +-
java-sdk/sdk/build.gradle.kts | 28 +-
java-sdk/sdk/module.md | 177 +-
.../main/kotlin/org/apache/airflow/sdk/Context.kt | 50 -
.../main/kotlin/org/apache/airflow/sdk/DagDef.kt | 17 +-
.../main/kotlin/org/apache/airflow/sdk/Server.kt | 29 +-
.../kotlin/org/apache/airflow/sdk/TriggerDagRun.kt | 1 +
.../apache/airflow/sdk/execution/Cancellation.kt | 134 --
.../org/apache/airflow/sdk/execution/Logger.kt | 4 -
.../org/apache/airflow/sdk/execution/Serde.kt | 10 +-
.../org/apache/airflow/sdk/internal/Fields.kt | 22 +-
.../kotlin/org/apache/airflow/sdk/ContextTest.kt | 14 -
.../kotlin/org/apache/airflow/sdk/DagDefTest.kt | 28 +
.../kotlin/org/apache/airflow/sdk/ServerTest.kt | 292 ----
.../airflow/sdk/execution/CancellationTest.kt | 205 ---
.../apache/airflow/sdk/execution/LogSenderTest.kt | 94 --
.../org/apache/airflow/sdk/execution/SerdeTest.kt | 64 +
registry/package.json | 2 +-
registry/pnpm-lock.yaml | 10 +-
...ci-tests.yml => mount-sphinx-airflow-theme.yml} | 9 +-
scripts/ci/prek/check_ci_gate_needs.py | 70 +
scripts/ci/prek/check_ci_workflows_in_sync.py | 27 +-
scripts/ci/prek/lang_sdk_compat_matrix.py | 326 ++--
scripts/ci/prek/sync_java_sdk_docs.py | 148 ++
scripts/ci/prek/update_go_sdk_readme_matrix.py | 6 +-
scripts/ci/prek/update_java_sdk_readme_matrix.py | 6 +-
scripts/ci/prek/update_lang_sdk_central_matrix.py | 152 ++
scripts/ci/prek/update_ts_sdk_readme_matrix.py | 6 +-
scripts/in_container/run_docs_build.sh | 6 +
scripts/tests/ci/prek/conftest.py | 55 +
scripts/tests/ci/prek/test_check_ci_gate_needs.py | 60 +
.../tests/ci/prek/test_lang_sdk_compat_matrix.py | 330 ++--
scripts/tests/ci/prek/test_sync_java_sdk_docs.py | 119 ++
.../ci/prek/test_update_go_sdk_readme_matrix.py | 25 +-
.../ci/prek/test_update_java_sdk_readme_matrix.py | 27 +-
.../ci/prek/test_update_lang_sdk_central_matrix.py | 148 ++
.../ci/prek/test_update_ts_sdk_readme_matrix.py | 27 +-
.../observability/metrics/metrics_registry.py | 6 +-
.../airflow_shared/observability/metrics/stats.py | 3 +-
.../src/airflow_shared/plugins_manager/__init__.py | 2 +
.../plugins_manager/plugins_manager.py | 31 +
.../secrets_masker/secrets_masker.py | 2 +-
.../tests/secrets_masker/test_secrets_masker.py | 6 +
.../src/airflow/sdk/api/datamodels/_generated.py | 1 -
.../src/airflow/sdk/coordinators/_subprocess.py | 17 -
task-sdk/src/airflow/sdk/definitions/dag.py | 3 +
task-sdk/src/airflow/sdk/execution_time/comms.py | 9 +-
.../airflow/sdk/execution_time/schema/schema.json | 46 +-
.../sdk/execution_time/schema/versions/__init__.py | 2 -
.../execution_time/schema/versions/v2026_10_30.py | 15 -
.../src/airflow/sdk/execution_time/supervisor.py | 33 +-
.../src/airflow/sdk/execution_time/task_runner.py | 20 +-
.../tests/task_sdk/coordinators/test_subprocess.py | 42 -
.../execution_time/schema/test_migrator.py | 10 -
.../task_sdk/execution_time/test_supervisor.py | 84 +-
.../task_sdk/execution_time/test_task_runner.py | 20 +-
ts-sdk/DEVELOPMENT.md | 5 +
ts-sdk/README.md | 96 +-
ts-sdk/api-docs/dag-authoring-api.ts | 2 +-
ts-sdk/capabilities.yaml | 172 +-
ts-sdk/example/src/main.ts | 2 +-
ts-sdk/pnpm-lock.yaml | 241 ++-
ts-sdk/schema/supervisor-schema.json | 46 +-
.../ci/prek/check_serialization_conformance.py | 2 +-
ts-sdk/src/coordinator/client.ts | 32 +-
ts-sdk/src/coordinator/operator-runner.ts | 4 +-
ts-sdk/src/coordinator/serde.ts | 36 +-
ts-sdk/src/generated/supervisor.ts | 42 +-
ts-sdk/src/hitl/operator.ts | 2 +-
ts-sdk/src/index.ts | 2 +-
ts-sdk/src/sdk/client-types.ts | 10 +-
ts-sdk/src/sdk/client.ts | 6 +-
ts-sdk/src/sdk/dag-graph.ts | 19 +-
ts-sdk/src/sdk/dag.ts | 209 ++-
ts-sdk/src/sdk/operator.ts | 8 +-
ts-sdk/tests/conformance/serialize_typescript.ts | 7 +-
ts-sdk/tests/coordinator/client.test.ts | 28 +-
ts-sdk/tests/coordinator/operator-runner.test.ts | 8 +-
ts-sdk/tests/coordinator/serde.test.ts | 220 ++-
ts-sdk/tests/public-api.test.ts | 12 +-
ts-sdk/tests/sdk/branching.test.ts | 8 +-
ts-sdk/tests/sdk/conditional.test.ts | 10 +-
ts-sdk/tests/sdk/dag.test.ts | 133 +-
uv.lock | 10 +-
288 files changed, 11457 insertions(+), 5467 deletions(-)
create mode 100644 .github/workflows/release-branch-ci.yml
create mode 100644 airflow-core/docs/howto/custom-action-plugin.rst
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginActionBoundary.tsx
copy dev/react-plugin-tools/react_plugin_template/src/pages/HomePage.tsx =>
airflow-core/src/airflow/ui/src/components/PluginActions/PluginActionIcon.tsx
(54%)
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginActions.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginActions.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginActionsContext.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginLinkAction.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginReactAction.tsx
copy airflow-core/src/airflow/ui/src/components/{Breadcrumb =>
PluginActions}/index.ts (79%)
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/pluginActionContext.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/pluginActionContext.ts
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/types.ts
create mode 100644
airflow-core/src/airflow/ui/src/hooks/usePluginActions.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/hooks/usePluginActions.ts
copy
airflow-core/src/airflow/ui/src/pages/{TaskStateStore/AddTaskStateStoreButton.tsx
=> Dag/Versions/DiffUnavailableAlert.tsx} (55%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/DiffValue.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/MaxChangesField.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/MaxChangesField.tsx
copy airflow-core/src/airflow/ui/src/{components/TruncatedText.tsx =>
pages/Dag/Versions/MonoText.tsx} (69%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/PathText.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/SelectedVersionsDiff.tsx
create mode 100644 airflow-core/src/airflow/ui/src/utils/pluginIcon.test.ts
copy airflow-core/src/airflow/ui/src/{components/DurationCell.tsx =>
utils/pluginIcon.ts} (54%)
create mode 100644 airflow-core/src/airflow/ui/src/utils/pluginTemplate.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/pluginTemplate.ts
create mode 100644 dev/breeze/tests/test_ci_commands.py
copy java-sdk/{README.md => DEVELOPMENT.md} (81%)
create mode 100644 java-sdk/example/README.md
delete mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/execution/Cancellation.kt
delete mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/execution/CancellationTest.kt
delete mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/execution/LogSenderTest.kt
copy scripts/ci/docker-compose/{ci-tests.yml =>
mount-sphinx-airflow-theme.yml} (72%)
create mode 100755 scripts/ci/prek/check_ci_gate_needs.py
create mode 100755 scripts/ci/prek/sync_java_sdk_docs.py
create mode 100755 scripts/ci/prek/update_lang_sdk_central_matrix.py
create mode 100644 scripts/tests/ci/prek/test_check_ci_gate_needs.py
create mode 100644 scripts/tests/ci/prek/test_sync_java_sdk_docs.py
create mode 100644 scripts/tests/ci/prek/test_update_lang_sdk_central_matrix.py