This is an automated email from the ASF dual-hosted git repository.

vatsrahul1001 pushed a change to branch v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


 discard 1148619b8b0 [v3-3-test] Add shared_stream_cohort_grace_period to 
reduce missed events on triggerer restart (#68888) (#68931)
 discard 50b6c1e23bc [v3-3-test] Add partition clear support to REST API 
matching the CLI (#68702) (#68907)
    omit b74cbe28135 [v3-3-test] Propagate `partition_date` to consumers of 
partitioned assets (#67285) (#68892)
    omit 4c68c073d8e [v3-3-test] Fix partitioned backfill widening a sub-day 
window to the whole day (#68718) (#68881)
    omit 5dc7fec3be4 [v3-3-test] Complete Taiwanese Mandarin translation 
(#68870) (#68877)
    omit a647d068fd6 [v3-3-test] Remove obsolete AIP-76 partition-date storage 
TODOs (#68703) (#68866)
    omit 6e500b3c65b [v3-3-test] Allow custom partition Window subclasses via 
plugin registry (#68717) (#68836)
    omit 272115cea21 [v3-3-test] Propagate resolved task log level to language 
SDK runtimes (#68712) (#68825)
    omit 13d079f1fe0 [v3-3-test] Fix runtime-partition example Dags using 
unreachable schedules (#68719) (#68803)
    omit 5ab070da58a [v3-3-test] Add team_name tag to dag processor metrics for 
multi-team deployments (#68761)
    omit 2b2f71f98b8 [v3-3-test] Add team_name tag to asset metrics for 
multi-team deployments (#68762)
    omit 6a2ba8fdb82 [v3-3-test] Rename misleading last_automated_run param to 
reference_run (#68714) (#68753)
    omit 96b5612c750 [v3-3-test] Update multi-team docs for the 3.3 release 
(#68728) (#68733)
    omit 31bb38d8747 [v3-3-test] Add segment fan-out example to asset partition 
example Dag (#68722) (#68737)
    omit a9fd5b7a24d [v3-3-test] UI: Fix inconsistent padding between Dag Runs 
and Task Instances list views (#68689) (#68692)
    omit 2102562d8ed [v3-3-test] Populate partition_date when manually 
triggering partitioned Dags (#68458) (#68690)
    omit 4ed94096c88 Percent-encode API client path params for keys with 
slashes (#68667) (#68669)
    omit d5c1a2274a6 [v3-3-test] Fix the gap of Taiwanese Mandarin translation 
(#68668) (#68695)
    omit 75d69a2ac77 [v3-3-test] Add wait policy examples to asset partition 
example (#68658) (#68691)
    omit 8127d350b27 Enforce pool team ownership in scheduling loop (#68684)
    omit 2d36ac2b430 [v3-3-test] Fix triggerer crash when trigger subclass does 
not call `super().__init__()` (#68636) (#68680)
    omit 936c8b80be5 Add 3.3.0 release notes
    omit 92977bcc8c7 Update version to 3.3.0
    omit 30f28e75135 Update default branches for 3-3
     add c5bbd4b087a Instruct agents to reduce direct AirflowException usage 
(#68656)
     add 272904f4c03 prepare-providers-doc skill: batch classification to cut 
sub-agents (#68653)
     add 844a892cb99 Bump `clickhouse-connect>=1.3.0` (#68400)
     add 9140ce5aee1 Percent-encode API client path params for keys with 
slashes (#68667)
     add bf590ccd179 UI E2E: Clarify HITL e2e helper parameter name and error 
message (#68646)
     add 3d0fb9f8993 docs: add wait policy examples to asset partition example 
(#68658)
     add bd9270d5441 Fix bulk create+overwrite silently resetting unset fields 
on pools and connections (#68645)
     add 6b41214e395 Enforce pool team ownership in scheduling loop (#68649)
     add 674544c8918 Add openlineage system tests for missing use cases (#68664)
     add b6bf6a83b51 UI: Fix misleading Calendar Total Runs coloring behavior 
(#67595)
     add fa273d83075 Fix triggerer crash when trigger subclass does not call 
`super().__init__()` (#68636)
     add cf2d0475312 Bump eslint (#68681)
     add 88b89283722 Add 'classify-provider-changes' breeze command for 
deterministic change classification (#68215)
     add 2746dcb1a24 Fix mypy errors for task_instance access in provider 
triggers (#68685)
     add 57593bb1881 Add code mode (Monty sandbox) to common.ai AgentOperator 
(#68407)
     add db26df7d165 fix: Verify durable cached agent steps match the request 
before replay (#68372)
     add db9fa4289fe Populate partition_date when manually triggering 
partitioned Dags (#68458)
     add d9b363c630e UI: Fix inconsistent padding between Dag Runs and Task 
Instances list views (#68689)
     add 8050e7c7297 Fix the gap of Taiwanese Mandarin translation (#68668)
     add 7cc1d693b7e Add team_name tag to remaining multi-team metrics (#68601)
     add 0508dea89db Fix Databricks operators with templated json payloads 
(#68519)
     add 9928bb3292e Use async versions of CertificateCredential and 
ClientSecretCredential in KiotaRequestAdapterHook (#68375)
     add 4d5046d78ce Adding example dag for task state store with mapped tasks 
(#68670)
     add 50271018585 Fixed "AttributeError: 'NoneType' object has no attribute 
'close'" for SmtpHook (#62409)
     add 71532401a01 Small operator improvements in openlineage system tests 
(#68677)
     add c59f4cd8bb7 Fix TaskSDK swallowing errors when Variable.set() or 
Variable.delete() fails (#68542)
     add 91ba4a23a89 Fix fab deserialize user session leak (#68100)
     add 59fc9e284dd Skip asset-change registration for tasks with no outlets 
(#68687)
     add aa0609f0867 Add team_name tag to dag processor metrics for multi-team 
deployments (#68599)
     add 8b46c346ed8 Add team_name tag to asset metrics for multi-team 
deployments (#68367)
     add d7d84b46d81 Indent dag-run span TODO comment continuation lines 
(#68643)
     add be44ad1ac6c Make head sampling possible in airflow (#68591)
     add 9c4908019a3 Add Ray constraints for Python 3.14 in Google provider 
(#68710)
     add 531bfab9dee Add `message_history` to `AgentOperator` for multi-turn 
agent sessions (#68648)
     add b237fd02d25 Update multi-team docs for the 3.3 release (#68728)
     add 583e54fc65f Add segment fan-out example to asset partition example Dag 
(#68722)
     add 0236c5775db Prepare provider documentation 2026-06-16 (#68642)
     add ddb63a4a1a1 Resolve common.ai '# use next version' pin to 
common-compat 1.15.0 (#68740)
     add 7e7e4a95e0c Add update-providers-next-version step to provider docs 
skill (#68739)
     add d74fbff4e32 Apply `rerun_with_latest_version` to TriggerDagRunOperator 
reruns (#67273)
     add d445240be7d Fix `RecursionError` in `common.compat` hook lineage 
`add_extra polyfill` (#68735)
     add 6f623854097 Fix flaky AwsTaskLogFetcher tests caused by global 
Event.is_set mock (#68746)
     add 3fc2f02fa8b Fix GlueJobHook failing to update a Glue job that has tags 
(#68711)
     add bb5d903fa8a Rename misleading last_automated_run param to 
reference_run (#68714)
     add 832ecf89a36 Document breaking-change changelog notes in provider docs 
skill (#68738)
     add 7a21a3e9c56 Add async XCom accessors for async tasks (#68299)
     add 1e7cc8ed37d Bump the uv-dependency-updates group in /dev/breeze with 5 
updates (#68764)
     add fe3ad5f1191 Add regression tests for pools API with unlimited (-1) 
slots (#68773)
     add 5a9e6e07bfd Instruct AI agents not to tag individuals in PR/issue 
comments (#68686)
     add a74c45436c0 List related commits in release issue for new providers 
(#68755)
     add 5bc8796e3a0 Run standard venv operator tests DB-free so they 
parallelize under xdist (#68533)
     add ab68720c679 Enforce ti:self scope on 
/execution/task-reschedules/{ti}/start_date (#67628)
     add 191b04f6023 Improve local setup documentation (#67247)
     add db6103c0acd Propagate resolved task log level to language SDK runtimes 
(#68712)
     add e17239c687d Hide 'Suggest a change' link on autoapi pages (#16654) 
(#68637)
     add 75f7fcd2e04 Fix runtime-partition example Dags using unreachable 
schedules (#68719)
     add 11f62288f8a Add v3-3-test to CI, dependabot, backport, and fork-sync 
configuration (#68673)
     add 2b719056cc5 AIP-103: Passing `AssetStateStoreAccessors` through to 
`BaseEventTrigger` (#67839)
     add b44905bf4e5 Fix typo in operators.rst documentation (#67634)
     add 842f8c28d3a Update number of callback types from six to five (#67871)
     add 15561a3f11a Document Airflow 3 UI browser requirements (#68313)
     add d253b2226d0 Fix typos and wording in docs README (#66950)
     add 3e658107181 docs: add automated remediation guardrails to retry docs 
(#67705)
     add d09cfa8d3b5 Refactor Teradata provider tests to remove legacy unittest 
imports (#68190)
     add a527de7aba6 Agent skills for Java SDK and new language SDK (#68603)
     add 3ae8c6a07e2 [main] Upgrade important CI environment (#68560)
     add 7437b7d5670 Fix potentially misleading comment on task state store 
model (#68824)
     add 5e99f33a416 Remove obsolete AIP-76 partition-date storage TODOs 
(#68703)
     add b9cc2224b4b Fix task state store custom expiry datetime missing 
timezone on save (#68823)
     add 47dab8b8c09 Allow custom partition Window subclasses via plugin 
registry (#68717)
     add 5fe059fb881 Added asynchronous aget_hook method to BaseHook (#68506)
     add f24c5b0bc79 Implement SLF4Jm JUL, and Log4J2 providers for Java SDK 
(#68725)
     add 35ae462ca4d Bump the fab-ui-package-updates group across 1 directory 
with 4 updates (#68804)
     add 5579562ff89 Bump eslint-plugin-unicorn (#68812)
     add 1fb77d1d104 Cache bundle-to-team name lookups in dag processor manager 
(#68730)
     add 4824280c895 Support `extra` field for Coordinator  (#68694)
     add 2d8b40f3ae4 Surface conflict message for constraints-version-check 
(#68671)
     add 92aaa9a5223 Remove mistakenly added 
generated/provider_dependencies.json* (#68801)
     add a52be75711a Do not leak threads from InProcessExecutionAPI (#68840)
     add 40d8c505524 UI: Persist dashboard alert collapse state and clamp long 
alerts (#68329)
     add 5b77a71b344 Better warning visibility for invalid JSON value when 
editing variables (#68268)
     add c76162a8c46 Bump the auth-ui-package-updates group across 1 directory 
with 15 updates (#68808)
     add 51a4d81b7d8 Exclude agent tooling (.agents, agents.md) from source 
release tarball (#68851)
     add 216ac75cd6f Wrap form data and await form (#68857)
     add 9dcbe41dd4c Remove stray instruction on example (#68841)
     add 4fcb6a0ce22 Update providers metadata 2026-06-23 (#68862)
     add b788d83d215 Adds Airflow 3 compatibility in `try_adopt_task_instances` 
for BatchExec (#68027)
     add 3b9d2a22211 Scope XCom Execution API to teams in multi-team mode 
(#68850)
     add ab4c0978a76 Fix in-process Execution API loop stopped while transport 
still in use (#68865)
     add 918124cb417 Fix Cloudwatch remote logging crash API server if 
ResourceNotFoundException (#68781)
     add b69b189d994 Fix triggerer log server port configuration key (#67785)
     add 0e9901711d7 Fix AwsBatchExecutor test_try_adopt_task_instances after 
TaskInstanceDTO hostname requirement (#68871)
     add 79ecabc7418 Document team-scoped XCom (#68867)
     add 24d5b834c08 Complete Taiwanese Mandarin translation (#68870)
     add 7ce8504b022 Remove leftovers from #45184 
clear_not_launched_queued_tasks removal (#68698)
     add 15b9666071f Fix partitioned backfill widening a sub-day window to the 
whole day (#68718)
     add 8095abb5718 Fetch deadline callback context via Execution API at 
runtime (#66608)
     add a0d7ae6070b Only log task state cleanup for configured worker state 
store backends (#68878)
     add 16e1abaaeac Improve namespace logging level config parsing (#68839)
     add fb51c4d9bd3 Add decorator to mark task as returning dag result (#64563)
     add 9eea9a02193 Add OpenLineage Spark conf injection to 
DatabricksSubmitRunOperator (#67894)
     add 44ac115937a Add a standard toggle for resumability to 
ResumableJobMixin (#68623)
     add aa28f27f12d Remove all_map_indices from task_state_store.clear() in 
context (#68880)
     add 61e2f22d8a2 Document what happens when task without inlets / outlets 
accesses `asset_state_store` (#68886)
     add 6e45ebb5afe Fix incorrect method and class names in task and asset 
state store docs (#68887)
     add e9af904a099 Propagate `partition_date` to consumers of partitioned 
assets (#67285)
     add a67d3f98cbc Create test case to verify mapped task as result (#68550)
     add e3d0c6ccee1 Close German Translation Gaps 2026-06-12 (#68356)
     add e7619316995 Fix KubernetesExecutor scheduler crash from unpicklable 
pod_override (#68831)
     add 92290dbd64f Restore mp_start_method config and add 
mp_forkserver_preload config (#68875)
     add e0645d564be Make cncf.kubernetes model deserialization picklable 
in-cluster (#68848)
     add 723500b2776 Fix mypy type errors in DynamoDB example system test 
(#68849)
     add 4f038b6d11b i18n(ko): add missing translations(Jun 16) (#68600)
     add fdb7265ad1e Fix asset manager team-metric test failing on rerun 
(#68891)
     add a0805a808e3 Add partition clear support to REST API matching the CLI 
(#68702)
     add 8d3ccae1610 Fix dashboard alert clamping and collapse controls (#68893)
     add 609656f7d35 Revert "Fetch deadline callback context via Execution API 
at runtime (#66608)" (#68909)
     add aee4240161d Forward run-identity attributes to the trace sampler 
(#68592)
     add 5a36ec1e72e Convert CLI Deprecations to maintainer idetifiable only 
(#68726)
     add ce72c02c5a0 Add token scope tests for Execution API routes. (#68918)
     add 6877aea6353 Revert airflowctl dependency from airflow-core (#68856)
     add 3d2a635c6ed Add shared_stream_cohort_grace_period to reduce missed 
events on triggerer restart (#68888)
     add 771aa902df0 Add news fragment and documentation for the result 
decorator (#68928)
     new fb009aca041 Update default branches for 3-3
     new 2b8fe840949 Update version to 3.3.0
     new b63261b5694 Add 3.3.0 release notes
     new 133ea2b7979 update release notes for 3.3.0b2

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   (1148619b8b0)
            \
             N -- N -- N   refs/heads/v3-3-test (133ea2b7979)

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.

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .agents/skills/airflow-java-sdk/SKILL.md           |  134 +
 .agents/skills/airflow-new-sdk/SKILL.md            |  160 ++
 .../prepare-providers-documentation/SKILL.md       |  244 +-
 .gitattributes                                     |    2 +
 .github/boring-cyborg.yml                          |   18 +
 .github/dependabot.yml                             |   14 +-
 .github/instructions/code-review.instructions.md   |    2 +-
 .github/workflows/ci-notification.yml              |    2 +-
 .github/workflows/milestone-tag-assistant.yml      |    1 +
 .pre-commit-config.yaml                            |    9 +-
 .rat-excludes                                      |    5 +-
 AGENTS.md                                          |   18 +-
 Dockerfile                                         |    2 +-
 Dockerfile.ci                                      |    4 +-
 INSTALLING.md                                      |   12 +-
 RELEASE_NOTES.rst                                  |   64 +-
 .../logging-monitoring/callbacks.rst               |    2 +-
 .../logging-monitoring/logging-tasks.rst           |    2 +-
 .../task-and-asset-state-store.rst                 |   18 +-
 .../docs/authoring-and-scheduling/dag-result.rst   |  140 +
 .../docs/authoring-and-scheduling/index.rst        |    1 +
 .../language-sdks/index.rst                        |   11 +-
 .../language-sdks/java.rst                         |  153 ++
 airflow-core/docs/best-practices.rst               |    2 +-
 .../docs/core-concepts/asset-state-store.rst       |   24 +
 airflow-core/docs/core-concepts/multi-team.rst     |   15 +
 .../docs/core-concepts/task-state-store.rst        |   19 +-
 .../docs/howto/dag-level-retry-via-callback.rst    |   19 +
 airflow-core/docs/public-airflow-interface.rst     |    3 +-
 airflow-core/docs/security/security_model.rst      |    7 +-
 airflow-core/docs/ui.rst                           |    5 +
 airflow-core/newsfragments/67285.feature.rst       |    1 -
 airflow-core/newsfragments/68888.feature.rst       |    1 -
 airflow-core/pyproject.toml                        |    2 -
 .../src/airflow/api/client/__init__.py             |   10 +-
 .../src/airflow/api/client/local_client.py         |  107 +
 .../api_fastapi/auth/managers/base_auth_manager.py |   16 -
 .../auth/managers/simple/simple_auth_manager.py    |    3 -
 .../auth/managers/simple/ui/package.json           |   32 +-
 .../auth/managers/simple/ui/pnpm-lock.yaml         | 1973 +++++++-------
 .../src/airflow/api_fastapi/common/dagbag.py       |   25 +
 .../core_api/routes/public/backfills.py            |    2 +-
 .../core_api/routes/public/task_instances.py       |    2 +-
 .../api_fastapi/core_api/services/public/common.py |   26 -
 .../core_api/services/public/connections.py        |    7 +-
 .../core_api/services/public/dag_run.py            |   16 +-
 .../api_fastapi/core_api/services/public/pools.py  |    9 +-
 .../src/airflow/api_fastapi/execution_api/app.py   |   48 +-
 .../api_fastapi/execution_api/routes/dag_runs.py   |    5 +-
 .../execution_api/routes/task_instances.py         |   10 +
 .../execution_api/routes/task_reschedules.py       |    7 +-
 .../execution_api/routes/task_state_store.py       |   24 +-
 .../api_fastapi/execution_api/routes/xcoms.py      |   59 +-
 .../airflow/api_fastapi/execution_api/security.py  |   15 +
 airflow-core/src/airflow/cli/api_client.py         |  129 -
 .../src/airflow/cli/commands/asset_command.py      |   66 +-
 .../src/airflow/cli/commands/backfill_command.py   |    2 +-
 .../src/airflow/cli/commands/dag_command.py        |   60 +-
 .../airflow/cli/commands/dag_processor_command.py  |    2 +
 .../src/airflow/cli/commands/pool_command.py       |   99 +-
 .../src/airflow/cli/commands/scheduler_command.py  |    2 +
 .../src/airflow/cli/commands/triggerer_command.py  |    2 +
 airflow-core/src/airflow/cli/utils.py              |   29 +-
 .../src/airflow/config_templates/config.yml        |   52 +-
 airflow-core/src/airflow/dag_processing/manager.py |   69 +-
 .../example_task_state_store_mapped.py             |   59 +
 .../src/airflow/executors/local_executor.py        |    6 +-
 .../src/airflow/executors/workloads/trigger.py     |    3 +
 .../src/airflow/jobs/triggerer_job_runner.py       |   23 +-
 airflow-core/src/airflow/models/callback.py        |   12 +-
 airflow-core/src/airflow/models/dagbundle.py       |   17 +
 airflow-core/src/airflow/models/dagrun.py          |   50 +-
 .../src/airflow/models/task_state_store.py         |    9 +-
 airflow-core/src/airflow/models/taskinstance.py    |   15 +-
 .../airflow/serialization/serialized_objects.py    |    5 +-
 airflow-core/src/airflow/triggers/base.py          |    7 +
 .../airflow/ui/public/i18n/locales/de/assets.json  |   17 +
 .../airflow/ui/public/i18n/locales/de/common.json  |   11 +-
 .../ui/public/i18n/locales/de/components.json      |    1 +
 .../src/airflow/ui/public/i18n/locales/de/dag.json |   22 +
 .../ui/public/i18n/locales/en/dashboard.json       |    6 +
 .../airflow/ui/public/i18n/locales/ko/assets.json  |   17 +
 .../airflow/ui/public/i18n/locales/ko/common.json  |   18 +-
 .../src/airflow/ui/public/i18n/locales/ko/dag.json |   26 +-
 .../ui/public/i18n/locales/ko/dashboard.json       |   12 +
 .../src/airflow/ui/src/constants/localStorage.ts   |    1 +
 .../ui/src/pages/Dag/Calendar/CalendarCell.tsx     |   10 +-
 .../ui/src/pages/Dag/Calendar/CalendarLegend.tsx   |  109 +-
 .../ui/src/pages/Dag/Calendar/CalendarTooltip.tsx  |    1 +
 .../src/pages/Dag/Calendar/calendarUtils.test.ts   |  134 +-
 .../ui/src/pages/Dag/Calendar/calendarUtils.ts     |  164 +-
 .../src/airflow/ui/src/pages/Dag/Calendar/types.ts |    4 +-
 .../ui/src/pages/Dashboard/AlertContent.test.tsx   |  142 +
 .../ui/src/pages/Dashboard/AlertContent.tsx        |  109 +
 .../ui/src/pages/Dashboard/Dashboard.test.tsx      |  153 ++
 .../airflow/ui/src/pages/Dashboard/Dashboard.tsx   |   84 +-
 .../pages/TaskStateStore/TaskStateStoreModal.tsx   |   13 +-
 .../Variables/ManageVariable/VariableForm.test.tsx |  123 +
 .../Variables/ManageVariable/VariableForm.tsx      |    7 +-
 .../ui/tests/e2e/components/HITLReviewDrawer.ts    |    4 +-
 .../ui/tests/e2e/components/HITLReviewModal.ts     |    4 +-
 .../src/airflow/ui/tests/e2e/pages/HomePage.ts     |   27 +
 .../ui/tests/e2e/specs/home-dashboard.spec.ts      |   36 +
 .../src/airflow/ui/tests/e2e/utils/api/hitl.ts     |    2 +-
 airflow-core/src/airflow/utils/email.py            |    4 +-
 .../src/airflow/utils/log/file_task_handler.py     |   13 +-
 airflow-core/src/airflow/utils/process_utils.py    |   65 +
 airflow-core/src/airflow/utils/sqlalchemy.py       |   26 +-
 .../core_api/routes/public/test_connections.py     |   34 +
 .../core_api/routes/public/test_dag_run.py         |   45 +-
 .../core_api/routes/public/test_pools.py           |   99 +
 .../unit/api_fastapi/execution_api/test_app.py     |   76 +
 .../execution_api/test_token_scope_boundaries.py   |  100 +
 .../execution_api/versions/head/test_dag_runs.py   |   31 +
 .../versions/head/test_task_instances.py           |   16 +
 .../versions/head/test_task_state_store.py         |   19 -
 .../execution_api/versions/head/test_xcoms.py      |  163 +-
 airflow-core/tests/unit/assets/test_manager.py     |   10 +
 .../tests/unit/cli/commands/test_asset_command.py  |  146 +-
 .../unit/cli/commands/test_command_deprecations.py |   64 +-
 .../tests/unit/cli/commands/test_dag_command.py    |  364 +--
 .../tests/unit/cli/commands/test_pool_command.py   |  350 +--
 airflow-core/tests/unit/cli/conftest.py            |   20 -
 airflow-core/tests/unit/cli/test_api_client.py     |  140 -
 airflow-core/tests/unit/cli/test_utils.py          |   20 +-
 .../tests/unit/dag_processing/test_manager.py      |   89 +-
 .../tests/unit/executors/test_local_executor.py    |   17 +-
 airflow-core/tests/unit/jobs/test_triggerer_job.py |  354 ++-
 airflow-core/tests/unit/models/test_callback.py    |   45 +
 airflow-core/tests/unit/models/test_dagbundle.py   |   17 +
 airflow-core/tests/unit/models/test_dagrun.py      |   61 +-
 .../tests/unit/models/test_taskinstance.py         |   56 +
 .../unit/serialization/test_dag_serialization.py   |    4 +
 .../unit/serialization/test_serialized_objects.py  |   36 +-
 .../tests/unit/triggers/test_base_trigger.py       |   25 +
 airflow-core/tests/unit/utils/test_email.py        |    6 +-
 airflow-core/tests/unit/utils/test_log_handlers.py |  100 +
 .../tests/unit/utils/test_process_utils.py         |   90 +
 airflow-core/tests/unit/utils/test_sqlalchemy.py   |   36 +-
 .../basic_tests/test_airflowctl_imports.py         |   38 -
 .../java_sdk_tests/test_java_sdk_dag.py            |   75 +
 contributing-docs/30_new_language_sdk.rst          |   53 +-
 dev/README_RELEASE_PROVIDERS.md                    |   23 +
 dev/breeze/doc/09_release_management_tasks.rst     |   19 +
 dev/breeze/doc/ci/02_images.md                     |    4 +-
 dev/breeze/doc/ci/04_selective_checks.md           |   29 +-
 .../doc/images/output_release-management.svg       |   96 +-
 .../doc/images/output_release-management.txt       |    2 +-
 ...elease-management_classify-provider-changes.svg |  200 ++
 ...elease-management_classify-provider-changes.txt |    1 +
 .../output_setup_check-all-params-in-groups.svg    |   10 +-
 .../output_setup_check-all-params-in-groups.txt    |    2 +-
 .../output_setup_regenerate-command-images.svg     |   80 +-
 .../output_setup_regenerate-command-images.txt     |    2 +-
 dev/breeze/pyproject.toml                          |    2 +-
 .../airflow_breeze/commands/kubernetes_commands.py |    2 +-
 .../commands/release_management_commands.py        |  187 +-
 .../commands/release_management_commands_config.py |   19 +
 dev/breeze/src/airflow_breeze/global_constants.py  |    2 +-
 .../prepare_providers/provider_documentation.py    |   44 +
 .../provider_issue_TEMPLATE.md.jinja2              |    3 +
 .../utils/constraints_version_check.py             |  227 +-
 .../src/airflow_breeze/utils/selective_checks.py   |    8 -
 dev/breeze/tests/test_provider_documentation.py    |   42 +
 dev/breeze/tests/test_provider_issue_template.py   |   56 +
 .../tests/test_release_management_commands.py      |   65 +
 dev/breeze/uv.lock                                 |  468 ++--
 dev/sync_fork.sh                                   |    2 +-
 devel-common/pyproject.toml                        |    4 +-
 .../sphinx_templates/suggest_change_button.html    |   16 +-
 devel-common/src/docs/utils/conf_constants.py      |    1 +
 .../src/sphinx_exts/suggest_change_button.py       |   54 +
 .../tests_common/test_utils/in_process_taskrun.py  |  145 ++
 docs/README.md                                     |   20 +-
 docs/spelling_wordlist.txt                         |    4 +
 generated/provider_dependencies.json               | 2042 ---------------
 generated/provider_dependencies.json.sha256sum     |    1 -
 generated/provider_metadata.json                   |  118 +
 java-sdk/README.md                                 |  162 +-
 java-sdk/bom/build.gradle.kts                      |    5 +-
 java-sdk/example/build.gradle                      |    2 +-
 .../apache/airflow/example/AnnotationExample.java  |   26 +-
 .../airflow/example/InterfaceExampleBuilder.java   |   25 +-
 java-sdk/gradle.properties                         |    2 +
 java-sdk/{processor => jpl}/build.gradle.kts       |   16 +-
 .../airflow/sdk/jpl/AirflowSystemLoggerFinder.kt   |  109 +
 .../services/java.lang.System$LoggerFinder         |    1 +
 .../airflow/sdk/jpl/AirflowSystemLoggerTest.kt     |  141 +
 java-sdk/{processor => jul}/build.gradle.kts       |   19 +-
 .../apache/airflow/sdk/jul/AirflowJulHandler.kt    |   95 +
 .../airflow/sdk/jul/AirflowJulHandlerTest.kt       |  124 +
 java-sdk/{processor => log4j2}/build.gradle.kts    |   35 +-
 .../airflow/sdk/log4j/AirflowLog4jAppender.java    |   99 +
 .../airflow/sdk/log4j/AirflowLog4jAppenderTest.kt  |  121 +
 java-sdk/sdk/build.gradle.kts                      |    4 +
 .../main/kotlin/org/apache/airflow/sdk/Server.kt   |   22 +-
 .../org/apache/airflow/sdk/execution/Logger.kt     |  174 +-
 .../org/apache/airflow/sdk/execution/LogTest.kt    |   89 +
 .../airflow/sdk/execution/NamespaceLevelsTest.kt   |  134 +
 .../org/apache/airflow/sdk/execution/LogCapture.kt |   45 +-
 java-sdk/settings.gradle.kts                       |    2 +-
 java-sdk/slf4j/build.gradle.kts                    |   87 +
 .../slf4j/gradle.properties                        |    3 +-
 .../airflow/sdk/slf4j/AirflowSlf4jProvider.kt      |  110 +
 .../services/org.slf4j.spi.SLF4JServiceProvider    |    1 +
 .../airflow/sdk/slf4j/AirflowSlf4jLoggerTest.kt    |  121 +
 .../test_kubernetes_pod_operator.py                |    2 +-
 providers/.last_release_date.txt                   |    2 +-
 providers/alibaba/README.rst                       |    6 +-
 providers/alibaba/docs/changelog.rst               |   11 +
 providers/alibaba/docs/index.rst                   |    6 +-
 providers/alibaba/provider.yaml                    |    3 +-
 providers/alibaba/pyproject.toml                   |    6 +-
 .../src/airflow/providers/alibaba/__init__.py      |    2 +-
 providers/amazon/README.rst                        |    6 +-
 providers/amazon/docs/changelog.rst                |   27 +
 providers/amazon/docs/index.rst                    |    6 +-
 providers/amazon/provider.yaml                     |    3 +-
 providers/amazon/pyproject.toml                    |    6 +-
 .../src/airflow/providers/amazon/__init__.py       |    2 +-
 .../amazon/aws/auth_manager/routes/login.py        |   18 +-
 .../amazon/aws/executors/batch/batch_executor.py   |   47 +-
 .../src/airflow/providers/amazon/aws/hooks/glue.py |   32 +-
 .../amazon/aws/log/cloudwatch_task_handler.py      |   26 +-
 .../airflow/providers/amazon/aws/triggers/emr.py   |   19 +-
 .../tests/system/amazon/aws/example_dynamodb.py    |   11 +-
 .../aws/executors/batch/test_batch_executor.py     |   88 +-
 .../tests/unit/amazon/aws/hooks/test_glue.py       |   69 +
 .../amazon/aws/log/test_cloudwatch_task_handler.py |   28 +
 .../unit/amazon/aws/utils/test_task_log_fetcher.py |   18 +-
 .../apache/druid/docs/.latest-doc-only-change.txt  |    2 +-
 providers/apache/hdfs/README.rst                   |    6 +-
 providers/apache/hdfs/docs/changelog.rst           |   11 +
 providers/apache/hdfs/docs/index.rst               |    6 +-
 providers/apache/hdfs/provider.yaml                |    3 +-
 providers/apache/hdfs/pyproject.toml               |    6 +-
 .../src/airflow/providers/apache/hdfs/__init__.py  |    2 +-
 providers/apache/livy/README.rst                   |    6 +-
 providers/apache/livy/docs/changelog.rst           |   11 +
 providers/apache/livy/docs/index.rst               |    6 +-
 providers/apache/livy/provider.yaml                |    3 +-
 providers/apache/livy/pyproject.toml               |    6 +-
 .../src/airflow/providers/apache/livy/__init__.py  |    2 +-
 providers/apache/spark/README.rst                  |    6 +-
 providers/apache/spark/docs/changelog.rst          |   15 +
 providers/apache/spark/docs/index.rst              |    6 +-
 providers/apache/spark/docs/operators.rst          |    6 +-
 providers/apache/spark/provider.yaml               |    3 +-
 providers/apache/spark/pyproject.toml              |    6 +-
 .../src/airflow/providers/apache/spark/__init__.py |    2 +-
 .../apache/spark/operators/spark_submit.py         |   49 +-
 .../apache/spark/operators/test_spark_submit.py    |   41 +-
 providers/celery/docs/.latest-doc-only-change.txt  |    2 +-
 providers/clickhousedb/README.rst                  |    2 +-
 providers/clickhousedb/docs/commits.rst            |    2 +-
 providers/clickhousedb/docs/index.rst              |    2 +-
 providers/clickhousedb/pyproject.toml              |    2 +-
 providers/cncf/kubernetes/README.rst               |    6 +-
 providers/cncf/kubernetes/docs/changelog.rst       |   20 +
 providers/cncf/kubernetes/docs/index.rst           |    6 +-
 providers/cncf/kubernetes/provider.yaml            |    3 +-
 providers/cncf/kubernetes/pyproject.toml           |    6 +-
 .../airflow/providers/cncf/kubernetes/__init__.py  |    2 +-
 .../backcompat/backwards_compat_converters.py      |    4 +-
 .../kubernetes/executors/kubernetes_executor.py    |    4 -
 .../providers/cncf/kubernetes/operators/job.py     |    4 +-
 .../providers/cncf/kubernetes/pod_generator.py     |    9 +-
 .../providers/cncf/kubernetes/triggers/pod.py      |   19 +-
 .../cncf/kubernetes/utils/xcom_sidecar.py          |    2 +-
 .../system/cncf/kubernetes/example_kubernetes.py   |    2 +-
 .../cncf/kubernetes/example_kubernetes_async.py    |    2 +-
 .../backcompat/test_backwards_compat_converters.py |   26 +-
 .../unit/cncf/kubernetes/operators/test_job.py     |   39 +-
 .../unit/cncf/kubernetes/operators/test_pod.py     |    6 +-
 .../unit/cncf/kubernetes/test_pod_generator.py     |   30 +-
 providers/common/ai/README.rst                     |    9 +-
 providers/common/ai/docs/changelog.rst             |   57 +
 providers/common/ai/docs/index.rst                 |    8 +-
 providers/common/ai/docs/operators/agent.rst       |  136 +-
 providers/common/ai/provider.yaml                  |    3 +-
 providers/common/ai/pyproject.toml                 |   13 +-
 .../ai/src/airflow/providers/common/ai/__init__.py |    2 +-
 .../providers/common/ai/durable/caching_model.py   |   50 +-
 .../providers/common/ai/durable/caching_toolset.py |   33 +-
 .../providers/common/ai/durable/fingerprint.py     |  162 ++
 .../providers/common/ai/durable/step_counter.py    |    4 +-
 .../airflow/providers/common/ai/durable/storage.py |   77 +-
 .../common/ai/example_dags/example_agent.py        |   81 +-
 .../airflow/providers/common/ai/operators/agent.py |  127 +-
 .../airflow/providers/common/ai/toolsets/hook.py   |    7 +
 .../airflow/providers/common/ai/toolsets/sql.py    |    4 +
 .../providers/common/ai/utils/tool_definition.py   |   44 +
 .../unit/common/ai/durable/test_caching_model.py   |   94 +-
 .../unit/common/ai/durable/test_caching_toolset.py |   78 +-
 .../unit/common/ai/durable/test_fingerprint.py     |  212 ++
 .../common/ai/durable/test_replay_verification.py  |  138 +
 .../tests/unit/common/ai/durable/test_storage.py   |  135 +-
 .../tests/unit/common/ai/operators/test_agent.py   |  229 +-
 .../ai/tests/unit/common/ai/toolsets/test_hook.py  |   11 +
 .../ai/tests/unit/common/ai/toolsets/test_sql.py   |   11 +
 .../unit/common/ai/utils/test_tool_definition.py   |   21 +-
 .../providers/common/compat/lineage/hook.py        |   33 +-
 .../tests/unit/common/compat/lineage/test_hook.py  |  108 +-
 providers/databricks/README.rst                    |    6 +-
 providers/databricks/docs/changelog.rst            |   29 +
 providers/databricks/docs/index.rst                |    6 +-
 providers/databricks/provider.yaml                 |    3 +-
 providers/databricks/pyproject.toml                |    6 +-
 .../src/airflow/providers/databricks/__init__.py   |    2 +-
 .../src/airflow/providers/databricks/exceptions.py |    4 +
 .../providers/databricks/operators/databricks.py   |  471 +++-
 .../providers/databricks/utils/openlineage.py      |  139 +
 .../unit/databricks/operators/test_databricks.py   |  532 +++-
 .../unit/databricks/utils/test_openlineage.py      |  178 ++
 providers/dbt/cloud/README.rst                     |    6 +-
 providers/dbt/cloud/docs/changelog.rst             |   11 +
 providers/dbt/cloud/docs/index.rst                 |    6 +-
 providers/dbt/cloud/provider.yaml                  |    3 +-
 providers/dbt/cloud/pyproject.toml                 |    6 +-
 .../src/airflow/providers/dbt/cloud/__init__.py    |    2 +-
 providers/edge3/README.rst                         |    6 +-
 providers/edge3/docs/changelog.rst                 |   26 +
 providers/edge3/docs/index.rst                     |    6 +-
 providers/edge3/provider.yaml                      |    3 +-
 providers/edge3/pyproject.toml                     |    6 +-
 .../edge3/src/airflow/providers/edge3/__init__.py  |    2 +-
 providers/elasticsearch/README.rst                 |    6 +-
 providers/elasticsearch/docs/changelog.rst         |   11 +
 providers/elasticsearch/docs/index.rst             |    6 +-
 providers/elasticsearch/provider.yaml              |    3 +-
 providers/elasticsearch/pyproject.toml             |    6 +-
 .../airflow/providers/elasticsearch/__init__.py    |    2 +-
 providers/fab/README.rst                           |    6 +-
 providers/fab/docs/changelog.rst                   |   31 +
 providers/fab/docs/index.rst                       |    6 +-
 providers/fab/provider.yaml                        |    3 +-
 providers/fab/pyproject.toml                       |    6 +-
 .../fab/src/airflow/providers/fab/__init__.py      |    2 +-
 .../providers/fab/auth_manager/fab_auth_manager.py |   35 +-
 .../fab/src/airflow/providers/fab/www/package.json |   10 +-
 .../src/airflow/providers/fab/www/pnpm-lock.yaml   | 1774 ++++++-------
 .../unit/fab/auth_manager/test_fab_auth_manager.py |   68 +-
 providers/ftp/README.rst                           |    6 +-
 providers/ftp/docs/changelog.rst                   |   11 +
 providers/ftp/docs/index.rst                       |    6 +-
 providers/ftp/provider.yaml                        |    3 +-
 providers/ftp/pyproject.toml                       |    6 +-
 .../ftp/src/airflow/providers/ftp/__init__.py      |    2 +-
 providers/git/docs/.latest-doc-only-change.txt     |    2 +-
 providers/google/README.rst                        |   10 +-
 providers/google/docs/changelog.rst                |   35 +
 providers/google/docs/index.rst                    |    8 +-
 providers/google/provider.yaml                     |    3 +-
 providers/google/pyproject.toml                    |   10 +-
 .../src/airflow/providers/google/__init__.py       |    2 +-
 .../airflow/providers/google/cloud/hooks/ray.py    |    5 -
 .../providers/google/cloud/triggers/bigquery.py    |   40 +-
 .../providers/google/cloud/triggers/dataproc.py    |  120 +-
 providers/hashicorp/README.rst                     |    6 +-
 providers/hashicorp/docs/changelog.rst             |   11 +
 providers/hashicorp/docs/index.rst                 |    6 +-
 providers/hashicorp/provider.yaml                  |    3 +-
 providers/hashicorp/pyproject.toml                 |    6 +-
 .../src/airflow/providers/hashicorp/__init__.py    |    2 +-
 providers/http/README.rst                          |    6 +-
 providers/http/docs/changelog.rst                  |   17 +
 providers/http/docs/index.rst                      |    6 +-
 providers/http/provider.yaml                       |    3 +-
 providers/http/pyproject.toml                      |    6 +-
 .../http/src/airflow/providers/http/__init__.py    |    2 +-
 providers/informatica/README.rst                   |    8 +-
 providers/informatica/docs/changelog.rst           |    6 +
 providers/informatica/docs/index.rst               |    6 +-
 providers/informatica/provider.yaml                |    3 +-
 providers/informatica/pyproject.toml               |    6 +-
 .../src/airflow/providers/informatica/__init__.py  |    2 +-
 providers/keycloak/README.rst                      |    6 +-
 providers/keycloak/docs/changelog.rst              |   11 +
 providers/keycloak/docs/index.rst                  |    6 +-
 providers/keycloak/provider.yaml                   |    3 +-
 providers/keycloak/pyproject.toml                  |    6 +-
 .../src/airflow/providers/keycloak/__init__.py     |    2 +-
 .../keycloak/auth_manager/keycloak_auth_manager.py |   30 +-
 .../auth_manager/test_keycloak_auth_manager.py     |   21 +-
 providers/microsoft/azure/README.rst               |   10 +-
 providers/microsoft/azure/docs/changelog.rst       |   19 +
 providers/microsoft/azure/docs/index.rst           |    6 +-
 providers/microsoft/azure/provider.yaml            |    3 +-
 providers/microsoft/azure/pyproject.toml           |    6 +-
 .../airflow/providers/microsoft/azure/__init__.py  |    2 +-
 .../providers/microsoft/azure/hooks/msgraph.py     |   52 +-
 .../unit/microsoft/azure/hooks/test_msgraph.py     |  160 +-
 providers/microsoft/mssql/README.rst               |    6 +-
 providers/microsoft/mssql/docs/changelog.rst       |   11 +
 providers/microsoft/mssql/docs/index.rst           |    6 +-
 providers/microsoft/mssql/provider.yaml            |    3 +-
 providers/microsoft/mssql/pyproject.toml           |    6 +-
 .../airflow/providers/microsoft/mssql/__init__.py  |    2 +-
 providers/openlineage/README.rst                   |    6 +-
 providers/openlineage/docs/changelog.rst           |   13 +
 providers/openlineage/docs/index.rst               |    6 +-
 providers/openlineage/docs/spark.rst               |    1 +
 providers/openlineage/provider.yaml                |    3 +-
 providers/openlineage/pyproject.toml               |    6 +-
 .../src/airflow/providers/openlineage/__init__.py  |    2 +-
 .../airflow/providers/openlineage/api/datasets.py  |   11 +-
 .../src/airflow/providers/openlineage/api/sql.py   |    9 +-
 .../example_openlineage_all_facets_dag.py          |  508 ++++
 ...mple_openlineage_custom_operator_failure_dag.py |   88 +
 ...e_openlineage_custom_operator_ol_methods_dag.py |  354 +++
 .../example_openlineage_defer_simple_dag.py        |    4 +-
 ...g.py => example_openlineage_edge_labels_dag.py} |   30 +-
 .../openlineage/example_openlineage_hitl_dag.py    |  135 +
 .../example_openlineage_manual_lineage_dag.py      |  255 ++
 ...lineage_schedule_cron_trigger_timetable_dag.py} |   13 +-
 ...ineage_schedule_delta_trigger_timetable_dag.py} |   16 +-
 ...chedule_multiple_cron_trigger_timetable_dag.py} |   14 +-
 ... example_openlineage_schedule_timedelta_dag.py} |   14 +-
 ...y => example_openlineage_trigger_failed_dag.py} |   28 +-
 .../system/openlineage/expected_events/__init__.py |   43 +-
 .../openlineage_all_facets_dag.json                |  842 ++++++
 .../openlineage_custom_operator_failure_dag.json   |  170 ++
 ...openlineage_custom_operator_ol_methods_dag.json |  434 ++++
 .../expected_events/openlineage_docs_file_dag.json |   24 +-
 .../openlineage_edge_labels_dag.json               |   72 +
 .../expected_events/openlineage_hitl_dag.json      |  353 +++
 .../openlineage_manual_lineage_dag.json            | 1498 +++++++++++
 ...penlineage_schedule_asset_or_time_dag__af3.json |   12 +-
 ...neage_schedule_cron_trigger_timetable_dag.json} |   18 +-
 ...eage_schedule_delta_trigger_timetable_dag.json} |   24 +-
 ...eage_schedule_list_complex_assets_dag__af3.json |  225 +-
 ...nlineage_schedule_multiple_assets_dag__af3.json |   12 +-
 ...hedule_multiple_cron_trigger_timetable_dag.json |   74 +
 ...> openlineage_schedule_timedelta_dag__af2.json} |   21 +-
 ...> openlineage_schedule_timedelta_dag__af3.json} |   24 +-
 .../openlineage_task_groups_dag.json               |    4 +-
 ...on => openlineage_trigger_dag__af3_3_plus.json} |    4 +-
 ...ineage_trigger_dag_deferrable__af3_3_plus.json} |    8 +-
 ...ag.json => openlineage_trigger_failed_dag.json} |   77 +-
 ...penlineage_trigger_failed_dag__af3_3_plus.json} |   81 +-
 .../openlineage_versioned_dag__af3.json            |   90 +-
 .../tests/system/openlineage/operator.py           |   94 +-
 providers/opensearch/README.rst                    |    6 +-
 providers/opensearch/docs/changelog.rst            |   11 +
 providers/opensearch/docs/index.rst                |    6 +-
 providers/opensearch/provider.yaml                 |    3 +-
 providers/opensearch/pyproject.toml                |    6 +-
 .../src/airflow/providers/opensearch/__init__.py   |    2 +-
 .../papermill/docs/.latest-doc-only-change.txt     |    2 +-
 providers/postgres/README.rst                      |    6 +-
 providers/postgres/docs/changelog.rst              |   16 +
 providers/postgres/docs/index.rst                  |    6 +-
 providers/postgres/docs/operators.rst              |    2 +-
 providers/postgres/provider.yaml                   |    3 +-
 providers/postgres/pyproject.toml                  |    6 +-
 .../src/airflow/providers/postgres/__init__.py     |    2 +-
 providers/redis/README.rst                         |    6 +-
 providers/redis/docs/changelog.rst                 |   11 +
 providers/redis/docs/index.rst                     |    6 +-
 providers/redis/provider.yaml                      |    3 +-
 providers/redis/pyproject.toml                     |    6 +-
 .../redis/src/airflow/providers/redis/__init__.py  |    2 +-
 providers/sftp/README.rst                          |    6 +-
 providers/sftp/docs/changelog.rst                  |   11 +
 providers/sftp/docs/index.rst                      |    6 +-
 providers/sftp/provider.yaml                       |    3 +-
 providers/sftp/pyproject.toml                      |    6 +-
 .../sftp/src/airflow/providers/sftp/__init__.py    |    2 +-
 providers/slack/README.rst                         |    6 +-
 providers/slack/docs/changelog.rst                 |   11 +
 providers/slack/docs/index.rst                     |    6 +-
 providers/slack/provider.yaml                      |    3 +-
 providers/slack/pyproject.toml                     |    6 +-
 .../slack/src/airflow/providers/slack/__init__.py  |    2 +-
 providers/smtp/docs/connections/smtp.rst           |    2 +-
 .../smtp/src/airflow/providers/smtp/hooks/smtp.py  |    8 +-
 providers/smtp/tests/unit/smtp/hooks/test_smtp.py  |   43 +-
 providers/snowflake/README.rst                     |    6 +-
 providers/snowflake/docs/changelog.rst             |   17 +
 providers/snowflake/docs/index.rst                 |    6 +-
 providers/snowflake/provider.yaml                  |    3 +-
 providers/snowflake/pyproject.toml                 |    6 +-
 .../src/airflow/providers/snowflake/__init__.py    |    2 +-
 providers/ssh/README.rst                           |    6 +-
 providers/ssh/docs/changelog.rst                   |   12 +
 providers/ssh/docs/index.rst                       |    6 +-
 providers/ssh/provider.yaml                        |    3 +-
 providers/ssh/pyproject.toml                       |    6 +-
 .../ssh/src/airflow/providers/ssh/__init__.py      |    2 +-
 providers/standard/README.rst                      |    6 +-
 providers/standard/docs/changelog.rst              |   19 +
 providers/standard/docs/index.rst                  |    6 +-
 providers/standard/provider.yaml                   |    3 +-
 providers/standard/pyproject.toml                  |    6 +-
 .../src/airflow/providers/standard/__init__.py     |    2 +-
 .../tests/unit/standard/operators/test_python.py   |  153 +-
 .../tests/unit/teradata/operators/test_bteq.py     |    5 -
 .../tests/unit/teradata/utils/test_bteq_util.py    |    5 -
 .../unit/teradata/utils/test_encryption_utils.py   |    5 -
 providers/weaviate/README.rst                      |    6 +-
 providers/weaviate/docs/changelog.rst              |   11 +
 providers/weaviate/docs/index.rst                  |    6 +-
 providers/weaviate/provider.yaml                   |    4 +-
 providers/weaviate/pyproject.toml                  |    6 +-
 .../src/airflow/providers/weaviate/__init__.py     |    2 +-
 pyproject.toml                                     |    9 +-
 reproducible_build.yaml                            |    4 +-
 scripts/ci/prek/check_imports_in_providers.py      |    2 +-
 scripts/ci/prek/known_airflow_exceptions.txt       |    4 +-
 scripts/ci/prek/ruff_format.py                     |    2 +-
 scripts/tools/setup_breeze                         |    2 +-
 .../tests/listeners/test_listener_manager.py       |   12 +-
 .../src/airflow_shared/logging/structlog.py        |   68 +-
 shared/logging/tests/logging/test_structlog.py     |   60 +-
 .../observability/metrics/metrics_template.yaml    |    6 -
 .../observability/traces/__init__.py               |   51 +-
 .../tests/observability/test_traces.py             |  143 ++
 shared/state/src/airflow_shared/state/__init__.py  |   15 +-
 task-sdk/dev/generate_task_sdk_models.py           |    2 +
 task-sdk/docs/api.rst                              |    1 +
 task-sdk/docs/resumable-job-mixin.rst              |   23 +-
 task-sdk/src/airflow/sdk/__init__.py               |    4 +-
 task-sdk/src/airflow/sdk/__init__.pyi              |    7 +-
 task-sdk/src/airflow/sdk/api/client.py             |    5 +-
 task-sdk/src/airflow/sdk/bases/decorator.py        |    7 +
 task-sdk/src/airflow/sdk/bases/hook.py             |   17 +
 .../src/airflow/sdk/bases/resumablejobmixin.py     |   33 +-
 task-sdk/src/airflow/sdk/bases/xcom.py             |  193 +-
 task-sdk/src/airflow/sdk/definitions/dag.py        |   24 +-
 .../airflow/sdk/definitions/decorators/__init__.py |   26 +-
 .../sdk/definitions/decorators/__init__.pyi        |    2 +
 .../src/airflow/sdk/definitions/mappedoperator.py  |    5 +-
 task-sdk/src/airflow/sdk/definitions/variable.py   |   12 +-
 task-sdk/src/airflow/sdk/definitions/xcom_arg.py   |    4 +-
 task-sdk/src/airflow/sdk/execution_time/comms.py   |    1 -
 task-sdk/src/airflow/sdk/execution_time/context.py |   30 +-
 .../src/airflow/sdk/execution_time/coordinator.py  |   29 +
 .../airflow/sdk/execution_time/schema/schema.json  |    5 -
 .../src/airflow/sdk/execution_time/supervisor.py   |   19 +-
 .../src/airflow/sdk/execution_time/task_runner.py  |  179 +-
 task-sdk/src/airflow/sdk/log.py                    |   23 +-
 task-sdk/src/airflow/sdk/types.py                  |    3 +
 task-sdk/tests/task_sdk/api/test_client.py         |   12 +-
 task-sdk/tests/task_sdk/bases/test_hook.py         |   30 +-
 .../tests/task_sdk/bases/test_resumablejobmixin.py |   63 +
 task-sdk/tests/task_sdk/bases/test_xcom.py         |  204 +-
 .../task_sdk/definitions/decorators/test_result.py |   69 +
 task-sdk/tests/task_sdk/definitions/test_dag.py    |   36 +-
 .../tests/task_sdk/definitions/test_variables.py   |   17 +-
 .../tests/task_sdk/execution_time/test_context.py  |   19 +-
 .../task_sdk/execution_time/test_context_cache.py  |   29 +
 .../task_sdk/execution_time/test_coordinator.py    |   79 +
 .../task_sdk/execution_time/test_supervisor.py     |   13 +-
 .../task_sdk/execution_time/test_task_runner.py    |   99 +-
 uv.lock                                            | 2712 ++++++++++----------
 555 files changed, 22998 insertions(+), 8776 deletions(-)
 create mode 100644 .agents/skills/airflow-java-sdk/SKILL.md
 create mode 100644 .agents/skills/airflow-new-sdk/SKILL.md
 create mode 100644 airflow-core/docs/authoring-and-scheduling/dag-result.rst
 delete mode 100644 airflow-core/newsfragments/67285.feature.rst
 delete mode 100644 airflow-core/newsfragments/68888.feature.rst
 copy 
providers/amazon/src/airflow/providers/amazon/aws/auth_manager/datamodels/login.py
 => airflow-core/src/airflow/api/client/__init__.py (82%)
 create mode 100644 airflow-core/src/airflow/api/client/local_client.py
 delete mode 100644 airflow-core/src/airflow/cli/api_client.py
 create mode 100644 
airflow-core/src/airflow/example_dags/example_task_state_store_mapped.py
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Dashboard/AlertContent.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Dashboard/AlertContent.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Dashboard/Dashboard.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Variables/ManageVariable/VariableForm.test.tsx
 create mode 100644 
airflow-core/tests/unit/api_fastapi/execution_api/test_token_scope_boundaries.py
 delete mode 100644 airflow-core/tests/unit/cli/test_api_client.py
 delete mode 100644 
airflow-e2e-tests/tests/airflow_e2e_tests/basic_tests/test_airflowctl_imports.py
 create mode 100644 
dev/breeze/doc/images/output_release-management_classify-provider-changes.svg
 create mode 100644 
dev/breeze/doc/images/output_release-management_classify-provider-changes.txt
 copy 
providers/smtp/src/airflow/providers/smtp/notifications/templates/email_subject.jinja2
 => devel-common/src/docs/sphinx_templates/suggest_change_button.html (62%)
 create mode 100644 devel-common/src/sphinx_exts/suggest_change_button.py
 create mode 100644 
devel-common/src/tests_common/test_utils/in_process_taskrun.py
 delete mode 100644 generated/provider_dependencies.json
 delete mode 100644 generated/provider_dependencies.json.sha256sum
 copy java-sdk/{processor => jpl}/build.gradle.kts (71%)
 create mode 100644 
java-sdk/jpl/src/main/kotlin/org/apache/airflow/sdk/jpl/AirflowSystemLoggerFinder.kt
 copy airflow-core/src/airflow/api_fastapi/auth/__init__.py => 
java-sdk/jpl/src/main/resources/META-INF/services/java.lang.System$LoggerFinder 
(93%)
 create mode 100644 
java-sdk/jpl/src/test/kotlin/org/apache/airflow/sdk/jpl/AirflowSystemLoggerTest.kt
 copy java-sdk/{processor => jul}/build.gradle.kts (69%)
 create mode 100644 
java-sdk/jul/src/main/kotlin/org/apache/airflow/sdk/jul/AirflowJulHandler.kt
 create mode 100644 
java-sdk/jul/src/test/kotlin/org/apache/airflow/sdk/jul/AirflowJulHandlerTest.kt
 copy java-sdk/{processor => log4j2}/build.gradle.kts (50%)
 create mode 100644 
java-sdk/log4j2/src/main/java/org/apache/airflow/sdk/log4j/AirflowLog4jAppender.java
 create mode 100644 
java-sdk/log4j2/src/test/kotlin/org/apache/airflow/sdk/log4j/AirflowLog4jAppenderTest.kt
 create mode 100644 
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/execution/LogTest.kt
 create mode 100644 
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/execution/NamespaceLevelsTest.kt
 copy airflow-core/src/airflow/ui/src/components/DagVersion.tsx => 
java-sdk/sdk/src/testFixtures/kotlin/org/apache/airflow/sdk/execution/LogCapture.kt
 (55%)
 create mode 100644 java-sdk/slf4j/build.gradle.kts
 copy airflow-core/src/airflow/api/common/__init__.py => 
java-sdk/slf4j/gradle.properties (97%)
 create mode 100644 
java-sdk/slf4j/src/main/kotlin/org/apache/airflow/sdk/slf4j/AirflowSlf4jProvider.kt
 copy airflow-core/src/airflow/api_fastapi/auth/__init__.py => 
java-sdk/slf4j/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider
 (94%)
 create mode 100644 
java-sdk/slf4j/src/test/kotlin/org/apache/airflow/sdk/slf4j/AirflowSlf4jLoggerTest.kt
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/durable/fingerprint.py
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/utils/tool_definition.py
 create mode 100644 
providers/common/ai/tests/unit/common/ai/durable/test_fingerprint.py
 create mode 100644 
providers/common/ai/tests/unit/common/ai/durable/test_replay_verification.py
 copy 
airflow-core/src/airflow/api_fastapi/auth/managers/simple/datamodels/login.py 
=> providers/common/ai/tests/unit/common/ai/utils/test_tool_definition.py (59%)
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_all_facets_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_custom_operator_failure_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_custom_operator_ol_methods_dag.py
 copy 
providers/openlineage/tests/system/openlineage/{example_openlineage_docs_file_dag.py
 => example_openlineage_edge_labels_dag.py} (52%)
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_hitl_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_manual_lineage_dag.py
 copy 
providers/openlineage/tests/system/openlineage/{example_openlineage_schedule_cron_dag.py
 => example_openlineage_schedule_cron_trigger_timetable_dag.py} (77%)
 copy 
providers/openlineage/tests/system/openlineage/{example_openlineage_schedule_list_multiple_assets_dag.py
 => example_openlineage_schedule_delta_trigger_timetable_dag.py} (77%)
 copy 
providers/openlineage/tests/system/openlineage/{example_openlineage_schedule_list_single_asset_dag.py
 => example_openlineage_schedule_multiple_cron_trigger_timetable_dag.py} (77%)
 copy 
providers/openlineage/tests/system/openlineage/{example_openlineage_schedule_cron_dag.py
 => example_openlineage_schedule_timedelta_dag.py} (80%)
 copy 
providers/openlineage/tests/system/openlineage/{example_openlineage_trigger_dag.py
 => example_openlineage_trigger_failed_dag.py} (72%)
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_all_facets_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_custom_operator_failure_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_custom_operator_ol_methods_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_edge_labels_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_hitl_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_manual_lineage_dag.json
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_schedule_cron_dag__af3.json
 => openlineage_schedule_cron_trigger_timetable_dag.json} (65%)
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_schedule_cron_dag__af2.json
 => openlineage_schedule_delta_trigger_timetable_dag.json} (55%)
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_schedule_multiple_cron_trigger_timetable_dag.json
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_schedule_cron_dag__af2.json
 => openlineage_schedule_timedelta_dag__af2.json} (57%)
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_schedule_cron_dag__af3.json
 => openlineage_schedule_timedelta_dag__af3.json} (57%)
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_trigger_dag.json
 => openlineage_trigger_dag__af3_3_plus.json} (99%)
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_trigger_dag_deferrable.json
 => openlineage_trigger_dag_deferrable__af3_3_plus.json} (99%)
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_trigger_dag.json
 => openlineage_trigger_failed_dag.json} (86%)
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_trigger_dag.json
 => openlineage_trigger_failed_dag__af3_3_plus.json} (86%)
 create mode 100644 
task-sdk/tests/task_sdk/definitions/decorators/test_result.py

Reply via email to