You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by gi...@apache.org on 2026/10/01 05:19:17 UTC
(airflow) branch dependabot/npm_and_yarn/ts-sdk/vitest-5.0.0 updated (e323228f656 -> 95b00d2ffa8)
This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch dependabot/npm_and_yarn/ts-sdk/vitest-5.0.0
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit e323228f656 Bump vitest from 4.1.7 to 5.0.0 in /ts-sdk
add 4b488e2bb01 Unify executor workload queues (#63491)
add 970851e2262 Remove real sleeps from slow provider unit tests (#73478)
add 6eee97f2747 Remove unused DagParsingStat (#72462)
add fc996cf6347 Add tests for string utility edge cases (#72251)
add 268ad8b156a Stop running duplicate virtualenv operator tests (#73500)
add d339d71a4bc Bump the auth-ui-package-updates group across 1 directory with 4 updates (#73486)
add afd6915a8ef Bump eslint-plugin-unicorn (#73490)
add 8cd3039c126 Drop stale OpenSearch Serverless entries from deferred hook configuration test (#73502)
add 0def984b047 Fix bulk endpoints returning 500 for a malformed action entry (#73453)
add 9ecb9929de9 Constrain the Teradata compute-cluster example Dag's user-settable Params (#72714)
add 3b29a4c3b3d Record TaskInstanceHistory when a task fails from a non-running state (#67372)
add df145d145e3 Add Reset Password button to Edit User view (#70243)
add 3a944127dd8 Add a Dag bundle detail page listing the files in the bundle (#73009)
add 65d4e7dd6a5 Stop core DB test jobs timing out when migration tests run (#73231)
add 57dc7a20077 Fix k8s tests doc formatting (#71913)
add aa625048a7a Speed up breeze integration startup by shortening the healthcheck interval (#73320)
add df4b1290bda Rename Google Stackdriver operators and hook to Cloud Monitoring (#73354)
add b1c534f2acf Make test_trigger_lifecycle deterministic instead of timing-based (#73397)
add 0ca6a088bfa Bump the github-actions-updates group across 1 directory with 4 updates (#73513)
add 89e7490b780 Add deferrable mode to InfluxDB 3 Operator (#71976)
add e7427b8fe01 Align zh-CN Provider terminology and plural conventions (#73369)
add 50523cd7b0c Add AthenaSparkOperator (#72081)
add 6b1436e3c4d Bump the uv-dependency-updates group across 1 directory with 6 updates (#73485)
add ad40139ca3b Fixing spec error in dag bundle api tests (#73515)
add 24b65d1733b Add ClassifierRetryPolicy and keep LLMRetryPolicy as the text-model policy it was (#73501)
add 7fe09dc57ce Add ChainRetryPolicy to compose retry policies in order (#73508)
add 3eabbb59586 Replace retired gemini-2.0-flash example model in common.ai Vertex docs (#73516)
add 83b30710faf Go SDK: replace BundleProvider with airflow.Bundle and TaskHandler (#73426)
add ddfc357e83d Use `os.posix_spawn` instead of fork+exec in the task-sdk supervisor (#73503)
add 90107b5081a Reorganize `common.ai` provider docs into topic-based navigation (#73523)
add 4aeb647a51a Fix `common.ai` Anthropic models failing against anthropic 1.x in the CI image (#73511)
add b8be9e54bee Speed up documentation build and spellcheck in CI (#73477)
add 306cab626ea Rename the common.ai retry policies page to cover both policies (#73526)
add ea03b2921c3 Make Pub/Sub return_immediately configurable, deprecate its default (#73504)
add b65c145dcb3 Skip prek cache re-upload on cache hit and drop skill-eval envs from CI cache (#73527)
add 018169c5489 Reject durable replay and HITL review when an agent holds a SandboxToolset (#73529)
add c6e19e63a75 Fix supervisor schema snapshot so go model generation works (#73531)
add 2111287e087 Allow keeping PostgresHook SQLAlchemy engines on psycopg2 (#72000)
add 55b8e9a47b9 Add an address-layer egress allowlist for hosted sandboxes (#73534)
add 1e87d0f02fd Speed up the templated-fields static check by parsing each base class once (#73540)
add f2ef828d522 Skip Gradle in the Java SDK schema sync hook when the schema is already in sync (#73539)
add af3ba4c3a72 Add use-case pages to the common.ai provider docs (#73542)
add 81c2eab5595 Update Go SDK docs for the airflow.Bundle authoring surface (#73528)
add 002e4d0866d Nest the `common.ai` docs sidebar and lead with features and providers (#73548)
add 3e5b235f572 UI: Show every scheduler, triggerer, and Dag processor in Health (#73355)
add 6036de15b5b API: Fix prefix pattern search returning rows without the prefix (#73520)
add 0f657a61387 Bump the fab-ui-package-updates group across 1 directory with 5 updates (#73467)
add b5f3d7933e5 Fix square corner on fully filled dashboard History bars (#73543)
add d05971eacf9 Fix grid pagination buttons hidden off the right edge (#73541)
add 9fbec0321e5 Require a request body on the asset materialize endpoint (#73328)
add 883b5cc6c05 Log the success message when a deferred EKS cluster deletion completes (#73455)
add b30cd9b61be Allow template-field copies into StartTriggerArgs in operator __init__ (#73040)
add 21b1dfc373a Template every connection id accepted by provider operators (#73286)
add 890c20b6ecb Fix Cloud Monitoring list operators with explicit output formats (#73434)
add 41480acd26d Mask the SQLite database path in airflow info --anonymize (#73179)
add ab2677888ce Lead the common.ai docs with a runnable quick start and a verifiable result (#73556)
add 9a1273c52b8 Normalize BigQuery DTS sensor expected statuses after rendering (#70528)
add b9172bf1003 Stop breeze rewriting uv.lock when forcing lowest dependencies (#73305)
add 568aef293bf Stop UI and ts-sdk lint hooks from rewriting the global pnpm config (#73538)
add 63b615b2525 Scope plugin macros to their team in multi-team mode (#73224)
add 22f01cd066a Add ChainRetryPolicy to common.compat for Airflow 3.3 (#73553)
add 36b09ee2ee8 Bump the fab-ui-package-updates group across 1 directory with 6 updates (#73566)
add b68ea7890b9 Fix airflow db clean IntegrityError when a dag_version is referenced by a task_instance (#66350)
add 6a5aab82614 Fix example_dms Dag parsing on Airflow 2 (#73563)
add b5547c4babc Fix airflow plugins and dags pause printing prose with --output json (#73270)
add 6f7e635d3d9 Include task_reschedule in task_instance dependent tables for db clean (#71990)
add b9e46d64ee5 Add type-checking guards to DeadlineAlert init (#73294)
add 5aee0fb4ad5 Fix timedelta serde to accept int payloads (#72326)
add d8f8270a39d Keep sync-perm going when a Dag has bad access_control (#71798)
add 1e1fcd22406 Reject serde-reserved keys in HITL params_input (#71054)
add 69b72e39c05 Multi-Team: Add teams inspect CLI command to display team resources (#72036)
add 6e48e0fb2ba Deduplicate the Dag run lookup in airflowctl dag and task commands (#70904)
add 23340ff97e2 Reject stale provider test exemptions (#71985)
add f0e82be3163 Add json line support for DocumentLoaderOperator (#72246)
add cc842490b31 Fix airflow db check reporting one fewer retry than it will make (#72708)
add d4d68b5ceee Fix breeze ignoring --providers-constraints-mode (#73171)
add 8303d28ce93 Run migration tests once per backend instead of in every core test shard (#73185)
add f60d8ea1936 Fix wrong PR links shown while classifying provider changes (#73206)
add 6ae7be58a13 Reject non-string prompts in LLMFileAnalysisOperator before reading files (#71734)
add 150ae660a1e Warn when connections/variables list output may be incomplete (#72484)
add f081ffb0f38 CLI: Add --limit flag to airflow dags list-runs (#71729)
add 6ae2133176d Add dry-run mode to teams sync (#72494)
add 90972c41dfe Prevent KubernetesExecutor from launching stale workloads (#69762)
add b6538c32c8b TS SDK: declare task dependencies by calling tasks (#73435)
add 9287e0c1d47 Move CloudComposerExternalTaskSensor task-id wrapping out of __init__ (#73103)
add e5eda218ef4 Validate Cloud Function deploy body after template rendering (#70531)
add 04e285b1eac Cancel the agent run when a common.ai LLM or agent task is killed (#73495)
add 7c47cc44383 Validate GCP storage transfer job body after template rendering (#70529)
add 21b83f4fae4 Reject invalid Go SDK task handler registrations up front (#73549)
add 8b4e4df8056 Keep the URL scheme out of path masking in airflow info --anonymize (#73599)
add 88c53eddf01 Fix stale and duplicated content in the `common.ai` provider docs (#73567)
add 8a8bd529a9d Add durable/deferrable filters to the Airflow Registry (#70298)
add f10a3de1136 Add a guide to developing and testing Common AI tasks locally (#73602)
add 05f8dc12a34 Document sandbox enforcement, teardown and cost-limit scope for agents (#73589)
add 63d5d50b034 Rewrite the `common.sql` connections guide and fix the dialect extra name (#73605)
add 38168313b24 Fix prefix handling in Amazon transfer operators (#73269)
add 1f03df992c0 Support multi-column sort in the Dags list table (#72558)
add af6b5858657 Keep Grid scroll position when opening a task. (#73123)
add 88083575d88 Widen revoked_token.jti to store external-issuer token identifiers (#73562)
add 7fa8dd47394 Keep message queue provider doc markers out of class docstrings (#73588)
add 43f0cfd4830 Document that Go SDK registration closes at Serve (#73614)
add b23ce7e9f5f Identity-only DAG discovery and byte-importing (#73118)
add ecfa20322b8 [main] Upgrade important CI environment (#73308)
add a83394c6280 UI: Add a default preference for expanded task groups (#73429)
add 9fd0d72bedb Share subprocess request dispatch without changing message support (#73290)
add f77f7e4a09e Make the BQ hook importable when google libs are mocked during doc builds (#73615)
add 32df1795022 Stop flit from downloading and verifying trove classifiers on every provider (#73612)
add 724c022bf3f Refactor _executable_task_instances_to_queued to make logic more readable (#66878)
add 958737c6128 Rename Google Stackdriver task log handler to Cloud Logging (#73575)
add 7a9de0307f9 UI: Add toggle to show or hide log levels in task logs (#72363)
add 172a3e6b8cb Revert "[main] Upgrade important CI environment (#73308)" (#73621)
add b171e3eddc1 Drop duplicate build_raw copy from CloudBuildCreateBuildOperator (#73592)
add 150d0a9b666 UI: Keep Dag version indicator below sticky task names in grid (#73572)
add 675d3e31675 Cap azure-ai-projects below 2.5 so the CI image passes pip check (#73627)
add 938a9d1f06f Add reparse button to the Dag import errors modal (#72896)
add 5c7f0a42ac4 Add fab-oauth meta-package extra (#73565)
add df584691052 Fix Amazon system tests creating connections on Airflow 2 (#73571)
add 5d559174c34 UI: Fix raw translation key showing as a Backfills column header (#72836)
add 3eec18d5bc3 Clear all task instances in a task group, not just the first page (#73547)
add 607ae04d0bc Document favorite_dag's 409 and return a readable conflict message (#73411)
add 0de9f3f2b57 Fix typo in customize-ui theme screencap filenames (#73632)
add b131c8a1c49 Bump eslint from 10.10.0 to 10.11.0 in FAB provider (#73630)
add 2e4a4b21e02 Invalidate cached Microsoft Graph request adapter on 403 Forbidden (#73601)
add 7dfa25664a2 Fix SFTPHookAsync letting a connection's known_hosts extra override an explicit constructor path (#73593)
add e2372bbf0aa Read the legacy extra__google_cloud_platform__ prefix for GCS credentials (#73613)
add 06377eb38e5 Add serialized Dag version diff engine (#69864)
add 9290c2662cf Add missing tests for sftp exceptions (#72456)
add 0def1f305bf Keep pooled SFTP connection on application-level SFTP errors (#73288)
add b6acedbab23 Add SRV DNS record support to HTTP Operator (#70960)
add 61340ea9a73 Separate task outcomes from report delivery in TaskSDK Supervisor (#73249)
add 39a4fc1587d Swap more blue->brand colors (#73637)
add ffa19c31a67 UI: Fix copied SQL from Rendered Templates breaking at every token (#73633)
add 5ddea25c9c6 Link calendar cell to filter dagruns by the respective start_date and state. (#73611)
add ababf5cea5b Fix Breeze ownership fix-up chowning all sources under rootless Docker (#73606)
add 389b4e1751f Allow templated connection IDs in agent toolsets (#73578)
add eebf253b72c Skip `on_kill()` for triggers reassigned to another triggerer (#73454)
add 74d1a3b0bb3 Stop docs builds from importing example Dags to highlight them (#73604)
add cfcca0dba46 Export StoreScope from airflow.sdk as public interface (#73600)
add ea1f4723e4f TS SDK: generate Dag and task options from the serialization schema (#73436)
add 9216bd8c464 Skip the CI disk cleanup when the runner already has room (#73635)
add 035af46b166 Remove mention of CeleryKubernetesExecutor from KubernetesExecutor doc (#73624)
add 92bf48035a5 Add Delivery Hero to the list of companies using Apache Airflow (#73634)
add a99354726ce Prepare providers release 2026-09-22 (#73506)
add f14bed9b852 Persist `retry_reason` not just for retries but even when a task fails (#73027)
add 478272a4cf8 Bump flit_core in the provider pyproject template on CI upgrades (#73649)
add 61d99c0374e Fix mypy error in common.ai decision helper with pydantic-ai 2.46 (#73652)
add 34e7129cda4 Add staging-to-main sync step to the release docs process (#73653)
add cb9765fa4ee Don't retry task heartbeats according to ``[workers] execution_api_retries` (#73244)
add 7722b1b2e03 Stop `DataFusionToolset` from materializing full results for a capped query (#73384)
add 0aa1b9a3330 Add OIDC worker token verification to Edge3 (#72262)
add 3deb27e2f02 Remove the task_map table, folding its length into xcom.mapped_length (#73005)
add 7bf71cd3eb8 Raise curated dependency floors in ci upgrade runs (#73657)
add 56bfaf70fe6 Require a human-written summary in agent-drafted PR descriptions (#73660)
add e4b2e49ac13 Make the dag version diff recursion test independent of Python version (#73664)
add 06bd2901486 Regenerate stale breeze images and TS SDK supervisor types (#73663)
add 654c5e171d8 Make the SRV test fixture reset dns package attributes (#73659)
add 8021e24982e Revert "Require a human-written summary in agent-drafted PR descriptions (#73…" (#73669)
add 1ac02ade890 Add validate trigger events in dbt cloud deferrable tasks (#69739)
add 02dff07c1ff Allow a Job to be associated with several teams (#73561)
add fb959c70741 Skip Azure Blob folder-marker keys in AzureBlobStorageToS3Operator (#72892)
add dbbc8163108 Support unexposed CreateWorkflow and UpdateWorkflow inputs in MWAA Serverless operators (#73408)
add 0571e520c26 Use the operator's AWS settings for deferred Neptune, MWAA, SSM tasks (#72098)
add 8851f2f05d1 Fix unreachable success log in EksDeleteClusterOperator.execute_complete (#73109)
add 9050312ef6e Fix example_neptune_analytics system test in deferrable mode (#73685)
add 14cf70ed176 Helm: Allow hostAliases and log groomer lifecycle hooks on the Dag processor (#73159)
add e1f00413250 Delay retry reporting until task finalization completes (#73253)
add 4c4e1fa9edb fix incorrect comment for kerberos ccache in workes.kubernetes (#73673)
add 0142b0443a2 Allow slashes in connection IDs fetched via the Execution API (#69228)
add a0f9f7ce95a Widen the registry durable tooltip for non external job operators (#73609)
add 70bc47c859d Explain how to rebuild provider packages with the release manager's flit (#73699)
add 9876a4b469d Java SDK: Honor TaskFlow arg bindings sent by the supervisor (#71188)
add a99f6fb21f7 Go SDK: follow-up fix for rejecting invalid task handler registrations (#73643)
add d8f4a5727a2 Add magpie release-management with a contributor check for provider RCs (#73697)
add c1e98dc0c96 Add dedicated InfluxDB 3 sensor (#73522)
add 50c9249623e Add troubleshooting guidance for task state mismatches (#72492)
add 8dff03038ae Add http_conn_id to HttpOperator and HttpSensor template_fields (#72582)
add 4b0cbb1c944 Keep the AWS no-credentials tests hermetic on EC2 and developer hosts (#73707)
add 3a5fe2f521a Honor string passive extra in FTPHook and FTPSHook (#73694)
add 847183dc9f9 Fix HttpAsyncHook crash on stream/cert/trust_env connection extras (#71524)
add 122e24cb57a Mark the IBM MQ and IBM Db2 providers as ready for release (#73708)
add 0cf78267ad9 Raise DeadlockImminentError for sync comms calls from a paused event loop thread (#73521)
add 07197c29a2f Fix Elasticsearch and OpenSearch response wrapper bugs (#73725)
add f0ec1837416 Bump eslint-plugin-unicorn (#73733)
add a3449527205 Bump the core-ui-package-updates group across 1 directory with 16 updates (#73497)
add 9746f41be1d Bump the ui-plugin-template-package-updates group across 1 directory with 15 updates (#73493)
add 28cab90ccbb Bump json-schema-to-typescript from 15.0.4 to 16.0.0 in /ts-sdk (#73484)
add 298756f22c3 Cap open pull requests from non-committers at 5 (#73469)
add dd2c7fd26e7 Keep the table sort in the URL when it matches the saved sort (#73622)
add c4a0a88a8b3 Fix boolean value of start date used in url start_date_gte filter. (#73676)
add 1a51ed1b1f5 Account for the open pull request limit in the PR triage process (#73742)
add a11da87a119 Speed up zip Dag discovery and keep member file names (#73727)
add 7e5c580cd68 Temporarily remove the open pull request creation cap (#73754)
add 77a1953cd41 Java SDK: Draw a Java-authored Dag's edges with before and after (#73594)
add f863982c07c Restore the open pull request creation cap (#73758)
add 1219b1a8541 Eager-load DagCode in the Dag source API (#73752)
add 005fd649bdf Add dedicated tests for cncf.kubernetes secret and k8s_model modules (#73751)
add 909ca179bcc Update Magpie floor to 0.9.0 and adopt contributor-growth skills (#73755)
add 05519cd774c Keep task attempt UUIDs and try numbers aligned (#73554)
add 18fe1c60986 UI: Add bulk pause, drain and unpause actions to the Dags list (#73055)
add 38ea385ce71 i18n(ko): Add missing translations (Sep25) (#73757)
add 3e47fc39968 Catch stale entries in the Java SDK dependency trust list (#71869)
add 7c597e2830b Speed up the event logs API by loading only display names (#73021)
add 1d916545b2b Update Magpie floor to 0.9.0.dev202609262258 (#73765)
add e1cd364286c Update README quickstart and stable version table to Airflow 3.3.2 (#73770)
add a72b73576fb Drop stale entries from the Java SDK dependency trust list (#73792)
add a3abc237355 Check admin-only views against a dedicated Keycloak resource in multi-team mode (#73696)
add 22f6bb06664 Stop Keycloak middleware from reissuing a JWT revoked during the request (#73695)
add 22ebb0943f7 [main] Upgrade important CI environment (#73629)
add 3107af07cd1 Use POSIX-compliant tail to extract token line in EKS command (#73690)
add 23c6e77067f Fix provider.yaml doc URL check with several suspended providers (#73782)
add f2fae8c737a Fix flaky test_trigger_log in triggerer job tests (#72919)
add a55f0a1af04 Add GitSync sidecar upgrade warning to Helm chart docs (#73814)
add 5bc738efafe Add tests for the Google Cloud Tasks links (#72846)
add ebe3bddae79 Keep README stable Airflow version pins in sync with releases (#73786)
add 46823e47aee Correct the meaning of _arg_bindings in the serialization schema (#73644)
add f49bce025a8 Optimize UI and Playwright dependency caching (#73183)
add acaa1cba930 Republish repaired prek caches and keep unrelated host caches (#73182)
add dff97f0908a Added Louisa AI to the list of companies using Apache Airflow (#73665)
add 28e7c89c363 fix k8s download_schemas_for_version for hpa (#73821)
add 23bcbe6c99a Regenerate provider requirement tables in breeze ci upgrade (#73802)
add 2827a13dc4f Check ui-field-behaviour drift between hooks and provider.yaml (#73801)
add 30d0d7bac4a Adjust warnings, import errors, and Dag source models for sdk/importers (#72474)
add f242c8e0513 Skip CI duration alerts when the newest run is stale (#73831)
add 3634bc89d04 Discover a bundle's Dag definitions through the importer registry (#73728)
add 7eac9ac7c1b Add connections and agent-security entries to the common.ai sidebar (#73837)
add 58af2f521bb Close the ssh askpass helper in GitHook before ssh executes it (#73427)
add b86fa49a15d Optimize CI disk cleanup (#73184)
add 5fbe8dbb433 Clarify DateTimeSensorAsync changelog entry (#73833)
add 873bd644b51 Let a person approve an agent's tool calls before they run (#73586)
add 66607ac5483 AIP-82: Add KinesisMessageQueueProvider (#73509)
add b357ae24709 Bump the auth-ui-package-updates group across 1 directory with 8 updates (#73740)
add 455d9581367 UI: Complete Polish translations and unify slot/deferred wording (#72623)
add 5428b3b995b Secrets backends order updated (#70681)
add 232255e7fa7 Go SDK: add airflow.Dag and dag.Task, the native Dag constructors (#73767)
add 0566d6cd5ef Add OpenSandbox backend for sandbox tools (#71676)
add 93978958ae1 Fix example_neptune_analytics by pinning an explicit region (#73851)
add d6c4c71979e Bump prettier (#73857)
add c8ca02e4158 Update changelog to clarify new LLMBranchOperator "branches" feature (#73850)
add ad3e67fccd2 Add Modal provider with `ModalHook` and connection type (#73418)
add ce614baf9b0 Add Strands Agents support for `common.ai` toolsets (#73587)
add dbac03d87dd Fix KubernetesExecutor not queuing tasks on Airflow 3.0.x (#73764)
add b3bcb388742 Recognize grouped PR references in provider changelog tooling (#73855)
add ae1e8385060 Let the sandbox toolset attach to a sandbox another task provisioned (#73559)
add c1b878ad22c Exclude SQLAlchemy 2.1.0 (#73865)
add 10221c300eb Read the AWS task logs once more after the fetcher is stopped (#73211)
add 84f75158120 Require `common.sql` 2.2.0 for common.ai's SQL extras (#73867)
add 3f60fa9e2c7 Fix Firefox and WebKit UI e2e runs failing at login (#73872)
add ac88accf4ed Add bundle_name tag to missing dag processor metrics (#73717)
add 7afece8efb0 Update providers metadata 2026-09-29 (#73884)
add 4b6606543fd Distinguish OpenAI batch timeout and cancellation in deferrable tasks (#72149)
add 8b3d4d315fa Surface the retry policy decision on task instances page (#73030)
add bc28bb0804c Go SDK: Fix the mixed language task handler binding semantic (#73648)
add 9ebc2644741 Revert "Secrets backends order updated (#70681)" (#73891)
add 4e23910701b Go SDK: check Go naming conventions with staticcheck (#73874)
add 0768924a0cd Automatically isolate `breeze testing` for each git worktree in a totally isolated project. (#73836)
add 3e8318969e1 Add ADR for Lang SDK Dag and mixed-language Task processing flow (#71929)
add e8d43932077 Add ADR for supporting Dynamic Dag Generation across Language SDKs (#73518)
add 8d815efdbc3 Own the BaseAsyncOperator event loop through asyncio.Runner (#73560)
add 647add72afe Mark experimental `common.ai` features ahead of 1.0 (#73896)
add 5eba7439d76 Make cron timetables hashable (#73859)
add d776f003b71 UI: Add team column and filter to the jobs list (#73295)
add d0b8476825d Set `SameSite` on the fab auth manager session cookie (#73894)
add 6b90003fe27 Document override semantics for EcsRunTaskOperator (#73860)
add a3555c74cfc TS SDK: default a task id to the handler's name (#73437)
add a65a3ddf8be Fix Postgres data volume path in Breeze (#73862)
add 85321901f10 Add EmrServerlessStartSessionOperator to Amazon provider (#70763)
add 9198acb15e8 UI: Add team filter to Human-in-the-loop task instances listing (#73726)
add 836a5565c58 Scope plugin scheduling classes to their team in multi-team mode (#73569)
add cc19675d24f Add DuckDB support to the Amazon provider (#73301)
add 029cdf8f6cc Return an approved agent answer as `output_type` after human review (#73904)
add 3c76a47f65c Remove accidentally adopted Magpie contributor-growth plugin (#73927)
add 73b07c5aedb Name the tools a durable agent retry will run again (#73873)
add 5799660c4d4 TS SDK: draw order-only edges with before and after (#73438)
add a8a62573f54 TS SDK: embed one source region per native Dag file (#73723)
add bfa2fe02fc1 Account for AgentOperator spend on failed runs and across retries (#73706)
add 023f859e5a6 Mask secrets in tool results before they reach the model (#73897)
add 2b806f949b0 Rework common.ai Strands support into a plugin and add Google ADK (#73898)
add e46d1938619 Add `ObjectStorageToolset` for reading files on object storage (#73899)
add 35507e99a6e Let HookToolset pin arguments the model must not choose (#73900)
add 40ed903b6d6 Count and trace tool calls made by native agent frameworks (#73901)
add 2eb11c14b85 Document running your own Pydantic AI agent, and sandboxes in other frameworks (#73902)
add d4ba567a390 Tell the model how many rows a Parquet or Avro file holds (#73925)
add 21bbf2f40a2 Java SDK: Generate Dag and task configuration from the serialization schema (#73595)
add 76bf88a4877 API: Translate domain ValueError in Task State Store route (#73753)
add 1a67bf46b55 Support DagBundle based deployment for Coordinator (#70805)
add 53ca2a427ba TS SDK: add task groups to the native Dag surface (#73439)
add 5e785acfb3b Discard the task state values for a task instance when it is cleared (#72100)
add 7938c0dbb65 Make `execute_tool` the public method `AirflowToolset` subclasses implement (#73938)
add 6cd2f6f36d9 Remove migration tests for migrations that have already landed. (#73953)
add 5136c6c41bf Use plain ifs to normalize configured artifact roots (#73944)
add e15b3a66137 Retry S3Hook.delete_bucket when a late write leaves bucket non-empty (#73930)
add acd42922f3d Filter jobs API is_alive in SQL so pagination stays correct (#73684)
add 508301ab263 Add ADR for per-Dag source in the Lang-SDK bundle artifact (#73948)
add 91423baf366 Fix breeze down crashing when a start-airflow container is running (#73955)
add 8e36d6d6efd Show whether a calendar day's run was a backfill (#72782)
add 6317c63ae16 Go SDK: generate DagSpec and TaskSpec from the serialization schema (#73936)
add f306f1848f6 Refresh HITL review details on task clear (#73235)
add 4fd2c9aabf2 Mark lineage hashes as non-security (#70999)
add f7a27633741 Fix typo in apache-airflow-providers-fab error message (#73956)
add 8d4ab8a94db Keep OpenAPI error responses in sync with the statuses routes raise (#71647)
add 0b6c38502ab Add runtime DagRun note updates (#69403)
add ba89738639c Fix short-circuit not skipping already expanded mapped tasks (#73960)
add 16f974f6a35 Run the `common.ai` agent framework adapter tests in CI (#73912)
add e364ee76483 Keep agent framework spans when worker tracing is off (#73903)
add 2e803e58997 Add key-pair JWT authentication to Snowflake Cortex Agent hook (#73815)
add e92147c12aa UI: Add a time-window scope to the Dags list run state filter (#70470)
add 63a5966473b Check PyPI history before a new provider's first release (#73887)
add ede78e095b6 Add embedding kwargs to common AI hooks and operators (#72002)
add 64943ba6dbb Fix `run_duration` calculation in airflow dags test by decoupling start_date (#68837)
add 9e67831f2bb Allow filtering the Dag runs list by Dag tags (#70861)
add e22c9d02b2e Add Has Events filter to Assets search (#72460)
add f31b572df18 Fix airflowctl commands crashing instead of printing their result (#72675)
add 1559dae90ab UI: Use TeamName component for all team name displays (#73910)
add 489316fbc72 Migrate execution API reads to async sessions (#73403)
add a8e95debbc6 Fix flaky AgentOperator durable usage budget tests (#73996)
add e33e45fe67a Add `AssetAndTimeSchedule` timetable (#58543)
add a91216d5ea9 TS SDK: serialize a native Dag to Dag JSON (#73441)
add 95b00d2ffa8 Bump vitest from 4.1.7 to 5.0.1 in /ts-sdk
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 (e323228f656)
\
N -- N -- N refs/heads/dependabot/npm_and_yarn/ts-sdk/vitest-5.0.0 (95b00d2ffa8)
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:
.../skills/airflow-translations/locales/zh-CN.md | 17 +-
.apache-magpie-overrides/issue-tracker-config.md | 166 +
.apache-magpie-overrides/pmc-roster.md | 129 +
.../pr-management-code-review-criteria.md | 82 +
.apache-magpie-overrides/pr-management-config.md | 25 +
.../pr-management-quick-merge-config.md | 166 +
.apache-magpie-overrides/project.md | 2 +
.apache-magpie-overrides/reassess-pool-defaults.md | 201 +
.apache-magpie-overrides/release-build.md | 103 +
.../release-management-config.md | 100 +
.apache-magpie-overrides/release-trains.md | 273 ++
.apache-magpie-overrides/release-verify-rc.md | 116 +
.apache-magpie-overrides/reproducer-conventions.md | 166 +
.apache-magpie-overrides/runtime-invocation.md | 183 +
.apache-magpie.lock | 3 +-
.asf.yaml | 5 +
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 1 +
.github/actions/install-prek/action.yml | 153 +-
.../actions/prepare_breeze_and_image/action.yml | 19 +-
.github/boring-cyborg.yml | 3 +
.github/workflows/agent-framework-tests.yml | 89 +
.github/workflows/basic-tests.yml | 41 +-
.github/workflows/ci-amd.yml | 20 +
.github/workflows/ci-arm.yml | 20 +
.github/workflows/ci-image-checks.yml | 2 +-
.github/workflows/codeql-analysis.yml | 6 +-
.github/workflows/publish-docs-to-s3.yml | 2 +-
.github/workflows/registry-backfill.yml | 4 +-
.github/workflows/registry-build.yml | 2 +-
.github/workflows/run-unit-tests.yml | 9 +-
.github/workflows/ui-e2e-tests.yml | 21 +-
.pre-commit-config.yaml | 95 +-
AGENTS.md | 4 +
Dockerfile | 2 +-
Dockerfile.ci | 4 +-
INTHEWILD.md | 2 +
README.md | 20 +-
airflow-core/.pre-commit-config.yaml | 6 +
.../0007-taskflow-across-language-boundary.md | 42 +
.../adr/lang-sdk/0008-control-flow-constructs.md | 2 +-
.../0009-provider-operators-as-generated-dsl.md | 4 +-
.../adr/lang-sdk/0010-native-dag-processing.md | 212 +
.../lang-sdk/0011-mixed-language-dag-processing.md | 245 ++
.../adr/lang-sdk/0012-lang-sdk-parse-protocol.md | 233 +
.../0013-persisted-task-handler-bindings.md | 593 +++
.../0014-bundle-metadata-and-cache-digest.md | 122 +
.../0015-per-dag-source-in-bundle-artifact.md | 127 +
airflow-core/adr/lang-sdk/README.md | 6 +
.../logging-monitoring/check-health.rst | 4 +-
.../task-and-asset-state-store.rst | 6 +-
.../authoring-and-scheduling/asset-scheduling.rst | 31 +-
.../authoring-and-scheduling/language-sdks/go.rst | 218 +-
.../language-sdks/java.rst | 329 +-
.../language-sdks/typescript.rst | 168 +-
.../docs/authoring-and-scheduling/timetable.rst | 25 +-
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/core-concepts/dag-run.rst | 11 +-
.../docs/core-concepts/resumable-tasks.rst | 75 +-
.../docs/core-concepts/task-state-store.rst | 6 +-
airflow-core/docs/core-concepts/tasks.rst | 36 +-
airflow-core/docs/extra-packages-ref.rst | 4 +
airflow-core/docs/howto/custom-operator.rst | 34 +
airflow-core/docs/howto/customize-ui.rst | 4 +-
...g => example_theme_configuration_dark_mode.png} | Bin
... => example_theme_configuration_light_mode.png} | Bin
airflow-core/docs/migrations-ref.rst | 19 +-
airflow-core/docs/public-airflow-interface.rst | 5 +-
airflow-core/docs/security/api_permissions_ref.rst | 12 +
airflow-core/docs/troubleshooting.rst | 82 +-
airflow-core/docs/tutorial/hitl.rst | 6 +
airflow-core/newsfragments/58543.feature.rst | 1 +
airflow-core/newsfragments/63491.significant.rst | 60 +
airflow-core/newsfragments/66350.bugfix.rst | 1 +
airflow-core/newsfragments/67372.bugfix.rst | 1 +
airflow-core/newsfragments/71729.improvement.rst | 1 +
airflow-core/newsfragments/71990.bugfix.rst | 1 +
airflow-core/newsfragments/72036.feature.rst | 1 +
airflow-core/newsfragments/72100.significant.rst | 59 +
airflow-core/newsfragments/72407.significant.rst | 5 +-
airflow-core/newsfragments/72494.feature.rst | 1 +
airflow-core/newsfragments/72896.significant.rst | 16 +
airflow-core/newsfragments/73244.significant.rst | 22 +
airflow-core/newsfragments/73294.significant.rst | 14 +
airflow-core/newsfragments/73328.significant.rst | 6 +
airflow-core/newsfragments/73554.significant.rst | 24 +
airflow-core/pyproject.toml | 6 +-
.../src/airflow/api/common/airflow_health.py | 10 +-
airflow-core/src/airflow/api/common/delete_dag.py | 7 +-
.../auth/managers/simple/ui/package.json | 22 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 574 ++-
.../src/airflow/api_fastapi/auth/tokens.py | 3 +-
.../api_fastapi/common/parameters/__init__.py | 7 +
.../airflow/api_fastapi/common/parameters/asset.py | 23 +
.../airflow/api_fastapi/common/parameters/dag.py | 46 +
.../api_fastapi/common/parameters/dag_run.py | 35 +-
.../airflow/api_fastapi/common/parameters/job.py | 50 +
.../airflow/api_fastapi/common/parameters/misc.py | 43 +
.../api_fastapi/common/parameters/search.py | 44 +-
.../api_fastapi/core_api/datamodels/common.py | 69 +-
.../api_fastapi/core_api/datamodels/dag_bundles.py | 38 +
.../api_fastapi/core_api/datamodels/dag_sources.py | 1 +
.../api_fastapi/core_api/datamodels/dag_warning.py | 4 +-
.../api_fastapi/core_api/datamodels/dags.py | 6 +
.../api_fastapi/core_api/datamodels/hitl.py | 16 +
.../core_api/datamodels/import_error.py | 12 +-
.../airflow/api_fastapi/core_api/datamodels/job.py | 2 +-
.../api_fastapi/core_api/datamodels/monitor.py | 2 +-
.../core_api/datamodels/task_instance_history.py | 19 +-
.../core_api/datamodels/task_instances.py | 31 +-
.../api_fastapi/core_api/datamodels/ui/calendar.py | 1 +
.../api_fastapi/core_api/datamodels/xcom.py | 41 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 65 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 590 ++-
.../api_fastapi/core_api/routes/public/assets.py | 14 +-
.../core_api/routes/public/connections.py | 6 +-
.../core_api/routes/public/dag_bundles.py | 254 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 6 +-
.../core_api/routes/public/dag_sources.py | 3 +-
.../core_api/routes/public/dag_warning.py | 6 +-
.../api_fastapi/core_api/routes/public/dags.py | 41 +-
.../core_api/routes/public/event_logs.py | 31 +-
.../api_fastapi/core_api/routes/public/hitl.py | 21 +-
.../core_api/routes/public/import_error.py | 2 +
.../api_fastapi/core_api/routes/public/job.py | 10 +-
.../api_fastapi/core_api/routes/public/log.py | 2 +-
.../core_api/routes/public/task_instances.py | 24 +-
.../core_api/routes/public/task_state_store.py | 7 +-
.../core_api/routes/public/variables.py | 2 +-
.../api_fastapi/core_api/routes/public/xcom.py | 2 +
.../api_fastapi/core_api/routes/ui/assets.py | 5 +
.../core_api/routes/ui/partitioned_dag_runs.py | 1 +
.../api_fastapi/core_api/routes/ui/teams.py | 2 +
.../src/airflow/api_fastapi/core_api/security.py | 63 +-
.../core_api/services/public/dag_run.py | 17 +-
.../api_fastapi/core_api/services/public/dags.py | 96 +
.../core_api/services/public/task_instances.py | 59 +-
.../api_fastapi/core_api/services/ui/calendar.py | 10 +-
.../api_fastapi/core_api/services/ui/grid.py | 5 +-
.../execution_api/datamodels/taskinstance.py | 25 +-
.../execution_api/routes/asset_events.py | 8 +-
.../api_fastapi/execution_api/routes/assets.py | 14 +-
.../execution_api/routes/connections.py | 2 +-
.../api_fastapi/execution_api/routes/dag_runs.py | 18 +-
.../api_fastapi/execution_api/routes/hitl.py | 74 +-
.../execution_api/routes/task_instances.py | 162 +-
.../execution_api/routes/task_reschedules.py | 6 +-
.../api_fastapi/execution_api/routes/xcoms.py | 38 +-
.../api_fastapi/execution_api/versions/__init__.py | 16 +-
.../execution_api/versions/v2026_10_30.py | 58 +-
airflow-core/src/airflow/cli/cli_config.py | 23 +-
.../src/airflow/cli/commands/connection_command.py | 5 +
.../src/airflow/cli/commands/dag_command.py | 9 +-
.../airflow/cli/commands/dag_processor_command.py | 26 +-
.../src/airflow/cli/commands/db_command.py | 2 +-
.../src/airflow/cli/commands/info_command.py | 7 +-
.../src/airflow/cli/commands/plugins_command.py | 5 +-
.../src/airflow/cli/commands/team_command.py | 94 +-
.../src/airflow/cli/commands/triggerer_command.py | 2 +-
.../src/airflow/cli/commands/variable_command.py | 11 +-
airflow-core/src/airflow/cli/utils.py | 40 +
.../src/airflow/config_templates/config.yml | 8 +-
.../src/airflow/dag_processing/bundles/manager.py | 40 +-
.../src/airflow/dag_processing/collection.py | 107 +
airflow-core/src/airflow/dag_processing/manager.py | 26 +-
.../src/airflow/dag_processing/processor.py | 121 +-
.../airflow/example_dags/example_retry_policy.py | 21 +-
airflow-core/src/airflow/exceptions.py | 2 +-
.../src/airflow/executors/base_executor.py | 312 +-
.../src/airflow/executors/local_executor.py | 16 +-
.../src/airflow/executors/workloads/__init__.py | 4 +-
.../src/airflow/executors/workloads/base.py | 41 +
.../src/airflow/executors/workloads/callback.py | 4 +-
.../airflow/executors/workloads/connection_test.py | 4 +-
.../src/airflow/executors/workloads/task.py | 9 +-
.../src/airflow/executors/workloads/types.py | 8 +-
airflow-core/src/airflow/jobs/job.py | 23 +-
.../src/airflow/jobs/scheduler_job_runner.py | 684 +--
.../src/airflow/jobs/triggerer_job_runner.py | 89 +-
.../versions/0135_3_4_0_widen_revoked_token_jti.py | 54 +
..._3_4_0_fold_task_map_into_xcom_mapped_length.py | 158 +
.../0137_3_4_0_add_job_team_association_table.py | 81 +
..._3_4_0_allocate_pending_task_attempt_numbers.py | 200 +
...9_3_4_0_add_source_reference_to_import_error.py | 34 +-
.../0140_3_4_0_add_language_to_dag_code.py | 52 +-
..._3_4_0_add_timetable_asset_gated_to_dagmodel.py | 55 +
airflow-core/src/airflow/models/dag.py | 32 +-
airflow-core/src/airflow/models/dag_version.py | 166 +-
airflow-core/src/airflow/models/dagcode.py | 3 +
airflow-core/src/airflow/models/dagrun.py | 70 +-
airflow-core/src/airflow/models/dagwarning.py | 31 +-
airflow-core/src/airflow/models/errors.py | 12 +-
airflow-core/src/airflow/models/revoked_token.py | 2 +-
airflow-core/src/airflow/models/taskinstance.py | 230 +-
airflow-core/src/airflow/models/taskmap.py | 293 --
airflow-core/src/airflow/models/team.py | 24 +-
airflow-core/src/airflow/models/trigger.py | 9 +
airflow-core/src/airflow/models/xcom.py | 9 +
airflow-core/src/airflow/plugins_manager.py | 42 +
.../src/airflow/serialization/dag_version_diff.py | 1281 ++++++
airflow-core/src/airflow/serialization/decoders.py | 5 +-
.../airflow/serialization/definitions/xcom_arg.py | 26 +-
airflow-core/src/airflow/serialization/encoders.py | 9 +
airflow-core/src/airflow/serialization/schema.json | 2 +-
.../airflow/serialization/serialized_objects.py | 36 +-
airflow-core/src/airflow/timetables/_cron.py | 2 +-
airflow-core/src/airflow/timetables/assets.py | 112 +-
airflow-core/src/airflow/timetables/base.py | 16 +
airflow-core/src/airflow/timetables/simple.py | 1 +
.../src/airflow/ui/openapi-gen/queries/common.ts | 45 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 80 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 80 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 97 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 80 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 453 +-
.../ui/openapi-gen/requests/services.gen.ts | 119 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 291 +-
airflow-core/src/airflow/ui/package.json | 32 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 504 ++-
.../airflow/ui/public/i18n/locales/ar/dags.json | 2 -
.../airflow/ui/public/i18n/locales/ca/dags.json | 4 -
.../airflow/ui/public/i18n/locales/de/dags.json | 4 -
.../airflow/ui/public/i18n/locales/el/dags.json | 2 -
.../airflow/ui/public/i18n/locales/en/assets.json | 1 +
.../airflow/ui/public/i18n/locales/en/browse.json | 18 +-
.../airflow/ui/public/i18n/locales/en/common.json | 30 +-
.../ui/public/i18n/locales/en/components.json | 1 +
.../src/airflow/ui/public/i18n/locales/en/dag.json | 5 +
.../airflow/ui/public/i18n/locales/en/dags.json | 10 +-
.../ui/public/i18n/locales/en/dashboard.json | 17 +-
.../airflow/ui/public/i18n/locales/es/dags.json | 4 -
.../airflow/ui/public/i18n/locales/fr/dags.json | 2 -
.../airflow/ui/public/i18n/locales/he/dags.json | 2 -
.../airflow/ui/public/i18n/locales/hi/dags.json | 2 -
.../airflow/ui/public/i18n/locales/ko/browse.json | 18 +-
.../airflow/ui/public/i18n/locales/ko/common.json | 12 +
.../ui/public/i18n/locales/ko/components.json | 1 +
.../airflow/ui/public/i18n/locales/ko/dags.json | 4 -
.../ui/public/i18n/locales/ko/dashboard.json | 17 +-
.../airflow/ui/public/i18n/locales/pl/admin.json | 30 +-
.../airflow/ui/public/i18n/locales/pl/assets.json | 21 +-
.../airflow/ui/public/i18n/locales/pl/browse.json | 38 +
.../airflow/ui/public/i18n/locales/pl/common.json | 103 +-
.../ui/public/i18n/locales/pl/components.json | 29 +-
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 13 +-
.../airflow/ui/public/i18n/locales/pl/dags.json | 30 +-
.../ui/public/i18n/locales/pl/dashboard.json | 6 +-
.../airflow/ui/public/i18n/locales/pl/hitl.json | 2 +-
.../airflow/ui/public/i18n/locales/ru/dags.json | 2 -
.../ui/public/i18n/locales/zh-CN/admin.json | 2 +-
.../ui/public/i18n/locales/zh-CN/common.json | 6 +-
.../airflow/ui/public/i18n/locales/zh-CN/dag.json | 6 +-
.../airflow/ui/public/i18n/locales/zh-CN/dags.json | 4 -
.../ui/public/i18n/locales/zh-CN/dashboard.json | 6 +-
.../airflow/ui/public/i18n/locales/zh-TW/dags.json | 4 -
.../TaskInstance/ClearGroupTaskInstanceDialog.tsx | 68 +-
.../ClearTaskInstanceConfirmationDialog.tsx | 4 +-
.../TaskInstance/ClearTaskInstanceDialog.test.tsx | 127 +
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 23 +-
.../airflow/ui/src/components/DagBundleVersion.tsx | 63 +
.../ui/src/components/DagDeactivatedBanner.tsx | 2 +-
.../Dag => components}/DagImportErrorModal.tsx | 0
.../ui/src/components/DataTable/DataTable.test.tsx | 33 +
.../ui/src/components/DataTable/DataTable.tsx | 4 +
.../ui/src/components/DataTable/TableList.test.tsx | 67 +
.../ui/src/components/DataTable/TableList.tsx | 43 +-
.../src/components/DataTable/searchParams.test.ts | 30 +
.../ui/src/components/DataTable/searchParams.ts | 15 +-
.../ui/src/components/FilterBar/FilterPill.tsx | 4 +-
.../FilterBar/filters/DateRangeFilter.tsx | 6 +-
.../FilterBar/filters/RunStateFilter.tsx | 234 +
.../FilterBar/filters/runStateParams.test.ts | 95 +
.../components/FilterBar/filters/runStateParams.ts | 76 +
.../airflow/ui/src/components/FilterBar/types.ts | 14 +-
.../src/airflow/ui/src/components/HeaderCard.tsx | 2 +-
.../airflow/ui/src/components/ImportErrorCount.tsx | 41 +-
.../ui/src/components/PauseOrDrainChoiceModal.tsx | 66 +
.../ui/src/components/TaskTrySelect.test.tsx | 6 +-
.../airflow/ui/src/components/TaskTrySelect.tsx | 5 +-
.../src/airflow/ui/src/components/TogglePause.tsx | 44 +-
.../ui/src/components/renderStructuredLog.test.tsx | 33 +
.../ui/src/components/renderStructuredLog.tsx | 4 +-
.../src/airflow/ui/src/constants/filterConfigs.tsx | 38 +-
.../src/airflow/ui/src/constants/localStorage.ts | 3 +
.../src/airflow/ui/src/constants/searchParams.ts | 3 +
.../ui/src/context/groups/GroupsProvider.test.tsx | 112 +
.../ui/src/context/groups/GroupsProvider.tsx | 8 +-
.../ui/src/context/keyboardShortcuts/shortcuts.ts | 5 +
.../airflow/ui/src/hooks/useUserSettings.test.tsx | 21 +
.../src/airflow/ui/src/hooks/useUserSettings.ts | 8 +
.../airflow/ui/src/layouts/Details/Graph/Graph.tsx | 2 +-
.../ui/src/layouts/Details/Grid/Grid.test.tsx | 96 +
.../airflow/ui/src/layouts/Details/Grid/Grid.tsx | 26 +-
.../layouts/Details/Grid/GridPaginationButtons.tsx | 2 +-
.../Details/Grid/useGridScrollRestore.test.ts | 201 +
.../layouts/Details/Grid/useGridScrollRestore.ts | 87 +
.../src/airflow/ui/src/layouts/Details/NavTabs.tsx | 4 +-
.../src/airflow/ui/src/mocks/handlers/dag_runs.ts | 49 +-
.../src/airflow/ui/src/mocks/handlers/dags.ts | 16 +-
.../ui/src/pages/AssetsList/AssetsList.test.tsx | 28 +
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 11 +
.../ui/src/pages/Connections/Connections.tsx | 4 +
.../pages/Dag/Backfills/BackfillDagRunsModal.tsx | 2 +-
.../ui/src/pages/Dag/Backfills/Backfills.tsx | 2 +-
.../ui/src/pages/Dag/Calendar/CalendarCell.tsx | 51 +-
.../ui/src/pages/Dag/Calendar/CalendarLegend.tsx | 11 +
.../ui/src/pages/Dag/Calendar/CalendarTooltip.tsx | 14 +-
.../src/pages/Dag/Calendar/DailyCalendarView.tsx | 4 +
.../src/pages/Dag/Calendar/HourlyCalendarView.tsx | 14 +-
.../src/pages/Dag/Calendar/calendarUtils.test.ts | 22 +
.../ui/src/pages/Dag/Calendar/calendarUtils.ts | 4 +
.../src/airflow/ui/src/pages/Dag/Calendar/types.ts | 1 +
.../src/airflow/ui/src/pages/Dag/Code/Code.tsx | 10 +-
.../airflow/ui/src/pages/DagBundle/BundleFiles.tsx | 144 +
.../airflow/ui/src/pages/DagBundle/DagBundle.tsx | 62 +
.../ui/src/pages/DagBundle/FileImportError.tsx | 78 +
.../src/airflow/ui/src/pages/DagBundle/Header.tsx | 84 +
.../src/airflow/ui/src/pages/DagBundle/index.tsx | 11 +-
.../airflow/ui/src/pages/DagBundles/DagBundles.tsx | 87 +-
.../airflow/ui/src/pages/DagRuns/DagRuns.test.tsx | 27 +
.../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx | 6 +
.../ui/src/pages/DagRuns/DagRunsFilters.tsx | 1 +
.../pages/DagsList/BulkPauseDrainDagsButton.tsx | 105 +
.../src/pages/DagsList/BulkUnpauseDagsButton.tsx | 85 +
.../src/pages/DagsList/DagsFilters/DagsFilters.tsx | 3 +-
.../ui/src/pages/DagsList/DagsList.test.tsx | 207 +-
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 134 +-
.../ui/src/pages/Dashboard/Health/Health.test.tsx | 361 ++
.../ui/src/pages/Dashboard/Health/Health.tsx | 41 +-
.../ui/src/pages/Dashboard/Health/HealthBadge.tsx | 107 +-
.../src/pages/Dashboard/Health/HealthInstances.tsx | 93 +
.../pages/Dashboard/Health/HealthStateBadge.tsx | 28 +-
.../ui/src/pages/Dashboard/Health/healthStatus.ts | 41 +
.../Dashboard/HistoricalMetrics/MetricSection.tsx | 1 +
.../pages/Dashboard/Stats/DagImportErrorsModal.tsx | 69 +-
.../src/airflow/ui/src/pages/Events/Events.tsx | 4 +
.../ui/src/pages/HITLTaskInstances/HITLFilters.tsx | 6 +
.../HITLTaskInstances/HITLTaskInstances.test.tsx | 62 +-
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 21 +
airflow-core/src/airflow/ui/src/pages/Jobs.tsx | 31 +-
.../src/airflow/ui/src/pages/Pools/PoolBarCard.tsx | 12 +-
.../ui/src/pages/Settings/Settings.test.tsx | 26 +-
.../src/airflow/ui/src/pages/Settings/Settings.tsx | 27 +
.../ui/src/pages/TaskInstance/Details.test.tsx | 137 +
.../airflow/ui/src/pages/TaskInstance/Details.tsx | 16 +
.../ui/src/pages/TaskInstance/Header.test.tsx | 54 +
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 20 +
.../ui/src/pages/TaskInstance/Logs/Logs.tsx | 95 +-
.../pages/TaskInstance/Logs/LogsTryNumber.test.tsx | 174 +
.../src/pages/TaskInstance/Logs/TaskLogHeader.tsx | 9 +
.../ui/src/pages/TaskInstance/Logs/utils.test.ts | 13 +
.../ui/src/pages/TaskInstance/Logs/utils.ts | 3 +
.../pages/TaskInstance/RenderedTemplates.test.tsx | 84 +
.../src/pages/TaskInstance/RenderedTemplates.tsx | 17 +-
.../src/pages/TaskInstance/TaskInstance.test.tsx | 102 +-
.../ui/src/pages/TaskInstance/TaskInstance.tsx | 26 +-
.../ui/src/pages/TaskInstance/stateReason.ts | 18 +-
.../TaskInstances/BulkClearTaskInstancesButton.tsx | 34 +-
.../airflow/ui/src/pages/Variables/Variables.tsx | 4 +
.../ui/src/queries/useBulkClearTaskInstances.ts | 2 +
.../ui/src/queries/useBulkSetDagSchedulingState.ts | 89 +
.../ui/src/queries/useDagBundleRefetchInterval.ts | 38 +
.../src/airflow/ui/src/queries/useDags.tsx | 3 +
.../src/airflow/ui/src/queries/useLogs.test.ts | 12 +
.../src/airflow/ui/src/queries/useLogs.tsx | 19 +-
airflow-core/src/airflow/ui/src/router.tsx | 5 +
.../ui/src/utils/useFiltersHandler.test.tsx | 63 +
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 22 +-
.../ui/tests/e2e/fixtures/task-tries-data.ts | 46 +
.../src/airflow/ui/tests/e2e/global-setup.ts | 14 +-
.../src/airflow/ui/tests/e2e/global-teardown.ts | 2 +
.../src/airflow/ui/tests/e2e/pages/DagsPage.ts | 18 +-
.../airflow/ui/tests/e2e/specs/task-logs.spec.ts | 6 +
.../airflow/ui/tests/e2e/specs/task-tries.spec.ts | 111 +
airflow-core/src/airflow/utils/db.py | 4 +-
airflow-core/src/airflow/utils/db_cleanup.py | 45 +-
airflow-core/tests/integration/otel/test_otel.py | 2 +-
.../tests/unit/always/test_project_structure.py | 47 +-
.../tests/unit/api/common/test_airflow_health.py | 28 +-
.../tests/unit/api/common/test_delete_dag.py | 49 +
.../unit/api_fastapi/common/test_parameters.py | 80 +-
.../api_fastapi/core_api/datamodels/test_common.py | 50 +-
.../core_api/routes/public/test_assets.py | 41 +-
.../core_api/routes/public/test_dag_bundles.py | 309 +-
.../core_api/routes/public/test_dag_parsing.py | 83 +-
.../core_api/routes/public/test_dag_run.py | 56 +-
.../core_api/routes/public/test_dag_sources.py | 4 +
.../core_api/routes/public/test_dag_warning.py | 19 +
.../core_api/routes/public/test_dags.py | 223 +
.../core_api/routes/public/test_event_logs.py | 29 +-
.../core_api/routes/public/test_extra_links.py | 33 +-
.../core_api/routes/public/test_hitl.py | 163 +-
.../core_api/routes/public/test_import_error.py | 98 +-
.../api_fastapi/core_api/routes/public/test_job.py | 77 +-
.../api_fastapi/core_api/routes/public/test_log.py | 14 +-
.../core_api/routes/public/test_monitor.py | 6 +-
.../core_api/routes/public/test_task_instances.py | 441 +-
.../routes/public/test_task_state_store.py | 14 +
.../core_api/routes/public/test_xcom.py | 39 +-
.../api_fastapi/core_api/routes/ui/test_assets.py | 23 +
.../core_api/routes/ui/test_calendar.py | 239 +-
.../api_fastapi/core_api/routes/ui/test_dags.py | 43 +
.../unit/api_fastapi/core_api/test_security.py | 62 +
.../unit/api_fastapi/execution_api/conftest.py | 18 +-
.../versions/head/test_connections.py | 32 +
.../execution_api/versions/head/test_hitl.py | 36 +-
.../versions/head/test_task_instances.py | 593 ++-
.../execution_api/versions/head/test_xcoms.py | 67 +-
.../versions/v2025_04_28/test_task_instances.py | 2 +
.../versions/v2026_10_30/test_dag_run_notes.py | 43 +
.../versions/v2026_10_30/test_task_instances.py | 166 +
.../unit/cli/commands/test_connection_command.py | 32 +-
.../tests/unit/cli/commands/test_dag_command.py | 52 +
.../cli/commands/test_dag_processor_command.py | 58 +
.../tests/unit/cli/commands/test_db_command.py | 13 +
.../tests/unit/cli/commands/test_info_command.py | 45 +
.../unit/cli/commands/test_plugins_command.py | 14 +-
.../tests/unit/cli/commands/test_team_command.py | 236 ++
.../unit/cli/commands/test_triggerer_command.py | 14 +-
.../unit/cli/commands/test_variable_command.py | 27 +-
airflow-core/tests/unit/cli/test_utils.py | 61 +-
.../bundles/test_dag_bundle_manager.py | 86 +-
.../tests/unit/dag_processing/test_collection.py | 381 +-
.../tests/unit/dag_processing/test_manager.py | 92 +-
.../tests/unit/dag_processing/test_processor.py | 66 +-
.../tests/unit/executors/test_base_executor.py | 441 +-
.../tests/unit/executors/test_local_executor.py | 17 +-
.../tests/unit/executors/test_workloads.py | 54 +-
airflow-core/tests/unit/jobs/test_base_job.py | 67 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 1242 +++++-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 291 +-
...est_0049_remove_pickled_data_from_xcom_table.py | 237 --
...t_0055_remove_pickled_data_from_dagrun_table.py | 143 -
.../test_0080_deadline_callback_migration.py | 268 --
.../test_0094_deadline_callback_migration.py | 178 -
.../test_0117_deadline_interval_json_migration.py | 91 -
...9_add_indexes_on_serialized_dag_and_dag_code.py | 55 -
.../migrations/test_0131_lower_case_team_names.py | 138 -
airflow-core/tests/unit/models/test_cleartasks.py | 190 +-
airflow-core/tests/unit/models/test_dag.py | 106 +-
airflow-core/tests/unit/models/test_dag_version.py | 474 ++-
airflow-core/tests/unit/models/test_dagcode.py | 8 +
airflow-core/tests/unit/models/test_dagrun.py | 134 +-
airflow-core/tests/unit/models/test_dagwarning.py | 38 +-
airflow-core/tests/unit/models/test_errors.py | 86 +
.../tests/unit/models/test_mappedoperator.py | 59 +-
.../tests/unit/models/test_renderedtifields.py | 4 +-
.../tests/unit/models/test_revoked_token.py | 11 +
.../tests/unit/models/test_taskinstance.py | 215 +-
airflow-core/tests/unit/models/test_taskmap.py | 79 -
airflow-core/tests/unit/models/test_trigger.py | 20 +
airflow-core/tests/unit/models/test_xcom_arg.py | 45 +
.../tests/unit/plugins/test_plugins_manager.py | 61 +
.../unit/serialization/test_dag_serialization.py | 27 +
.../unit/serialization/test_dag_version_diff.py | 3552 ++++++++++++++++
.../unit/serialization/test_serialized_objects.py | 11 +-
.../test_ts_sdk_serialization_version.py | 53 +
.../ti_deps/deps/test_mapped_task_upstream_dep.py | 12 +-
.../tests/unit/timetables/test_assets_timetable.py | 227 +-
.../unit/timetables/test_trigger_timetable.py | 7 +
airflow-core/tests/unit/utils/test_db_cleanup.py | 250 +-
airflow-core/tests/unit/utils/test_strings.py | 17 +-
airflow-ctl-tests/pyproject.toml | 4 +-
airflow-ctl/pyproject.toml | 4 +-
.../airflowctl/api/datamodels/auth_generated.py | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 219 +-
airflow-ctl/src/airflowctl/api/operations.py | 4 +-
airflow-ctl/src/airflowctl/ctl/cli_config.py | 12 +-
.../src/airflowctl/ctl/commands/dag_command.py | 53 +-
.../src/airflowctl/ctl/commands/task_command.py | 44 +-
airflow-ctl/src/airflowctl/ctl/utils/dag_run.py | 100 +
.../tests/airflow_ctl/api/test_operations.py | 23 +-
.../airflow_ctl/ctl/commands/test_task_command.py | 12 +
.../tests/airflow_ctl/ctl/test_cli_config.py | 34 +-
airflow-e2e-tests/pyproject.toml | 6 +-
.../go_sdk_tests/test_go_sdk_taskflow_binding.py | 72 +-
.../java_sdk_tests/test_java_sdk_dag.py | 52 +-
chart/docs/manage-dag-files.rst | 4 +
chart/pyproject.toml | 4 +-
.../dag-processor/dag-processor-deployment.yaml | 7 +
.../airflow_aux/test_container_lifecycle.py | 19 +
.../helm_tests/airflow_core/test_dag_processor.py | 12 +
chart/values.schema.json | 22 +
chart/values.yaml | 6 +-
clients/python/pyproject.toml | 4 +-
contributing-docs/05_pull_requests.rst | 36 +
contributing-docs/25_maintainer_pr_triage.md | 4 +
contributing-docs/30_new_language_sdk.rst | 6 +
contributing-docs/32_open_pull_request_limit.rst | 169 +
contributing-docs/README.rst | 3 +
contributing-docs/testing/k8s_tests.rst | 671 ++-
dev/README_RELEASE_AIRFLOW.md | 29 +-
dev/README_RELEASE_AIRFLOWCTL.md | 23 +
dev/README_RELEASE_HELM_CHART.md | 25 +
dev/README_RELEASE_MYPY.md | 25 +
dev/README_RELEASE_PROVIDERS.md | 135 +-
dev/breeze/doc/03_developer_tasks.rst | 44 +-
dev/breeze/doc/04_troubleshooting.rst | 11 +
dev/breeze/doc/05_test_commands.rst | 14 +
dev/breeze/doc/08_ci_tasks.rst | 11 +
dev/breeze/doc/09_release_management_tasks.rst | 22 +
.../0018-raise-dependency-floors-automatically.md | 232 +
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/doc/ci/04_selective_checks.md | 9 +-
dev/breeze/doc/ci/05_workflows.md | 26 +
dev/breeze/doc/images/output-commands.svg | 165 +-
dev/breeze/doc/images/output_build-docs.svg | 4 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
dev/breeze/doc/images/output_ci_upgrade.svg | 44 +-
dev/breeze/doc/images/output_ci_upgrade.txt | 2 +-
dev/breeze/doc/images/output_cleanup.svg | 2 +-
dev/breeze/doc/images/output_cleanup.txt | 2 +-
dev/breeze/doc/images/output_down.svg | 48 +-
dev/breeze/doc/images/output_down.txt | 2 +-
...tput_release-management_add-back-references.svg | 4 +-
...tput_release-management_add-back-references.txt | 2 +-
...elease-management_classify-provider-changes.svg | 12 +-
...elease-management_classify-provider-changes.txt | 2 +-
...management_generate-issue-content-providers.svg | 12 +-
...management_generate-issue-content-providers.txt | 2 +-
...ease-management_generate-providers-metadata.svg | 12 +-
...ease-management_generate-providers-metadata.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 12 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 12 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 4 +-
.../output_release-management_publish-docs.txt | 2 +-
dev/breeze/doc/images/output_run.svg | 45 +-
dev/breeze/doc/images/output_run.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 2 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
.../output_setup_check-all-params-in-groups.svg | 2 +-
.../output_setup_check-all-params-in-groups.txt | 2 +-
.../output_setup_regenerate-command-images.svg | 28 +-
.../output_setup_regenerate-command-images.txt | 2 +-
dev/breeze/doc/images/output_shell.svg | 285 +-
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.svg | 237 +-
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
.../doc/images/output_testing_core-tests.svg | 145 +-
.../doc/images/output_testing_core-tests.txt | 2 +-
.../doc/images/output_testing_providers-tests.svg | 161 +-
.../doc/images/output_testing_providers-tests.txt | 2 +-
dev/breeze/doc/images/output_workflow-run.svg | 14 +-
dev/breeze/doc/images/output_workflow-run.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 4 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
.../output_workflow-run_sync-staging-to-main.svg | 104 +
.../output_workflow-run_sync-staging-to-main.txt | 1 +
dev/breeze/pyproject.toml | 10 +-
.../src/airflow_breeze/commands/ci_commands.py | 142 +-
.../airflow_breeze/commands/ci_commands_config.py | 1 +
.../src/airflow_breeze/commands/common_options.py | 10 +-
.../airflow_breeze/commands/developer_commands.py | 52 +-
.../commands/developer_commands_config.py | 2 +-
.../airflow_breeze/commands/kubernetes_commands.py | 2 +-
.../src/airflow_breeze/commands/main_command.py | 23 +-
.../commands/release_management_commands.py | 6 +-
.../airflow_breeze/commands/testing_commands.py | 12 +-
.../commands/testing_commands_config.py | 5 +-
.../airflow_breeze/commands/workflow_commands.py | 30 +-
.../commands/workflow_commands_config.py | 10 +-
dev/breeze/src/airflow_breeze/global_constants.py | 19 +-
.../src/airflow_breeze/params/shell_params.py | 28 +-
.../prepare_providers/provider_distributions.py | 1 +
.../prepare_providers/provider_documentation.py | 19 +-
.../templates/pyproject_TEMPLATE.toml.jinja2 | 2 +-
.../airflow_breeze/utils/docker_command_utils.py | 255 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 11 +-
.../src/airflow_breeze/utils/selective_checks.py | 22 +
dev/breeze/tests/test_ci_upgrade.py | 123 +
dev/breeze/tests/test_developer_commands.py | 38 +-
dev/breeze/tests/test_docker_command_utils.py | 515 ++-
dev/breeze/tests/test_provider_distributions.py | 32 +
dev/breeze/tests/test_provider_documentation.py | 58 +
dev/breeze/tests/test_selective_checks.py | 114 +-
dev/breeze/tests/test_shell_params.py | 109 +-
dev/breeze/tests/test_workflow_commands.py | 34 +-
dev/breeze/uv.lock | 204 +-
dev/close_prs_over_open_pr_limit.py | 353 ++
dev/mypy/pyproject.toml | 4 +-
dev/pyproject.toml | 4 +-
.../react_plugin_template/package.json | 30 +-
.../react_plugin_template/pnpm-lock.yaml | 586 +--
dev/registry/extract_parameters.py | 342 +-
dev/registry/pyproject.toml | 4 +-
dev/registry/registry_contract_models.py | 1 +
dev/registry/tests/test_extract_parameters.py | 557 ++-
.../tests/test_registry_contract_models.py | 17 +-
dev/skill-evals/last-eval-hash.txt | 2 +-
devel-common/pyproject.toml | 6 +-
devel-common/src/docs/build_docs.py | 99 +-
devel-common/src/docs/provider_conf.py | 7 +-
.../src/sphinx_exts/airflow_intersphinx.py | 67 +-
.../src/sphinx_exts/docs_build/docs_builder.py | 197 +-
devel-common/src/sphinx_exts/exampleinclude.py | 12 +-
.../src/sphinx_exts/provider_yaml_utils.py | 42 +-
devel-common/src/tests_common/pytest_plugin.py | 49 +-
devel-common/src/tests_common/test_utils/config.py | 13 +
devel-common/src/tests_common/test_utils/db.py | 7 +
.../src/tests_common/test_utils/mapping.py | 93 +-
.../src/tests_common/test_utils/mock_executor.py | 15 +-
.../src/tests_common/test_utils/mock_plugins.py | 41 +-
.../__init__.py => devel-common/tests/conftest.py | 3 +
.../docs_build/test_build_docs_scheduling.py | 41 +
.../sphinx_exts/docs_build/test_docs_builder.py | 131 +-
.../unit/sphinx_exts/test_airflow_intersphinx.py | 113 +
.../tests/unit/tests_common/test_dag_maker.py | 103 +
docker-stack-docs/pyproject.toml | 4 +-
docker-tests/pyproject.toml | 4 +-
docs/spelling_wordlist.txt | 7 +
generated/PYPI_README.md | 10 +-
generated/known_airflow_exceptions.txt | 4 +-
generated/known_sdk_imports_in_core.txt | 2 +-
generated/provider_metadata.json | 496 ++-
go-sdk/.pre-commit-config.yaml | 7 +
go-sdk/Justfile | 4 +
go-sdk/README.md | 158 +-
go-sdk/adr/0001-bundle-packing-options.md | 4 +-
go-sdk/adr/0006-cross-language-argument-binding.md | 15 +-
.../adr/0007-mixed-lang-task-handler-interface.md | 16 +-
go-sdk/adr/0008-native-dag-interface.md | 18 +-
go-sdk/airflow/bundle.go | 171 +
go-sdk/airflow/bundle_test.go | 249 ++
go-sdk/airflow/context.go | 5 +
go-sdk/airflow/contexttest_test.go | 62 +
go-sdk/airflow/dag.go | 233 +
go-sdk/airflow/dag_test.go | 526 +++
go-sdk/airflow/serve.go | 161 +
go-sdk/airflow/serve_test.go | 286 ++
go-sdk/airflow/spec.gen.go | 169 +
go-sdk/airflow/spec.go | 127 +
go-sdk/airflow/spec_test.go | 71 +
go-sdk/airflow/task_handler.go | 68 +
go-sdk/airflow/task_handler_test.go | 254 ++
.../bundlev1/doc.go => airflow/task_option.go} | 19 +-
.../testdata/foreignitem/main.go} | 20 +-
.../testdata/foreigntaskoption/main.go} | 22 +-
go-sdk/bundle/bundlev1/bundlev1server/server.go | 152 -
go-sdk/bundle/bundlev1/registry.go | 204 -
go-sdk/bundle/bundlev1/registry_test.go | 168 -
go-sdk/bundle/bundlev1/schemas.go | 46 -
.../cmd/airflow-go-pack/pack_integration_test.go | 8 +-
go-sdk/dags/go_examples.py | 28 +-
.../bundle/concurrentxcom/concurrentxcom.go | 2 +-
.../bundle/concurrentxcom/concurrentxcom_test.go | 2 +-
go-sdk/example/bundle/main.go | 92 +-
.../bundle/taskflowbinding/taskflowbinding.go | 61 +-
.../bundle/taskflowbinding/taskflowbinding_test.go | 44 +-
.../bundlev1server => internal/bundle}/doc.go | 9 +-
.../{bundle/bundlev1 => internal/bundle}/task.go | 41 +-
.../bundlev1 => internal/bundle}/task_test.go | 46 +-
go-sdk/internal/contexttest/contexttest.go | 60 +
go-sdk/internal/genlicense/genlicense.go | 71 +
go-sdk/internal/genlicense/genlicense_test.go | 83 +
go-sdk/internal/genspec/authoring.go | 470 +++
go-sdk/internal/genspec/authoring_test.go | 329 ++
go-sdk/internal/genspec/main.go | 110 +
.../genspec/main_test.go} | 31 +-
go-sdk/internal/genspec/normalize.go | 176 +
go-sdk/internal/genspec/normalize_test.go | 256 ++
go-sdk/pkg/binding/binding.go | 64 +-
go-sdk/pkg/binding/binding_test.go | 267 +-
go-sdk/pkg/binding/task_context.go | 68 +
go-sdk/pkg/binding/task_context_test.go | 56 +
go-sdk/pkg/execution/client.go | 22 +-
go-sdk/pkg/execution/client_test.go | 6 +-
go-sdk/pkg/execution/comms.go | 13 +-
go-sdk/pkg/execution/comms_test.go | 10 +-
go-sdk/pkg/execution/genmodels/defaults.gen.go | 85 +-
go-sdk/pkg/execution/genmodels/gen/main.go | 49 +-
go-sdk/pkg/execution/genmodels/models.gen.go | 203 +-
go-sdk/pkg/execution/integration_test.go | 236 +-
go-sdk/pkg/execution/messages.go | 6 +-
go-sdk/pkg/execution/messages_test.go | 4 +-
go-sdk/pkg/execution/metadata.go | 56 +-
go-sdk/pkg/execution/server.go | 27 +-
go-sdk/pkg/execution/task_runner.go | 8 +-
go-sdk/sdk/sdk.go | 4 +-
java-sdk/README.md | 37 +-
java-sdk/adr/0001-mixed-lang-dag-interface.md | 33 +-
java-sdk/adr/0002-native-dag-interface.md | 2 +-
java-sdk/capabilities.yaml | 2 +-
.../apache/airflow/example/AnnotationExample.java | 32 +-
.../airflow/example/ExampleBundleBuilder.java | 20 +-
.../airflow/example/InterfaceExampleBuilder.java | 38 +-
.../apache/airflow/example/XComCastingExample.java | 39 +-
.../example/nativedag/InterfaceExample.java | 76 +
.../example/src/resources/dags/java_examples.py | 46 +-
java-sdk/gradle.properties | 2 +-
java-sdk/gradle/verification-metadata.xml | 68 -
.../org/apache/airflow/sdk/BuilderProcessor.kt | 478 ++-
.../kotlin/org/apache/airflow/sdk/BuilderTest.kt | 723 +++-
java-sdk/sdk/build.gradle.kts | 451 +-
java-sdk/sdk/module.md | 2 +-
.../sdk/schema/dag-schema.json | 2 +-
java-sdk/sdk/schema/schema.json | 259 +-
.../src/main/kotlin/org/apache/airflow/sdk/Arg.kt | 71 +
.../kotlin/org/apache/airflow/sdk/ArgName.kt} | 49 +-
.../main/kotlin/org/apache/airflow/sdk/Builder.kt | 88 -
.../main/kotlin/org/apache/airflow/sdk/Bundle.kt | 161 +-
.../main/kotlin/org/apache/airflow/sdk/Client.kt | 39 +-
.../main/kotlin/org/apache/airflow/sdk/DagDef.kt | 115 +-
.../src/main/kotlin/org/apache/airflow/sdk/Deps.kt | 91 +
.../kotlin/org/apache/airflow/sdk/InputTask.kt | 88 +
.../main/kotlin/org/apache/airflow/sdk/Server.kt | 1 +
.../kotlin/org/apache/airflow/sdk/TaskInput.kt | 60 +
.../org/apache/airflow/sdk/execution/ArgBinding.kt | 90 +
.../org/apache/airflow/sdk/execution/Task.kt | 2 +-
.../org/apache/airflow/sdk/internal/ArgValues.kt | 294 ++
.../org/apache/airflow/sdk/internal/Fields.kt | 107 +
.../org/apache/airflow/sdk/internal/InputTypes.kt | 176 +
.../org/apache/airflow/sdk/internal/Registrar.kt} | 36 +-
.../org/apache/airflow/sdk/internal/TaskArgs.kt | 142 +
.../org/apache/airflow/sdk/internal/TypeRef.kt | 47 +
.../org/apache/airflow/sdk/ArgTestSupport.kt | 96 +
.../kotlin/org/apache/airflow/sdk/ArgValuesTest.kt | 303 ++
.../kotlin/org/apache/airflow/sdk/BundleTest.kt | 215 +
.../kotlin/org/apache/airflow/sdk/DagDefTest.kt | 254 ++
.../kotlin/org/apache/airflow/sdk/InputTaskTest.kt | 167 +
.../kotlin/org/apache/airflow/sdk/TaskArgsTest.kt | 336 ++
kubernetes-tests/lang_sdk/go_example/main.go | 24 +-
kubernetes-tests/pyproject.toml | 4 +-
.../test_kubernetes_pod_operator.py | 2 +-
performance/pyproject.toml | 2 +-
providers-summary-docs/pyproject.toml | 4 +-
providers/.last_release_date.txt | 2 +-
providers/.pre-commit-config.yaml | 9 +
providers/airbyte/README.rst | 6 +-
providers/airbyte/docs/changelog.rst | 24 +
providers/airbyte/docs/index.rst | 6 +-
providers/airbyte/provider.yaml | 3 +-
providers/airbyte/pyproject.toml | 8 +-
.../src/airflow/providers/airbyte/__init__.py | 2 +-
.../airflow/providers/airbyte/operators/airbyte.py | 5 +-
.../airflow/providers/airbyte/sensors/airbyte.py | 5 +-
providers/akeyless/pyproject.toml | 2 +-
providers/alibaba/README.rst | 6 +-
providers/alibaba/docs/changelog.rst | 20 +
providers/alibaba/docs/index.rst | 6 +-
providers/alibaba/provider.yaml | 3 +-
providers/alibaba/pyproject.toml | 8 +-
.../src/airflow/providers/alibaba/__init__.py | 2 +-
.../providers/alibaba/cloud/operators/oss.py | 13 +
.../providers/alibaba/cloud/sensors/oss_key.py | 2 +-
providers/amazon/README.rst | 10 +-
providers/amazon/docs/changelog.rst | 73 +
providers/amazon/docs/index.rst | 14 +-
providers/amazon/docs/message-queues/index.rst | 77 +-
.../amazon/docs/operators/athena/athena_spark.rst | 59 +
providers/amazon/docs/operators/duckdb.rst | 180 +
providers/amazon/docs/operators/ecs.rst | 35 +
.../amazon/docs/operators/emr/emr_serverless.rst | 23 +
providers/amazon/provider.yaml | 37 +-
providers/amazon/pyproject.toml | 29 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../aws/executors/aws_lambda/lambda_executor.py | 46 +-
.../amazon/aws/executors/batch/batch_executor.py | 69 +-
.../amazon/aws/executors/ecs/ecs_executor.py | 46 +-
.../airflow/providers/amazon/aws/hooks/athena.py | 174 +
.../airflow/providers/amazon/aws/hooks/duckdb.py | 277 ++
.../src/airflow/providers/amazon/aws/hooks/eks.py | 6 +-
.../src/airflow/providers/amazon/aws/hooks/emr.py | 51 +
.../src/airflow/providers/amazon/aws/hooks/s3.py | 8 +-
.../providers/amazon/aws/notifications/chime.py | 6 +-
.../providers/amazon/aws/operators/athena_spark.py | 204 +
.../airflow/providers/amazon/aws/operators/ecs.py | 3 +
.../airflow/providers/amazon/aws/operators/eks.py | 4 +-
.../airflow/providers/amazon/aws/operators/emr.py | 113 +
.../amazon/aws/operators/mwaa_serverless.py | 41 +-
.../airflow/providers/amazon/aws/operators/s3.py | 4 +-
.../airflow/providers/amazon/aws/queues/kinesis.py | 48 +
.../src/airflow/providers/amazon/aws/queues/sqs.py | 26 +-
.../amazon/aws/transfers/azure_blob_to_s3.py | 13 +-
.../providers/amazon/aws/transfers/exasol_to_s3.py | 10 +-
.../providers/amazon/aws/transfers/ftp_to_s3.py | 44 +-
.../providers/amazon/aws/transfers/gcs_to_s3.py | 28 +-
.../amazon/aws/transfers/glacier_to_gcs.py | 8 +-
.../amazon/aws/transfers/google_api_to_s3.py | 1 +
.../amazon/aws/transfers/hive_to_dynamodb.py | 6 +-
.../providers/amazon/aws/transfers/http_to_s3.py | 10 +-
.../amazon/aws/transfers/imap_attachment_to_s3.py | 8 +-
.../providers/amazon/aws/transfers/local_to_s3.py | 2 +-
.../providers/amazon/aws/transfers/mongo_to_s3.py | 9 +-
.../amazon/aws/transfers/s3_to_dynamodb.py | 1 +
.../providers/amazon/aws/transfers/s3_to_ftp.py | 45 +-
.../providers/amazon/aws/transfers/s3_to_sftp.py | 45 +-
.../providers/amazon/aws/transfers/s3_to_sql.py | 1 +
.../amazon/aws/transfers/salesforce_to_s3.py | 8 +-
.../providers/amazon/aws/transfers/sftp_to_s3.py | 32 +-
.../providers/amazon/aws/transfers/sql_to_s3.py | 1 +
.../airflow/providers/amazon/aws/triggers/emr.py | 48 +
.../providers/amazon/aws/utils/task_log_fetcher.py | 38 +-
.../airflow/providers/amazon/aws/utils/transfer.py | 42 +
.../providers/amazon/aws/waiters/athena.json | 56 +
.../amazon/aws/waiters/emr-serverless.json | 37 +
.../airflow/providers/amazon/get_provider_info.py | 34 +-
.../src/airflow/providers/amazon/version_compat.py | 2 +
.../system/amazon/aws/example_athena_spark.py | 121 +
.../amazon/tests/system/amazon/aws/example_dms.py | 5 +-
.../{example_http_to_s3.py => example_duckdb.py} | 120 +-
.../amazon/aws/example_emr_serverless_session.py | 103 +
.../amazon/aws/example_google_api_youtube_to_s3.py | 10 +-
.../tests/system/amazon/aws/example_http_to_s3.py | 14 +-
.../amazon/aws/example_kinesis_message_queue.py | 98 +
.../system/amazon/aws/example_neptune_analytics.py | 35 +-
.../tests/system/amazon/aws/example_s3_to_sql.py | 10 +-
.../tests/system/amazon/aws/example_sql_to_s3.py | 10 +-
.../executors/aws_lambda/test_lambda_executor.py | 29 +-
.../aws/executors/batch/test_batch_executor.py | 32 +-
.../amazon/aws/executors/ecs/test_ecs_executor.py | 20 +-
.../amazon/tests/unit/amazon/aws/fs/test_s3.py | 16 +-
.../tests/unit/amazon/aws/hooks/test_athena.py | 225 +
.../tests/unit/amazon/aws/hooks/test_base_aws.py | 2 +
.../unit/amazon/aws/hooks/test_batch_client.py | 7 +-
.../unit/amazon/aws/hooks/test_batch_waiters.py | 7 +-
.../tests/unit/amazon/aws/hooks/test_duckdb.py | 307 ++
.../amazon/tests/unit/amazon/aws/hooks/test_eks.py | 40 +-
.../unit/amazon/aws/hooks/test_emr_serverless.py | 57 +
.../tests/unit/amazon/aws/hooks/test_glue.py | 5 +-
.../amazon/tests/unit/amazon/aws/hooks/test_s3.py | 19 +
.../unit/amazon/aws/operators/test_athena_spark.py | 293 ++
.../tests/unit/amazon/aws/operators/test_ec2.py | 6 +
.../tests/unit/amazon/aws/operators/test_ecs.py | 8 +-
.../tests/unit/amazon/aws/operators/test_eks.py | 7 +
.../aws/operators/test_emr_serverless_session.py | 137 +
.../amazon/aws/operators/test_mwaa_serverless.py | 70 +
.../tests/unit/amazon/aws/queues/test_kinesis.py | 185 +
.../amazon/aws/test_deferred_hook_configuration.py | 3 -
.../amazon/aws/transfers/test_azure_blob_to_s3.py | 21 +
.../unit/amazon/aws/transfers/test_ftp_to_s3.py | 105 +-
.../unit/amazon/aws/transfers/test_gcs_to_s3.py | 26 -
.../unit/amazon/aws/transfers/test_mongo_to_s3.py | 2 +
.../unit/amazon/aws/transfers/test_s3_to_ftp.py | 51 +
.../unit/amazon/aws/transfers/test_s3_to_sftp.py | 55 +
.../unit/amazon/aws/transfers/test_sftp_to_s3.py | 34 +
.../tests/unit/amazon/aws/triggers/test_emr.py | 60 +
.../unit/amazon/aws/utils/test_task_log_fetcher.py | 36 +-
.../tests/unit/amazon/aws/utils/test_transfer.py | 30 +-
providers/anthropic/README.rst | 6 +-
providers/anthropic/docs/changelog.rst | 18 +
providers/anthropic/docs/index.rst | 6 +-
providers/anthropic/provider.yaml | 3 +-
providers/anthropic/pyproject.toml | 8 +-
.../src/airflow/providers/anthropic/__init__.py | 2 +-
.../airflow/providers/anthropic/operators/agent.py | 2 +-
.../airflow/providers/anthropic/operators/batch.py | 2 +-
.../airflow/providers/anthropic/sensors/batch.py | 5 +-
providers/apache/arrow/pyproject.toml | 2 +-
providers/apache/beam/README.rst | 6 +-
providers/apache/beam/docs/changelog.rst | 19 +
providers/apache/beam/docs/index.rst | 6 +-
providers/apache/beam/provider.yaml | 3 +-
providers/apache/beam/pyproject.toml | 8 +-
.../src/airflow/providers/apache/beam/__init__.py | 2 +-
.../providers/apache/beam/operators/beam.py | 5 +
providers/apache/cassandra/README.rst | 6 +-
providers/apache/cassandra/docs/changelog.rst | 15 +
providers/apache/cassandra/docs/index.rst | 6 +-
providers/apache/cassandra/provider.yaml | 4 +-
providers/apache/cassandra/pyproject.toml | 8 +-
.../airflow/providers/apache/cassandra/__init__.py | 2 +-
.../providers/apache/cassandra/sensors/record.py | 2 +-
.../providers/apache/cassandra/sensors/table.py | 5 +-
providers/apache/drill/pyproject.toml | 2 +-
providers/apache/druid/README.rst | 6 +-
providers/apache/druid/docs/changelog.rst | 26 +
providers/apache/druid/docs/index.rst | 6 +-
providers/apache/druid/provider.yaml | 4 +-
providers/apache/druid/pyproject.toml | 8 +-
.../src/airflow/providers/apache/druid/__init__.py | 2 +-
.../apache/druid/transfers/hive_to_druid.py | 8 +-
providers/apache/flink/README.rst | 6 +-
providers/apache/flink/docs/changelog.rst | 16 +
providers/apache/flink/docs/index.rst | 6 +-
providers/apache/flink/provider.yaml | 4 +-
providers/apache/flink/pyproject.toml | 8 +-
.../src/airflow/providers/apache/flink/__init__.py | 2 +-
.../apache/flink/operators/flink_kubernetes.py | 2 +-
providers/apache/hdfs/README.rst | 6 +-
providers/apache/hdfs/docs/changelog.rst | 14 +
providers/apache/hdfs/docs/index.rst | 6 +-
providers/apache/hdfs/provider.yaml | 4 +-
providers/apache/hdfs/pyproject.toml | 8 +-
.../src/airflow/providers/apache/hdfs/__init__.py | 2 +-
.../providers/apache/hdfs/sensors/web_hdfs.py | 7 +-
providers/apache/hive/README.rst | 6 +-
providers/apache/hive/docs/changelog.rst | 14 +
providers/apache/hive/docs/index.rst | 8 +-
providers/apache/hive/provider.yaml | 4 +-
providers/apache/hive/pyproject.toml | 10 +-
.../src/airflow/providers/apache/hive/__init__.py | 2 +-
.../providers/apache/hive/operators/hive_stats.py | 10 +-
.../apache/hive/sensors/hive_partition.py | 1 +
.../apache/hive/transfers/hive_to_mysql.py | 9 +-
.../apache/hive/transfers/hive_to_samba.py | 2 +-
.../apache/hive/transfers/mssql_to_hive.py | 2 +-
.../apache/hive/transfers/mysql_to_hive.py | 2 +-
.../providers/apache/hive/transfers/s3_to_hive.py | 2 +-
.../apache/hive/transfers/vertica_to_hive.py | 2 +-
providers/apache/iceberg/pyproject.toml | 2 +-
providers/apache/impala/docs/index.rst | 8 +-
providers/apache/impala/pyproject.toml | 4 +-
.../apache/kafka/docs/.latest-doc-only-change.txt | 2 +-
.../apache/kafka/docs/message-queues/index.rst | 23 +-
providers/apache/kafka/pyproject.toml | 2 +-
.../airflow/providers/apache/kafka/queues/kafka.py | 27 +-
providers/apache/kylin/README.rst | 6 +-
providers/apache/kylin/docs/changelog.rst | 16 +
providers/apache/kylin/docs/index.rst | 6 +-
providers/apache/kylin/provider.yaml | 4 +-
providers/apache/kylin/pyproject.toml | 8 +-
.../src/airflow/providers/apache/kylin/__init__.py | 2 +-
.../providers/apache/kylin/operators/kylin_cube.py | 1 +
providers/apache/livy/README.rst | 6 +-
providers/apache/livy/docs/changelog.rst | 13 +
providers/apache/livy/docs/index.rst | 6 +-
providers/apache/livy/provider.yaml | 3 +-
providers/apache/livy/pyproject.toml | 8 +-
.../src/airflow/providers/apache/livy/__init__.py | 2 +-
providers/apache/pig/README.rst | 6 +-
providers/apache/pig/docs/changelog.rst | 15 +
providers/apache/pig/docs/index.rst | 6 +-
providers/apache/pig/provider.yaml | 4 +-
providers/apache/pig/pyproject.toml | 8 +-
.../src/airflow/providers/apache/pig/__init__.py | 2 +-
.../airflow/providers/apache/pig/operators/pig.py | 2 +-
providers/apache/pinot/pyproject.toml | 2 +-
providers/apache/spark/pyproject.toml | 2 +-
.../unit/apache/spark/hooks/test_spark_submit.py | 2 +-
providers/apache/tinkerpop/README.rst | 6 +-
providers/apache/tinkerpop/docs/changelog.rst | 22 +
providers/apache/tinkerpop/docs/index.rst | 6 +-
providers/apache/tinkerpop/provider.yaml | 4 +-
providers/apache/tinkerpop/pyproject.toml | 8 +-
.../airflow/providers/apache/tinkerpop/__init__.py | 2 +-
.../apache/tinkerpop/operators/gremlin.py | 6 +-
providers/apprise/README.rst | 6 +-
providers/apprise/docs/changelog.rst | 15 +
providers/apprise/docs/index.rst | 6 +-
providers/apprise/provider.yaml | 4 +-
providers/apprise/pyproject.toml | 8 +-
.../src/airflow/providers/apprise/__init__.py | 2 +-
.../providers/apprise/notifications/apprise.py | 4 +-
providers/arangodb/README.rst | 6 +-
providers/arangodb/docs/changelog.rst | 26 +
providers/arangodb/docs/index.rst | 6 +-
providers/arangodb/provider.yaml | 3 +-
providers/arangodb/pyproject.toml | 8 +-
.../src/airflow/providers/arangodb/__init__.py | 2 +-
.../providers/arangodb/operators/arangodb.py | 7 +-
.../airflow/providers/arangodb/sensors/arangodb.py | 5 +-
providers/asana/README.rst | 6 +-
providers/asana/docs/changelog.rst | 17 +
providers/asana/docs/index.rst | 6 +-
providers/asana/provider.yaml | 4 +-
providers/asana/pyproject.toml | 8 +-
.../asana/src/airflow/providers/asana/__init__.py | 2 +-
.../providers/asana/operators/asana_tasks.py | 9 +
providers/atlassian/jira/README.rst | 6 +-
providers/atlassian/jira/docs/changelog.rst | 15 +
providers/atlassian/jira/docs/index.rst | 6 +-
providers/atlassian/jira/provider.yaml | 4 +-
providers/atlassian/jira/pyproject.toml | 8 +-
.../airflow/providers/atlassian/jira/__init__.py | 2 +-
.../providers/atlassian/jira/notifications/jira.py | 10 +-
.../providers/atlassian/jira/operators/jira.py | 5 +-
.../providers/atlassian/jira/sensors/jira.py | 7 +-
providers/celery/README.rst | 6 +-
providers/celery/docs/changelog.rst | 24 +
providers/celery/docs/index.rst | 6 +-
providers/celery/provider.yaml | 3 +-
providers/celery/pyproject.toml | 8 +-
.../src/airflow/providers/celery/__init__.py | 2 +-
.../providers/celery/executors/celery_executor.py | 34 +-
.../celery/executors/celery_kubernetes_executor.py | 5 +-
.../src/airflow/providers/celery/version_compat.py | 2 +
.../integration/celery/test_celery_executor.py | 2 +-
.../unit/celery/executors/test_celery_executor.py | 8 +-
providers/clickhousedb/pyproject.toml | 2 +-
providers/cloudant/README.rst | 6 +-
providers/cloudant/docs/changelog.rst | 15 +
providers/cloudant/docs/index.rst | 6 +-
providers/cloudant/provider.yaml | 3 +-
providers/cloudant/pyproject.toml | 8 +-
.../src/airflow/providers/cloudant/__init__.py | 2 +-
providers/cncf/kubernetes/README.rst | 6 +-
providers/cncf/kubernetes/docs/changelog.rst | 36 +
providers/cncf/kubernetes/docs/index.rst | 6 +-
.../cncf/kubernetes/docs/kubernetes_executor.rst | 8 +-
providers/cncf/kubernetes/provider.yaml | 3 +-
providers/cncf/kubernetes/pyproject.toml | 8 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 2 +-
.../kubernetes/executors/kubernetes_executor.py | 148 +-
.../executors/local_kubernetes_executor.py | 13 +-
.../providers/cncf/kubernetes/operators/job.py | 2 +
.../cncf/kubernetes/operators/resource.py | 2 +-
.../cncf/kubernetes/sensors/spark_kubernetes.py | 2 +-
.../cncf/kubernetes/utils/xcom_sidecar.py | 2 +-
.../providers/cncf/kubernetes/version_compat.py | 2 +
.../system/cncf/kubernetes/example_kubernetes.py | 2 +-
.../cncf/kubernetes/example_kubernetes_async.py | 2 +-
.../executors/test_kubernetes_executor.py | 119 +-
.../executors/test_local_kubernetes_executor.py | 19 +-
.../unit/cncf/kubernetes/operators/test_pod.py | 6 +-
.../tests/unit/cncf/kubernetes/test_k8s_model.py | 47 +
.../cncf/kubernetes/{models => }/test_secret.py | 45 +
.../unit/cncf/kubernetes/utils/test_pod_manager.py | 4 +-
providers/cohere/README.rst | 6 +-
providers/cohere/docs/changelog.rst | 13 +
providers/cohere/docs/index.rst | 6 +-
providers/cohere/provider.yaml | 4 +-
providers/cohere/pyproject.toml | 8 +-
.../src/airflow/providers/cohere/__init__.py | 2 +-
.../providers/cohere/operators/embedding.py | 5 +-
.../airflow/providers/cohere/operators/rerank.py | 2 +-
providers/common/ai/AGENTS.md | 2 +-
providers/common/ai/README.rst | 57 +-
providers/common/ai/docs/agent_security.rst | 313 ++
providers/common/ai/docs/approval_gates.rst | 123 +
providers/common/ai/docs/changelog.rst | 137 +-
providers/common/ai/docs/choosing_a_toolset.rst | 611 ---
providers/common/ai/docs/classifier_models.rst | 39 +-
providers/common/ai/docs/code_mode.rst | 92 +
providers/common/ai/docs/concepts.rst | 136 +
providers/common/ai/docs/connections/index.rst | 62 +
providers/common/ai/docs/connections/langchain.rst | 30 +-
.../common/ai/docs/connections/llamaindex.rst | 59 +-
providers/common/ai/docs/connections/mcp.rst | 93 +-
.../common/ai/docs/connections/pydantic_ai.rst | 56 +-
.../ai/docs/connections/pydantic_ai_azure.rst | 33 +-
.../ai/docs/connections/pydantic_ai_bedrock.rst | 35 +-
.../ai/docs/connections/pydantic_ai_vertex.rst | 51 +-
providers/common/ai/docs/durable_execution.rst | 168 +
providers/common/ai/docs/end_to_end_pipelines.rst | 176 -
providers/common/ai/docs/examples.rst | 96 +-
providers/common/ai/docs/features.rst | 57 +
providers/common/ai/docs/frameworks/adk.rst | 109 +
providers/common/ai/docs/frameworks/index.rst | 174 +
.../common/ai/docs/frameworks/pydantic_ai.rst | 78 +
providers/common/ai/docs/frameworks/strands.rst | 186 +
providers/common/ai/docs/guardrails.rst | 66 +
providers/common/ai/docs/hitl_review.rst | 84 +-
providers/common/ai/docs/hooks/index.rst | 62 -
providers/common/ai/docs/hooks/langchain.rst | 64 +-
providers/common/ai/docs/hooks/llamaindex.rst | 30 +-
providers/common/ai/docs/hooks/mcp.rst | 41 +-
providers/common/ai/docs/hooks/pydantic_ai.rst | 29 +-
providers/common/ai/docs/index.rst | 226 +-
providers/common/ai/docs/installation.rst | 88 +
providers/common/ai/docs/local_development.rst | 154 +
providers/common/ai/docs/message_history.rst | 60 +
providers/common/ai/docs/model_providers.rst | 148 +
providers/common/ai/docs/observability.rst | 119 +-
providers/common/ai/docs/operations.rst | 44 +
providers/common/ai/docs/operators/agent.rst | 470 +--
.../common/ai/docs/operators/document_loader.rst | 67 +-
providers/common/ai/docs/operators/index.rst | 69 +-
.../ai/docs/operators/llamaindex_embedding.rst | 35 +-
.../ai/docs/operators/llamaindex_retrieval.rst | 27 +-
providers/common/ai/docs/operators/llm.rst | 225 +-
providers/common/ai/docs/operators/llm_batch.rst | 11 +-
providers/common/ai/docs/operators/llm_branch.rst | 41 +-
.../common/ai/docs/operators/llm_file_analysis.rst | 13 +-
.../ai/docs/operators/llm_schema_compare.rst | 34 +-
providers/common/ai/docs/operators/llm_sql.rst | 13 +-
providers/common/ai/docs/provider_fallback.rst | 13 +-
providers/common/ai/docs/quickstart.rst | 123 +-
providers/common/ai/docs/rag_pipelines.rst | 50 +
providers/{google => common/ai}/docs/redirects.txt | 8 +-
providers/common/ai/docs/retry_policies.rst | 394 +-
providers/common/ai/docs/sandbox.rst | 821 ----
providers/common/ai/docs/sandbox/backends.rst | 381 ++
providers/common/ai/docs/sandbox/configuration.rst | 459 ++
providers/common/ai/docs/sandbox/index.rst | 593 +++
providers/common/ai/docs/self_hosted_models.rst | 3 +-
providers/common/ai/docs/stability.rst | 188 +
providers/common/ai/docs/structured_output.rst | 67 +
providers/common/ai/docs/tool_approval.rst | 152 +
providers/common/ai/docs/toolsets.rst | 1145 -----
providers/common/ai/docs/toolsets/datafusion.rst | 173 +
providers/common/ai/docs/toolsets/hook.rst | 181 +
providers/common/ai/docs/toolsets/index.rst | 292 ++
providers/common/ai/docs/toolsets/langchain.rst | 92 +
providers/common/ai/docs/toolsets/logging.rst | 41 +
.../common/ai/docs/toolsets/managed_agent.rst | 296 ++
providers/common/ai/docs/toolsets/mcp.rst | 252 ++
.../common/ai/docs/toolsets/object_storage.rst | 124 +
providers/common/ai/docs/toolsets/skills.rst | 174 +
providers/common/ai/docs/toolsets/sql.rst | 318 ++
providers/common/ai/docs/troubleshooting.rst | 167 +
.../ai/docs/use_cases/ask_questions_over_pdfs.rst | 104 +
.../ai/docs/use_cases/classify_reviews_in_bulk.rst | 89 +
.../ai/docs/use_cases/compare_10k_filings.rst | 118 +
.../ai/docs/use_cases/explain_revenue_anomaly.rst | 78 +
.../docs/use_cases/gate_loads_on_schema_drift.rst | 76 +
providers/common/ai/docs/use_cases/index.rst | 123 +
.../docs/use_cases/monthly_report_from_a_csv.rst | 103 +
.../docs/use_cases/research_agent_with_review.rst | 88 +
.../ai/docs/use_cases/route_pipeline_failures.rst | 88 +
.../ai/docs/use_cases/triage_support_tickets.rst | 72 +
.../ai/docs/use_cases/weekly_status_report.rst | 120 +
providers/common/ai/provider.yaml | 29 +-
providers/common/ai/pyproject.toml | 64 +-
.../ai/src/airflow/providers/common/ai/__init__.py | 2 +-
.../airflow/providers/common/ai/batch/__init__.py | 2 +-
.../airflow/providers/common/ai/batch/anthropic.py | 5 +
.../src/airflow/providers/common/ai/batch/base.py | 10 +
.../airflow/providers/common/ai/batch/dispatch.py | 5 +
.../airflow/providers/common/ai/batch/openai.py | 5 +
.../providers/common/ai/decorators/llm_batch.py | 5 +
.../common/ai/decorators/llm_file_analysis.py | 5 +
.../common/ai/decorators/llm_schema_compare.py | 5 +
.../providers/common/ai/decorators/llm_sql.py | 5 +
.../airflow/providers/common/ai/durable/base.py | 19 +-
.../providers/common/ai/durable/caching_model.py | 122 +-
.../providers/common/ai/durable/caching_toolset.py | 47 +-
.../providers/common/ai/durable/replay_usage.py | 240 ++
.../providers/common/ai/durable/step_counter.py | 4 +
.../airflow/providers/common/ai/durable/storage.py | 16 +-
.../common/ai/durable/task_state_store.py | 16 +-
.../common/ai/example_dags/example_adk_agent.py | 105 +
.../common/ai/example_dags/example_agent_spec.yaml | 2 +-
.../ai/example_dags/example_agent_tool_approval.py | 58 +
.../ai/example_dags/example_classifier_model.py | 8 +-
.../ai/example_dags/example_langchain_10k.py | 2 +-
.../ai/example_dags/example_langchain_hook.py | 6 +-
.../example_dags/example_langchain_tool_agent.py | 2 +-
.../example_langchain_toolset_bridge.py | 2 +-
.../ai/example_dags/example_llamaindex_10k.py | 2 +-
.../example_dags/example_llm_analysis_pipeline.py | 4 +-
.../common/ai/example_dags/example_llm_batch.py | 4 +-
.../common/ai/example_dags/example_llm_fallback.py | 4 +-
.../ai/example_dags/example_llm_retry_policy.py | 43 +-
.../ai/example_dags/example_llm_schema_compare.py | 10 +-
.../ai/example_dags/example_llm_survey_analysis.py | 4 +-
.../example_dags/example_object_storage_toolset.py | 48 +
.../ai/example_dags/example_pydantic_ai_agent.py | 72 +
.../common/ai/example_dags/example_quickstart.py | 25 +-
.../ai/example_dags/example_sandbox_toolset.py | 100 +-
.../ai/example_dags/example_strands_agent.py | 91 +
.../src/airflow/providers/common/ai/exceptions.py | 32 +-
.../providers/common/ai/get_provider_info.py | 27 +-
.../airflow/providers/common/ai/hooks/langchain.py | 54 +-
.../providers/common/ai/hooks/llamaindex.py | 36 +-
.../providers/common/ai/hooks/pydantic_ai.py | 20 +-
.../airflow/providers/common/ai/mixins/approval.py | 30 +
.../providers/common/ai/mixins/cancellable_run.py | 70 +
.../airflow/providers/common/ai/operators/agent.py | 910 +++-
.../common/ai/operators/document_loader.py | 57 +-
.../common/ai/operators/llamaindex_embedding.py | 18 +
.../common/ai/operators/llamaindex_retrieval.py | 19 +
.../airflow/providers/common/ai/operators/llm.py | 42 +-
.../providers/common/ai/operators/llm_batch.py | 5 +
.../providers/common/ai/operators/llm_branch.py | 8 +-
.../common/ai/operators/llm_file_analysis.py | 12 +-
.../common/ai/operators/llm_schema_compare.py | 7 +-
.../providers/common/ai/operators/llm_sql.py | 9 +-
.../providers/common/ai/policies/decision.py | 11 +
.../airflow/providers/common/ai/policies/retry.py | 516 ++-
.../providers/common/ai/sandbox/__init__.py | 6 +
.../airflow/providers/common/ai/sandbox/base.py | 281 +-
.../airflow/providers/common/ai/sandbox/modal.py | 391 +-
.../providers/common/ai/sandbox/opensandbox.py | 550 +++
.../airflow/providers/common/ai/sandbox/output.py | 6 +-
.../src/airflow/providers/common/ai/sandbox/sbx.py | 30 +-
.../ai/src/airflow/providers/common/ai/skills.py | 5 +
.../airflow/providers/common/ai/tools/__init__.py | 172 +
.../providers/common/ai/tools/_from_toolset.py | 243 ++
.../src/airflow/providers/common/ai/tools/adk.py | 112 +
.../airflow/providers/common/ai/tools/strands.py | 155 +
.../airflow/providers/common/ai/tools/tracing.py | 192 +
.../providers/common/ai/toolsets/__init__.py | 2 +
.../providers/common/ai/toolsets/datafusion.py | 47 +-
.../airflow/providers/common/ai/toolsets/hook.py | 106 +-
.../common/ai/toolsets/langchain_bridge.py | 185 +-
.../providers/common/ai/toolsets/logging.py | 15 +-
.../providers/common/ai/toolsets/managed_agent.py | 28 +-
.../airflow/providers/common/ai/toolsets/mcp.py | 44 +-
.../providers/common/ai/toolsets/object_storage.py | 384 ++
.../providers/common/ai/toolsets/sandbox.py | 429 +-
.../airflow/providers/common/ai/toolsets/skills.py | 5 +
.../airflow/providers/common/ai/toolsets/sql.py | 53 +-
.../providers/common/ai/triggers/llm_batch.py | 5 +
.../providers/common/ai/utils/coroutines.py | 44 +-
.../airflow/providers/common/ai/utils/decision.py | 5 +-
.../providers/common/ai/utils/file_analysis.py | 123 +-
.../airflow/providers/common/ai/utils/logging.py | 42 +-
.../airflow/providers/common/ai/utils/masking.py | 120 +
.../providers/common/ai/utils/query_results.py | 7 +-
.../providers/common/ai/utils/tool_definition.py | 13 +-
.../providers/common/ai/utils/tool_metrics.py | 63 +
.../providers/common/ai/utils/toolset_base.py | 250 ++
.../airflow/providers/common/ai/utils/toolsets.py | 64 +
.../providers/common/ai/utils/usage_budget.py | 214 +
.../common/ai/tests/system/common/ai/README.md | 37 +-
.../common/ai/example_sandbox_toolset_modal.py | 207 +-
.../ai/example_sandbox_toolset_opensandbox.py | 142 +
.../common/ai/tests/unit/common/ai/conftest.py | 34 +
.../tests/unit/common/ai/decorators/test_agent.py | 18 +-
.../ai/tests/unit/common/ai/decorators/test_llm.py | 12 +-
.../unit/common/ai/decorators/test_llm_branch.py | 8 +-
.../common/ai/decorators/test_llm_file_analysis.py | 10 +-
.../unit/common/ai/decorators/test_llm_sql.py | 8 +-
.../unit/common/ai/durable/test_caching_model.py | 252 +-
.../unit/common/ai/durable/test_caching_toolset.py | 36 +-
.../unit/common/ai/durable/test_replay_cost.py | 171 +-
.../unit/common/ai/durable/test_replay_usage.py | 114 +
.../tests/unit/common/ai/durable/test_storage.py | 9 +
.../common/ai/durable/test_task_state_store.py | 22 +-
.../tests/unit/common/ai/hooks/test_langchain.py | 66 +
.../tests/unit/common/ai/hooks/test_llamaindex.py | 72 +
.../tests/unit/common/ai/hooks/test_pydantic_ai.py | 77 +-
.../unit/common/ai/mixins/test_cancellable_run.py | 100 +
.../tests/unit/common/ai/operators/test_agent.py | 2060 ++++++++-
.../ai/operators/test_agent_tool_approval.py | 599 +++
.../common/ai/operators/test_document_loader.py | 67 +
.../ai/operators/test_llamaindex_embedding.py | 15 +-
.../ai/operators/test_llamaindex_retrieval.py | 15 +-
.../ai/tests/unit/common/ai/operators/test_llm.py | 33 +-
.../unit/common/ai/operators/test_llm_branch.py | 6 +-
.../common/ai/operators/test_llm_file_analysis.py | 40 +-
.../common/ai/operators/test_llm_schema_compare.py | 5 +-
.../tests/unit/common/ai/operators/test_llm_sql.py | 6 +-
.../ai/tests/unit/common/ai/policies/test_retry.py | 590 ++-
.../ai/tests/unit/common/ai/sandbox/fake_modal.py | 17 +
.../ai/tests/unit/common/ai/sandbox/fake_tags.py | 63 +
.../ai/tests/unit/common/ai/sandbox/test_base.py | 173 +
.../ai/tests/unit/common/ai/sandbox/test_modal.py | 390 +-
.../unit/common/ai/sandbox/test_opensandbox.py | 734 ++++
.../ai/tests/unit/common/ai/sandbox/test_sbx.py | 14 +
.../ai/tests/unit/common/ai/tools}/__init__.py | 0
.../unit/common/ai/tools/test__from_toolset.py | 344 ++
.../ai/tests/unit/common/ai/tools/test_adk.py | 157 +
.../ai/tests/unit/common/ai/tools/test_strands.py | 207 +
.../ai/tests/unit/common/ai/tools/test_tools.py | 145 +
.../ai/tests/unit/common/ai/tools/test_tracing.py | 230 +
.../unit/common/ai/toolsets/test_datafusion.py | 38 +-
.../ai/tests/unit/common/ai/toolsets/test_hook.py | 222 +-
.../common/ai/toolsets/test_langchain_bridge.py | 58 +-
.../tests/unit/common/ai/toolsets/test_logging.py | 18 +
.../ai/tests/unit/common/ai/toolsets/test_mcp.py | 8 +
.../unit/common/ai/toolsets/test_object_storage.py | 416 ++
.../tests/unit/common/ai/toolsets/test_sandbox.py | 615 ++-
.../ai/tests/unit/common/ai/toolsets/test_sql.py | 54 +
.../tests/unit/common/ai/utils/test_coroutines.py | 28 +-
.../unit/common/ai/utils/test_file_analysis.py | 27 +-
.../ai/tests/unit/common/ai/utils/test_logging.py | 77 +
.../ai/tests/unit/common/ai/utils/test_masking.py | 117 +
.../unit/common/ai/utils/test_query_results.py | 9 +
.../unit/common/ai/utils/test_tool_definition.py | 21 +-
.../unit/common/ai/utils/test_tool_metrics.py | 179 +
.../unit/common/ai/utils/test_toolset_base.py | 281 ++
.../ai/tests/unit/common/ai/utils/test_toolsets.py | 66 +
.../unit/common/ai/utils/test_usage_budget.py | 242 ++
providers/common/compat/README.rst | 6 +-
providers/common/compat/docs/changelog.rst | 24 +
providers/common/compat/docs/index.rst | 6 +-
providers/common/compat/provider.yaml | 8 +-
providers/common/compat/pyproject.toml | 8 +-
.../airflow/providers/common/compat/__init__.py | 2 +-
.../providers/common/compat/_retry_policy.py | 129 +
.../src/airflow/providers/common/compat/sdk.py | 30 +-
.../tests/unit/common/compat/test__retry_policy.py | 320 ++
providers/common/dataquality/pyproject.toml | 2 +-
providers/common/io/README.rst | 6 +-
providers/common/io/docs/changelog.rst | 25 +
providers/common/io/docs/index.rst | 6 +-
providers/common/io/provider.yaml | 4 +-
providers/common/io/pyproject.toml | 8 +-
.../io/src/airflow/providers/common/io/__init__.py | 2 +-
.../providers/common/io/operators/file_transfer.py | 2 +-
.../providers/common/io/state_store/backend.py | 4 +-
providers/common/messaging/README.rst | 6 +-
providers/common/messaging/docs/changelog.rst | 14 +
providers/common/messaging/docs/index.rst | 6 +-
providers/common/messaging/provider.yaml | 3 +-
providers/common/messaging/pyproject.toml | 8 +-
.../airflow/providers/common/messaging/__init__.py | 2 +-
providers/common/sql/README.rst | 6 +-
providers/common/sql/docs/changelog.rst | 31 +
providers/common/sql/docs/connections.rst | 152 +-
providers/common/sql/docs/dialects.rst | 8 +-
providers/common/sql/docs/index.rst | 8 +-
providers/common/sql/provider.yaml | 3 +-
providers/common/sql/pyproject.toml | 10 +-
.../src/airflow/providers/common/sql/__init__.py | 2 +-
.../providers/common/sql/datafusion/engine.py | 14 +-
.../airflow/providers/common/sql/sensors/sql.py | 2 +-
.../unit/common/sql/datafusion/test_engine.py | 22 +
providers/databricks/README.rst | 6 +-
providers/databricks/docs/changelog.rst | 24 +
providers/databricks/docs/index.rst | 8 +-
providers/databricks/provider.yaml | 3 +-
providers/databricks/pyproject.toml | 10 +-
.../src/airflow/providers/databricks/__init__.py | 2 +-
.../providers/databricks/operators/databricks.py | 3 +
providers/datadog/README.rst | 6 +-
providers/datadog/docs/changelog.rst | 17 +
providers/datadog/docs/index.rst | 6 +-
providers/datadog/provider.yaml | 4 +-
providers/datadog/pyproject.toml | 8 +-
.../src/airflow/providers/datadog/__init__.py | 2 +-
.../airflow/providers/datadog/sensors/datadog.py | 4 +-
providers/dbt/cloud/README.rst | 6 +-
providers/dbt/cloud/docs/changelog.rst | 25 +
providers/dbt/cloud/docs/index.rst | 6 +-
providers/dbt/cloud/provider.yaml | 3 +-
providers/dbt/cloud/pyproject.toml | 8 +-
.../src/airflow/providers/dbt/cloud/__init__.py | 2 +-
.../src/airflow/providers/dbt/cloud/hooks/dbt.py | 26 +
.../airflow/providers/dbt/cloud/operators/dbt.py | 6 +-
.../src/airflow/providers/dbt/cloud/sensors/dbt.py | 16 +-
.../cloud/tests/unit/dbt/cloud/hooks/test_dbt.py | 33 +
.../tests/unit/dbt/cloud/operators/test_dbt.py | 27 +-
.../cloud/tests/unit/dbt/cloud/sensors/test_dbt.py | 37 +-
providers/dingding/README.rst | 6 +-
providers/dingding/docs/changelog.rst | 18 +
providers/dingding/docs/index.rst | 6 +-
providers/dingding/provider.yaml | 4 +-
providers/dingding/pyproject.toml | 8 +-
.../src/airflow/providers/dingding/__init__.py | 2 +-
.../providers/dingding/operators/dingding.py | 5 +-
providers/discord/pyproject.toml | 2 +-
providers/docker/README.rst | 6 +-
providers/docker/docs/changelog.rst | 16 +
providers/docker/docs/index.rst | 6 +-
providers/docker/provider.yaml | 4 +-
providers/docker/pyproject.toml | 8 +-
.../src/airflow/providers/docker/__init__.py | 2 +-
.../airflow/providers/docker/operators/docker.py | 1 +
providers/duckdb/README.rst | 34 +-
providers/duckdb/docs/.latest-doc-only-change.txt | 1 -
providers/duckdb/docs/index.rst | 7 +
providers/duckdb/docs/operators.rst | 6 +
providers/duckdb/provider.yaml | 2 +-
providers/duckdb/pyproject.toml | 2 +-
.../src/airflow/providers/duckdb/hooks/duckdb.py | 6 +-
.../airflow/providers/duckdb/operators/duckdb.py | 48 +-
.../tests/unit/duckdb/operators/test_duckdb.py | 33 +-
providers/edge3/README.rst | 6 +-
providers/edge3/docs/changelog.rst | 33 +
providers/edge3/docs/index.rst | 6 +-
providers/edge3/provider.yaml | 83 +-
providers/edge3/pyproject.toml | 10 +-
.../edge3/src/airflow/providers/edge3/__init__.py | 2 +-
.../providers/edge3/executors/edge_executor.py | 9 +-
.../airflow/providers/edge3/get_provider_info.py | 42 +
.../src/airflow/providers/edge3/version_compat.py | 2 +
.../src/airflow/providers/edge3/worker_api/auth.py | 195 +-
.../unit/edge3/executors/test_edge_executor.py | 2 +-
.../edge3/tests/unit/edge3/worker_api/test_auth.py | 358 +-
providers/elasticsearch/pyproject.toml | 2 +-
.../providers/elasticsearch/log/es_response.py | 6 +-
.../unit/elasticsearch/log/test_es_response.py | 13 +
providers/exasol/README.rst | 6 +-
providers/exasol/docs/changelog.rst | 13 +
providers/exasol/docs/index.rst | 14 +-
providers/exasol/provider.yaml | 4 +-
providers/exasol/pyproject.toml | 10 +-
.../src/airflow/providers/exasol/__init__.py | 2 +-
.../airflow/providers/exasol/operators/exasol.py | 2 +-
providers/fab/README.rst | 8 +-
providers/fab/docs/auth-manager/access-control.rst | 12 +
providers/fab/docs/changelog.rst | 41 +
providers/fab/docs/index.rst | 8 +-
providers/fab/provider.yaml | 3 +-
providers/fab/pyproject.toml | 12 +-
.../providers/3rd-party-licenses/LICENSES-ui.txt | 8 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
.../fab/auth_manager/security_manager/override.py | 9 +-
.../providers/fab/auth_manager/views/user.py | 20 +
.../fab/src/airflow/providers/fab/www/package.json | 18 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 1200 +++---
.../appbuilder/general/model/user_edit.html | 29 +
.../fab/src/airflow/providers/fab/www/views.py | 6 +-
.../tests/unit/fab/auth_manager/test_security.py | 23 +
providers/fab/tests/unit/fab/www/test_views.py | 21 +-
.../fab/www/views/test_views_custom_user_views.py | 74 +-
providers/facebook/pyproject.toml | 2 +-
providers/ftp/README.rst | 6 +-
providers/ftp/docs/changelog.rst | 17 +
providers/ftp/docs/index.rst | 6 +-
providers/ftp/provider.yaml | 4 +-
providers/ftp/pyproject.toml | 8 +-
.../ftp/src/airflow/providers/ftp/__init__.py | 2 +-
.../ftp/src/airflow/providers/ftp/hooks/ftp.py | 17 +-
.../ftp/src/airflow/providers/ftp/operators/ftp.py | 2 +-
.../ftp/src/airflow/providers/ftp/sensors/ftp.py | 5 +-
providers/ftp/tests/unit/ftp/hooks/test_ftp.py | 32 +
providers/git/README.rst | 6 +-
providers/git/docs/changelog.rst | 13 +
providers/git/docs/index.rst | 6 +-
providers/git/provider.yaml | 3 +-
providers/git/pyproject.toml | 8 +-
.../git/src/airflow/providers/git/__init__.py | 2 +-
.../git/src/airflow/providers/git/hooks/git.py | 31 +-
providers/git/tests/unit/git/hooks/test_git.py | 19 +
providers/github/README.rst | 6 +-
providers/github/docs/changelog.rst | 23 +
providers/github/docs/index.rst | 6 +-
providers/github/provider.yaml | 4 +-
providers/github/pyproject.toml | 8 +-
.../src/airflow/providers/github/__init__.py | 2 +-
.../airflow/providers/github/operators/github.py | 7 +-
.../src/airflow/providers/github/sensors/github.py | 9 +-
providers/google/README.rst | 86 +-
providers/google/docs/changelog.rst | 79 +
providers/google/docs/index.rst | 86 +-
.../docs/integration-logos/Cloud-Monitoring.png | Bin 0 -> 3058 bytes
.../integration-logos/Google-Cloud-Stackdriver.png | Bin 8275 -> 0 bytes
.../logging/{stackdriver.rst => cloud_logging.rst} | 37 +-
providers/google/docs/message-queues/index.rst | 24 +-
.../docs/operators/cloud/cloud_monitoring.rst | 234 +
providers/google/docs/operators/cloud/pubsub.rst | 7 +
.../google/docs/operators/cloud/stackdriver.rst | 227 -
providers/google/docs/redirects.txt | 2 +
providers/google/provider.yaml | 27 +-
providers/google/pyproject.toml | 88 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../airflow/providers/google/ads/operators/ads.py | 2 +
.../providers/google/ads/transfers/ads_to_gcs.py | 2 +
.../providers/google/cloud/hooks/bigquery.py | 6 +-
.../hooks/{stackdriver.py => cloud_monitoring.py} | 48 +-
.../providers/google/cloud/hooks/stackdriver.py | 578 +--
.../links/{stackdriver.py => cloud_monitoring.py} | 20 +-
.../providers/google/cloud/links/stackdriver.py | 54 +-
...sk_handler.py => cloud_logging_task_handler.py} | 38 +-
.../google/cloud/log/stackdriver_task_handler.py | 579 +--
.../providers/google/cloud/operators/bigquery.py | 4 +
.../providers/google/cloud/operators/bigtable.py | 6 +
.../google/cloud/operators/cloud_build.py | 12 +-
.../google/cloud/operators/cloud_composer.py | 8 +
.../{stackdriver.py => cloud_monitoring.py} | 182 +-
.../providers/google/cloud/operators/cloud_sql.py | 2 +
.../operators/cloud_storage_transfer_service.py | 19 +-
.../providers/google/cloud/operators/compute.py | 2 +
.../providers/google/cloud/operators/dataflow.py | 9 +-
.../providers/google/cloud/operators/dataform.py | 33 +-
.../providers/google/cloud/operators/datafusion.py | 17 +-
.../providers/google/cloud/operators/dataplex.py | 51 +-
.../providers/google/cloud/operators/dataprep.py | 18 +-
.../google/cloud/operators/dataproc_metastore.py | 10 +
.../providers/google/cloud/operators/datastore.py | 10 +
.../providers/google/cloud/operators/functions.py | 20 +-
.../providers/google/cloud/operators/gen_ai.py | 71 +-
.../google/cloud/operators/kubernetes_engine.py | 25 +-
.../providers/google/cloud/operators/looker.py | 3 +
.../providers/google/cloud/operators/pubsub.py | 44 +-
.../google/cloud/operators/stackdriver.py | 964 +----
.../google/cloud/operators/vertex_ai/auto_ml.py | 30 +-
.../operators/vertex_ai/batch_prediction_job.py | 15 +-
.../google/cloud/operators/vertex_ai/custom_job.py | 31 +-
.../google/cloud/operators/vertex_ai/dataset.py | 44 +-
.../cloud/operators/vertex_ai/endpoint_service.py | 46 +-
.../operators/vertex_ai/experiment_service.py | 6 +
.../cloud/operators/vertex_ai/feature_store.py | 8 +
.../cloud/operators/vertex_ai/generative_model.py | 1 +
.../vertex_ai/hyperparameter_tuning_job.py | 18 +-
.../cloud/operators/vertex_ai/model_service.py | 51 +-
.../cloud/operators/vertex_ai/pipeline_job.py | 4 +
.../providers/google/cloud/operators/workflows.py | 18 +-
.../providers/google/cloud/sensors/bigquery.py | 4 +
.../providers/google/cloud/sensors/bigquery_dts.py | 23 +-
.../providers/google/cloud/sensors/bigtable.py | 1 +
.../google/cloud/sensors/cloud_composer.py | 91 +-
.../providers/google/cloud/sensors/cloud_sql.py | 1 +
.../providers/google/cloud/sensors/dataflow.py | 20 +-
.../providers/google/cloud/sensors/dataform.py | 10 +-
.../providers/google/cloud/sensors/datafusion.py | 5 +-
.../providers/google/cloud/sensors/dataplex.py | 6 +-
.../providers/google/cloud/sensors/dataprep.py | 5 +-
.../providers/google/cloud/sensors/dataproc.py | 4 +-
.../google/cloud/sensors/dataproc_metastore.py | 1 +
.../airflow/providers/google/cloud/sensors/gcs.py | 4 +
.../providers/google/cloud/sensors/looker.py | 2 +-
.../providers/google/cloud/sensors/pubsub.py | 34 +-
.../cloud/sensors/vertex_ai/feature_store.py | 2 +-
.../providers/google/cloud/sensors/workflows.py | 2 +-
.../google/cloud/transfers/adls_to_gcs.py | 2 +
.../google/cloud/transfers/azure_blob_to_gcs.py | 2 +
.../cloud/transfers/azure_fileshare_to_gcs.py | 2 +
.../google/cloud/transfers/bigquery_to_bigquery.py | 1 +
.../google/cloud/transfers/bigquery_to_gcs.py | 1 +
.../google/cloud/transfers/bigquery_to_mssql.py | 1 +
.../google/cloud/transfers/bigquery_to_mysql.py | 7 +-
.../google/cloud/transfers/bigquery_to_postgres.py | 3 +
.../google/cloud/transfers/bigquery_to_sql.py | 1 +
.../google/cloud/transfers/calendar_to_gcs.py | 1 +
.../google/cloud/transfers/cassandra_to_gcs.py | 2 +
.../google/cloud/transfers/facebook_ads_to_gcs.py | 1 +
.../google/cloud/transfers/gcs_to_bigquery.py | 1 +
.../providers/google/cloud/transfers/gcs_to_gcs.py | 1 +
.../google/cloud/transfers/gcs_to_local.py | 1 +
.../google/cloud/transfers/gcs_to_sftp.py | 2 +
.../google/cloud/transfers/gdrive_to_gcs.py | 1 +
.../google/cloud/transfers/gdrive_to_local.py | 1 +
.../google/cloud/transfers/local_to_gcs.py | 1 +
.../google/cloud/transfers/mongo_to_gcs.py | 2 +
.../google/cloud/transfers/mssql_to_gcs.py | 2 +
.../google/cloud/transfers/mysql_to_gcs.py | 3 +
.../google/cloud/transfers/oracle_to_gcs.py | 3 +
.../google/cloud/transfers/postgres_to_gcs.py | 3 +
.../google/cloud/transfers/presto_to_gcs.py | 3 +
.../providers/google/cloud/transfers/s3_to_gcs.py | 2 +
.../google/cloud/transfers/salesforce_to_gcs.py | 2 +
.../google/cloud/transfers/sftp_to_gcs.py | 2 +
.../google/cloud/transfers/sheets_to_gcs.py | 1 +
.../providers/google/cloud/transfers/sql_to_gcs.py | 1 +
.../google/cloud/transfers/trino_to_gcs.py | 2 +
.../providers/google/cloud/triggers/pubsub.py | 24 +-
.../src/airflow/providers/google/common/consts.py | 8 +
.../google/event_scheduling/events/pubsub.py | 27 +-
.../airflow/providers/google/get_provider_info.py | 26 +-
.../providers/google/leveldb/operators/leveldb.py | 3 +
.../marketing_platform/operators/bid_manager.py | 4 +
.../operators/campaign_manager.py | 2 +
.../marketing_platform/operators/display_video.py | 2 +
.../marketing_platform/sensors/bid_manager.py | 1 +
.../marketing_platform/sensors/campaign_manager.py | 1 +
.../marketing_platform/sensors/display_video.py | 1 +
.../providers/google/suite/operators/sheets.py | 1 +
.../providers/google/suite/sensors/drive.py | 1 +
.../google/suite/transfers/gcs_to_gdrive.py | 1 +
.../google/suite/transfers/gcs_to_sheets.py | 1 +
.../google/suite/transfers/local_to_drive.py | 1 +
.../google/suite/transfers/sql_to_sheets.py | 2 +
.../google/cloud/cloud_monitoring}/__init__.py | 0
.../example_cloud_monitoring.py} | 99 +-
.../system/google/cloud/pubsub/example_pubsub.py | 5 +
.../cloud/pubsub/example_pubsub_deferrable.py | 1 +
.../system/google/cloud/stackdriver/__init__.py | 16 -
.../example_event_schedule_pubsub.py | 1 +
...est_stackdriver.py => test_cloud_monitoring.py} | 110 +-
.../tests/unit/google/cloud/hooks/test_dataprep.py | 4 +-
.../unit/google/cloud/hooks/test_stackdriver.py | 426 +-
.../google/cloud/links/test_cloud_monitoring.py} | 30 +-
.../unit/google/cloud/links/test_cloud_tasks.py | 155 +
.../unit/google/cloud/links/test_stackdriver.py | 51 +
...ndler.py => test_cloud_logging_task_handler.py} | 290 +-
.../cloud/log/test_stackdriver_task_handler.py | 890 +---
.../google/cloud/operators/test_cloud_build.py | 22 +
...est_stackdriver.py => test_cloud_monitoring.py} | 175 +-
.../test_cloud_storage_transfer_service.py | 27 +-
.../unit/google/cloud/operators/test_functions.py | 121 +-
.../unit/google/cloud/operators/test_pubsub.py | 47 +-
.../google/cloud/operators/test_stackdriver.py | 329 +-
.../unit/google/cloud/sensors/test_bigquery_dts.py | 34 +
.../google/cloud/sensors/test_cloud_composer.py | 202 +
.../tests/unit/google/cloud/sensors/test_pubsub.py | 45 +-
.../unit/google/cloud/triggers/test_pubsub.py | 66 +
providers/grpc/README.rst | 6 +-
providers/grpc/docs/changelog.rst | 17 +
providers/grpc/docs/index.rst | 6 +-
providers/grpc/provider.yaml | 4 +-
providers/grpc/pyproject.toml | 8 +-
.../grpc/src/airflow/providers/grpc/__init__.py | 2 +-
.../src/airflow/providers/grpc/operators/grpc.py | 2 +-
providers/hashicorp/README.rst | 6 +-
providers/hashicorp/docs/changelog.rst | 13 +
providers/hashicorp/docs/index.rst | 8 +-
providers/hashicorp/provider.yaml | 3 +-
providers/hashicorp/pyproject.toml | 10 +-
.../src/airflow/providers/hashicorp/__init__.py | 2 +-
providers/http/README.rst | 15 +-
providers/http/docs/changelog.rst | 19 +
providers/http/docs/connections/http.rst | 26 +-
providers/http/docs/index.rst | 23 +-
providers/http/provider.yaml | 14 +-
providers/http/pyproject.toml | 15 +-
.../http/src/airflow/providers/http/__init__.py | 2 +-
.../http/src/airflow/providers/http/exceptions.py | 4 +
.../airflow/providers/http/get_provider_info.py | 8 +-
.../http/src/airflow/providers/http/hooks/http.py | 218 +-
.../src/airflow/providers/http/operators/http.py | 3 +-
.../src/airflow/providers/http/sensors/http.py | 4 +-
providers/http/tests/unit/http/hooks/test_http.py | 469 +-
.../http/tests/unit/http/operators/test_http.py | 10 +
.../http/tests/unit/http/sensors/test_http.py | 10 +
providers/ibm/db2/provider.yaml | 2 +-
providers/ibm/db2/pyproject.toml | 2 +-
providers/ibm/mq/docs/message-queues.rst | 17 +-
providers/ibm/mq/provider.yaml | 2 +-
providers/ibm/mq/pyproject.toml | 2 +-
.../mq/src/airflow/providers/ibm/mq/queues/mq.py | 21 +-
providers/imap/README.rst | 6 +-
providers/imap/docs/changelog.rst | 16 +
providers/imap/docs/index.rst | 6 +-
providers/imap/provider.yaml | 4 +-
providers/imap/pyproject.toml | 8 +-
.../imap/src/airflow/providers/imap/__init__.py | 2 +-
.../providers/imap/sensors/imap_attachment.py | 2 +-
providers/influxdb/README.rst | 19 +-
providers/influxdb/docs/changelog.rst | 14 +
providers/influxdb/docs/index.rst | 20 +-
providers/influxdb/docs/operators/index.rst | 22 +
providers/influxdb/docs/sensors/index.rst | 40 +
providers/influxdb/provider.yaml | 13 +-
providers/influxdb/pyproject.toml | 15 +-
.../src/airflow/providers/influxdb/__init__.py | 2 +-
.../providers/influxdb/get_provider_info.py | 12 +
.../airflow/providers/influxdb/hooks/influxdb3.py | 34 +-
.../providers/influxdb/operators/influxdb.py | 5 +-
.../providers/influxdb/operators/influxdb3.py | 44 +-
.../providers/influxdb/sensors}/__init__.py | 0
.../providers/influxdb/sensors/influxdb3.py | 108 +
.../providers/influxdb/triggers}/__init__.py | 0
.../providers/influxdb/triggers/influxdb3.py | 128 +
.../src/airflow/providers/influxdb/utils.py | 46 +
.../tests/system/influxdb/example_influxdb3.py | 23 +-
.../tests/unit/influxdb/hooks/test_influxdb3.py | 50 +-
.../unit/influxdb/operators/test_influxdb3.py | 79 +-
.../tests/unit/influxdb/sensors}/__init__.py | 0
.../tests/unit/influxdb/sensors/test_influxdb3.py | 170 +
.../influxdb/tests/unit/influxdb/test_utils.py | 62 +
.../tests/unit/influxdb/triggers}/__init__.py | 0
.../tests/unit/influxdb/triggers/test_influxdb3.py | 202 +
providers/informatica/pyproject.toml | 2 +-
providers/jdbc/docs/index.rst | 2 +-
providers/jdbc/pyproject.toml | 4 +-
providers/jenkins/pyproject.toml | 2 +-
providers/keycloak/README.rst | 6 +-
.../docs/auth-manager/manage/permissions.rst | 4 +
providers/keycloak/docs/changelog.rst | 30 +
providers/keycloak/docs/index.rst | 6 +-
providers/keycloak/provider.yaml | 3 +-
providers/keycloak/pyproject.toml | 8 +-
.../src/airflow/providers/keycloak/__init__.py | 2 +-
.../keycloak/auth_manager/cli/commands.py | 21 +
.../keycloak/auth_manager/keycloak_auth_manager.py | 18 +-
.../providers/keycloak/auth_manager/middleware.py | 35 +-
.../providers/keycloak/auth_manager/resources.py | 5 +
.../keycloak/auth_manager/cli/test_commands.py | 35 +-
.../unit/keycloak/auth_manager/routes/conftest.py | 2 +-
.../auth_manager/test_keycloak_auth_manager.py | 48 +
.../unit/keycloak/auth_manager/test_middleware.py | 97 +-
providers/microsoft/azure/README.rst | 36 +-
providers/microsoft/azure/docs/changelog.rst | 27 +
providers/microsoft/azure/docs/index.rst | 36 +-
.../microsoft/azure/docs/message-queues/index.rst | 24 +-
providers/microsoft/azure/provider.yaml | 3 +-
providers/microsoft/azure/pyproject.toml | 40 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
.../providers/microsoft/azure/hooks/msgraph.py | 4 +-
.../microsoft/azure/notifications/msgraph.py | 1 +
.../providers/microsoft/azure/operators/adls.py | 12 +-
.../providers/microsoft/azure/operators/adx.py | 2 +-
.../providers/microsoft/azure/operators/asb.py | 38 +-
.../providers/microsoft/azure/operators/batch.py | 1 +
.../providers/microsoft/azure/operators/compute.py | 2 +-
.../azure/operators/container_instances.py | 10 +-
.../providers/microsoft/azure/operators/cosmos.py | 2 +-
.../microsoft/azure/operators/wasb_delete_blob.py | 2 +-
.../providers/microsoft/azure/queues/asb.py | 28 +-
.../providers/microsoft/azure/sensors/compute.py | 2 +-
.../providers/microsoft/azure/sensors/cosmos.py | 7 +-
.../providers/microsoft/azure/sensors/wasb.py | 4 +-
.../microsoft/azure/transfers/gcs_to_wasb.py | 2 +
.../microsoft/azure/transfers/local_to_adls.py | 2 +-
.../microsoft/azure/transfers/local_to_wasb.py | 2 +-
.../azure/transfers/oracle_to_azure_data_lake.py | 8 +-
.../microsoft/azure/transfers/s3_to_wasb.py | 2 +
.../microsoft/azure/transfers/sftp_to_wasb.py | 8 +-
.../unit/microsoft/azure/hooks/test_msgraph.py | 39 +-
.../unit/microsoft/azure/triggers/test_powerbi.py | 6 +-
.../unit/microsoft/azure/triggers/test_wasb.py | 2 +-
.../mssql/docs/.latest-doc-only-change.txt | 2 +-
providers/microsoft/mssql/pyproject.toml | 2 +-
providers/microsoft/psrp/README.rst | 6 +-
providers/microsoft/psrp/docs/changelog.rst | 17 +-
providers/microsoft/psrp/docs/index.rst | 6 +-
providers/microsoft/psrp/provider.yaml | 3 +-
providers/microsoft/psrp/pyproject.toml | 8 +-
.../airflow/providers/microsoft/psrp/__init__.py | 2 +-
providers/microsoft/winrm/README.rst | 6 +-
providers/microsoft/winrm/docs/changelog.rst | 16 +
providers/microsoft/winrm/docs/index.rst | 6 +-
providers/microsoft/winrm/provider.yaml | 4 +-
providers/microsoft/winrm/pyproject.toml | 8 +-
.../airflow/providers/microsoft/winrm/__init__.py | 2 +-
.../providers/microsoft/winrm/operators/winrm.py | 1 +
{airflow-core => providers/modal}/.gitignore | 0
{chart => providers/modal}/LICENSE | 0
NOTICE => providers/modal/NOTICE | 0
providers/{opensearch => modal}/README.rst | 21 +-
providers/modal/docs/.latest-doc-only-change.txt | 1 +
.../connections.rst => modal/docs/changelog.rst} | 23 +-
.../connections.rst => modal/docs/commits.rst} | 24 +-
.../google/common/consts.py => modal/docs/conf.py} | 12 +-
providers/modal/docs/connections.rst | 85 +
providers/modal/docs/index.rst | 131 +
.../docs/installing-providers-from-sources.rst | 0
providers/modal/docs/integration-logos/Modal.png | Bin 0 -> 10357 bytes
providers/{anthropic => modal}/docs/security.rst | 0
providers/modal/docs/usage.rst | 158 +
providers/modal/provider.yaml | 74 +
providers/{vespa => modal}/pyproject.toml | 22 +-
.../modal/src/airflow}/__init__.py | 0
.../modal/src/airflow/providers}/__init__.py | 0
.../src/airflow/providers/modal}/__init__.py | 4 +-
.../src/airflow/providers/modal}/exceptions.py | 16 +-
.../airflow/providers/modal/get_provider_info.py | 61 +
.../src/airflow/providers/modal/hooks}/__init__.py | 0
.../src/airflow/providers/modal/hooks/modal.py | 279 ++
providers/{airbyte => modal}/tests/conftest.py | 0
.../modal/tests/unit}/__init__.py | 0
.../modal/tests/unit/modal}/__init__.py | 0
.../modal/tests/unit/modal/hooks}/__init__.py | 0
.../modal/tests/unit/modal/hooks/test_modal.py | 372 ++
.../modal/tests/unit/modal/test_exceptions.py | 22 +-
providers/mongo/README.rst | 6 +-
providers/mongo/docs/changelog.rst | 17 +
providers/mongo/docs/index.rst | 6 +-
providers/mongo/provider.yaml | 4 +-
providers/mongo/pyproject.toml | 8 +-
.../mongo/src/airflow/providers/mongo/__init__.py | 2 +-
.../src/airflow/providers/mongo/sensors/mongo.py | 2 +-
providers/mysql/README.rst | 6 +-
providers/mysql/docs/changelog.rst | 13 +
providers/mysql/docs/index.rst | 6 +-
providers/mysql/provider.yaml | 4 +-
providers/mysql/pyproject.toml | 8 +-
.../mysql/src/airflow/providers/mysql/__init__.py | 2 +-
.../providers/mysql/transfers/presto_to_mysql.py | 8 +-
.../providers/mysql/transfers/s3_to_mysql.py | 2 +
.../providers/mysql/transfers/trino_to_mysql.py | 8 +-
.../providers/mysql/transfers/vertica_to_mysql.py | 9 +-
providers/neo4j/README.rst | 6 +-
providers/neo4j/docs/changelog.rst | 14 +
providers/neo4j/docs/index.rst | 6 +-
providers/neo4j/provider.yaml | 4 +-
providers/neo4j/pyproject.toml | 8 +-
.../neo4j/src/airflow/providers/neo4j/__init__.py | 2 +-
.../src/airflow/providers/neo4j/operators/neo4j.py | 2 +-
.../src/airflow/providers/neo4j/sensors/neo4j.py | 2 +-
providers/odbc/pyproject.toml | 2 +-
providers/openai/README.rst | 6 +-
providers/openai/docs/changelog.rst | 57 +
providers/openai/docs/index.rst | 6 +-
providers/openai/provider.yaml | 3 +-
providers/openai/pyproject.toml | 8 +-
.../src/airflow/providers/openai/__init__.py | 2 +-
.../src/airflow/providers/openai/exceptions.py | 11 +
.../src/airflow/providers/openai/hooks/openai.py | 50 +-
.../airflow/providers/openai/operators/openai.py | 78 +-
.../airflow/providers/openai/triggers/openai.py | 19 +-
.../openai/tests/unit/openai/hooks/test_openai.py | 36 +
.../tests/unit/openai/operators/test_openai.py | 114 +-
.../openai/tests/unit/openai/test_exceptions.py | 15 +-
.../tests/unit/openai/triggers/test_openai.py | 47 +-
providers/openfaas/pyproject.toml | 2 +-
providers/openlineage/README.rst | 6 +-
providers/openlineage/docs/changelog.rst | 20 +
providers/openlineage/docs/index.rst | 14 +-
providers/openlineage/provider.yaml | 3 +-
providers/openlineage/pyproject.toml | 10 +-
.../src/airflow/providers/openlineage/__init__.py | 2 +-
providers/opensearch/README.rst | 6 +-
providers/opensearch/docs/changelog.rst | 13 +
providers/opensearch/docs/index.rst | 6 +-
providers/opensearch/provider.yaml | 4 +-
providers/opensearch/pyproject.toml | 8 +-
.../src/airflow/providers/opensearch/__init__.py | 2 +-
.../providers/opensearch/log/os_response.py | 6 +-
.../providers/opensearch/operators/opensearch.py | 6 +-
.../tests/unit/opensearch/log/test_os_response.py | 15 +
providers/opsgenie/README.rst | 6 +-
providers/opsgenie/docs/changelog.rst | 16 +
providers/opsgenie/docs/index.rst | 6 +-
providers/opsgenie/provider.yaml | 4 +-
providers/opsgenie/pyproject.toml | 8 +-
.../src/airflow/providers/opsgenie/__init__.py | 2 +-
.../providers/opsgenie/notifications/opsgenie.py | 5 +-
.../providers/opsgenie/operators/opsgenie.py | 17 +-
providers/oracle/README.rst | 6 +-
providers/oracle/docs/changelog.rst | 13 +
providers/oracle/docs/index.rst | 6 +-
providers/oracle/provider.yaml | 4 +-
providers/oracle/pyproject.toml | 8 +-
.../src/airflow/providers/oracle/__init__.py | 2 +-
.../airflow/providers/oracle/operators/oracle.py | 1 +
.../providers/oracle/transfers/oracle_to_oracle.py | 7 +-
providers/pagerduty/README.rst | 6 +-
providers/pagerduty/docs/changelog.rst | 13 +
providers/pagerduty/docs/index.rst | 6 +-
providers/pagerduty/provider.yaml | 4 +-
providers/pagerduty/pyproject.toml | 8 +-
.../src/airflow/providers/pagerduty/__init__.py | 2 +-
.../providers/pagerduty/notifications/pagerduty.py | 1 +
providers/papermill/pyproject.toml | 2 +-
providers/pgvector/pyproject.toml | 2 +-
providers/pinecone/README.rst | 6 +-
providers/pinecone/docs/changelog.rst | 15 +
providers/pinecone/docs/index.rst | 6 +-
providers/pinecone/provider.yaml | 4 +-
providers/pinecone/pyproject.toml | 8 +-
.../src/airflow/providers/pinecone/__init__.py | 2 +-
.../providers/pinecone/operators/pinecone.py | 6 +-
providers/postgres/README.rst | 6 +-
providers/postgres/docs/changelog.rst | 19 +
providers/postgres/docs/connections/postgres.rst | 9 +
providers/postgres/docs/index.rst | 8 +-
providers/postgres/provider.yaml | 4 +-
providers/postgres/pyproject.toml | 10 +-
.../src/airflow/providers/postgres/__init__.py | 2 +-
.../airflow/providers/postgres/hooks/postgres.py | 30 +-
.../tests/unit/postgres/hooks/test_postgres.py | 87 +
providers/presto/README.rst | 6 +-
providers/presto/docs/changelog.rst | 14 +
providers/presto/docs/index.rst | 8 +-
providers/presto/provider.yaml | 4 +-
providers/presto/pyproject.toml | 10 +-
.../src/airflow/providers/presto/__init__.py | 2 +-
.../providers/presto/transfers/gcs_to_presto.py | 2 +
providers/qdrant/README.rst | 6 +-
providers/qdrant/docs/changelog.rst | 16 +
providers/qdrant/docs/index.rst | 6 +-
providers/qdrant/provider.yaml | 4 +-
providers/qdrant/pyproject.toml | 8 +-
.../src/airflow/providers/qdrant/__init__.py | 2 +-
.../airflow/providers/qdrant/operators/qdrant.py | 1 +
providers/redis/README.rst | 6 +-
providers/redis/docs/changelog.rst | 19 +
providers/redis/docs/index.rst | 6 +-
providers/redis/docs/message-queues.rst | 19 +-
providers/redis/provider.yaml | 3 +-
providers/redis/pyproject.toml | 8 +-
.../redis/src/airflow/providers/redis/__init__.py | 2 +-
.../src/airflow/providers/redis/queues/redis.py | 23 +-
providers/salesforce/README.rst | 6 +-
providers/salesforce/docs/changelog.rst | 14 +
providers/salesforce/docs/index.rst | 6 +-
providers/salesforce/provider.yaml | 4 +-
providers/salesforce/pyproject.toml | 8 +-
.../src/airflow/providers/salesforce/__init__.py | 2 +-
.../airflow/providers/salesforce/operators/bulk.py | 2 +-
.../salesforce/operators/salesforce_apex_rest.py | 3 +
.../tests/unit/salesforce/operators/test_bulk.py | 7 +-
providers/samba/README.rst | 6 +-
providers/samba/docs/changelog.rst | 13 +
providers/samba/docs/index.rst | 6 +-
providers/samba/provider.yaml | 4 +-
providers/samba/pyproject.toml | 8 +-
.../samba/src/airflow/providers/samba/__init__.py | 2 +-
.../providers/samba/transfers/gcs_to_samba.py | 2 +
providers/segment/README.rst | 6 +-
providers/segment/docs/changelog.rst | 15 +
providers/segment/docs/index.rst | 6 +-
providers/segment/provider.yaml | 4 +-
providers/segment/pyproject.toml | 8 +-
.../src/airflow/providers/segment/__init__.py | 2 +-
.../segment/operators/segment_track_event.py | 2 +-
providers/sendgrid/pyproject.toml | 2 +-
providers/sftp/README.rst | 6 +-
providers/sftp/docs/changelog.rst | 22 +
providers/sftp/docs/index.rst | 6 +-
providers/sftp/provider.yaml | 3 +-
providers/sftp/pyproject.toml | 8 +-
.../sftp/src/airflow/providers/sftp/__init__.py | 2 +-
.../sftp/src/airflow/providers/sftp/hooks/sftp.py | 6 +-
.../src/airflow/providers/sftp/operators/sftp.py | 2 +-
.../sftp/src/airflow/providers/sftp/pools/sftp.py | 32 +-
.../src/airflow/providers/sftp/sensors/sftp.py | 1 +
providers/sftp/tests/unit/sftp/hooks/test_sftp.py | 28 +
providers/sftp/tests/unit/sftp/pools/test_sftp.py | 76 +-
providers/sftp/tests/unit/sftp/test_exceptions.py | 82 +
providers/singularity/pyproject.toml | 2 +-
providers/slack/README.rst | 6 +-
providers/slack/docs/changelog.rst | 15 +
providers/slack/docs/index.rst | 6 +-
providers/slack/provider.yaml | 4 +-
providers/slack/pyproject.toml | 8 +-
.../slack/src/airflow/providers/slack/__init__.py | 2 +-
.../airflow/providers/slack/notifications/slack.py | 2 +-
.../src/airflow/providers/slack/operators/slack.py | 14 +-
.../providers/slack/operators/slack_webhook.py | 1 +
.../providers/slack/transfers/base_sql_to_slack.py | 4 +-
.../providers/slack/transfers/sql_to_slack.py | 2 +
.../slack/transfers/sql_to_slack_webhook.py | 2 +-
.../unit/slack/operators/test_slack_webhook.py | 1 +
providers/smtp/README.rst | 6 +-
providers/smtp/docs/changelog.rst | 13 +
providers/smtp/docs/index.rst | 6 +-
providers/smtp/provider.yaml | 4 +-
providers/smtp/pyproject.toml | 8 +-
.../smtp/src/airflow/providers/smtp/__init__.py | 2 +-
.../airflow/providers/smtp/notifications/smtp.py | 1 +
providers/snowflake/README.rst | 6 +-
providers/snowflake/docs/changelog.rst | 27 +
providers/snowflake/docs/index.rst | 6 +-
providers/snowflake/provider.yaml | 3 +-
providers/snowflake/pyproject.toml | 8 +-
.../src/airflow/providers/snowflake/__init__.py | 2 +-
.../providers/snowflake/decorators/snowpark.py | 2 +
.../snowflake/hooks/snowflake_cortex_agent.py | 42 +-
.../snowflake/operators/snowflake_cortex_agent.py | 1 +
.../providers/snowflake/operators/snowpark.py | 2 +
.../snowflake/transfers/copy_into_snowflake.py | 5 +-
.../snowflake/hooks/test_snowflake_cortex_agent.py | 106 +-
.../unit/snowflake/hooks/test_snowflake_sql_api.py | 8 +-
.../operators/test_snowflake_cortex_agent.py | 1 +
providers/sqlite/pyproject.toml | 2 +-
providers/ssh/README.rst | 6 +-
providers/ssh/docs/changelog.rst | 15 +
providers/ssh/docs/index.rst | 6 +-
providers/ssh/provider.yaml | 4 +-
providers/ssh/pyproject.toml | 8 +-
.../ssh/src/airflow/providers/ssh/__init__.py | 2 +-
.../ssh/src/airflow/providers/ssh/operators/ssh.py | 2 +-
.../providers/ssh/operators/ssh_remote_job.py | 8 +-
providers/standard/README.rst | 6 +-
providers/standard/docs/changelog.rst | 29 +
providers/standard/docs/index.rst | 6 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 8 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
.../providers/standard/sensors/filesystem.py | 5 +-
.../tests/unit/standard/decorators/test_python.py | 17 +-
.../tests/unit/standard/operators/test_python.py | 380 +-
providers/tableau/README.rst | 6 +-
providers/tableau/docs/changelog.rst | 13 +
providers/tableau/docs/index.rst | 6 +-
providers/tableau/provider.yaml | 4 +-
providers/tableau/pyproject.toml | 8 +-
.../src/airflow/providers/tableau/__init__.py | 2 +-
.../airflow/providers/tableau/operators/tableau.py | 1 +
.../airflow/providers/tableau/sensors/tableau.py | 5 +-
providers/telegram/README.rst | 6 +-
providers/telegram/docs/changelog.rst | 19 +
providers/telegram/docs/index.rst | 6 +-
providers/telegram/provider.yaml | 3 +-
providers/telegram/pyproject.toml | 8 +-
.../src/airflow/providers/telegram/__init__.py | 2 +-
providers/teradata/README.rst | 6 +-
providers/teradata/docs/changelog.rst | 20 +
providers/teradata/docs/index.rst | 8 +-
providers/teradata/provider.yaml | 3 +-
providers/teradata/pyproject.toml | 10 +-
.../src/airflow/providers/teradata/__init__.py | 2 +-
.../airflow/providers/teradata/operators/bteq.py | 6 +-
.../providers/teradata/operators/teradata.py | 2 +
.../airflow/providers/teradata/operators/tpt.py | 6 +-
.../teradata/transfers/azure_blob_to_teradata.py | 7 +-
.../providers/teradata/transfers/s3_to_teradata.py | 2 +-
.../teradata/transfers/teradata_to_teradata.py | 2 +
.../teradata/example_teradata_compute_cluster.py | 50 +-
.../tests/unit/teradata/operators/test_bteq.py | 2 +-
providers/trino/README.rst | 6 +-
providers/trino/docs/changelog.rst | 14 +
providers/trino/docs/index.rst | 6 +-
providers/trino/provider.yaml | 4 +-
providers/trino/pyproject.toml | 8 +-
.../trino/src/airflow/providers/trino/__init__.py | 2 +-
.../providers/trino/transfers/gcs_to_trino.py | 2 +
providers/vertica/docs/index.rst | 8 +-
providers/vertica/pyproject.toml | 4 +-
providers/vespa/pyproject.toml | 2 +-
providers/weaviate/README.rst | 6 +-
providers/weaviate/docs/changelog.rst | 16 +
providers/weaviate/docs/index.rst | 6 +-
providers/weaviate/provider.yaml | 4 +-
providers/weaviate/pyproject.toml | 8 +-
.../src/airflow/providers/weaviate/__init__.py | 2 +-
.../providers/weaviate/operators/weaviate.py | 10 +-
providers/yandex/README.rst | 6 +-
providers/yandex/docs/changelog.rst | 13 +
providers/yandex/docs/index.rst | 6 +-
providers/yandex/provider.yaml | 4 +-
providers/yandex/pyproject.toml | 8 +-
.../src/airflow/providers/yandex/__init__.py | 2 +-
.../airflow/providers/yandex/operators/dataproc.py | 5 +-
.../src/airflow/providers/yandex/operators/yq.py | 5 +-
providers/ydb/docs/index.rst | 8 +-
providers/ydb/pyproject.toml | 4 +-
providers/zendesk/pyproject.toml | 2 +-
pyproject.toml | 86 +-
registry/src/css/main.css | 40 +-
registry/src/css/tokens.css | 2 +
registry/src/js/provider-detail.js | 24 +-
registry/src/provider-version.njk | 31 +-
scripts/ci/analyze_ci_job_durations.py | 24 +-
scripts/ci/docker-compose/backend-mysql.yml | 6 +
scripts/ci/docker-compose/backend-postgres.yml | 10 +-
scripts/ci/docker-compose/base.yml | 9 +
.../ci/docker-compose/integration-cassandra.yml | 6 +
scripts/ci/docker-compose/integration-celery.yml | 9 +
scripts/ci/docker-compose/integration-drill.yml | 5 +
.../docker-compose/integration-elasticsearch.yml | 6 +
scripts/ci/docker-compose/integration-kafka.yml | 2 +
scripts/ci/docker-compose/integration-kerberos.yml | 8 +
scripts/ci/docker-compose/integration-keycloak.yml | 3 +
.../ci/docker-compose/integration-localstack.yml | 3 +
scripts/ci/docker-compose/integration-mongo.yml | 6 +
scripts/ci/docker-compose/integration-mssql.yml | 5 +
.../ci/docker-compose/integration-openlineage.yml | 6 +
.../ci/docker-compose/integration-opensearch.yml | 6 +
scripts/ci/docker-compose/integration-otel.yml | 11 +
scripts/ci/docker-compose/integration-pinot.yml | 3 +
scripts/ci/docker-compose/integration-qdrant.yml | 2 +
scripts/ci/docker-compose/integration-redis.yml | 9 +
scripts/ci/docker-compose/integration-statsd.yml | 8 +
.../ci/docker-compose/integration-tinkerpop.yml | 5 +
scripts/ci/docker-compose/integration-trino.yml | 6 +
scripts/ci/docker-compose/integration-ydb.yml | 2 +
scripts/ci/docker-compose/local-all-sources.yml | 6 +
scripts/ci/docker-compose/local.yml | 9 +-
.../{integration-drill.yml => mount-uv-lock.yml} | 26 +-
scripts/ci/docker-compose/remove-sources.yml | 1 +
scripts/ci/docker-compose/tests-sources.yml | 1 +
.../ci/lang_sdk_serialization}/__init__.py | 0
scripts/ci/lang_sdk_serialization/compare.py | 233 +
.../ci/lang_sdk_serialization/serialize_python.py | 140 +
scripts/ci/lang_sdk_serialization/test_dags.yaml | 166 +
scripts/ci/prek/changelog_duplicates.py | 11 +-
scripts/ci/prek/check_conn_id_templated.py | 247 ++
scripts/ci/prek/check_extra_packages_ref.py | 2 +-
scripts/ci/prek/check_go_sdk_spec_drift.py | 140 +
scripts/ci/prek/check_imports_in_providers.py | 2 +-
.../ci/prek/check_openapi_exception_doc_in_sync.py | 239 ++
scripts/ci/prek/check_provider_conn_fields.py | 123 +-
scripts/ci/prek/download_k8s_schemas.py | 7 +-
scripts/ci/prek/dump_supervisor_schemas.py | 12 +
scripts/ci/prek/extract_permissions.py | 1 +
scripts/ci/prek/fab_permissions_doc.py | 8 +
.../regenerate_java_sdk_verification_metadata.py | 165 +
scripts/ci/prek/ruff_format.py | 2 +-
scripts/ci/prek/supported_versions.py | 34 +
scripts/ci/prek/sync_java_sdk_supervisor_schema.py | 80 +
scripts/ci/prek/ts_compile_lint_common_ai.py | 1 -
scripts/ci/prek/ts_compile_lint_edge.py | 1 -
.../prek/ts_compile_lint_simple_auth_manager_ui.py | 1 -
scripts/ci/prek/ts_compile_lint_ui.py | 1 -
scripts/ci/prek/upgrade_dependency_floors.py | 537 +++
scripts/ci/prek/upgrade_important_versions.py | 10 +
scripts/ci/prek/validate_operators_init.py | 84 +-
.../ci/prek/validate_operators_init_exemptions.txt | 6 -
scripts/ci/prek_cache_markers.py | 60 +
scripts/cov/core_coverage.py | 1 -
.../in_container/install_airflow_and_providers.py | 2 +-
scripts/in_container/provider_suspension.py | 38 +
scripts/in_container/run_agent_framework_tests.sh | 90 +
scripts/in_container/run_fix_ownership.py | 2 +-
.../in_container/run_provider_yaml_files_check.py | 93 +-
scripts/in_container/run_template_fields_check.py | 56 +-
scripts/pyproject.toml | 4 +-
.../tests/ci/lang_sdk_serialization}/__init__.py | 0
.../ci/lang_sdk_serialization/test_compare.py | 245 ++
scripts/tests/ci/prek/test_changelog_duplicates.py | 36 +-
.../tests/ci/prek/test_check_conn_id_templated.py | 243 ++
.../tests/ci/prek/test_check_go_sdk_spec_drift.py | 133 +
.../test_check_openapi_exception_doc_in_sync.py | 335 ++
.../test_check_ui_field_behaviour_matches_hook.py | 130 +
scripts/tests/ci/prek/test_extract_permissions.py | 3 +
...st_regenerate_java_sdk_verification_metadata.py | 175 +
scripts/tests/ci/prek/test_supported_versions.py | 71 +
.../ci/prek/test_upgrade_dependency_floors.py | 667 +++
.../ci/prek/test_upgrade_important_versions.py | 25 +
.../tests/ci/prek/test_validate_operators_init.py | 136 +
scripts/tests/ci/test_analyze_ci_job_durations.py | 46 +
scripts/tests/ci/test_prek_cache_optimizations.py | 439 ++
.../test_install_airflow_and_providers.py | 27 +-
.../tests/in_container/test_provider_suspension.py | 64 +
.../_shared => scripts/tests/tools}/__init__.py | 0
scripts/tests/tools/test_free_up_disk_space.py | 98 +
scripts/tools/free_up_disk_space.sh | 25 +-
scripts/tools/setup_breeze | 2 +-
shared/configuration/pyproject.toml | 4 +-
.../src/airflow_shared/configuration/parser.py | 16 +-
shared/dagnode/pyproject.toml | 4 +-
shared/listeners/pyproject.toml | 4 +-
shared/logging/pyproject.toml | 4 +-
shared/module_loading/pyproject.toml | 4 +-
.../src/airflow_shared/module_loading/__init__.py | 1 +
.../src/airflow_shared/module_loading/dag_file.py | 89 +-
.../tests/module_loading/test_dag_file.py | 101 +
shared/observability/pyproject.toml | 4 +-
.../observability/metrics/metrics_template.yaml | 13 +-
shared/plugins_manager/pyproject.toml | 4 +-
shared/providers_discovery/pyproject.toml | 4 +-
shared/secrets_backend/pyproject.toml | 4 +-
shared/secrets_masker/pyproject.toml | 4 +-
shared/serialization/pyproject.toml | 4 +-
shared/state/pyproject.toml | 4 +-
shared/template_rendering/pyproject.toml | 4 +-
shared/timezones/pyproject.toml | 4 +-
task-sdk-integration-tests/pyproject.toml | 4 +-
task-sdk/docs/api.rst | 4 +
task-sdk/docs/index.rst | 1 +
task-sdk/pyproject.toml | 4 +-
task-sdk/src/airflow/sdk/__init__.py | 6 +
task-sdk/src/airflow/sdk/__init__.pyi | 4 +
task-sdk/src/airflow/sdk/api/client.py | 82 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 24 +-
task-sdk/src/airflow/sdk/bases/operator.py | 69 +-
task-sdk/src/airflow/sdk/bases/timetable.py | 7 +
.../airflow/sdk/coordinators/_bundle_metadata.py | 33 +-
.../src/airflow/sdk/coordinators/_subprocess.py | 211 +-
.../sdk/coordinators/executable/coordinator.py | 17 +-
.../airflow/sdk/coordinators/java/coordinator.py | 24 +-
.../sdk/coordinators/node/_bundle_reader.py | 210 +-
.../airflow/sdk/coordinators/node/coordinator.py | 21 +-
task-sdk/src/airflow/sdk/definitions/callback.py | 6 +
task-sdk/src/airflow/sdk/definitions/dag.py | 8 +-
task-sdk/src/airflow/sdk/definitions/deadline.py | 38 +-
.../src/airflow/sdk/definitions/retry_policy.py | 96 +-
.../airflow/sdk/definitions/timetables/assets.py | 25 +
task-sdk/src/airflow/sdk/execution_time/bundles.py | 90 +
task-sdk/src/airflow/sdk/execution_time/comms.py | 52 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 21 +
.../airflow/sdk/execution_time/request_handlers.py | 15 +-
.../airflow/sdk/execution_time/schema/schema.json | 61 +-
.../sdk/execution_time/schema/versions/__init__.py | 3 +-
.../execution_time/schema/versions/v2026_10_30.py | 18 +
.../src/airflow/sdk/execution_time/supervisor.py | 1090 +++--
.../src/airflow/sdk/execution_time/task_runner.py | 142 +-
task-sdk/src/airflow/sdk/execution_time/tracing.py | 60 +
task-sdk/src/airflow/sdk/importers/__init__.py | 6 +-
task-sdk/src/airflow/sdk/importers/base.py | 233 +-
.../src/airflow/sdk/importers/python_importer.py | 204 +-
task-sdk/src/airflow/sdk/importers/zip_importer.py | 211 +-
task-sdk/src/airflow/sdk/lineage.py | 2 +-
task-sdk/src/airflow/sdk/plugins_manager.py | 13 +
.../src/airflow/sdk/serde/serializers/datetime.py | 2 +-
task-sdk/src/airflow/sdk/state.py | 1 +
task-sdk/src/airflow/sdk/types.py | 2 +
task-sdk/tests/task_sdk/api/test_client.py | 74 +-
task-sdk/tests/task_sdk/bases/test_operator.py | 171 +
.../coordinators/executable/test_coordinator.py | 60 +-
.../task_sdk/coordinators/java/test_coordinator.py | 39 +
.../coordinators/node/_bundle_test_utils.py | 55 +-
.../coordinators/node/test_bundle_reader.py | 125 +-
.../task_sdk/coordinators/node/test_coordinator.py | 51 +-
.../tests/task_sdk/coordinators/test_subprocess.py | 264 +-
task-sdk/tests/task_sdk/definitions/test_dag.py | 16 +-
.../tests/task_sdk/definitions/test_deadline.py | 148 +-
.../task_sdk/definitions/test_retry_policy.py | 224 +
.../execution_time/_request_registration_types.py | 41 +
.../execution_time/schema/test_migrator.py | 31 +
.../tests/task_sdk/execution_time/test_bundles.py | 86 +
.../tests/task_sdk/execution_time/test_comms.py | 60 +
.../tests/task_sdk/execution_time/test_context.py | 74 +
.../task_sdk/execution_time/test_supervisor.py | 921 +++-
.../task_sdk/execution_time/test_task_runner.py | 434 +-
.../tests/task_sdk/execution_time/test_tracing.py | 144 +
.../task_sdk/importers/test_python_importer.py | 193 +-
task-sdk/tests/task_sdk/importers/test_registry.py | 204 +-
.../tests/task_sdk/importers/test_zip_importer.py | 208 +-
task-sdk/tests/task_sdk/serde/test_serializers.py | 12 +
ts-sdk/.pre-commit-config.yaml | 26 +
ts-sdk/adr/0002-native-dag-interface.md | 56 +-
ts-sdk/package.json | 8 +-
ts-sdk/pnpm-lock.yaml | 143 +-
.../schema.json => ts-sdk/schema/dag-schema.json | 2 +-
...ck_supervisor_schema.py => check_dag_schema.py} | 12 +-
..._lint.py => check_serialization_conformance.py} | 17 +-
ts-sdk/scripts/ci/prek/check_supervisor_schema.py | 1 -
ts-sdk/scripts/ci/prek/compile_ts_sdk.py | 1 -
ts-sdk/scripts/ci/prek/sync_dag_schema.py | 65 +
ts-sdk/scripts/ci/prek/ts_sdk_lint.py | 1 -
ts-sdk/scripts/ci/prek/verify_ts_sdk_package.py | 1 -
ts-sdk/scripts/generate-dag-schema.mjs | 512 +++
ts-sdk/src/cli/bundle-encoder.ts | 181 +-
ts-sdk/src/cli/pack.ts | 144 +-
ts-sdk/src/coordinator/manifest.ts | 29 +-
ts-sdk/src/coordinator/runtime.ts | 12 +-
ts-sdk/src/coordinator/serde.ts | 751 ++++
ts-sdk/src/generated/dag-schema-fields.ts | 215 +
ts-sdk/src/generated/supervisor.ts | 84 +-
ts-sdk/src/index.ts | 13 +-
ts-sdk/src/sdk/bundle.ts | 202 +-
ts-sdk/src/sdk/dag.ts | 996 ++++-
ts-sdk/src/sdk/module-source.ts | 74 +
ts-sdk/tests/cli/fixtures/bundle-v1.min.mjs | 6 +-
ts-sdk/tests/cli/fixtures/entry.ts | 2 +-
ts-sdk/tests/cli/fixtures/noisy-entry.ts | 2 +-
ts-sdk/tests/cli/pack.test.ts | 401 +-
ts-sdk/tests/conformance/serialize_typescript.ts | 163 +
ts-sdk/tests/coordinator/arg-binding.test.ts | 19 +
ts-sdk/tests/coordinator/integration.test.ts | 43 +-
ts-sdk/tests/coordinator/runtime-manifest.test.ts | 30 +-
ts-sdk/tests/coordinator/serde.test.ts | 846 ++++
ts-sdk/tests/public-api.test.ts | 185 +-
ts-sdk/tests/scripts/generate-dag-schema.test.ts | 419 ++
ts-sdk/tests/sdk/bundle.test.ts | 82 +-
ts-sdk/tests/sdk/dag.test.ts | 1035 ++++-
ts-sdk/tests/sdk/task-handler.test.ts | 64 +-
ts-sdk/tsconfig.json | 7 +-
uv.lock | 4462 +++++++++++---------
2188 files changed, 107472 insertions(+), 25964 deletions(-)
create mode 100644 .apache-magpie-overrides/issue-tracker-config.md
create mode 100644 .apache-magpie-overrides/pmc-roster.md
create mode 100644 .apache-magpie-overrides/pr-management-code-review-criteria.md
create mode 100644 .apache-magpie-overrides/pr-management-quick-merge-config.md
create mode 100644 .apache-magpie-overrides/reassess-pool-defaults.md
create mode 100644 .apache-magpie-overrides/release-build.md
create mode 100644 .apache-magpie-overrides/release-management-config.md
create mode 100644 .apache-magpie-overrides/release-trains.md
create mode 100644 .apache-magpie-overrides/release-verify-rc.md
create mode 100644 .apache-magpie-overrides/reproducer-conventions.md
create mode 100644 .apache-magpie-overrides/runtime-invocation.md
create mode 100644 .github/workflows/agent-framework-tests.yml
create mode 100644 airflow-core/adr/lang-sdk/0010-native-dag-processing.md
create mode 100644 airflow-core/adr/lang-sdk/0011-mixed-language-dag-processing.md
create mode 100644 airflow-core/adr/lang-sdk/0012-lang-sdk-parse-protocol.md
create mode 100644 airflow-core/adr/lang-sdk/0013-persisted-task-handler-bindings.md
create mode 100644 airflow-core/adr/lang-sdk/0014-bundle-metadata-and-cache-digest.md
create mode 100644 airflow-core/adr/lang-sdk/0015-per-dag-source-in-bundle-artifact.md
rename airflow-core/docs/img/change-theme/{exmaple_theme_configuration_dark_mode.png => example_theme_configuration_dark_mode.png} (100%)
rename airflow-core/docs/img/change-theme/{exmaple_theme_configuration_light_mode.png => example_theme_configuration_light_mode.png} (100%)
create mode 100644 airflow-core/newsfragments/58543.feature.rst
create mode 100644 airflow-core/newsfragments/63491.significant.rst
create mode 100644 airflow-core/newsfragments/66350.bugfix.rst
create mode 100644 airflow-core/newsfragments/67372.bugfix.rst
create mode 100644 airflow-core/newsfragments/71729.improvement.rst
create mode 100644 airflow-core/newsfragments/71990.bugfix.rst
create mode 100644 airflow-core/newsfragments/72036.feature.rst
create mode 100644 airflow-core/newsfragments/72100.significant.rst
create mode 100644 airflow-core/newsfragments/72494.feature.rst
create mode 100644 airflow-core/newsfragments/72896.significant.rst
create mode 100644 airflow-core/newsfragments/73244.significant.rst
create mode 100644 airflow-core/newsfragments/73294.significant.rst
create mode 100644 airflow-core/newsfragments/73328.significant.rst
create mode 100644 airflow-core/newsfragments/73554.significant.rst
create mode 100644 airflow-core/src/airflow/api_fastapi/common/parameters/job.py
create mode 100644 airflow-core/src/airflow/api_fastapi/core_api/services/public/dags.py
create mode 100644 airflow-core/src/airflow/migrations/versions/0135_3_4_0_widen_revoked_token_jti.py
create mode 100644 airflow-core/src/airflow/migrations/versions/0136_3_4_0_fold_task_map_into_xcom_mapped_length.py
create mode 100644 airflow-core/src/airflow/migrations/versions/0137_3_4_0_add_job_team_association_table.py
create mode 100644 airflow-core/src/airflow/migrations/versions/0138_3_4_0_allocate_pending_task_attempt_numbers.py
copy providers/common/ai/src/airflow/providers/common/ai/batch/__init__.py => airflow-core/src/airflow/migrations/versions/0139_3_4_0_add_source_reference_to_import_error.py (51%)
copy devel-common/src/tests_common/test_utils/mapping.py => airflow-core/src/airflow/migrations/versions/0140_3_4_0_add_language_to_dag_code.py (51%)
create mode 100644 airflow-core/src/airflow/migrations/versions/0141_3_4_0_add_timetable_asset_gated_to_dagmodel.py
delete mode 100644 airflow-core/src/airflow/models/taskmap.py
create mode 100644 airflow-core/src/airflow/serialization/dag_version_diff.py
create mode 100644 airflow-core/src/airflow/ui/src/components/Clear/TaskInstance/ClearTaskInstanceDialog.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/components/DagBundleVersion.tsx
rename airflow-core/src/airflow/ui/src/{pages/Dag => components}/DagImportErrorModal.tsx (100%)
create mode 100644 airflow-core/src/airflow/ui/src/components/DataTable/TableList.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/components/FilterBar/filters/RunStateFilter.tsx
create mode 100644 airflow-core/src/airflow/ui/src/components/FilterBar/filters/runStateParams.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/components/FilterBar/filters/runStateParams.ts
copy java-sdk/example/src/java/org/apache/airflow/example/ExampleBundleBuilder.java => airflow-core/src/airflow/ui/src/components/ImportErrorCount.tsx (57%)
create mode 100644 airflow-core/src/airflow/ui/src/components/PauseOrDrainChoiceModal.tsx
create mode 100644 airflow-core/src/airflow/ui/src/context/groups/GroupsProvider.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/layouts/Details/Grid/useGridScrollRestore.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/layouts/Details/Grid/useGridScrollRestore.ts
create mode 100644 airflow-core/src/airflow/ui/src/pages/DagBundle/BundleFiles.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/DagBundle/DagBundle.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/DagBundle/FileImportError.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/DagBundle/Header.tsx
copy ts-sdk/tests/cli/fixtures/noisy-entry.ts => airflow-core/src/airflow/ui/src/pages/DagBundle/index.tsx (76%)
create mode 100644 airflow-core/src/airflow/ui/src/pages/DagsList/BulkPauseDrainDagsButton.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/DagsList/BulkUnpauseDagsButton.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/Dashboard/Health/Health.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/Dashboard/Health/HealthInstances.tsx
copy ts-sdk/tests/cli/fixtures/entry.ts => airflow-core/src/airflow/ui/src/pages/Dashboard/Health/HealthStateBadge.tsx (55%)
create mode 100644 airflow-core/src/airflow/ui/src/pages/Dashboard/Health/healthStatus.ts
create mode 100644 airflow-core/src/airflow/ui/src/pages/TaskInstance/Details.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/LogsTryNumber.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/TaskInstance/RenderedTemplates.test.tsx
copy ts-sdk/tests/cli/fixtures/noisy-entry.ts => airflow-core/src/airflow/ui/src/pages/TaskInstance/stateReason.ts (50%)
create mode 100644 airflow-core/src/airflow/ui/src/queries/useBulkSetDagSchedulingState.ts
create mode 100644 airflow-core/src/airflow/ui/src/queries/useDagBundleRefetchInterval.ts
create mode 100644 airflow-core/src/airflow/ui/tests/e2e/fixtures/task-tries-data.ts
create mode 100644 airflow-core/src/airflow/ui/tests/e2e/specs/task-tries.spec.ts
create mode 100644 airflow-core/tests/unit/api_fastapi/execution_api/versions/v2026_10_30/test_dag_run_notes.py
delete mode 100644 airflow-core/tests/unit/migrations/test_0049_remove_pickled_data_from_xcom_table.py
delete mode 100644 airflow-core/tests/unit/migrations/test_0055_remove_pickled_data_from_dagrun_table.py
delete mode 100644 airflow-core/tests/unit/migrations/test_0080_deadline_callback_migration.py
delete mode 100644 airflow-core/tests/unit/migrations/test_0094_deadline_callback_migration.py
delete mode 100644 airflow-core/tests/unit/migrations/test_0117_deadline_interval_json_migration.py
delete mode 100644 airflow-core/tests/unit/migrations/test_0129_add_indexes_on_serialized_dag_and_dag_code.py
delete mode 100644 airflow-core/tests/unit/migrations/test_0131_lower_case_team_names.py
create mode 100644 airflow-core/tests/unit/models/test_errors.py
delete mode 100644 airflow-core/tests/unit/models/test_taskmap.py
create mode 100644 airflow-core/tests/unit/serialization/test_dag_version_diff.py
create mode 100644 airflow-core/tests/unit/serialization/test_ts_sdk_serialization_version.py
create mode 100644 airflow-ctl/src/airflowctl/ctl/utils/dag_run.py
create mode 100644 contributing-docs/32_open_pull_request_limit.rst
create mode 100644 dev/breeze/doc/adr/0018-raise-dependency-floors-automatically.md
create mode 100644 dev/breeze/doc/images/output_workflow-run_sync-staging-to-main.svg
create mode 100644 dev/breeze/doc/images/output_workflow-run_sync-staging-to-main.txt
create mode 100644 dev/breeze/tests/test_ci_upgrade.py
create mode 100644 dev/close_prs_over_open_pr_limit.py
rename providers/cncf/kubernetes/tests/unit/cncf/kubernetes/models/__init__.py => devel-common/tests/conftest.py (90%)
create mode 100644 devel-common/tests/unit/sphinx_exts/docs_build/test_build_docs_scheduling.py
create mode 100644 devel-common/tests/unit/sphinx_exts/test_airflow_intersphinx.py
create mode 100644 devel-common/tests/unit/tests_common/test_dag_maker.py
create mode 100644 go-sdk/airflow/bundle.go
create mode 100644 go-sdk/airflow/bundle_test.go
create mode 100644 go-sdk/airflow/contexttest_test.go
create mode 100644 go-sdk/airflow/dag.go
create mode 100644 go-sdk/airflow/dag_test.go
create mode 100644 go-sdk/airflow/serve.go
create mode 100644 go-sdk/airflow/serve_test.go
create mode 100644 go-sdk/airflow/spec.gen.go
create mode 100644 go-sdk/airflow/spec.go
create mode 100644 go-sdk/airflow/spec_test.go
create mode 100644 go-sdk/airflow/task_handler.go
create mode 100644 go-sdk/airflow/task_handler_test.go
copy go-sdk/{bundle/bundlev1/doc.go => airflow/task_option.go} (57%)
copy go-sdk/{bundle/bundlev1/doc.go => airflow/testdata/foreignitem/main.go} (59%)
rename go-sdk/{bundle/bundlev1/doc.go => airflow/testdata/foreigntaskoption/main.go} (56%)
delete mode 100644 go-sdk/bundle/bundlev1/bundlev1server/server.go
delete mode 100644 go-sdk/bundle/bundlev1/registry.go
delete mode 100644 go-sdk/bundle/bundlev1/registry_test.go
delete mode 100644 go-sdk/bundle/bundlev1/schemas.go
rename go-sdk/{bundle/bundlev1/bundlev1server => internal/bundle}/doc.go (75%)
rename go-sdk/{bundle/bundlev1 => internal/bundle}/task.go (76%)
rename go-sdk/{bundle/bundlev1 => internal/bundle}/task_test.go (79%)
create mode 100644 go-sdk/internal/contexttest/contexttest.go
create mode 100644 go-sdk/internal/genlicense/genlicense.go
create mode 100644 go-sdk/internal/genlicense/genlicense_test.go
create mode 100644 go-sdk/internal/genspec/authoring.go
create mode 100644 go-sdk/internal/genspec/authoring_test.go
create mode 100644 go-sdk/internal/genspec/main.go
rename go-sdk/{bundle/bundlev1/bundlev1server/server_test.go => internal/genspec/main_test.go} (55%)
create mode 100644 go-sdk/internal/genspec/normalize.go
create mode 100644 go-sdk/internal/genspec/normalize_test.go
create mode 100644 go-sdk/pkg/binding/task_context.go
create mode 100644 go-sdk/pkg/binding/task_context_test.go
create mode 100644 java-sdk/example/src/java/org/apache/airflow/example/nativedag/InterfaceExample.java
copy airflow-core/src/airflow/serialization/schema.json => java-sdk/sdk/schema/dag-schema.json (99%)
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Arg.kt
copy java-sdk/sdk/src/{test/kotlin/org/apache/airflow/sdk/BundleTest.kt => main/kotlin/org/apache/airflow/sdk/ArgName.kt} (50%)
delete mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Builder.kt
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Deps.kt
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/InputTask.kt
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/TaskInput.kt
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/execution/ArgBinding.kt
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/ArgValues.kt
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/Fields.kt
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/InputTypes.kt
copy java-sdk/{example/src/java/org/apache/airflow/example/ExampleBundleBuilder.java => sdk/src/main/kotlin/org/apache/airflow/sdk/internal/Registrar.kt} (57%)
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/TaskArgs.kt
create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/TypeRef.kt
create mode 100644 java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/ArgTestSupport.kt
create mode 100644 java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/ArgValuesTest.kt
create mode 100644 java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/InputTaskTest.kt
create mode 100644 java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/TaskArgsTest.kt
create mode 100644 providers/amazon/docs/operators/athena/athena_spark.rst
create mode 100644 providers/amazon/docs/operators/duckdb.rst
create mode 100644 providers/amazon/src/airflow/providers/amazon/aws/hooks/duckdb.py
create mode 100644 providers/amazon/src/airflow/providers/amazon/aws/operators/athena_spark.py
create mode 100644 providers/amazon/src/airflow/providers/amazon/aws/queues/kinesis.py
create mode 100644 providers/amazon/src/airflow/providers/amazon/aws/utils/transfer.py
create mode 100644 providers/amazon/tests/system/amazon/aws/example_athena_spark.py
copy providers/amazon/tests/system/amazon/aws/{example_http_to_s3.py => example_duckdb.py} (51%)
create mode 100644 providers/amazon/tests/system/amazon/aws/example_emr_serverless_session.py
create mode 100644 providers/amazon/tests/system/amazon/aws/example_kinesis_message_queue.py
create mode 100644 providers/amazon/tests/unit/amazon/aws/hooks/test_duckdb.py
create mode 100644 providers/amazon/tests/unit/amazon/aws/operators/test_athena_spark.py
create mode 100644 providers/amazon/tests/unit/amazon/aws/operators/test_emr_serverless_session.py
create mode 100644 providers/amazon/tests/unit/amazon/aws/queues/test_kinesis.py
copy airflow-core/tests/unit/utils/test_strings.py => providers/amazon/tests/unit/amazon/aws/utils/test_transfer.py (50%)
create mode 100644 providers/cncf/kubernetes/tests/unit/cncf/kubernetes/test_k8s_model.py
rename providers/cncf/kubernetes/tests/unit/cncf/kubernetes/{models => }/test_secret.py (74%)
create mode 100644 providers/common/ai/docs/agent_security.rst
create mode 100644 providers/common/ai/docs/approval_gates.rst
delete mode 100644 providers/common/ai/docs/choosing_a_toolset.rst
create mode 100644 providers/common/ai/docs/code_mode.rst
create mode 100644 providers/common/ai/docs/concepts.rst
create mode 100644 providers/common/ai/docs/connections/index.rst
create mode 100644 providers/common/ai/docs/durable_execution.rst
delete mode 100644 providers/common/ai/docs/end_to_end_pipelines.rst
create mode 100644 providers/common/ai/docs/features.rst
create mode 100644 providers/common/ai/docs/frameworks/adk.rst
create mode 100644 providers/common/ai/docs/frameworks/index.rst
create mode 100644 providers/common/ai/docs/frameworks/pydantic_ai.rst
create mode 100644 providers/common/ai/docs/frameworks/strands.rst
create mode 100644 providers/common/ai/docs/guardrails.rst
delete mode 100644 providers/common/ai/docs/hooks/index.rst
create mode 100644 providers/common/ai/docs/installation.rst
create mode 100644 providers/common/ai/docs/local_development.rst
create mode 100644 providers/common/ai/docs/message_history.rst
create mode 100644 providers/common/ai/docs/model_providers.rst
create mode 100644 providers/common/ai/docs/operations.rst
create mode 100644 providers/common/ai/docs/rag_pipelines.rst
copy providers/{google => common/ai}/docs/redirects.txt (77%)
delete mode 100644 providers/common/ai/docs/sandbox.rst
create mode 100644 providers/common/ai/docs/sandbox/backends.rst
create mode 100644 providers/common/ai/docs/sandbox/configuration.rst
create mode 100644 providers/common/ai/docs/sandbox/index.rst
create mode 100644 providers/common/ai/docs/stability.rst
create mode 100644 providers/common/ai/docs/structured_output.rst
create mode 100644 providers/common/ai/docs/tool_approval.rst
delete mode 100644 providers/common/ai/docs/toolsets.rst
create mode 100644 providers/common/ai/docs/toolsets/datafusion.rst
create mode 100644 providers/common/ai/docs/toolsets/hook.rst
create mode 100644 providers/common/ai/docs/toolsets/index.rst
create mode 100644 providers/common/ai/docs/toolsets/langchain.rst
create mode 100644 providers/common/ai/docs/toolsets/logging.rst
create mode 100644 providers/common/ai/docs/toolsets/managed_agent.rst
create mode 100644 providers/common/ai/docs/toolsets/mcp.rst
create mode 100644 providers/common/ai/docs/toolsets/object_storage.rst
create mode 100644 providers/common/ai/docs/toolsets/skills.rst
create mode 100644 providers/common/ai/docs/toolsets/sql.rst
create mode 100644 providers/common/ai/docs/troubleshooting.rst
create mode 100644 providers/common/ai/docs/use_cases/ask_questions_over_pdfs.rst
create mode 100644 providers/common/ai/docs/use_cases/classify_reviews_in_bulk.rst
create mode 100644 providers/common/ai/docs/use_cases/compare_10k_filings.rst
create mode 100644 providers/common/ai/docs/use_cases/explain_revenue_anomaly.rst
create mode 100644 providers/common/ai/docs/use_cases/gate_loads_on_schema_drift.rst
create mode 100644 providers/common/ai/docs/use_cases/index.rst
create mode 100644 providers/common/ai/docs/use_cases/monthly_report_from_a_csv.rst
create mode 100644 providers/common/ai/docs/use_cases/research_agent_with_review.rst
create mode 100644 providers/common/ai/docs/use_cases/route_pipeline_failures.rst
create mode 100644 providers/common/ai/docs/use_cases/triage_support_tickets.rst
create mode 100644 providers/common/ai/docs/use_cases/weekly_status_report.rst
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/durable/replay_usage.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/example_dags/example_adk_agent.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/example_dags/example_agent_tool_approval.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/example_dags/example_object_storage_toolset.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/example_dags/example_pydantic_ai_agent.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/example_dags/example_strands_agent.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/mixins/cancellable_run.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/sandbox/opensandbox.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/tools/__init__.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/tools/_from_toolset.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/tools/adk.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/tools/strands.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/tools/tracing.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/toolsets/object_storage.py
copy devel-common/src/tests_common/test_utils/mapping.py => providers/common/ai/src/airflow/providers/common/ai/utils/coroutines.py (51%)
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/utils/masking.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/utils/tool_metrics.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/utils/toolset_base.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/utils/toolsets.py
create mode 100644 providers/common/ai/src/airflow/providers/common/ai/utils/usage_budget.py
create mode 100644 providers/common/ai/tests/system/common/ai/example_sandbox_toolset_opensandbox.py
create mode 100644 providers/common/ai/tests/unit/common/ai/durable/test_replay_usage.py
create mode 100644 providers/common/ai/tests/unit/common/ai/mixins/test_cancellable_run.py
create mode 100644 providers/common/ai/tests/unit/common/ai/operators/test_agent_tool_approval.py
create mode 100644 providers/common/ai/tests/unit/common/ai/sandbox/fake_tags.py
create mode 100644 providers/common/ai/tests/unit/common/ai/sandbox/test_opensandbox.py
copy {airflow-core/src/airflow/_shared => providers/common/ai/tests/unit/common/ai/tools}/__init__.py (100%)
create mode 100644 providers/common/ai/tests/unit/common/ai/tools/test__from_toolset.py
create mode 100644 providers/common/ai/tests/unit/common/ai/tools/test_adk.py
create mode 100644 providers/common/ai/tests/unit/common/ai/tools/test_strands.py
create mode 100644 providers/common/ai/tests/unit/common/ai/tools/test_tools.py
create mode 100644 providers/common/ai/tests/unit/common/ai/tools/test_tracing.py
create mode 100644 providers/common/ai/tests/unit/common/ai/toolsets/test_object_storage.py
copy airflow-core/src/airflow/api_fastapi/core_api/datamodels/import_error.py => providers/common/ai/tests/unit/common/ai/utils/test_coroutines.py (57%)
create mode 100644 providers/common/ai/tests/unit/common/ai/utils/test_masking.py
create mode 100644 providers/common/ai/tests/unit/common/ai/utils/test_tool_metrics.py
create mode 100644 providers/common/ai/tests/unit/common/ai/utils/test_toolset_base.py
create mode 100644 providers/common/ai/tests/unit/common/ai/utils/test_toolsets.py
create mode 100644 providers/common/ai/tests/unit/common/ai/utils/test_usage_budget.py
create mode 100644 providers/common/compat/src/airflow/providers/common/compat/_retry_policy.py
create mode 100644 providers/common/compat/tests/unit/common/compat/test__retry_policy.py
delete mode 100644 providers/duckdb/docs/.latest-doc-only-change.txt
create mode 100644 providers/fab/src/airflow/providers/fab/www/templates/appbuilder/general/model/user_edit.html
create mode 100644 providers/google/docs/integration-logos/Cloud-Monitoring.png
delete mode 100644 providers/google/docs/integration-logos/Google-Cloud-Stackdriver.png
rename providers/google/docs/logging/{stackdriver.rst => cloud_logging.rst} (73%)
create mode 100644 providers/google/docs/operators/cloud/cloud_monitoring.rst
delete mode 100644 providers/google/docs/operators/cloud/stackdriver.rst
copy providers/google/src/airflow/providers/google/cloud/hooks/{stackdriver.py => cloud_monitoring.py} (94%)
copy providers/google/src/airflow/providers/google/cloud/links/{stackdriver.py => cloud_monitoring.py} (60%)
copy providers/google/src/airflow/providers/google/cloud/log/{stackdriver_task_handler.py => cloud_logging_task_handler.py} (94%)
copy providers/google/src/airflow/providers/google/cloud/operators/{stackdriver.py => cloud_monitoring.py} (86%)
copy {airflow-core/src/airflow/_shared => providers/google/tests/system/google/cloud/cloud_monitoring}/__init__.py (100%)
rename providers/google/tests/system/google/cloud/{stackdriver/example_stackdriver.py => cloud_monitoring/example_cloud_monitoring.py} (66%)
delete mode 100644 providers/google/tests/system/google/cloud/stackdriver/__init__.py
copy providers/google/tests/unit/google/cloud/hooks/{test_stackdriver.py => test_cloud_monitoring.py} (81%)
copy providers/{openai/tests/unit/openai/test_exceptions.py => google/tests/unit/google/cloud/links/test_cloud_monitoring.py} (55%)
create mode 100644 providers/google/tests/unit/google/cloud/links/test_cloud_tasks.py
create mode 100644 providers/google/tests/unit/google/cloud/links/test_stackdriver.py
copy providers/google/tests/unit/google/cloud/log/{test_stackdriver_task_handler.py => test_cloud_logging_task_handler.py} (75%)
copy providers/google/tests/unit/google/cloud/operators/{test_stackdriver.py => test_cloud_monitoring.py} (54%)
create mode 100644 providers/influxdb/docs/sensors/index.rst
copy {airflow-core/src/airflow/_shared => providers/influxdb/src/airflow/providers/influxdb/sensors}/__init__.py (100%)
create mode 100644 providers/influxdb/src/airflow/providers/influxdb/sensors/influxdb3.py
copy {airflow-core/src/airflow/_shared => providers/influxdb/src/airflow/providers/influxdb/triggers}/__init__.py (100%)
create mode 100644 providers/influxdb/src/airflow/providers/influxdb/triggers/influxdb3.py
create mode 100644 providers/influxdb/src/airflow/providers/influxdb/utils.py
copy {airflow-core/src/airflow/_shared => providers/influxdb/tests/unit/influxdb/sensors}/__init__.py (100%)
create mode 100644 providers/influxdb/tests/unit/influxdb/sensors/test_influxdb3.py
create mode 100644 providers/influxdb/tests/unit/influxdb/test_utils.py
copy {airflow-core/src/airflow/_shared => providers/influxdb/tests/unit/influxdb/triggers}/__init__.py (100%)
create mode 100644 providers/influxdb/tests/unit/influxdb/triggers/test_influxdb3.py
copy {airflow-core => providers/modal}/.gitignore (100%)
copy {chart => providers/modal}/LICENSE (100%)
copy NOTICE => providers/modal/NOTICE (100%)
copy providers/{opensearch => modal}/README.rst (77%)
create mode 100644 providers/modal/docs/.latest-doc-only-change.txt
copy providers/{common/sql/docs/connections.rst => modal/docs/changelog.rst} (60%)
copy providers/{common/sql/docs/connections.rst => modal/docs/commits.rst} (55%)
copy providers/{google/src/airflow/providers/google/common/consts.py => modal/docs/conf.py} (78%)
create mode 100644 providers/modal/docs/connections.rst
create mode 100644 providers/modal/docs/index.rst
copy providers/{airbyte => modal}/docs/installing-providers-from-sources.rst (100%)
create mode 100644 providers/modal/docs/integration-logos/Modal.png
copy providers/{anthropic => modal}/docs/security.rst (100%)
create mode 100644 providers/modal/docs/usage.rst
create mode 100644 providers/modal/provider.yaml
copy providers/{vespa => modal}/pyproject.toml (90%)
copy {airflow-core/tests/integration => providers/modal/src/airflow}/__init__.py (100%)
copy {airflow-core/tests/integration => providers/modal/src/airflow/providers}/__init__.py (100%)
copy providers/{edge3/src/airflow/providers/edge3 => modal/src/airflow/providers/modal}/__init__.py (94%)
copy providers/{http/src/airflow/providers/http => modal/src/airflow/providers/modal}/exceptions.py (62%)
create mode 100644 providers/modal/src/airflow/providers/modal/get_provider_info.py
copy {airflow-core/src/airflow/_shared => providers/modal/src/airflow/providers/modal/hooks}/__init__.py (100%)
create mode 100644 providers/modal/src/airflow/providers/modal/hooks/modal.py
copy providers/{airbyte => modal}/tests/conftest.py (100%)
copy {airflow-core/tests/integration => providers/modal/tests/unit}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared => providers/modal/tests/unit/modal}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared => providers/modal/tests/unit/modal/hooks}/__init__.py (100%)
create mode 100644 providers/modal/tests/unit/modal/hooks/test_modal.py
copy airflow-core/tests/unit/utils/test_strings.py => providers/modal/tests/unit/modal/test_exceptions.py (62%)
create mode 100644 providers/sftp/tests/unit/sftp/test_exceptions.py
copy scripts/ci/docker-compose/{integration-drill.yml => mount-uv-lock.yml} (63%)
copy {airflow-core/src/airflow/_shared => scripts/ci/lang_sdk_serialization}/__init__.py (100%)
create mode 100644 scripts/ci/lang_sdk_serialization/compare.py
create mode 100644 scripts/ci/lang_sdk_serialization/serialize_python.py
create mode 100644 scripts/ci/lang_sdk_serialization/test_dags.yaml
create mode 100755 scripts/ci/prek/check_conn_id_templated.py
create mode 100755 scripts/ci/prek/check_go_sdk_spec_drift.py
create mode 100755 scripts/ci/prek/check_openapi_exception_doc_in_sync.py
create mode 100755 scripts/ci/prek/regenerate_java_sdk_verification_metadata.py
create mode 100755 scripts/ci/prek/sync_java_sdk_supervisor_schema.py
create mode 100755 scripts/ci/prek/upgrade_dependency_floors.py
create mode 100644 scripts/ci/prek_cache_markers.py
create mode 100644 scripts/in_container/provider_suspension.py
create mode 100755 scripts/in_container/run_agent_framework_tests.sh
copy {airflow-core/src/airflow/_shared => scripts/tests/ci/lang_sdk_serialization}/__init__.py (100%)
create mode 100644 scripts/tests/ci/lang_sdk_serialization/test_compare.py
create mode 100644 scripts/tests/ci/prek/test_check_conn_id_templated.py
create mode 100644 scripts/tests/ci/prek/test_check_go_sdk_spec_drift.py
create mode 100644 scripts/tests/ci/prek/test_check_openapi_exception_doc_in_sync.py
create mode 100644 scripts/tests/ci/prek/test_check_ui_field_behaviour_matches_hook.py
create mode 100644 scripts/tests/ci/prek/test_regenerate_java_sdk_verification_metadata.py
create mode 100644 scripts/tests/ci/prek/test_supported_versions.py
create mode 100644 scripts/tests/ci/prek/test_upgrade_dependency_floors.py
create mode 100644 scripts/tests/ci/test_prek_cache_optimizations.py
copy providers/openai/tests/unit/openai/test_exceptions.py => scripts/tests/in_container/test_install_airflow_and_providers.py (56%)
create mode 100644 scripts/tests/in_container/test_provider_suspension.py
copy {airflow-core/src/airflow/_shared => scripts/tests/tools}/__init__.py (100%)
create mode 100644 scripts/tests/tools/test_free_up_disk_space.py
create mode 100644 task-sdk/src/airflow/sdk/execution_time/bundles.py
create mode 100644 task-sdk/src/airflow/sdk/execution_time/tracing.py
create mode 100644 task-sdk/tests/task_sdk/execution_time/_request_registration_types.py
create mode 100644 task-sdk/tests/task_sdk/execution_time/test_bundles.py
create mode 100644 task-sdk/tests/task_sdk/execution_time/test_tracing.py
copy airflow-core/src/airflow/serialization/schema.json => ts-sdk/schema/dag-schema.json (99%)
copy ts-sdk/scripts/ci/prek/{check_supervisor_schema.py => check_dag_schema.py} (86%)
copy ts-sdk/scripts/ci/prek/{ts_sdk_lint.py => check_serialization_conformance.py} (67%)
create mode 100755 ts-sdk/scripts/ci/prek/sync_dag_schema.py
create mode 100644 ts-sdk/scripts/generate-dag-schema.mjs
create mode 100644 ts-sdk/src/coordinator/serde.ts
create mode 100644 ts-sdk/src/generated/dag-schema-fields.ts
create mode 100644 ts-sdk/src/sdk/module-source.ts
create mode 100644 ts-sdk/tests/conformance/serialize_typescript.ts
create mode 100644 ts-sdk/tests/coordinator/serde.test.ts
create mode 100644 ts-sdk/tests/scripts/generate-dag-schema.test.ts